User Function EXECDT4()
Local aCabDT4 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 Número da CotaçãoNumero da Cotacao
dbSelectArea("DT4")
dbSetorder(1)
RegToMemory("DT4",.T.,.F.)
_cNum:= GetSXENum("DT4","DT4_NUMCOT")
ConfirmSX8()
// Capa da CotaçãoCotacao
aCabDT4 := { {"DT4_FILORI" ,"01" , Nil},; //Dados da Empresa - filial de origem
{"DT4_NUMCOT" ,_cNum cNum , Nil},; //Dados da Empresa - numero da cotacao
{"DT4_DATCOTNUMSOL" ,"" ,STOD("20120620") , Nil},; //Dados da Empresa - numero da solicitacao
{"DT4_DATCOT" ,dDataBase , Nil},; //Dados da Empresa - Data da Cotacao
{"DT4_HORCOT" ,StrTran(Left(Time(),5),":","1600") , Nil},; //Dados da Empresa - Hora da Cotacao
{"DT4_DDD" ,"011" , Nil},; //Dados da Empresa - DDD do solicitante
{"DT4_TEL" ,"4141222241696973" , Nil},; //Dados da Empresa - Telefone 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" ,"014015" , Nil},; //Servico - Servico
{"DT4_DESSER" ,"SNE ENTREGA" , Nil},; //Servico - Descricao do Servico
{"DT4_TIPNFC" ,"0" , Nil},; //Servico - Tipo NFC
{"DT4_KM" ,10 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 CotaçãoCotacao
Aadd(aItemDVF,{ {"DVF_FILORI" ,"01" , Nil},; //Filial de Origem
{"DVF_NUMCOT" ,_cNum 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 10 , Nil},; //Quantidade de Volumes.
{"DVF_PESO" ,100 100 , Nil},; //Peso
{"DVF_VALMER" ,1000 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 Chama a rotina TMSA040
MsExecAuto({|k,l,m,n,x,y,w,z| TMSA040(k,l,m,n,x,y,w,z)}, aCabDT4, aitemDVFaItemDVF, 3, Nil , Nil, aItemDTE, aItemDVQ, aItemDVT)
// Retorna Resultado do Processo
If lMsErroAuto
MostraErro MostraErro()
Else
MsgInfo MsgInfo("Cotação de Frete " + _cNum + " gravada com sucesso!")
EndIf
Return