Árvore de páginas

Rotina automática TMSA050

Produto:

Protheus ADVPL

Versões:

P12.1.17

Ocorrência:

Ao Migrarmos para a Versão 12 do Protheus, uma rotina nossa customizada que simula a entrada de documento do cliente (TMSA050) passou a dar a seguinte mensagem:

AJUDA:TMSA05042 
Não foi encontrado serviço no contrato do cliente para o serviço de transporte e tipo de transporte Informados no documento.

Tabela DTC 07/11/2017 16:47:16 
Inconsistencia nos Itens 

Ambiente:

P12.1.17

Passo a passo:

Após análise, verificamos que o help ocorre devido a falta de campos não informados no exemplo da documentação oficial, apesar de serem preenchidos automaticamente no lançamento manual, os campos “Negociação”(DTC_CODNEG) e “Contrato” (DTC_NCONTR) são necessários informar no array de cabeçalho a ser enviado na execauto.

Segue modelo testado:

#include 'protheus.ch'
#include 'parmtype.ch'
#include 'TBICONN.ch'

user function ExcAut050()

Local aCabDTC := {}
Local aItemDTC := {}

Private lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" MODULO "TMS" TABLES "DTC"

// Dados da Nota Fiscal
aCabDTC := {{"DTC_FILORI" ,"01" , Nil},; //Dados da Empresa - filial de origem
{"DTC_LOTNFC" ,"99DGE0" , Nil},; //Dados da Empresa - numero da cotacao
{"DTC_DATENT" ,dDataBase , Nil},; //Dados da Empresa - Data da Cotacao
{"DTC_CLIREM" ,"000001" , Nil},; //Dados da Empresa -
{"DTC_LOJREM" ,"01" , Nil},; //Servico - Regiao de origem 1=Transportadora/2=Cliente Remetente/3=Local Coleta.
{"DTC_CLIDES" ,"000002" , Nil},; //Servico - Codigo da regiao de origem
{"DTC_LOJDES" ,"01" , Nil},; //Servico - Nome Regiao de Origemm(*****)
{"DTC_DEVFRE" ,"1" , Nil},; //Servico - Codigo da regiao de destino
{"DTC_CLIDEV" ,"000001" , Nil},; //Servico - Nome da Regiao de Destino(*****)
{"DTC_LOJDEV" ,"01" , Nil},; //Servico - Servico de transporte 1= Coleta / 2=Transporte / 3=Entrega.
{"DTC_CLICAL" ,"000001" , Nil},; //Servico - Nome da Regiao de Destino(*****)
{"DTC_LOJCAL" ,"01" , Nil},; //Servico - Servico de transporte 1= Co
{"DTC_TIPFRE" ,"1" , Nil},; //Servico - Descricao Servico Tansporte(*****)
{"DTC_SERTMS" ,"2" , Nil},; //Servico - Tipo de Transporte 1=Rodoviario / 2=Aereo / 3=Fluvial.
{"DTC_TIPTRA" ,"1" , Nil},; //Servico - Descricao Tipo Tansporte
{"DTC_NCONTR" ,"000000000000002" , Nil},;
{"DTC_CODNEG" ,"01" , Nil},;
{"DTC_SERVIC" ,"010" , Nil},; //Servico - Servico
{"DTC_TIPNFC" ,"0" , Nil},; //Servico - Tipo NFC
{"DTC_SELORI" ,"1" , Nil},; //Servico - KM
{"DTC_CDRORI" ,"B38203" , Nil},; //Servico - ISS no Preco
{"DTC_CDRDES" ,"B06705" , Nil},; //Servico - Dis Ida/Volt
{"DTC_CDRCAL" ,"B06705" , Nil}} //Aprovacao - Cliente Remetente

// Itens da NF
Aadd(aItemDTC,{ {"DTC_FILORI" ,"01" , Nil},; //Dados da Empresa - filial de origem
{"DTC_LOTNFC" ,"99DGE0" , Nil},; //Dados da Empresa - numero da cotacao
{"DTC_NUMNFC" ,"123987460" , Nil},; //Dados da Empresa - Hora da Cotacao
{"DTC_SERNFC" ,"011" , Nil},; //Dados da Empresa - DDD do solicitante
{"DTC_CODPRO" ,"TMSDIVERSOS " , Nil},; //Dados da Empresa - Telefone do solicitante
{"DTC_CODEMB" ,"CX" , Nil},; //Dados da Empresa - Nome Solicitante (*****)
{"DTC_EMINFC" ,dDataBase , Nil},; //Dados da Empresa - Prazo de Validade
{"DTC_QTDVOL" ,10 , Nil},; //Dados da Empresa - Tipo de Frete (1-CIF / 2-FOB)
{"DTC_PESO" ,0 , Nil},; //Dados da Empresa - Usuario
{"DTC_VALOR" ,100 , Nil},; //Dados da Empresa - Pessoa (1 - Fisica/ 2 - Juridica)
{"DTC_EDI" ,'2' , Nil}}) //Dados da Empresa - Pessoa (1 - Fisica/ 2 - Juridica)

// Executa rotina TMSA050
MSExecAuto({|u,v,x,y,z| TMSA050(u,v,x,y,z)},aCabDTC,aItemDTC,,,3)

// Retorna Resultado do Processo
If lMsErroAuto
MostraErro()
Else
MsgInfo("Nota gravada com sucesso!")
EndIf

Return

Observações:

http://tdn.totvs.com/pages/releaseview.action?pageId=6093089