Versões comparadas

Chave

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

Í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,
este
éste recibe un arreglo que contiene el nombre de la rutina que
esta
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 
cParam  // Punto de Venta 

 

¡IMPORTANTE!

En la variable cParam es definido el punto de venta, es de suma importancia tomar en cuenta las siguientes consideraciones:

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

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

     Image Removed

      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.   

      Image Removed     

Configuraciones previas:

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
Cree un código fuente 2. Cree y compile el fuente del Punto de Entrada con las reglas necesarias para la empresa.
Compile el referido código fuente.
A continuación se muestra un ejemplo para la utilización: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.      Image Added


      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.   

      Image Added 


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 vinculoví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 , muestra y no muestra la ventana para la selección del punto de venta, envía mensaje con el valor informado. 
  3. Genere una 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 vinculoví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. Genere una nota Grabar la Nota de débito. 


*Modulo de Control de TiendaTiendas

  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 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 entrada salida e indicaremos la factura deseada.
  3. Se ejecuta el punto Punto de entrada 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. Grabargenerar la nota de crédito.


03. Tablas

...

CFH - Punto de Venta.

SF1 - Encabezado Documentos de Entrada.

SD1 - Ítems Documentos de Entrada.

SF3 - Libros Fiscales.




Versión: 12.1.17