× Linguagem de Programação ADVPL

Perguntas Execblock

Mais
10 anos 11 meses atrás #19004 por Freitas
Execblock foi criado por Freitas
Boa tarde pessoal.
É o seguinte, montei um execblock para atender minha necessidade de contabilizar valores de títulos incluídos no contas a pagar usando ou não múltiplas naturezas porém ao ao rodar a rotina de contabilização os lançmentos não são contabilizados.

Arquivo Anexo:

Nome do Arquivo: Execblock.rar
Tamanho do Arquivo:62 KB
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #19006 por kanaamlrr
Respondido por kanaamlrr no tópico Execblock
Ao invés d execblock utilize a chamada direta da função
por exemplo:

"U_510001VAL()"

E certifique-se de que no final da sua function está assim:

Return cRet

Abraço!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #19011 por Freitas
Respondido por Freitas no tópico Execblock
Ola Kanaãm. Obrigado pela ajuda. Apliquei as modificações que você indicou.

Na lp 510/001, ficha valor, campo Vlr Moeda 1 coloquei "U_510001VAL()", no fonte LP510001Val coloquei o Return cRet mas ao rodar a contabilização gera error.log

Type mismatch on compare on DETPROVA(MATAFUNA.PRX)

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #19013 por kanaamlrr
Respondido por kanaamlrr no tópico Execblock
Nesse caso não deveria ser um valor numérico?

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #19034 por Freitas
Respondido por Freitas no tópico Execblock
Kanaãn, simplifiquei a instrução para

If(SE2->E2_MULTNAT <> "2" .AND. SE2->E2_AGCTB $ "S" .AND. SE2->E2_PREFIXO <> "TRF" .AND. (!(SE2->E2_TIPO$GETMV("MV_TIPNCTB"))))
nRet := SEV->EV_VALOR
Else
nRet := SE2->E2_VALOR+SE2->E2_IRRF+SE2->E2_INSS+SE2->E2_PIS+SE2->E2_COFINS+SE2->E2_CSLL
Endif

mas mesmo assim ao rodar a contabilização nada é contabilizado. Se eu coloco essa instrução diretamente na LP a contabilização acontece mas quando eu mando executar a chamada via execblock, então, nada.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #19039 por kanaamlrr
Respondido por kanaamlrr no tópico Execblock
Não precisa utilizar o execblock, é só colocar a chamada da função direto.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.083 segundos
Joomla templates by a4joomla