Se solicita la creación de un Punto de Entrada (PE) en la rutina de generación de Notas de Crédito (LOCXNF), el cual remplace la ventana de selección del Punto de Venta, informando mediante el PE el código del Punto de Venta configurado de manera fija.
El PE se detona al momento de realizar la generación de los Documentos Fiscales (NF, NCC, NDC, etc.), es de suma importancia condicionar su ejecución solo para los documentos que son requeridos.
Se creó el Punto de Entrada "LOCXPDV" para que se pueda definir un Punto de Venta de forma fija.
Punto de Entrada: | LOCXPDV |
Descripción: | Punto de Entrada para informar el código del Punto de Venta configurado de manera fija, éste recibe un arreglo que contiene el nombre de la rutina que está en ejecución y el dígito del tipo de documento. |
Parámetros: | ParamIXB[1]//Rutina que se encuentra en uso. ParamIXB[2]//Tipo de documento. |
Ejemplo: | #INCLUDE "Protheus.ch" User Function LOCXPDV() Local cRutina := ParamIXB[1] //Parámetro que informa la rutina que está en uso. Local cParam := ""// informa el punto de venta a regresar por el PE If cRutina == 'MATA465N' .AND. nEspecie == 4 .AND. Type("lFiscal")#"U" If lFiscal cParam := '0001' //Punto de venta fijo EndIf Else cParam := "" //Parámetro que siempre debe de ir vacío en caso de que no se cumpla la condición EndIf Return cParam |
Retorno: | cParam // Punto de Venta |
El patch contiene las rutinas:
Configuraciones previas:
1. Acceda al TOTVS | Developer Studio - TDS
2. Cree y compile el fuente del Punto de Entrada con las reglas necesarias para la empresa.
3. Ejemplo del Punto de Entrada
#INCLUDE "Protheus.ch"
#INCLUDE "TopConn.ch"
User Function LOCXPDV()
Local cRutina := ParamIXB[1] //Parametro que informa la rutina que esta en uso.
Local nEspecie := ParamIXB[2] //Informa el tipo de documento
Local cParam := '' // informa el punto de venta a regresar por el PE
If cRutina == 'MATA465N' .AND. nEspecie == 4 .AND. Type("lFiscal")#"U" //La especie 4 corresponde la tipo de documento NCC
If lFiscal
cParam := '0001' //Punto de venta fijo
Alert("Su punto de venta es el "+cParam+".")
EndIf
Else
cParam := '' //Parámetro que siempre debe de ir vacío en caso de que no se cumpla la condición
EndIf
Return cParam
Consideraciones:
El valor asignado en el Punto de Entrada (cParam) debe de corresponder a un Punto de Venta válido (que exista en el catálogo de Puntos de Venta - CFH), en caso contrario el sistema no permitirá continuar con el proceso.
La validación del Punto de Entrada es muy importante, en ella determinamos bajo que condiciones será retornado el valor definido para el punto de venta, en el siguiente ejemplo, condicionamos que retorne el Punto de Venta "0001" en la Generación de Notas de Crédito y Débito (MATA465N), solo para la especie 4 (NCC) y la Controladora Fiscal (lFiscal) activa.
3. En caso de no cumplir con los requisitos de validación definida en el punto anterior, es de suma importancia que la variable cParam quede vacía, observe el siguiente ejemplo.
Flujo de prueba:
*Modulo de Facturación
¿Formulario propio? = Si
¿Tipo de Factura? = Crédito
¿Incluir vínculo? = No
¿Asiento Contab. On-Line? = No
¿Muestra Asiento Contab.? = No
¿Agrupa Asientos? = No
¿Formulario propio? = Si
¿Tipo de Factura? = Débito
¿Incluir vínculo? = No
¿Asiento Contab. On-Line? = No
¿Muestra Asiento Contab.? = No
¿Agrupa Asientos? = No
*Modulo de Control de Tiendas
CFH - Punto de Venta.
SF1 - Encabezado Documentos de Entrada.
SD1 - Ítems Documentos de Entrada.
SF3 - Libros Fiscales.
Versión: 12.1.17