Função: Rotina Automatica TMSA040
A rotina automática TMSA040 tem como objetivo incluir Cotação de Frete.
Rotina Automatica TMSA040 ( [ ] ) --> Nil
Nome | Tipo | Descrição | Obrigatório | Referência |
Qualquer |
// aItemDVF - Itens da cotação
// 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