Problema de impresión de código de barras

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • oscarzaid
    Junior Member
    • feb
    • 6

    #1

    Problema de impresión de código de barras

    Hola a todos,

    Tengo problemas al imprimir desde un smarform un código de barras. En la impresión me aparece la información (un cadena) que contiene el código de barras, pero no dicho código de barras.

    Intenté desde la SPAD usando en la impresora, SAPWIN y SWIN y no consigo imprimir el código.

    Ayuda por favor,

    Gracias y saludos.
  • SSSS
    Senior Member
    • mar
    • 148

    #2
    Originalmente publicado por oscarzaid
    Hola a todos,

    Tengo problemas al imprimir desde un smarform un código de barras. En la impresión me aparece la información (un cadena) que contiene el código de barras, pero no dicho código de barras.

    Intenté desde la SPAD usando en la impresora, SAPWIN y SWIN y no consigo imprimir el código.

    Ayuda por favor,

    Gracias y saludos.
    Hola oscarzaid,
    Lo que yo realice es por medio de una función que llama al smarform obtener el codigo de barra.
    Por ejmplo la funcion se llamo:Z_SDMF_ARMA_CODIGO_DE_BARRA
    dentro de la funcion entre otras cosas....
    obtengo CUIT CODIGO XBLNR CAE
    Te copio el codigo de la función y decile a tu programador que realice esto:

    FUNCTION z_sdmf_arma_codigo_de_barra.
    *"----------------------------------------------------------------------
    *"*"Interfase local
    *" IMPORTING
    *" REFERENCE(EX_BUKRS) TYPE VBRK-BUKRS
    *" REFERENCE(EX_FKART) TYPE VBRK-FKART
    *" REFERENCE(EX_XBLNR) TYPE VBRK-XBLNR
    *" REFERENCE(EX_VBELN) TYPE VBRK-VBELN
    *" EXPORTING
    *" REFERENCE(IM_CODBAR) TYPE ZSDES0008
    *"----------------------------------------------------------------------

    TYPES: BEGIN OF tyl_cae,
    cae_num TYPE j_1acae-cae_num,
    cae_duedate TYPE j_1acae-cae_duedate,
    END OF tyl_cae.

    DATA: wl_cae TYPE tyl_cae.

    DATA: vl_codigo TYPE j_1aotdet-j_1aoftp,
    vl_cat_doc TYPE j_1aotdet-j_1adoccls,
    vl_cuit TYPE t001z-paval,
    vl_codbar_aux TYPE zsdde0031,
    vl_i TYPE i,
    vl_i2 TYPE i,
    vl_digito TYPE i,
    vl_suma_par TYPE i,
    vl_suma_impar TYPE i,
    vl_dig TYPE c LENGTH 1.

    * Recupero el CUIT de la sociedad
    SELECT SINGLE paval
    FROM t001z
    INTO vl_cuit
    WHERE bukrs = ex_bukrs
    AND party = 'J1AIDN'.

    * Recupero el código del documento
    CALL FUNCTION 'Z_SDMF_LEE_CODIGO_DOCUMENTO'
    EXPORTING
    ex_fkart = ex_fkart
    ex_letra = ex_xblnr+4(1)
    IMPORTING
    im_codigo = vl_codigo
    im_cat_doc = vl_cat_doc.

    * Recupero el CAE/CAEA y su vencimiento
    SELECT SINGLE cae_num
    cae_duedate
    INTO wl_cae
    FROM j_1acae
    WHERE cae_ref = ex_vbeln.

    CONCATENATE vl_cuit
    vl_codigo
    ex_xblnr(4)
    wl_cae-cae_num
    wl_cae-cae_duedate
    INTO im_codbar-codbar.
    CONDENSE im_codbar-codbar.

    * Genero el código verificador
    vl_codbar_aux = im_codbar-codbar.
    vl_i = 1.

    DO.
    IF vl_codbar_aux(1) EQ ' '.
    EXIT.
    ENDIF.
    vl_i2 = vl_i MOD 2.
    IF vl_i2 EQ 0.
    vl_suma_par = vl_suma_par + vl_codbar_aux(1).
    ELSE.
    vl_suma_impar = vl_suma_impar + vl_codbar_aux(1).
    ENDIF.
    SHIFT vl_codbar_aux BY 1 PLACES.
    vl_i = vl_i + 1.
    ENDDO.
    vl_suma_impar = vl_suma_impar * 3.

    vl_suma_par = vl_suma_par + vl_suma_impar.

    vl_digito = vl_suma_par MOD 10.
    IF vl_digito NE 0.
    vl_digito = 10 - vl_digito .
    vl_dig = vl_digito.
    ELSE.
    vl_dig = vl_digito.
    ENDIF.
    CONCATENATE im_codbar-codbar vl_dig INTO im_codbar-codbar_cv.

    Comentario

    • oscarzaid
      Junior Member
      • feb
      • 6

      #3
      Gracias por tu respuesta amigo SSSS.

      De hecho el smartform sale bien, es decir, en la Vista Previa puedo ver el código de barras, pero al mandarlo a imprimir en papel es cuando obtengo la cadena de información, creo que vá más por el tema del driver de la impresora SWIN o SAPWIN...

      Como quiera intentaré esa solución, gracias.

      Saludos,

      Comentario

      Trabajando...