#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. |
#2
|
|||
|
|||
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. |
#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, |
Herramientas | Buscar en Tema |
Desplegado | |
|
|