4Each • Exibir tópico - Quebra de Linha

Quebra de Linha

Forum para duvidas sobre a linguagem Progress

Quebra de Linha

Mensagempor turks em 15 Jul 2010, 16:17

boa tarde Galeraa!!

Tudo bem por ai?
Viu, seguinte, tô com uma duvida, sabe quando a gente gera um relatório que depois de uma certa quantidades de linha, ele automaticamente cria um caracter de quadradinho?

Queria saber se tem como tirar pois na hora de imprimir esse quadradinho tá quebrando uma linha. E eu não queria que quebrasse.

Obrigado pela atenção galeraa!
Artur Felipe Corvino Rosa
artur.corvino1@yahoo.com.br (e-mail particular)
artur.corvino (Skype)


..: Não sei quanto aos anjos, mas é o medo que dá asas aos homens :.
Avatar do usuário
turks
Usuário Pleno
Usuário Pleno
 
Mensagens: 85
Registro: 20 Ago 2009, 14:02

Re: Quebra de Linha

Mensagempor pitsa em 15 Jul 2010, 16:51

Usando as includes padrão de relatório do Datasul ele gera mesmo essas quebras de página.

Gere o arquivo sem utilizar as includes que irá funcionar... tipo:

Código: Selecionar todos
def stream str-rp.
output stream str-rp to value(tt-param.arquivo) convert target "iso8859-1".
put stream str-rp
     "teste teste" skip.
output stream str-rp close.
Modelagem e Desenvolvimento de Software - C# .NET, Java e Progress 4GL
Obtenha alto desempenho integrando seu sistema Web ao Progress utilizando Web Services.
Avatar do usuário
pitsa
Usuário Junior
Usuário Junior
 
Mensagens: 35
Registro: 28 Abr 2009, 18:39
Localização: Sorocaba - SP

Re: Quebra de Linha

Mensagempor turks em 16 Jul 2010, 09:51

Olá, obrigado pelo retorno.

Não consegui fazer o que vc disse, mesmo assim não retirou a quebra.
Posso te mandar o código pra você dar uma olhada por favor?

É um relatório simplesinho, pra impressão de etiqueta.

Olha o código abaixo.

Código: Selecionar todos
/*--------- include de controle de versão ----------*/
{include/i-prgvrs.i ies0014RP 2.06.00.000}

/* Pré-processador para ativar ou não a saída para RTF*/
&GLOBAL-DEFINE RTF NO

/*------- Definição de Tabela Temporárias ----------*/
define temp-table tt-param no-undo
    field destino          as integer
    field arquivo          as char format "x(35)"
    field usuario          as char format "x(12)"
    field data-exec        as date
    field hora-exec        as integer
    FIELD codigo--         AS CHARACTER FORMAT "X(15)"
    FIELD cliente          AS INTEGER
    FIELD modelo           AS CHARACTER FORMAT "X(45)"
    FIELD data-p           AS DATE
    FIELD data-e           AS DATE
    FIELD qt-imprimir      AS INTEGER.
   

def temp-table tt-raw-digita
    field raw-digita      as raw.
/*--------------------- recebimento de parâmetros -----------------*/
DEFINE INPUT PARAMETER raw-param AS RAW NO-UNDO.  /*variável com conteúdo tt-param*/
DEFINE INPUT PARAMETER TABLE FOR tt-raw-digita.

/*-------------------- carrega parametros--------------------------*/
CREATE tt-param.
RAW-TRANSFER raw-param TO tt-param.

/*----------- include padrão para variáveis de relatório ----------*/
{include/i-rpvar.i}

/*------------------ Definição de Variaveis------------------------*/

DEFINE VARIABLE h-acomp         AS HANDLE     NO-UNDO. /* variavel deve ser sempre definida*/
define variable i-count         as integer    no-undo.

/*-------------- include padrão para output de relatórios----------*/
{include/i-rpout.i &STREAM="stream str-rp"}

/*-------------------- bloco principal do programa---------------- */
ASSIGN c-programa      = "FES0004"
       c-versao         = "2.04"
       c-revisao     = ".00.000"
       c-empresa      = "Fiberbus"
       c-titulo-relat = "Emissão de Etiqueta".

RUN utp/ut-acomp.p PERSISTENT SET h-acomp.
{utp/ut-liter.i Imprimindo *}
RUN pi-inicializar IN h-acomp ('Listagem de Pedidos').

/* ---------------Definição do Form, ou cabeçalho----------------- */



/* -------------------Lógica do Relatório------------------------- */



FIND FIRST emitente NO-LOCK WHERE emitente.cod-emitente = cliente NO-ERROR.
FIND FIRST ITEM NO-LOCK WHERE ITEM.it-codigo = codigo-- NO-ERROR.

DO i-count = 1 to tt-param.qt-imprimir:

PUT STREAM str-rp
      SKIP(3)
    "|         Descrição:                                         |" SKIP
    "|" ITEM.desc-item                                           "|" SKIP
    "|--------------+---------------------------------------------|" SKIP
    "|Código        |" codigo--    "                              |" SKIP
   /* "|Data Produção |"  "                                     |" SKIP */
    "|Cliente       |" emitente.nome-abrev  "                                 |" SKIP
    "|Modelo        |" modelo               "|"                        SKIP
    "|Data Entrega  |" data-e "       |Data Produção |" data-p  "      |"   SKIP
    "|--------------+---------------+--------------+--------------|"   SKIP
    "|RE Acabador   |               |RE Liberação  |              |"   SKIP
    " --------------+---------------+--------------+-------------- "  SKIP(2).


END.


RUN pi-finalizar IN h-acomp.

Artur Felipe Corvino Rosa
artur.corvino1@yahoo.com.br (e-mail particular)
artur.corvino (Skype)


..: Não sei quanto aos anjos, mas é o medo que dá asas aos homens :.
Avatar do usuário
turks
Usuário Pleno
Usuário Pleno
 
Mensagens: 85
Registro: 20 Ago 2009, 14:02

Re: Quebra de Linha

Mensagempor pitsa em 16 Jul 2010, 12:11

seria algo assim:

Código: Selecionar todos

/*--------- include de controle de versão ----------*/
{include/i-prgvrs.i ies0014RP 2.06.00.000}

/* Pré-processador para ativar ou não a saída para RTF*/
&GLOBAL-DEFINE RTF NO

/*------- Definição de Tabela Temporárias ----------*/
define temp-table tt-param no-undo
    field destino          as integer
    field arquivo          as char format "x(35)"
    field usuario          as char format "x(12)"
    field data-exec        as date
    field hora-exec        as integer
    FIELD codigo--         AS CHARACTER FORMAT "X(15)"
    FIELD cliente          AS INTEGER
    FIELD modelo           AS CHARACTER FORMAT "X(45)"
    FIELD data-p           AS DATE
    FIELD data-e           AS DATE
    FIELD qt-imprimir      AS INTEGER.
   

def temp-table tt-raw-digita
    field raw-digita      as raw.
/*--------------------- recebimento de parâmetros -----------------*/
DEFINE INPUT PARAMETER raw-param AS RAW NO-UNDO.  /*variável com conteúdo tt-param*/
DEFINE INPUT PARAMETER TABLE FOR tt-raw-digita.

/*-------------------- carrega parametros--------------------------*/
CREATE tt-param.
RAW-TRANSFER raw-param TO tt-param.

/*------------------ Definição de Variaveis------------------------*/

DEFINE VARIABLE h-acomp         AS HANDLE     NO-UNDO. /* variavel deve ser sempre definida*/
define variable i-count         as integer    no-undo.
def    stream   str-rp.

RUN utp/ut-acomp.p PERSISTENT SET h-acomp.
{utp/ut-liter.i Imprimindo *}
RUN pi-inicializar IN h-acomp ('Listagem de Pedidos').

/* ---------------Definição do Form, ou cabeçalho----------------- */



/* -------------------Lógica do Relatório------------------------- */

MESSAGE "Gerando no arquivo:" tt-param.arquivo
    VIEW-AS ALERT-BOX INFO BUTTONS OK.

output stream str-rp to value(tt-param.arquivo) convert target "iso8859-1".

FIND FIRST emitente NO-LOCK WHERE emitente.cod-emitente = cliente NO-ERROR.
FIND FIRST ITEM NO-LOCK WHERE ITEM.it-codigo = codigo-- NO-ERROR.

DO i-count = 1 to tt-param.qt-imprimir:

    PUT STREAM str-rp
          SKIP(3)
        "|         Descrição:                                         |" SKIP
        "|" ITEM.desc-item                                           "|" SKIP
        "|--------------+---------------------------------------------|" SKIP
        "|Código        |" codigo--    "                              |" SKIP
       /* "|Data Produção |"  "                                     |" SKIP */
        "|Cliente       |" emitente.nome-abrev  "                                 |" SKIP
        "|Modelo        |" modelo               "|"                        SKIP
        "|Data Entrega  |" data-e "       |Data Produção |" data-p  "      |"   SKIP
        "|--------------+---------------+--------------+--------------|"   SKIP
        "|RE Acabador   |               |RE Liberação  |              |"   SKIP
        " --------------+---------------+--------------+-------------- "  SKIP(2).


END.

output stream str-rp close.

RUN pi-finalizar IN h-acomp.

Modelagem e Desenvolvimento de Software - C# .NET, Java e Progress 4GL
Obtenha alto desempenho integrando seu sistema Web ao Progress utilizando Web Services.
Avatar do usuário
pitsa
Usuário Junior
Usuário Junior
 
Mensagens: 35
Registro: 28 Abr 2009, 18:39
Localização: Sorocaba - SP

Re: Quebra de Linha

Mensagempor turks em 21 Jul 2010, 09:47

Fala Pitsa.
Blz?

Cara, faz certo sim. Tira a quebra de linha na hora de executar em terminal, porem na hora de mandar direto pra impressão dá um erro esquisitão.

Tem uma outra forma de faze-lo?
Artur Felipe Corvino Rosa
artur.corvino1@yahoo.com.br (e-mail particular)
artur.corvino (Skype)


..: Não sei quanto aos anjos, mas é o medo que dá asas aos homens :.
Avatar do usuário
turks
Usuário Pleno
Usuário Pleno
 
Mensagens: 85
Registro: 20 Ago 2009, 14:02

Re: Quebra de Linha

Mensagempor eduardo.leite em 21 Jul 2010, 12:52

Qual erro esquisitão foi mostrado???

A maneira correta é esta mesma ou até mesmo inserindo no OUTPUT o comando PAGE-SIZE 0, ficando assim:

output stream str-rp to value(tt-param.arquivo) convert target "iso8859-1" page-size 0.
Att.


Eduardo B. Leite
MSN/E-Mail: leite1969@yahoo.com.br
SKYPE: eduardo.batista.leite

P.S.: Estou procurando trabalho para ser feito em períodos noturnos e finais de semana.
eduardo.leite
Suporte
Suporte
 
Mensagens: 217
Registro: 04 Fev 2009, 05:48

Re: Quebra de Linha

Mensagempor turks em 27 Jul 2010, 11:41

erro_impressão.JPG


Olha aii, o erro que aparece, tentei colocar o page-size também, mais sem sucesso.
Parece que é erro de impressora no EMS. Mais quando eu tiro esses parametros e deixo da forma como era o relatório, ai fica normal.

Alguem tem uma luz pra poder tirar essa quebra?
Você não está autorizado a ver ou baixar esse anexo.
Artur Felipe Corvino Rosa
artur.corvino1@yahoo.com.br (e-mail particular)
artur.corvino (Skype)


..: Não sei quanto aos anjos, mas é o medo que dá asas aos homens :.
Avatar do usuário
turks
Usuário Pleno
Usuário Pleno
 
Mensagens: 85
Registro: 20 Ago 2009, 14:02

Re: Quebra de Linha

Mensagempor eduardo.leite em 27 Jul 2010, 12:15

Olha, o problema é o seguinte:

01) Rotina antiga, usando as includes do DATASUL de impressão, é convertido o nome da impressora de "EPSON LX-300:PADRAO_132" para o caminho da impressora (\\maquina\compartilhamento) e inserido no output os comando informado no Datasul para a impressora.

02) Na sua rotina, você deve estar mandando no tt-param.arquivo o valor de "EPSON LX-300:PADRAO_132" quando deveria ser o caminho da impressora.

Se você customizar a rotina desse jeito que está fazendo não conseguira usar os caracteres de fonte, tamanho, condesanção, etc que foram cadastrados no Datasul, o que pode ser feito para isto é informar no cadastro de impressoras o número de linhas igual a 0, porém no arquivo e terminas sairá com a quebra de pagina.

Faça um teste... no tt-param.arquivo, coloque o caminho da impressora informado no cadastro da mesma.
Att.


Eduardo B. Leite
MSN/E-Mail: leite1969@yahoo.com.br
SKYPE: eduardo.batista.leite

P.S.: Estou procurando trabalho para ser feito em períodos noturnos e finais de semana.
eduardo.leite
Suporte
Suporte
 
Mensagens: 217
Registro: 04 Fev 2009, 05:48

Re: Quebra de Linha

Mensagempor fernandofarah em 28 Jul 2010, 10:18

já tentou usar :

put unformatted ?


bye.
fernandofarah
Usuário Junior
Usuário Junior
 
Mensagens: 12
Registro: 01 Jun 2010, 11:15

Re: Quebra de Linha

Mensagempor eduardo.leite em 30 Jul 2010, 19:32

E ai colega, verificou o sugerido abaixo?

eduardo.leite escreveu:Olha, o problema é o seguinte:

01) Rotina antiga, usando as includes do DATASUL de impressão, é convertido o nome da impressora de "EPSON LX-300:PADRAO_132" para o caminho da impressora (\\maquina\compartilhamento) e inserido no output os comando informado no Datasul para a impressora.

02) Na sua rotina, você deve estar mandando no tt-param.arquivo o valor de "EPSON LX-300:PADRAO_132" quando deveria ser o caminho da impressora.

Se você customizar a rotina desse jeito que está fazendo não conseguira usar os caracteres de fonte, tamanho, condesanção, etc que foram cadastrados no Datasul, o que pode ser feito para isto é informar no cadastro de impressoras o número de linhas igual a 0, porém no arquivo e terminas sairá com a quebra de pagina.

Faça um teste... no tt-param.arquivo, coloque o caminho da impressora informado no cadastro da mesma.
Att.


Eduardo B. Leite
MSN/E-Mail: leite1969@yahoo.com.br
SKYPE: eduardo.batista.leite

P.S.: Estou procurando trabalho para ser feito em períodos noturnos e finais de semana.
eduardo.leite
Suporte
Suporte
 
Mensagens: 217
Registro: 04 Fev 2009, 05:48

Próximo

Voltar para Progress 4GL

Quem está online

Usuários navegando neste fórum: CommonCrawl [Bot] e 0 visitantes