WebService Mata140 MsExecAuto - Não incluindo D1_ICMSRET, D1_ALIQSOL e D1_BRICMS

Boa Noite pessoal!

Importante: Estou executando o ExecAuto no WebService e antes tem um Prepare Environment com a filial e empresa, por dentro do Protheus esse ExecAuto funciona normalmente porém no WebService não.

Estou executando o MsExecAuto no Mata140 no modo de Inclusão (3) porém o mesmo não salva os dados relacionados ao ICMS-ST. Colocarei um exemplo abaixo. Estou rodando no IXBLOG=NORUN para ter certeza que não é nenhum ponto de entrada.

// Filial ( 1 )
aadd(aItem,{"D1_FILIAL", cFilia ,NIL})
// Linha do Documento de Entrada ( 2 )
aadd(aItem,{"D1_ITEM", StrZero(oInvoiceItem:nitem,4) ,NIL})
// SKU do Produto( 3 )
aadd(aItem,{"D1_COD", ALLTRIM(SB1Temp->B1_COD) , NIL})
// Quantidade do Produto ( 7 )
aadd(aItem,{"D1_QUANT" , oInvoiceItem:erp_quantity , NIL})
// Valor Unitário ( 8 )
aadd(aItem,{"D1_VUNIT" , oInvoiceItem:erp_unit_price ,NIL})
// Valor IPI ( 10 )
aadd(aItem,{"D1_VALIPI" , oInvoiceItem:erp_ipi_value ,NIL})
// Valor ICMS ( 12 )
aadd(aItem,{"D1_VALICM" , oInvoiceItem:erp_icms_value ,NIL})
// Alíquota IPI ( 16 )
aadd(aItem,{"D1_IPI" , oInvoiceItem:erp_ipi_tax_rate ,NIL})
// Alíquota ICMS ( 17 )
aadd(aItem,{"D1_PICM" , oInvoiceItem:erp_icms_tax_rate ,NIL})
// Tipo da Nota ( 33 )
aadd(aItem,{"D1_TIPO" , 'N' ,NIL})
// Valor ICMS ST ( 48 )
aadd(aItem,{"D1_ICMSRET" , oInvoiceItem:erp_icms_st_value,NIL})
// Base ICMS ST ( 50 )
aadd(aItem,{"D1_BRICMS" , oInvoiceItem:erp_icms_st_base_value ,NIL})
// Base ICMS ( 52 )
aadd(aItem,{"D1_BASEICM" , oInvoiceItem:erp_icms_base_value ,NIL})
// Desconto do Produto ( 54 )
aadd(aItem, {"D1_VALDESC", U_ZeroEmpty(oInvoiceItem:discount_value), NIL})
// Base IPI ( 58 )
aadd(aItem,{"D1_BASEIPI" , oInvoiceItem:erp_ipi_base_value ,NIL})
// Classificação ( 82 )
aadd(aItem,{"D1_CLASFIS" , '' ,NIL})
// Alíquota ICMS ST ( 189 )
aadd(aItem,{"D1_ALIQSOL" , oInvoiceItem:erp_icms_st_tax_rate,NIL})
// Número do Pedido
// aadd(aItem,{"D1_PEDIDO" , U_BlankEmpty(oInvoiceItem:purchase_order),NIL})
// Número do Pedido
// aadd(aItem,{"D1_ITEMPC" , U_BlankEmpty(oInvoiceItem:line_number),NIL})

Depois de montar todo o cabeçalho e os itens como mostrei acima, simplesmente faço:

MsExecAuto({ |x, y, z| MATA140(x, y, z) }, aInvoice, aInvoiceItems, 3)

A operação conclui com sucesso porém o D1_ICMSRET, D1_BRICMS e D1_ALIQSOL não atualizam os valores para o que eu informei no vetor, tudo é preenchido com o valor 0.

Se alguém conseguir dar alguma luz eu agradeço!

Obrigado, Igor Morse

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags msexecauto mata140 webservices ou faça a sua própria pergunta.