User
Function
Auto040EXECDT4()
Local
aCabDT4 aCabDT4 :=
{}
Local
aItemDVF := {}Local lMsErroAuto := .F. aCabDT4 := { 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 origem
{"DT4_NUMCOT
" ,"000060" , " ,_cNum , Nil},; //Dados da Empresa - numero da cotacao
{"DT4_NUMSOL" ,"" , Nil},;
//
numero da cotacao 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_
DDD" CODSOL" ,"
11" , 000000001" , Nil},;
//
DDD do solicitante {"DT4_TEL" ,"41412222" , Nil},; //Telefone do solicitante 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 origem
{"DT4_REGORI"
,"SAO
PAULO"
,
Nil},;
//Servico - Nome
da Regiao
de Origem de Origemm(*****)
{"DT4_CDRDES"
,"RJ0001"
, , Nil},;
//Servico - Codigo
da
regiao
de
destino destino
{"DT4_REGDES"
,"RIO
DE
JANEIRO"
,
Nil},;
//Servico - Nome
da
Regiao
de destino 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}} //Tipo de transporte , Nil},; //Servico - Tipo de Transporte 1=Rodoviario
/
2=Aereo
/
3=Fluvial. aItemDVF := { 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},;
//
sequencia de item Codigo do Produto
{"DVF_
CORPRODESPRO"
,"PRODUTO 000001"
,
Nil},;
//
codigo do produto Descricao do Produto (*****)
{"DVF_
QTDVOLCODEMB"
,"
10" , CX" , Nil},;
//
Quantidade de volumes para cada item da cotacao. Codigo da Embalagem
{"DVF_
PESODESEMB"
,"
100" , CAIXA" , Nil},;
//
peso da quantidade de volume {"DVF_VALMER" ,"1000" , Nil}} //valor total do produto MsExecAuto({|x,y,z| TMSA040(x,y,z)}, aCabDT4, aitemDVF, 3) If lMsErroAuto MostraErro()Else MsgAlert("cotacao Excluida.") EndIfDescricao 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