Identificador de Regra

GER-000CONSD01

Módulo: GER - Gerais.

Caracteristicas: Consulta de documento - Chegada de mercadoria.

Transação: Não se aplica.

Campos de Entrada:

Campo Tipo Observação
ConsAChaveDocumento Alfa Chave do documento eletrônico NFe/NFp
ConsACnpjCpf Alfa CNPJ/CPF do Fornecedor
ConsNFornecedor Número Código do Fornecedor
ConsATipoPessoa Alfa Tipo da Pessoa J-Jurídica / F-Fisica
ConsAUsaOrimer Alfa Usa Origem de Mercadoria S/N
ConsNEmpresa Número Código da Empresa
ConsNFilial Número Código da Filial

Campos de Saída:

Campo Tipo Observação
ConsNEmpresa Número Código da Empresa
ConsNFilial Número Código da Filial
ConsNOrigemMercadoria Número Código da Origem de Mercadoria
ConsNFornecedor Número Código do Fornecedor
ConsNNumeroNf Número Número do documento
ConsAUsaOrimer Alfa Usa Origem de Mercadoria S/N
ConsATipoPessoa Alfa Tipo da Pessoa J-Jurídica / F-Fisica
ConsACnpjCpf Alfa CNPJ/CPF do fornecedor
ConsASerieNf Alfa Serie do documento
ConsASerieLegal Alfa Série legal do documento
ConsAMensagemRetorno Alfa Mensagem de retorno da regra
ConsNListaFornecedorOrigem Número OrigemMercadoria - Alfa - Código da Origem de Mercadoria do fornecedor retornado
UsaOrigemMercadoria - Alfa - Valor alfa S/N que indica se o fornecedor retornado usa ou não origem de mercadoria
CnpjCpfFornecedor - Número - Cnpj ou Cpf do Fornecedor retornado para o WS
CodigoFornecedor - Número - Código do Fornecedor retornado para o WS
TipoPessoa - Alfa - Tipo de Pessoa do Fornecedor retornado para o WS (F- Física, J- Jurídica)

Importante

A utilização da variável ConsNListaFornecedorOrigem é facultativa, devendo-se recorrer a essa lista somente quando houver necessidade de retornar mais de um fornecedor/origem por chave de nota.

Regra:

A regra a seguir exemplifica como é viável transmitir os valores de Fornecedor e Origem de Mercadoria através da lista na regra.

Definir Alfa ConsAChaveDocumento; 
Definir Alfa ConsACnpjCpf; 
Definir Alfa aCnpjCpf;
Definir Numero ConsNFornecedor; 
Definir Alfa ConsATipoPessoa; 
Definir Alfa ConsAUsaOrimer; 
Definir Numero ConsNOrigemMercadoria; 
Definir Numero ConsNEmpresa; 
Definir Numero ConsNFilial; 
Definir Numero ConsNNumeroNf; 
Definir Alfa ConsASerieNf; 
Definir Alfa ConsASerieLegal; 
Definir Alfa ConsAMensagemRetorno;
Definir Numero ConsNListaFornecedorOrigem;
Definir Alfa ConsA_S_N;
 

TamanhoAlfa(ConsAChaveDocumento, nTam);
 

@ Nota de Fornecedor @
Se(nTam = 20){
Definir Alfa aIniBar;
Definir Alfa aFimBar;
Definir Alfa aSnfPro;
Definir Alfa aNfcPro;
Definir Alfa aInsEst;
aIniBar = ConsAChaveDocumento;
aFimBar = ConsAChaveDocumento;
aSnfPro = ConsAChaveDocumento;
aNfcPro = ConsAChaveDocumento;  
CopiarAlfa(aIniBar, 2, 3);
CopiarAlfa(aFimBar, 5, 7);
CopiarAlfa(aSnfPro, 12, 3);
CopiarAlfa(aNfcPro, 15, 6);
aInsEst =aIniBar+aFimBar;
Definir Cursor Cur_E095ORM;
Cur_E095ORM.Sql  "Select e095for.CodFor, e095for.TipFor, e095for.cgccpf, \
e095orm.SeqOrm  \
From e095for, e095orm \
Where e095for.CodFor = e095orm.CodFor \
and e095orm.InsOrm = :aInsEst and e095orm.SitOrm = 'A'";
Cur_E095ORM.AbrirCursor()
Enquanto(Cur_E095ORM.Achou){
Definir Alfa aTipFor;
nSeqOrm = nSeqOrm + 1;
nCodFor = Cur_E095ORM.CodFor;
nCodSeq = Cur_E095ORM.SeqOrm; 
aTipFor = Cur_E095ORM.TipFor;
IntParaAlfa(Cur_E095ORM.cgccpf, aCnpjCpf);

ListaRegraNovaLinha(ConsNListaFornecedorOrigem);
ListaRegraAddValorLinhaNumero(ConsNListaFornecedorOrigem, "CodigoFornecedor", nCodFor, ConsA_S_N);
ListaRegraAddValorLinhaNumero(ConsNListaFornecedorOrigem, "OrigemMercadoria", nCodSeq, ConsA_S_N);
ListaRegraAddValorLinhaAlfa(ConsNListaFornecedorOrigem, "UsaOrigemMercadoria", "S", ConsA_S_N);
ListaRegraAddValorLinhaAlfa(ConsNListaFornecedorOrigem, "CnpjCpfFornecedor", aCnpjCpf, ConsA_S_N);
ListaRegraAddValorLinhaAlfa(ConsNListaFornecedorOrigem, "TipoPessoa", aTipFor, ConsA_S_N);
ListaRegraSalvarLinha(ConsNListaFornecedorOrigem);
Cur_E095ORM.Proximo();
};
Cur_E095ORM.FecharCursor()  

Se(nSeqOrm > 0){
AlfaParaInt(aNfcPro, ConsNNumeroNf); 
ConsASerieNf = aSnfPro;   
}  
}

Este artigo ajudou você?