- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ponto de Entrada F240FIL
×
Linguagem de Programação ADVPL
Perguntas Ponto de Entrada F240FIL
- CCASKWD
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 114
- Obrigados Recebidos: 0
11 anos 7 meses atrás #12795
por CCASKWD
Ponto de Entrada F240FIL foi criado por CCASKWD
Olá Pessoal!
Estou usando o ponto de entrada F240FIL, que atua após preenchimento da tela de dados do bordero, quando clicado no botão ok. Esse ponto de entrada é o que esta mais próximo para que estou precisando, para que possa mostrar no browse os titulos do banco que contenha as 3 primeiras posição do campo E2_CODBAR,mas esta gerando erro de macro. Caso alguém possa ajudar fico grato.
#INCLUDE'PROTHEUS.CH'
#INCLUDE'TOPCONN.CH'
User Function F240FIL()
Local aAliasAnt := GetArea()
Local aAliasSE2 := SE2->(GetArea())
Local cFiltro := ""
dbSelectArea("SE2")
dbSetOrder(3)
dbSeek(xFilial("SE2")+DTOS(dVenIni240),.T.)
While SE2->(!Eof()) .And. SE2->E2_VENCREA >= dVenIni240 ;
.And. SE2->E2_VENCREA <= dVenFim240
If cModPgto == "30" .And. cTipoPag == "20"
If !Empty(SE2->E2_CODBAR) .And. SubStr(SE2->E2_CODBAR,1,3) == '341'
cFiltro += "SUBSTRING(SE2->E2_CODBAR,1,3) >= '341' .And. SUBSTRING(SE2->E2_CODBAR,1,3) <= '341'"
Endif
EndIf
SE2->(dbSkip())
Enddo
RestArea(aAliasSE2)
RestArea(aAliasAnt)
Return(cFiltro)
Erro log...
THREAD ERROR (carlosc, CARLOSC) 10/04/2013 13:52:23
invalid macro source (SSYacc0105e: Error token failed, no valid token) AND SUBSTRING(E2_CODBAR,1,3) >= '341' AND SUBSTRING(E2_CODBAR,1,3) <= '341' ) on {||&CFIL240}(FINA240.PRX) 01/02/2013 18:00:31 line : 3154
[TOTVS build: 7.00.120420A-20120726]
Called from FA240BORDE(FINA240.PRX) 01/02/2013 18:00:31
Called from FWMBROWSE:EXECUTE(FWFORMBROWSE.PRW) 22/01/2013 18:34:21 line : 1020
Called from { || OSELF:EXECUTE("FA240BORDE", 3, 0,"BORDERÔ", 2,"","BORDERÔ","", 2) } line : 136
Called from eval line : 136
Called from {|| If( lClick, ( lClick := .F., eval({ || OSELF:EXECUTE("FA240BORDE", 3, 0,"BORDERÔ", 2,"","BORDERÔ","", 2) }), lClick := .T., ), "")} line : 136
Obrigado
Estou usando o ponto de entrada F240FIL, que atua após preenchimento da tela de dados do bordero, quando clicado no botão ok. Esse ponto de entrada é o que esta mais próximo para que estou precisando, para que possa mostrar no browse os titulos do banco que contenha as 3 primeiras posição do campo E2_CODBAR,mas esta gerando erro de macro. Caso alguém possa ajudar fico grato.
#INCLUDE'PROTHEUS.CH'
#INCLUDE'TOPCONN.CH'
User Function F240FIL()
Local aAliasAnt := GetArea()
Local aAliasSE2 := SE2->(GetArea())
Local cFiltro := ""
dbSelectArea("SE2")
dbSetOrder(3)
dbSeek(xFilial("SE2")+DTOS(dVenIni240),.T.)
While SE2->(!Eof()) .And. SE2->E2_VENCREA >= dVenIni240 ;
.And. SE2->E2_VENCREA <= dVenFim240
If cModPgto == "30" .And. cTipoPag == "20"
If !Empty(SE2->E2_CODBAR) .And. SubStr(SE2->E2_CODBAR,1,3) == '341'
cFiltro += "SUBSTRING(SE2->E2_CODBAR,1,3) >= '341' .And. SUBSTRING(SE2->E2_CODBAR,1,3) <= '341'"
Endif
EndIf
SE2->(dbSkip())
Enddo
RestArea(aAliasSE2)
RestArea(aAliasAnt)
Return(cFiltro)
Erro log...
THREAD ERROR (carlosc, CARLOSC) 10/04/2013 13:52:23
invalid macro source (SSYacc0105e: Error token failed, no valid token) AND SUBSTRING(E2_CODBAR,1,3) >= '341' AND SUBSTRING(E2_CODBAR,1,3) <= '341' ) on {||&CFIL240}(FINA240.PRX) 01/02/2013 18:00:31 line : 3154
[TOTVS build: 7.00.120420A-20120726]
Called from FA240BORDE(FINA240.PRX) 01/02/2013 18:00:31
Called from FWMBROWSE:EXECUTE(FWFORMBROWSE.PRW) 22/01/2013 18:34:21 line : 1020
Called from { || OSELF:EXECUTE("FA240BORDE", 3, 0,"BORDERÔ", 2,"","BORDERÔ","", 2) } line : 136
Called from eval line : 136
Called from {|| If( lClick, ( lClick := .F., eval({ || OSELF:EXECUTE("FA240BORDE", 3, 0,"BORDERÔ", 2,"","BORDERÔ","", 2) }), lClick := .T., ), "")} line : 136
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 7 meses atrás #12802
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Ponto de Entrada F240FIL
Tenta isso:
cFiltro += "Left(SE2->E2_CODBAR,3) = '341'"
cFiltro += "Left(SE2->E2_CODBAR,3) = '341'"
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- CCASKWD
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 114
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ponto de Entrada F240FIL
Tempo para a criação da página:0.134 segundos