Perguntas Alias already in use: TRBSZ3

Mais
8 anos 6 meses atrás - 8 anos 6 meses atrás #30534 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())
Ultima edição: 8 anos 6 meses atrás por diegoo_martins.

Por favor Acessar ou Registrar para participar da conversa.

Mais
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 . :)

Por favor Acessar ou Registrar para participar da conversa.

Mais
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.

Por favor Acessar ou Registrar para participar da conversa.

Mais
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

Por favor Acessar ou Registrar para participar da conversa.

Mais
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.

Arquivo Anexo:

Nome do Arquivo: MyFunction.prw
Tamanho do Arquivo:12 KB
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
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

Por favor Acessar ou Registrar para participar da conversa.

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