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, este recibe un arreglo que contiene el nombre de la rutina que esta 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 := "" 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 |
En la variable cParam es definido el punto de venta, es de suma importancia tomar en cuenta las siguientes consideraciones:
El valor asignado debe de corresponder a un punto de venta valido que se encuentra en la tabla 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 qué condiciones será retornado el valor definido para el punto de venta fijo, en el siguiente ejemplo, condicionamos que el valor solo será retornado cuando este en uso la rutina Generación de Notas de Crédito y Débito (MATA465N) o la Rutina de Cambio (LOJA720) y que sea de tipo Nota de Crédito (4), y además este en uso la Controladora Fiscal (lFiscal). Solo cuando sean cumplidas estas condiciones el valor definido será retornado.
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.
Configuraciones previas:
Acceda al TOTVS | Developer Studio - TDS
Cree un código fuente con las reglas necesarias para la empresa.
Compile el referido código fuente.
A continuación se muestra un ejemplo para la utilización:
#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 := ''
If cRutina == 'MATA465N' .AND. nEspecie == 4 .AND. Type("lFiscal")#"U"
If lFiscal
cParam := '0001'//Punto de venta fijo
Alert("Su punto de venta es el "+cParam+".")
EndIf
Else
cParam := ''//Parametro que siempre debe de ir vacío en caso de que no se cumpla la condición
EndIf
Return cParam
Flujo de prueba:
*Modulo de Facturación
¿Formulario propio? = Si
¿Tipo de Factura? = Crédito
¿Incluir vinculo? = No
¿Asiento Contab. On-Line? = No
¿Muestra Asiento Contab.? = No
¿Agrupa Asientos? = No
¿Formulario propio? = Si
¿Tipo de Factura? = Débito
¿Incluir vinculo? = No
¿Asiento Contab. On-Line? = No
¿Muestra Asiento Contab.? = No
¿Agrupa Asientos? = No
*Modulo de Control de Tienda
Versión: 12.1.17