Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

ÍNDICE

Índice

1. REQUERIMIENTOS 


Características del Requisito

Âncora
inicio
inicio

...

Informações

El Punto de Entrada M486PDFGEN ya se encuentra habilitado desde la opción "Otras acciones >> Imprimir PDF"

Descripción:

M486PDFGEN.- Generación personalizada de Impresión Gráfica de Documentos

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Imprimir PDF.

Programa Fuente:

MATA486.PRW

Función:

MenuDef

Retorno:N/A

SOLUCION

Se agrega en la acción Recupera XML/PDF, para cuando exista compilado el punto de entrada "M486PDFGEN" se ejecute para la personalización del PDF y no realice la impresión predefinida por el sistema. 

...

Aviso
titleIMPORTANTE
  • Para el copiado de los archivos XML/PDF de documentos de tipo Factura de Venta, Boleta de Venta, Nota de Crédito, Nota de Débito, solamente aplica el copiado de los archivos de documentos que se encuentran en estatus Autorizado (F1_FLFTEX/F2_FLFTEX con valor igual a 6).
  • Cuando existe compilado el Punto de Entrada siempre se realiza la generación del PDF (es reponsabilidad del usuario definir que no se encuentre compilado el punto de entrada genere el PDF si ya existe), y en caso contrario la generación del PDF solo sólo se realizará si no NO existe el PDF en la ruta configurada en el parámetro MV_CFDDOCS, y en caso que exista solo se copia el archivo PDF del servidor a la ruta indicada.
  • En el ejemplo del Punto de Entrada, la función PRINTPE() se define la impresión del encabezado y detalle del informe, y se bifurca para que al ejecutar desde la acción Recupera XML/PDF no se muestra el grupo de preguntas que se es mostrado al ejecutar desde la acción Imprimir PDF, ya que se toman los valores Serie, Folio del Documento Inicial y Folio del Documento Final del grupo de preguntas MATA486J.


Ejemplo de Punto de entrada:

Bloco de código
languageactionscript3
titleM486PDFGEN
linenumberstrue
User Function M486PDFGEN()
    Local cSerieR  := PARAMIXB[1] // Sucursal que emitió el documento.
    Local cDocIniR := PARAMIXB[2] // Número de Documento
    Local cDocFinR := PARAMIXB[3] // Número de Documento
    Local cPerg lRecupPDF:= IIf(!Empty(cSerieR),.T.,.F.) //Valida si se ejecuta la opción "Recupera XML/PDF"
	Local cPerg"M486PDF"
    Private cSerie := ""
    Private cDocIni := "M486PDF"

    IfPrivate !lRecupPDF .And. Pergunte(cPerg,.T.)
 		MsgAlert("Aquí debe colocar lógica para imprimir pdf desde la opción Imprimir PDF")
    Else
	 	MsgAlert("Aquí debe colocar lógica para imprimir pdf desde la opción Recupera XML/PDF")
    EndIf   
	cDocFin := ""
    Private cFormato := ""
    Private cPath := &(SuperGetmv( "MV_CFDDOCS" , .F. , "'cfd\recibos\'" )) + "\Autorizados\"
    Private oXML   := Nil
    Private nTotPag := 0
    Private oFont1 := TFont():New( "ARIAL", , 7, .F., .F.)
    Private oFont2 := TFont():New( "ARIAL", , 8, .F., .F.)
    Private oFont3 := TFont():New( "ARIAL", , 10, .T., .T.)
    Private oFont4 := TFont():New( "ARIAL", , 8, .F., .T.) //Negrita - 8
    Private nLinea  := 0
    Private cPicture := "999,999,999,999.99"
     
    cPath := Replace( cPath, "\\", "\" )
     
    If (!Empty(cSerieR) .Or. !Empty(cDocIniR) .Or. !Empty(cDocFinR))
       Pergunte(cPerg,.T.)
    EndIf
    cSerie  := IIf(!Empty(cSerieR),cSerieR,MV_PAR01)
    cDocIni := IIf(!Empty(cDocIniR),cDocIniR,MV_PAR02)
    cDocFin := IIf(!Empty(cDocFinR),cDocFinR,MV_PAR03)
    cFormato:= IIf(!Empty(cSerieR) .Or. !Empty(cDocIniR) .Or. !Empty(cDocFinR),1,MV_PAR04)
     
    Processa({|| PRINTPE(cEspecie)},"Espere..", "Imprimiendo documento autorizado desde PE")
Return Nil


4.7 PE - M486NF

...