8732 - Variáveis do Identificador VEN-140ALDIV01.
Problema: Descrição do Problema: Estou utilizando a regra abaixo no identificador VEN-140ALDIV01, porém as variáveis sempre estão apresentando o valor 0.
Definir Numero VSEmpNfv;
Definir Numero VSNumNfv;
Definir Numero nCodMsg;
Definir Numero nFlag;
Definir Numero nSeqIpv;
Definir Alfa VSSnfNfv;
Definir Alfa aCodTrd;
Definir Alfa aCodTst;
Definir Alfa aCodTic;
Definir Alfa aSigUfs;
Definir Numero VSEmpNfc;
Definir Numero VSEmpCtr;
Definir Numero VSEmpPed;
Definir Numero VSEmpPfa;
Definir Alfa VSTipOri;
Definir Alfa VSEstado;
Definir Numero VSBloIte;
nCodMsg = 0;
nFlag = 0;
nSeqIpv = 0;
aCodTrd = ;
aCodTst = ;
aCodTic = ;
aSigUfs = ;
@ ---------------------- Busca Estado do Cliente da NF --------------------- @
Definir Cursor Cur_BuscaEstado;
Cur_BuscaEstado.SQL SELECT SIGUFS FROM E085CLI
WHERE CODCLI = (SELECT CODCLI FROM E140NFV
WHERE CODEMP = :VSEmpNfv
AND CODSNF = :VSSnfNfv
AND NUMNFV = :VSNumNfv)
Cur_BuscaEstado.AbrirCursor();
Se (Cur_BuscaEstado.Achou)
Inicio
aSigUfs = Cur_BuscaEstado.SigUfs;
Fim
Cur_BuscaEstado.FecharCursor();
@ ---------------------- Busca Itens da NF --------------------------------- @
Definir Cursor Cur_BuscaItens;
Cur_BuscaItens.SQL SELECT SEQIPV, CODTRD, CODTST, CODTIC FROM E140IPV
WHERE CODSNF = :VSSnfNfv
AND CODEMP = :VSEmpNfv
AND NUMNFV = :VSNumNfv
Cur_BuscaItens.AbrirCursor();
Enquanto (Cur_BuscaItens.Achou)
Inicio
nSeqIpv = Cur_BuscaItens.SeqIpv;
aCodTrd = Cur_BuscaItens.CodTrd;
aCodTst = Cur_BuscaItens.CodTst;
aCodTic = Cur_BuscaItens.CodTic;
@ Inserir Tratativas @
Cur_BuscaItens.Proximo();
Fim
Cur_BuscaItens.FecharCursor();
Rotina / Tela: F140GNF
Solução: Solução 8732: As variáveis não foram inicializadas, por isto elas carregam o valor 0.
Conforme help do identificador, para acessar os campos da tabela da NF deve ser utilizado a sintaxe E140NFV.[NomeCampo] > onde o NomeCampo é o que consta na tabela do banco de dados.
Desta forma, é necessário retornar para as variáveis que desenvolveu na regra, o campo referente a elas da E140NFV, conforme exemplo abaixo:
VSEmpNfv = E140Nfv.CodEmp;
VSNumNfv = E140Nfv.NumNfv;
VSSnfNfv = E140Nfv.CodSnf;
Desta forma, os valores serão carregados na regra conforme exemplo em anexo.
Definir Numero VSEmpNfv;
Definir Numero VSNumNfv;
Definir Numero nCodMsg;
Definir Numero nFlag;
Definir Numero nSeqIpv;
Definir Alfa VSSnfNfv;
Definir Alfa aCodTrd;
Definir Alfa aCodTst;
Definir Alfa aCodTic;
Definir Alfa aSigUfs;
Definir Numero VSEmpNfc;
Definir Numero VSEmpCtr;
Definir Numero VSEmpPed;
Definir Numero VSEmpPfa;
Definir Alfa VSTipOri;
Definir Alfa VSEstado;
Definir Numero VSBloIte;
nCodMsg = 0;
nFlag = 0;
nSeqIpv = 0;
aCodTrd = ;
aCodTst = ;
aCodTic = ;
aSigUfs = ;
@ ---------------------- Busca Estado do Cliente da NF --------------------- @
Definir Cursor Cur_BuscaEstado;
Cur_BuscaEstado.SQL SELECT SIGUFS FROM E085CLI
WHERE CODCLI = (SELECT CODCLI FROM E140NFV
WHERE CODEMP = :VSEmpNfv
AND CODSNF = :VSSnfNfv
AND NUMNFV = :VSNumNfv)
Cur_BuscaEstado.AbrirCursor();
Se (Cur_BuscaEstado.Achou)
Inicio
aSigUfs = Cur_BuscaEstado.SigUfs;
Fim
Cur_BuscaEstado.FecharCursor();
@ ---------------------- Busca Itens da NF --------------------------------- @
Definir Cursor Cur_BuscaItens;
Cur_BuscaItens.SQL SELECT SEQIPV, CODTRD, CODTST, CODTIC FROM E140IPV
WHERE CODSNF = :VSSnfNfv
AND CODEMP = :VSEmpNfv
AND NUMNFV = :VSNumNfv
Cur_BuscaItens.AbrirCursor();
Enquanto (Cur_BuscaItens.Achou)
Inicio
nSeqIpv = Cur_BuscaItens.SeqIpv;
aCodTrd = Cur_BuscaItens.CodTrd;
aCodTst = Cur_BuscaItens.CodTst;
aCodTic = Cur_BuscaItens.CodTic;
@ Inserir Tratativas @
Cur_BuscaItens.Proximo();
Fim
Cur_BuscaItens.FecharCursor();
Rotina / Tela: F140GNF
Solução: Solução 8732: As variáveis não foram inicializadas, por isto elas carregam o valor 0.
Conforme help do identificador, para acessar os campos da tabela da NF deve ser utilizado a sintaxe E140NFV.[NomeCampo] > onde o NomeCampo é o que consta na tabela do banco de dados.
Desta forma, é necessário retornar para as variáveis que desenvolveu na regra, o campo referente a elas da E140NFV, conforme exemplo abaixo:
VSEmpNfv = E140Nfv.CodEmp;
VSNumNfv = E140Nfv.NumNfv;
VSSnfNfv = E140Nfv.CodSnf;
Desta forma, os valores serão carregados na regra conforme exemplo em anexo.