- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Como deixar o BOX variavel
×
Linguagem de Programação ADVPL
Perguntas Como deixar o BOX variavel
- Claudinei Martins
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 149
- Obrigados Recebidos: 0
7 anos 10 meses atrás #31782
por Claudinei Martins
Como deixar o BOX variavel foi criado por Claudinei Martins
Bom dia a todos,
A questão é a seguinte, temos uma OP em modo Grafico, e ela é dividida em "BOX", porém foi solicitado acrescentar informações que ão variaveis, hora terão, hora não, hora será so uma linha a mais, hora serão 5 linhas,
Minha duvida é como posso deixar meu BOX variavel igual ao dos itens da DANFE.
Esta é a linha que precisaria ser variavel: __oPrnOps:Box( __nLinAtu, 000, __nLinAtu+450,2225)
Segue parte do Fonte:
__oPrnOps:Box( __nLinAtu, 000, __nLinAtu+450,2225)
__oPrnOps:Say( __nLinAtu+15, 005, 'Recurso', __oTim08N)
__oPrnOps:Say( __nLinAtu+15, 905, 'Ferramenta', __oTim08N)
__nLinAtu += 50
__oPrnOps:Say( __nLinAtu, 005, sh8->h8_recurso+' '+sh1->h1_descri, __oTim12B)
__oPrnOps:Say( __nLinAtu, 905, sg2->g2_ferram+' '+sh4->h4_descri, __oTim12B)
__nLinAtu += 50
__oPrnOps:Say( __nLinAtu, 005, 'Operação : '+sg2->g2_operac+' '+sg2->g2_descri, __oTim12N)
__nLinAtu += 50
IF !Empty(__cCodProc) //Acrescentado por Claudinei 31/01/2017 Para tratar o Roteiro de operacao
for i:= 1 to len(__cCodProc)
__oPrnOps:Say( __nLinAtu, 005, 'Operação : '+' '+alltrim(__cCodProc[i,1]), __oTim12N)
__nLinAtu += 50
Next
Endif
__oPrnOps:Say( __nLinAtu, 005, 'Inicio Aloc.: '+DtoC(sh8->h8_dtini), __oTim12N)
__oPrnOps:Say( __nLinAtu, 905, 'Inicio Real : ____/ ____/____ ___:___', __oTim12N)
__nLinAtu += 50
__oPrnOps:Say( __nLinAtu, 005, 'Termino Aloc.: '+DtoC(sh8->h8_dtfim), __oTim12N)
__oPrnOps:Say( __nLinAtu, 905, 'Termino Real : ____/ ____/____ ___:___', __oTim12N)
__nLinAtu += 50
__oPrnOps:Say( __nLinAtu, 005, 'Quantidade: '+Transform(sh8->h8_quant,'@E 999,999.9999'), __oTim12N)
__oPrnOps:Say( __nLinAtu, 905, 'Qtde Produzida: ________________', __oTim12N)
__oPrnOps:Say( __nLinAtu,1700, 'Perdas: ___________', __oTim12N)
sh8->(dbSkip())
End
Obrigado pela atenção
Claudinei
A questão é a seguinte, temos uma OP em modo Grafico, e ela é dividida em "BOX", porém foi solicitado acrescentar informações que ão variaveis, hora terão, hora não, hora será so uma linha a mais, hora serão 5 linhas,
Minha duvida é como posso deixar meu BOX variavel igual ao dos itens da DANFE.
Esta é a linha que precisaria ser variavel: __oPrnOps:Box( __nLinAtu, 000, __nLinAtu+450,2225)
Segue parte do Fonte:
__oPrnOps:Box( __nLinAtu, 000, __nLinAtu+450,2225)
__oPrnOps:Say( __nLinAtu+15, 005, 'Recurso', __oTim08N)
__oPrnOps:Say( __nLinAtu+15, 905, 'Ferramenta', __oTim08N)
__nLinAtu += 50
__oPrnOps:Say( __nLinAtu, 005, sh8->h8_recurso+' '+sh1->h1_descri, __oTim12B)
__oPrnOps:Say( __nLinAtu, 905, sg2->g2_ferram+' '+sh4->h4_descri, __oTim12B)
__nLinAtu += 50
__oPrnOps:Say( __nLinAtu, 005, 'Operação : '+sg2->g2_operac+' '+sg2->g2_descri, __oTim12N)
__nLinAtu += 50
IF !Empty(__cCodProc) //Acrescentado por Claudinei 31/01/2017 Para tratar o Roteiro de operacao
for i:= 1 to len(__cCodProc)
__oPrnOps:Say( __nLinAtu, 005, 'Operação : '+' '+alltrim(__cCodProc[i,1]), __oTim12N)
__nLinAtu += 50
Next
Endif
__oPrnOps:Say( __nLinAtu, 005, 'Inicio Aloc.: '+DtoC(sh8->h8_dtini), __oTim12N)
__oPrnOps:Say( __nLinAtu, 905, 'Inicio Real : ____/ ____/____ ___:___', __oTim12N)
__nLinAtu += 50
__oPrnOps:Say( __nLinAtu, 005, 'Termino Aloc.: '+DtoC(sh8->h8_dtfim), __oTim12N)
__oPrnOps:Say( __nLinAtu, 905, 'Termino Real : ____/ ____/____ ___:___', __oTim12N)
__nLinAtu += 50
__oPrnOps:Say( __nLinAtu, 005, 'Quantidade: '+Transform(sh8->h8_quant,'@E 999,999.9999'), __oTim12N)
__oPrnOps:Say( __nLinAtu, 905, 'Qtde Produzida: ________________', __oTim12N)
__oPrnOps:Say( __nLinAtu,1700, 'Perdas: ___________', __oTim12N)
sh8->(dbSkip())
End
Obrigado pela atenção
Claudinei
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
7 anos 10 meses atrás #31796
por admin
Respondido por admin no tópico Como deixar o BOX variavel
Claudinei boa tarde, o que vc precisa fazer é calcular mais ou menos o tamanho em linhas para cada item, assim sabendo a quantidade de itens que irá imprimir vc já poderá dimensionar seu box.
tipo se uma linha ocupa 50 pixels e vc tem 10 itens, basta multiplicar 10 x 50 = 500 é o que vc somaria e assim sucessivamente.
Isso é uma sugestão.
tipo se uma linha ocupa 50 pixels e vc tem 10 itens, basta multiplicar 10 x 50 = 500 é o que vc somaria e assim sucessivamente.
Isso é uma sugestão.
Por favor Acessar ou Registrar para participar da conversa.
- Claudinei Martins
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 149
- Obrigados Recebidos: 0
7 anos 9 meses atrás #31883
por Claudinei Martins
Respondido por Claudinei Martins no tópico Como deixar o BOX variavel
Bom dia,
desculpe não responder antes.
Problema resolvido.
Obrigado
desculpe não responder antes.
Problema resolvido.
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Como deixar o BOX variavel
Tempo para a criação da página:0.115 segundos