- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Funções AdvPL
- Alias already in use: TRBSZ3
Perguntas Alias already in use: TRBSZ3
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
8 anos 6 meses atrás - 8 anos 6 meses atrás #30534
por diegoo_martins
Alias already in use: TRBSZ3 foi criado por diegoo_martins
Pessoal, preciso de uma ajuda para corrigir este erro.
Tenho um fonte que está com este error.log informando => Alias already in use: TRBSZ3
Alguém poderia ajudar?
Segue trecho do fonte...
cQuery := "SELECT Z3_NUMSOLF,Z4_NUMSOLF,Z3_CODCLIE,Z3_CODFORN,Z4_CODPROD,Z4_DESCRI,Z4_NUMNF, Z3_EMISSAO, Z4_ITEM,Z4_QUANT,Z4_UM "
cQuery += " FROM " + RetSqlName("SZ3") + " SZ3 "
cQuery += " JOIN " + RetSqlName("SZ4") + " SZ4"
cQuery += " ON SZ3.Z3_NUMSOLF = SZ4.Z4_NUMSOLF"
cQuery += " WHERE SZ3.Z3_NUMSOLF >= '" + mv_par01 + "' "
cQuery += " AND SZ3.Z3_NUMSOLF <= '" + mv_par02 + "' "
cQuery += " ORDER BY Z3_NUMSOLF"
TCQUERY cQuery NEW ALIAS "TRBSZ3"
cQuery := ChangeQuery(cQuery)
dbUseArea(.T., "TOPCONN", TCGenQry(,,cQuery), "TRBSZ3", .F., .T.)
DBSelectArea("TRBSZ3")
DBGoTop()
While TRBSZ3->(!Eof()) .and. Z4_NUMSOLF == _cNumSOL
li:=li+45
oPrinter:Say(li,0058,TRBSZ3->Z4_ITEM,oArial8,,0)
oPrinter:Say(li,0200,TRBSZ3->Z4_NUMNF,oArial8,,0)
oPrinter:Say(li,0400,TRBSZ3->Z4_CODPROD,oArial8,,0)
oPrinter:Say(li,0700,TRBSZ3->Z4_DESCRI,oArial8,,0)
oPrinter:Say(li,1670,Transform(TRBSZ3->Z4_QUANT,"@E 9,999,999.99"),oArial8,,0)
oPrinter:Say(li,2156,TRBSZ3->Z4_UM,oArial8,,0)
TRBSZ3->(DbSkip())
EndDo
TRBSZ3->(DbCloseArea())
Tenho um fonte que está com este error.log informando => Alias already in use: TRBSZ3
Alguém poderia ajudar?
Segue trecho do fonte...
cQuery := "SELECT Z3_NUMSOLF,Z4_NUMSOLF,Z3_CODCLIE,Z3_CODFORN,Z4_CODPROD,Z4_DESCRI,Z4_NUMNF, Z3_EMISSAO, Z4_ITEM,Z4_QUANT,Z4_UM "
cQuery += " FROM " + RetSqlName("SZ3") + " SZ3 "
cQuery += " JOIN " + RetSqlName("SZ4") + " SZ4"
cQuery += " ON SZ3.Z3_NUMSOLF = SZ4.Z4_NUMSOLF"
cQuery += " WHERE SZ3.Z3_NUMSOLF >= '" + mv_par01 + "' "
cQuery += " AND SZ3.Z3_NUMSOLF <= '" + mv_par02 + "' "
cQuery += " ORDER BY Z3_NUMSOLF"
TCQUERY cQuery NEW ALIAS "TRBSZ3"
cQuery := ChangeQuery(cQuery)
dbUseArea(.T., "TOPCONN", TCGenQry(,,cQuery), "TRBSZ3", .F., .T.)
DBSelectArea("TRBSZ3")
DBGoTop()
While TRBSZ3->(!Eof()) .and. Z4_NUMSOLF == _cNumSOL
li:=li+45
oPrinter:Say(li,0058,TRBSZ3->Z4_ITEM,oArial8,,0)
oPrinter:Say(li,0200,TRBSZ3->Z4_NUMNF,oArial8,,0)
oPrinter:Say(li,0400,TRBSZ3->Z4_CODPROD,oArial8,,0)
oPrinter:Say(li,0700,TRBSZ3->Z4_DESCRI,oArial8,,0)
oPrinter:Say(li,1670,Transform(TRBSZ3->Z4_QUANT,"@E 9,999,999.99"),oArial8,,0)
oPrinter:Say(li,2156,TRBSZ3->Z4_UM,oArial8,,0)
TRBSZ3->(DbSkip())
EndDo
TRBSZ3->(DbCloseArea())
Ultima edição: 8 anos 6 meses atrás por diegoo_martins.
Por favor Acessar ou Registrar para participar da conversa.
- will3698
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
8 anos 6 meses atrás #30536
por will3698
Respondido por will3698 no tópico Alias already in use: TRBSZ3
Ola boa noite !
se vc usa : " TCQUERY cQuery NEW ALIAS "TRBSZ3" "
nao precisa usar : " dbUseArea(.T., "TOPCONN", TCGenQry(,,cQuery), "TRBSZ3", .F., .T.) "
ou um ou outro .
se vc usa : " TCQUERY cQuery NEW ALIAS "TRBSZ3" "
nao precisa usar : " dbUseArea(.T., "TOPCONN", TCGenQry(,,cQuery), "TRBSZ3", .F., .T.) "
ou um ou outro .
Por favor Acessar ou Registrar para participar da conversa.
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
8 anos 6 meses atrás #30551
por diegoo_martins
Respondido por diegoo_martins no tópico Alias already in use: TRBSZ3
Willian, bom dia.
Entendi...agora funcionou para os itens. Mas quando altero de solicitação dando um delete na anterior e colocando o código da que quero imprimir, traz o cabeçalho e rodapé da solicitação anterior.....Somente funciona corretamente, se clicar no F3 da pergunta e posicionar na solicitação que quero imprimir...
Static Function RunReport()
Private _cNumSOL := SZ3->Z3_NUMSOLF
li := 1430
cQuery := "SELECT Z3_NUMSOLF,Z4_NUMSOLF,Z3_CODCLIE,Z3_CODFORN,Z4_CODPROD,Z4_DESCRI,Z4_NUMNF, Z3_EMISSAO, Z4_ITEM,Z4_QUANT,Z4_UM "
cQuery += " FROM " + RetSqlName("SZ3") + " SZ3 "
cQuery += " JOIN " + RetSqlName("SZ4") + " SZ4"
cQuery += " ON SZ3.Z3_NUMSOLF = SZ4.Z4_NUMSOLF"
cQuery += " WHERE SZ3.Z3_NUMSOLF BETWEEN '" + mv_par01 + "' AND '" + mv_par02 + "' "
cQuery += " ORDER BY Z3_NUMSOLF"
TCQUERY cQuery NEW ALIAS "TRBSZ3"
cQuery := ChangeQuery(cQuery)
DBSelectArea("TRBSZ3")
//TRBSZ3->(DbGoTop())
ImpCabec()
While TRBSZ3->(!Eof()) //.and. TRBSZ3->Z4_NUMSOLF == TRBSZ3->Z3_NumSOLF
li:=li+45
oPrinter:Say(li,0058,TRBSZ3->Z4_ITEM,oArial8,,0)
oPrinter:Say(li,0200,TRBSZ3->Z4_NUMNF,oArial8,,0)
oPrinter:Say(li,0400,TRBSZ3->Z4_CODPROD,oArial8,,0)
oPrinter:Say(li,0700,TRBSZ3->Z4_DESCRI,oArial8,,0)
oPrinter:Say(li,1670,Transform(TRBSZ3->Z4_QUANT,"@E 9,999,999.99"),oArial8,,0)
oPrinter:Say(li,2156,TRBSZ3->Z4_UM,oArial8,,0)
TRBSZ3->(DbSkip())
EndDo
TRBSZ3->(DbCloseArea())
If li > 2950
ImpRodape() // Imprime rodape do formulario e salta para a proxima folha
ImpCabec()
li := 1430
Endif
ImpRodape()
Return .T.
Entendi...agora funcionou para os itens. Mas quando altero de solicitação dando um delete na anterior e colocando o código da que quero imprimir, traz o cabeçalho e rodapé da solicitação anterior.....Somente funciona corretamente, se clicar no F3 da pergunta e posicionar na solicitação que quero imprimir...
Static Function RunReport()
Private _cNumSOL := SZ3->Z3_NUMSOLF
li := 1430
cQuery := "SELECT Z3_NUMSOLF,Z4_NUMSOLF,Z3_CODCLIE,Z3_CODFORN,Z4_CODPROD,Z4_DESCRI,Z4_NUMNF, Z3_EMISSAO, Z4_ITEM,Z4_QUANT,Z4_UM "
cQuery += " FROM " + RetSqlName("SZ3") + " SZ3 "
cQuery += " JOIN " + RetSqlName("SZ4") + " SZ4"
cQuery += " ON SZ3.Z3_NUMSOLF = SZ4.Z4_NUMSOLF"
cQuery += " WHERE SZ3.Z3_NUMSOLF BETWEEN '" + mv_par01 + "' AND '" + mv_par02 + "' "
cQuery += " ORDER BY Z3_NUMSOLF"
TCQUERY cQuery NEW ALIAS "TRBSZ3"
cQuery := ChangeQuery(cQuery)
DBSelectArea("TRBSZ3")
//TRBSZ3->(DbGoTop())
ImpCabec()
While TRBSZ3->(!Eof()) //.and. TRBSZ3->Z4_NUMSOLF == TRBSZ3->Z3_NumSOLF
li:=li+45
oPrinter:Say(li,0058,TRBSZ3->Z4_ITEM,oArial8,,0)
oPrinter:Say(li,0200,TRBSZ3->Z4_NUMNF,oArial8,,0)
oPrinter:Say(li,0400,TRBSZ3->Z4_CODPROD,oArial8,,0)
oPrinter:Say(li,0700,TRBSZ3->Z4_DESCRI,oArial8,,0)
oPrinter:Say(li,1670,Transform(TRBSZ3->Z4_QUANT,"@E 9,999,999.99"),oArial8,,0)
oPrinter:Say(li,2156,TRBSZ3->Z4_UM,oArial8,,0)
TRBSZ3->(DbSkip())
EndDo
TRBSZ3->(DbCloseArea())
If li > 2950
ImpRodape() // Imprime rodape do formulario e salta para a proxima folha
ImpCabec()
li := 1430
Endif
ImpRodape()
Return .T.
Por favor Acessar ou Registrar para participar da conversa.
- will3698
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
8 anos 6 meses atrás #30554
por will3698
Respondido por will3698 no tópico Alias already in use: TRBSZ3
Ola bom dia!
bem ... eu nao sei como esta essa sua função impCabec .. ela é padrão do protheus ? ou é static nesse seu fonte ??
se for padrão ... porque não tenta usar uma que aceite passagem de parametros . como por exemplo a cabec()
tdn.totvs.com/pages/releaseview.action?pageId=6815073
faça o teste com essa . acredito que resolve . pois com ela vc passa os parametros que quer imprimir no cabeçalho
att
bem ... eu nao sei como esta essa sua função impCabec .. ela é padrão do protheus ? ou é static nesse seu fonte ??
se for padrão ... porque não tenta usar uma que aceite passagem de parametros . como por exemplo a cabec()
tdn.totvs.com/pages/releaseview.action?pageId=6815073
faça o teste com essa . acredito que resolve . pois com ela vc passa os parametros que quer imprimir no cabeçalho
att
Por favor Acessar ou Registrar para participar da conversa.
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
8 anos 6 meses atrás #30555
por diegoo_martins
Respondido por diegoo_martins no tópico Alias already in use: TRBSZ3
Não estou utilizando a função Impcabec padrão.
Segue fonte completo.
Segue fonte completo.
Por favor Acessar ou Registrar para participar da conversa.
- will3698
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
8 anos 6 meses atrás #30556
por will3698
Respondido por will3698 no tópico Alias already in use: TRBSZ3
Entendi . nao vou conseguir olhar seu fonte agora pq vou entrar numa reunião .
mas ja que vc usa uma função de impresão de cabeçalho que não é padrão . o correto nao seria vc passar parametros pra ela ?? tipo assim :
ImpCabec(DATA,VALOR,USUARIO,ETC..... )
quando voltar eu dou uma olhada . mas da uma verificada no uso da cabec padrão se te atende . e/ou veja se tem como ajustar sua rotina pra passagem de parametros . assim , ela vai imprimir sempre oque vc passar pra ela . sem precisar fazer getarea . por exemplo
att
mas ja que vc usa uma função de impresão de cabeçalho que não é padrão . o correto nao seria vc passar parametros pra ela ?? tipo assim :
ImpCabec(DATA,VALOR,USUARIO,ETC..... )
quando voltar eu dou uma olhada . mas da uma verificada no uso da cabec padrão se te atende . e/ou veja se tem como ajustar sua rotina pra passagem de parametros . assim , ela vai imprimir sempre oque vc passar pra ela . sem precisar fazer getarea . por exemplo
att
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Funções AdvPL
- Alias already in use: TRBSZ3
Tempo para a criação da página:0.141 segundos