Árvore de páginas

Função: Rotina Automatica TMSA040

 A rotina automática TMSA040 tem como objetivo incluir Cotação de Frete.      

Rotina Automatica TMSA040 ( [ ] ) --> Nil


NomeTipoDescriçãoObrigatórioReferência

Qualquer



Nil (Nulo)
// aCabDT4 - Cabeçalho da cotação
// aItemDVF - Itens da cotação
// aItemDVQ - Peso Cubado
// aItemDTE - Valor Informado na cotação
// aItemDVT - Tipo veiculo infomado na cotação

User Function EXECDT4()
Local aCabDT4  := {}
Local aItemDVF := {}
Local aItemDVQ := {}
Local aItemDTE := {}
Local aItemDVT := {}

Local _cNum    := ""

Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.

//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
// Não e necessário passar os valores de filial.
//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
// Deve se informar todos os campos obrigatórios na
// mesma ordem com que e feito em uma cotação manual
//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
// Os campos (*****) sao alimentados automaticamente na
// inclusão manual, porem aqui devem ser passados no array
//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

// Busca Numero da Cotacao
_cNum:= GetSXENum("DT4","DT4_NUMCOT")

// Capa da Cotacao
aCabDT4 := { {"DT4_FILORI" ,"01"         , Nil},; //Dados da Empresa - filial de origem
    {"DT4_NUMCOT" ,_cNum        , Nil},; //Dados da Empresa - numero da cotacao
    {"DT4_NUMSOL" ,""           , Nil},; //Dados da Empresa - numero da solicitacao
    {"DT4_DATCOT" ,dDataBase    , Nil},; //Dados da Empresa - Data da Cotacao
    {"DT4_HORCOT" ,StrTran(Left(Time(),5),":","") , Nil},; //Dados da Empresa - Hora da Cotacao
    {"DT4_CODSOL"    ,"000000001"        , Nil},; //Dados da Empresa - Codigo do Solicitante
    {"DT4_NOMSOL" ,"SAO PAULO"  , Nil},; //Dados da Empresa - Nome Solicitante (*****)
    {"DT4_PRZVAL" ,dDataBase+10 , Nil},; //Dados da Empresa - Prazo de Validade
    {"DT4_TIPFRE" ,"1"          , Nil},; //Dados da Empresa - Tipo de Frete (1-CIF / 2-FOB)
    {"DT4_USER"   ,"00000"      , Nil},; //Dados da Empresa - Usuario
    {"DT4_PESSOA" ,"1"          , Nil},; //Dados da Empresa - Pessoa (1 - Fisica/ 2 - Juridica)
    {"DT4_CONTRI" ,"1"          , Nil},; //Dados da Empresa -
    {"DT4_SELORI" ,"1"          , Nil},; //Servico - Regiao de origem 1=Transportadora/2=Cliente Remetente/3=Local Coleta.
    {"DT4_CDRORI" ,"SP0001"     , Nil},; //Servico - Codigo da regiao de origem
    {"DT4_REGORI" ,"SAO PAULO"  , Nil},; //Servico - Nome Regiao de Origemm(*****)
    {"DT4_CDRDES" ,"RJ0001"     , Nil},; //Servico - Codigo da regiao de destino
    {"DT4_REGDES" ,"RIO DE JANEIRO" , Nil},; //Servico - Nome da Regiao de Destino(*****)
    {"DT4_SERTMS" ,"3"          , Nil},; //Servico - Servico de transporte 1= Coleta / 2=Transporte / 3=Entrega.
    {"DT4_DESSVT" ,"ENTREGA"    , Nil},; //Servico - Descricao Servico Tansporte(*****)
    {"DT4_TIPTRA" ,"1"          , Nil},; //Servico - Tipo de Transporte 1=Rodoviario / 2=Aereo / 3=Fluvial.
    {"DT4_DESDTP" ,"RODOVIARIO" , Nil},; //Servico - Descricao Tipo Tansporte
    {"DT4_SERVIC" ,"015"        , Nil},; //Servico - Servico
    {"DT4_CODNEG" ,"01"        , Nil},; //Servico - Codigo da Negociação
    {"DT4_TIPNFC" ,"0"         , Nil},; //Servico - Tipo NFC
    {"DT4_KM"     ,10          , Nil},; //Servico - KM
    {"DT4_INCISS" ,"1"         , Nil},; //Servico - ISS no Preco
    {"DT4_DISTIV" ,"2"         , Nil},; //Servico - Dis Ida/Volt
    {"DT4_CLIREM" ,"000001"    , Nil},; //Aprovacao - Cliente Remetente
    {"DT4_LOJREM" ,"01"        , Nil},; //Aprovacao - Loja Remetente
    {"DT4_NOMREM" ,"SAO PAULO" , Nil},; //Aprovacao - Nome Remetente (*****)
    {"DT4_CLIDES" ,"000002" , Nil},; //Aprovacao - Cliente Destinatario
    {"DT4_LOJDES" ,"01" , Nil},; //Aprovacao - Loja Destinatario
    {"DT4_NOMDES" ,"RIO DE JANEIRO" , Nil},; //Aprovacao - Nome Destinatario (*****)
    {"DT4_CLIDEV" ,"000001" , Nil},; //Aprovacao - Cliente Remetente
    {"DT4_LOJDEV" ,"01" , Nil},; //Aprovacao - Loja Remetente
    {"DT4_NOMDEV" ,"SAO PAULO" , Nil},; //Aprovacao - Nome Remetente (*****)
    {"DT4_MOEDA"  ,1 , Nil}} //Outros - Moeda
// Item da Cotacao
Aadd(aItemDVF,{ {"DVF_FILORI" ,"01"      , Nil},; //Filial de Origem
      {"DVF_NUMCOT" ,_cNum     , Nil},; //Numero da Cotacao
    {"DVF_ITEM"   ,"01"      , Nil},; //Sequencia do Item
    {"DVF_CODPRO" ,"000001"  , Nil},; //Codigo do Produto
    {"DVF_DESPRO" ,"PRODUTO 000001" , Nil},; //Descricao do Produto (*****)
    {"DVF_CODEMB" ,"CX"      , Nil},; //Codigo da Embalagem
    {"DVF_DESEMB" ,"CAIXA"   , Nil},; //Descricao da Embalagem
    {"DVF_QTDVOL" ,10        , Nil},; //Quantidade de Volumes.
    {"DVF_PESO"   ,100       , Nil},; //Peso
    {"DVF_VALMER" ,1000      , Nil}}) //Valor da Mercadoria
// Item Componentes Valores Informados
AAdd(aItemDVQ,{ {"DVQ_CODPAS" ,  "33"    , Nil},; //Codigo Componente
    {"DVQ_VALOR"  ,  25      , Nil},; //Valor informado
    {"DVQ_CODPRO" ,  '000001', Nil}}) //Codigo do Produto

// Item Peso Cubado
AAdd(aItemDTE,{ {"DTE_FILORI" , "01"     , Nil},;
    {"DTE_QTDVOL" , 10       , Nil},;
    {"DTE_ALTURA" , 0.1      , Nil},;
    {"DTE_LARGUR" , 0.1      , Nil},;
    {"DTE_COMPRI" , 0.1      , Nil},;
    {"DTE_CODPRO" , "000001" , Nil}});
// Tipos de Veiculos
Aadd(aItemDVT,{ {"DVT_ITEM"    ,"01"    ,Nil},;
    {"DVT_TIPVEI"  ,"01"    ,Nil},;
    {"DVT_QTDVEI"  ,3       ,Nil}})

// Executa rotina TMSA040
MsExecAuto({|k,l,m,n,x,y,w,z| TMSA040(k,l,m,n,x,y,w,z)}, aCabDT4, aItemDVF, 3, Nil , Nil, aItemDTE, aItemDVQ, aItemDVT)

// Retorna Resultado do Processo
If lMsErroAuto
 MostraErro()
Else
 MsgInfo("Cotação de Frete " + _cNum + " gravada com sucesso!")
EndIf

Return