PAT-670BEMNF01

Módulo: PAT - Patrimônio.

Finalidade: quando ativo e com regra definida, permite criar uma regra para definir mais de um bem principal para cada item de nota fiscal. Conforme exemplo abaixo:

Núm.NFE Data Emissão Seq. Item Filial Loc. Bem Principal Novo Bem Acréscimo Quantidade Itens Qtd. Bens Incluídos Quantidade a Incluir
5.000 28/06/2017 1 3 MOV0006-000 MOV0006-001 3 1 1
5.000 28/06/2017 1 3 MOV0007-000 MOV0007-002 3 1 1
8.000 04/07/2017 1 3 MOV0006-000 MOV0006-003 5 0 3
8.000 04/07/2017 1 3 MOV0007-000 MOV0007-004 5 0 2

A regra é aplicada ao clicar no botão Mostrar.

Tela: F670EBA (Grade Item Nota Fiscal de Entrada).

Transação: Não se aplica.

Regra:

Definir Numero PATNCodEmp; /* Código da Empresa */
Definir Numero PATNCodFil; /* Código da Filial */
Definir Numero PATNCodFor; /* Código do Fornecedor */
Definir Numero PATNNumNfc; /* Número da Nota Fiscal */
Definir Alfa PATACodSnf; /* Código da Série */
Definir Numero PATNSeqIpc; /* Sequencia do Item de Produto */
Definir Numero PATNSeqIsc; /* Sequencia do Item de Serviço */
Definir Numero PATNQtdTot; /* Quantidade de itens total do item de produto/serviço */

Definir Alfa PATABemPri; /* Bem principal atual encontrado no item da nota */
Definir Numero PATNQtdInc; /* Quantidade a incluir original do item */
Definir Alfa PATADelimitador; /*RETORNO: Delimitador a ser utilizado nas varáveis de retorno - Default: ';' */

Definir Alfa PATABens; /*RETORNO: Variável de retorno contendo os bens principais do item atual - Ex: "MOVTESTE001-000;MOVTESTE002-000;MOVTESTE003-000"*/
Definir Alfa PATAQtdPorBem; /*RETORNO: Variável de retorno contendo as quantidades de itens a serem incluídas para cada bem principal - Ex: "2;3;1"*/

Definir Alfa xBem;
Definir Numero xQtd;
Definir Alfa xQtdAlfa;

Definir alfa xCursor;

PATABens = "";
PATAQtdPorBem = "";

SQL_Criar(xCursor);
SQL_DefinirComando(xCursor, "SELECT * FROM USU_TBEM_IPC \
WHERE USU_CODEMP = :CODEMP AND \
USU_CODFIL = :CODFIL AND \
USU_CODFOR = :CODFOR AND \
USU_NUMNFC = :NUMNFC AND \
USU_CODSNF = :CODSNF AND \
USU_SEQIPC = :SEQIPC AND \
USU_SEQISC = :SEQISC");
SQL_DefinirInteiro(xCursor, "CODEMP", PATNCodEmp);
SQL_DefinirInteiro(xCursor, "CODFIL", PATNCodFil);
SQL_DefinirInteiro(xCursor, "CODFOR", PATNCodFor);
SQL_DefinirInteiro(xCursor, "NUMNFC", PATNNumNfc);
SQL_DefinirAlfa(xCursor, "CODSNF", PATACodSnf);
SQL_DefinirInteiro(xCursor, "SEQIPC", PATNSeqIpc);
SQL_DefinirInteiro(xCursor, "SEQISC", PATNSeqIsc);

SQL_AbrirCursor(xCursor);

Enquanto(SQL_EOF(xCursor) = 0)
{
SQL_RetornarAlfa(xCursor, "USU_CODBEM", xBem);
SQL_RetornarInteiro(xCursor, "USU_QTDINC", xQtd);
IntParaAlfa(xQtd, xQtdAlfa);
PATABens = PATABens + xBem + PATADelimitador;
PATAQtdPorBem = PATAQtdPorBem + xQtdAlfa + PATADelimitador;
SQL_Proximo(xCursor);
}

SQL_FecharCursor(xCursor);
SQL_Destruir(xCursor);

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
PATNCodEmp Número Código da Empresa N
PATNCodFil Número Código da Filial N
PATNCodFor Número Código do Fornecedor N
PATNNumNfc Número Número da Nota Fiscal N
PATACodSnf Alfa Código da Série N
PATNSeqIpc Número Sequência do Item de Produto N
PATNSeqIsc Número Sequência do Item de Serviço N
PATNQtdTot Número Quantidade de itens total do item de produto/serviço N
PATABemPri Alfa Bem principal atual encontrado no item da nota N
PATNQtdInc Número Quantidade a incluir original do item N
PATADelimitador Alfa Delimitador a ser utilizado nas varáveis de retorno - Default: ';' N
PATABens Alfa Variável de retorno contendo os bens principais do item atual - Ex: "MOVTESTE001-000;MOVTESTE002-000" S
PATAQtdPorBem Alfa Variável de retorno contendo as quantidades de itens a serem incluídas para cada bem principal - Ex: "2;3" S

Atenção

Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.

Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.

Este artigo ajudou você?