- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Fórmula no Lançamento Padronizado
×
Linguagem de Programação ADVPL
Perguntas Fórmula no Lançamento Padronizado
- santana.ailton
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 8
- Obrigados Recebidos: 0
9 anos 2 meses atrás #29248
por santana.ailton
Fórmula no Lançamento Padronizado foi criado 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
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.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
9 anos 2 meses atrás #29252
por kanaamlrr
Respondido por kanaamlrr no tópico Fórmula no Lançamento Padronizado
Tenta assim:
Pode ser que funcione...
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.
- santana.ailton
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 8
- Obrigados Recebidos: 0
9 anos 2 meses atrás #29259
por santana.ailton
Respondido por santana.ailton no tópico Fórmula no Lançamento Padronizado
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
At.
Ailton Custodio
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- santana.ailton
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 8
- Obrigados Recebidos: 0
9 anos 2 meses atrás #29281
por santana.ailton
Respondido por santana.ailton no tópico Fórmula no Lançamento Padronizado
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.
Valeu cara, muito obrigado.
At.
Ailton Custodio.
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
9 anos 2 meses atrás - 9 anos 2 meses atrás #29282
por kanaamlrr
Respondido por kanaamlrr no tópico Fórmula no Lançamento Padronizado
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:
Dessa forma você não vai precisar mudar a regra.
Abraço!
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Fórmula no Lançamento Padronizado
Tempo para a criação da página:0.158 segundos