ÍNDICE

  1. Visión general
  2. Ejemplo de utilización
  3. Tablas

01. VISIÓN GENERAL

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.


02. EJEMPLO DE UTILIZACIÓN

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"
#INCLUDE "TopConn.ch"

User Function LOCXPDV()

Local cRutina   := ParamIXB[1]  //Parámetro que informa la rutina que está 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"

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

Retorno:cParam  // Punto de Venta 

 

El patch contiene las rutinas:

  • LOCXNF.PRW - Generación de Documentos Fiscales.
  • LOCXNF2.PRW - Complemento de Documentos Fiscales.


   

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:

  1. 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.

  2. 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

  1.  Ingresar a  la rutina Generac. de Notas de Crédito y Débito en el menú Facturación(Actualización|Facturación), informamos los parámetros.

    ¿Formulario propio? = Si

    ¿Tipo de Factura? = Crédito 

    ¿Incluir vínculo?  =  No

    ¿Asiento Contab. On-Line?  =  No

    ¿Muestra Asiento Contab.? = No

    ¿Agrupa Asientos? = No

  2. Se ejecuta el punto de entrada y al cumplirse con la condición asigna el valor correspondiente al punto de venta predefinido y no muestra la ventana para la selección del punto de venta, envía mensaje con el valor informado.
  3. Grabar la Nota de crédito.


  1. Ingresar a  la rutina Generac. de Notas de Crédito y Débito en el menú Facturación(Actualización|Facturación), informamos los parámetros.

    ¿Formulario propio? = Si

    ¿Tipo de Factura? = Débito

    ¿Incluir vínculo?  =  No

    ¿Asiento Contab. On-Line?  =  No

    ¿Muestra Asiento Contab.? = No

    ¿Agrupa Asientos? = No

  2. Se ejecuta el punto de entrada, pero al no cumplirse con la condición muestra la ventana para la selección del punto de venta.
  3. Grabar la Nota de débito. 


*Modulo de Control de Tiendas

  1. En la rutina de Facturaciones en el menú de Facturación (Actualización|Facturación) contar por lo menos con un registro de Factura de salida.
  2. Ingresar a la rutina Rutina de Cambio en el menú de Control de Tiendas (Actualización|Atención), se ingresarán los productos, seleccionando el origen con un documento de salida e indicaremos la factura deseada.
  3. Se ejecuta el Punto de Entrada y al cumplirse con la condición asigna el valor correspondiente al punto de venta predefinido, muestra mensaje con el valor informado. Se ejecuta porque es detonada la rutina de Generación de Notas de Crédito (MATA465N).
  4. Grabar.


03. Tablas

CFH - Punto de Venta.

SF1 - Encabezado Documentos de Entrada.

SD1 - Ítems Documentos de Entrada.

SF3 - Libros Fiscales.




Versión: 12.1.17