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;
}
}
English
Español
English
Español


