× Linguagem de Programação ADVPL

Perguntas Fórmula no Lançamento Padronizado

Mais
9 anos 2 meses atrás #29248 por santana.ailton
Srs(as). Bom dia, peço um auxílio dos mais experientes para uma questão que parece ser muito símples, mas que tem me dado uma boa canseira.
estou tentando incluir a seguinte expressão no campo CT5_DEBITO (Lançamento Padronizado):
IIF(SF4->F4_CODIGO="055",30202006,IIF(SF4->F4_CODIGO="011".AND.SB1->(B1_COD)$"03010001/03060001",101040010010,IIF(SB1->B1_COD="90010011".AND.SD1->(D1_CC)$"010501/040101",30201041,IIF(SB1->B1_COD="90010011".AND.SD1->(D1_CC)$"030501/030504",30101014,SB1->B1_CONTA))))
porém, o sistema me da uma mensagem de que existe um erro na fórmula que eu não consigo identificar. Fiz um teste modificando a fórmula para:
IIF(SF4->F4_CODIGO="011".AND.SB1->(B1_COD)$"03010001/03060001",101040010010,IIF(SB1->B1_COD="90010011".AND.SD1->(D1_CC)$"010501/040101",30201041,IIF(SB1->B1_COD="90010011".AND.SD1->(D1_CC)$"030501/030504",30101014,SB1->B1_CONTA)))
e verifiquei que desse jeito passa, porém preciso filtrar também o trecho: IIF(SF4->F4_CODIGO="055",30202006, mas sempre da erro, fiz també o teste de colocar somete:
IIF(SF4->F4_CODIGO="055",30202006,SB1->B1_CONTA) e deu certo.
Não consigo identificar o erro.

Toda ajuda será bem vinda.

At.
Ailton Custodio

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 2 meses atrás #29252 por kanaamlrr
Tenta assim:
IIF(SF4->F4_CODIGO="055","30202006",IIF(SF4->F4_CODIGO="011".AND.SB1->(B1_COD)$"03010001/03060001","101040010010",IIF(SB1->B1_COD="90010011".AND.SD1->(D1_CC)$"010501/040101","30201041",IIF(SB1->B1_COD="90010011".AND.SD1->(D1_CC)$"030501/030504","30101014",SB1->B1_CONTA))))

Pode ser que funcione...

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 2 meses atrás #29259 por santana.ailton
Camarada, valeu a ajuda, mas não deu certo retorna a mensagem: Existe um erro na fórmula digitada. Estrutura inconsistente: ((((". Solução: Digite uma Expressão válida.

At.
Ailton Custodio

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 2 meses atrás #29260 por kanaamlrr
Cara,
pelo que eu vi a expressão está correta.
Verifique se no campo que você está jogando a informação cabe o texto todo.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 2 meses atrás #29281 por santana.ailton
Cara, valeu, você matou a charada, tamanho do campo é 240, e a minha fórmula tem 270 caracteres, só consegui aumentar o campo para 254 caracteres, vou ter que dar um jeito de simplificar a fórmula.


Valeu cara, muito obrigado.


At.

Ailton Custodio.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 2 meses atrás - 9 anos 2 meses atrás #29282 por kanaamlrr
Ou você pode colocar ela dentro de uma User Function e simplesmente chamar a User Function

Mais ou menos assim:

Coloque no campo U_SuaFunc()

E crie o fonte abaixo:
User Function SuaFunc()

Return IIF(SF4->F4_CODIGO="055","30202006",IIF(SF4->F4_CODIGO="011".AND.SB1->(B1_COD)$"03010001/03060001","101040010010",IIF(SB1->B1_COD="90010011".AND.SD1->(D1_CC)$"010501/040101","30201041",IIF(SB1->B1_COD="90010011".AND.SD1->(D1_CC)$"030501/030504","30101014",SB1->B1_CONTA))))

Dessa forma você não vai precisar mudar a regra.
Abraço!
Ultima edição: 9 anos 2 meses atrás por kanaamlrr.

Por favor Acessar ou Registrar para participar da conversa.

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