Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Descrição

O Ponto de Entrada A116IFOR é utilizado na rotina TOTVS Colaboração que permite a identificação do fornecedor/cliente da mercadoria do Conhecimento de Transporte Eletrônico no momento da importação da nota, caso o mecanismo padrão da rotina não consiga identificá-lo.

Localização: Função ImpXML_Cte - Processa o arquivo CT-e no diretório NEW para gravar os registros do arquivo XML nas tabelas SDS e SDT.
Em que ponto: Na identificação do fornecedor/cliente da mercadoria.

Regra de envio do parâmetro 3 (PARAMIXB[3]) dependerá da tag toma3 dentro do xml.:
TOMA3 > 0 = REMETENTE - TAG = R
TOMA3 > 1 = EXPEDIDOR - TAG = X
TOMA3 > 2 = RECEBEDOR - TAG = B
TOMA3 > 3 = DESTINATARIO - TAG = D
TOMA4 = Pode ser TAG = D ou TAG = R

Idioma

Português(Brasil)

Versões

Protheus 11 e 12

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

Todas

Retorno

aRet = Array contendo obrigatoriamente três elementos.
Elemento 1 = Código da tabela onde consta o fornecedor/cliente (SA1 ou SA2).
Elemento 2 = Código do fornecedor/cliente da mercadoria.
Elemento 3 = Código da loja do fornecedor/cliente da mercadoria.

Programa Fonte

MATA116I.PRW

Bloco de código
themeConfluence
firstline1
titleParâmetros
PARAMIXB[1] = Objeto contendo a estrutura do XML de CTe
PARAMIXB[2] = Entidade que está sendo consultada no momento: "SA1" para cadastro de clientes e "SA2" para cadastro de fornecedores.
PARAMIXB[3] = Qual TAG do XML esta sendo pesquisada no momento. R = Remetente, D = Destinatário, E = Emitente, B = Recebedor e EX = EmitenteExpedidor.
Bloco de código
themeConfluence
titleExemplo
#include 'protheus.ch'

User Function A116IFOR()

Local oXML    := Paramixb[1]
Local cEnt    := Paramixb[2] // Opcoes ("SA1" para cadastro de clientes e "SA2" para cadastro de fornecedores)
Local cBusca  := Paramixb[3] // Qual TAG esta sendo pesquisada. (R = Remetente, D = Destinatário, E = DestinatarioEmitente, B = Recebedor e EX = Emitente.Expedidor)
Local aRet    := {}

aRet := {"SA2", "999999", "99"}

Return aRet