18081 - Consistir data da baixa com data de crédito
Problema: Descrição do Problema:
Preciso consistir a data de emissão do título a baixar com a data de emissão do título de crédito/adiantamento da tela F501BAA.
Foi utilizado o identificador de regras CPA-501BAACT01, porém esse identificador é chamado a cada linha da grid e com isso zera as informações não sendo possível consistir um campo da grid de cima com a de baixo.
Tem alguma sugestão do que poderia ser feito para consistir?
Rotina / Tela: F501BAA
Solução: Solução 18081:
Como o identificador de regras CPA-501BAACT01 em questão não foi feito para guardar informações após execução de cada linha, nossa sugestão é guardar em memória a última data da grid de cima. Assim poderá fazer a consistência.
Segue abaixo um pequeno exemplo de regra:
Definir Data DDatAdt;
Definir Alfa xDatAdt;
Definir Data DDatBai;
Definir Alfa xDatBai2;
Definir Alfa xMensagem;
DEFINIR DATA VSBAATADatEmi; @ Data Emissão N @
DEFINIR ALFA VSBAAGrid; @ Grid que está sendo processada (TitulosAproveitar / TitulosBaixar) N @
DEFINIR DATA VSBAATBDatEmi; @ Data Emissão N @
DDatAdt = VSBAATADatEmi;
IntParaAlfa(DDatAdt, xDatAdt);
se (VSBAAGrid = TitulosAproveitar)
gertabnum[1] = DDatAdt;
xMensagem = O título a baixar contra o adiantamento tem data de emissão menor que a data de emissão do adiantamento. Não é possível realizar a baixa!;
Se(VSBAAGrid = TitulosBaixar)
Inicio
DDatBai = VSBAATBDatEmi;
IntParaAlfa(DDatBai, xDatBai2);
xdatadtguarda = gertabnum[1];
Se(DDatBai < xdatadtguarda)
Inicio
Mensagem(Erro, xMensagem);
Fim;
Fim;
Preciso consistir a data de emissão do título a baixar com a data de emissão do título de crédito/adiantamento da tela F501BAA.
Foi utilizado o identificador de regras CPA-501BAACT01, porém esse identificador é chamado a cada linha da grid e com isso zera as informações não sendo possível consistir um campo da grid de cima com a de baixo.
Tem alguma sugestão do que poderia ser feito para consistir?
Rotina / Tela: F501BAA
Solução: Solução 18081:
Como o identificador de regras CPA-501BAACT01 em questão não foi feito para guardar informações após execução de cada linha, nossa sugestão é guardar em memória a última data da grid de cima. Assim poderá fazer a consistência.
Segue abaixo um pequeno exemplo de regra:
Definir Data DDatAdt;
Definir Alfa xDatAdt;
Definir Data DDatBai;
Definir Alfa xDatBai2;
Definir Alfa xMensagem;
DEFINIR DATA VSBAATADatEmi; @ Data Emissão N @
DEFINIR ALFA VSBAAGrid; @ Grid que está sendo processada (TitulosAproveitar / TitulosBaixar) N @
DEFINIR DATA VSBAATBDatEmi; @ Data Emissão N @
DDatAdt = VSBAATADatEmi;
IntParaAlfa(DDatAdt, xDatAdt);
se (VSBAAGrid = TitulosAproveitar)
gertabnum[1] = DDatAdt;
xMensagem = O título a baixar contra o adiantamento tem data de emissão menor que a data de emissão do adiantamento. Não é possível realizar a baixa!;
Se(VSBAAGrid = TitulosBaixar)
Inicio
DDatBai = VSBAATBDatEmi;
IntParaAlfa(DDatBai, xDatBai2);
xdatadtguarda = gertabnum[1];
Se(DDatBai < xdatadtguarda)
Inicio
Mensagem(Erro, xMensagem);
Fim;
Fim;