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.