Importante

El NFC estará disponible a partir del release 12.1.2210 y estará disponible en el paquete de expedición continua mayor o igual al 15/12/2023.

Después de la implementación de la Expedición continua el 19/04/2024, solicitamos gentilmente que actualice los archivos de formulario de workflow para garantizar que todas las mejoras implementadas sean debidamente copiadas, manteniendo su funcionamiento. Los archivos se encuentran en la sección de Configuraciones.

ÍNDICE



01. VISIÓN GENERAL

El Nuevo flujo de compras ayuda en la gestión, control y toma de decisiones con relación al área de compras de su empresa.
La herramienta permite adoptar mejores estrategias para la gestión de solicitudes de compras recibidas, además de entregar una nueva experiencia en la jornada de cotizaciones. Durante los meses, otros procesos de compras se modernizarán y se pondrán a disposición con el objetivo de simplificar procesos, optimizar el tiempo de las operaciones y agilizar las tareas de su cotidiano. 

 

02. EJEMPLO DE UTILIZACIÓN

Aquí se pueden visualizar ejemplos prácticos de las principales funcionalidades del Nuevo flujo de compras.


Al acceder a la Página inicial (Inicio) el usuario puede visualizar el nombre del usuario conectado.

[Haga clic en la imagen para ampliar]

Paso 1: Para iniciar una solicitud de cotización, seleccione en el menú lateral la opción Necesidad de compra.

[Haga clic en la imagen para ampliar]

Paso 2: Después de acceder a la pantalla, es necesario seleccionar los ítems que se cotizarán. A partir de un ítem seleccionado la opción Iniciar cotización, ubicado en el lado inferior derecho de la pantalla, quedará habilitado. Haga clic aquí para el siguiente paso. 

[Haga clic en la imagen para ampliar]

Paso 3: A continuación, será dirigido a la pantalla Solicitud de cotización. En esta pantalla existen dos campos obligatorios, relacionados a los Datos de la cotización, evidenciados con un asterisco '*'. Es necesario cumplimentar estos para continuar el proceso.

Los respectivos campos son: 

  1. Apodo del grupo de cotización: El usuario definirá cómo se llamará la cotización.
  2. Recepción Cotización: El usuario definirá el plazo para la recepción de cotizaciones.


[Haga clic en la imagen para ampliar]

Paso 4: En esta pantalla se pueden verificar las Informaciones de entrega y productos seleccionados.  
En Productos seleccionados hay un campo de texto en cada ítem, donde se pueden enviar al proveedor observaciones/especificaciones sobre el producto. 


[Haga clic en la imagen para ampliar]

Paso 5: Cuando haya más de una solicitud que tengan productos iguales, con la misma fecha de necesidad, cuenta contable, entre otras similitudes, habrá una agrupación de solicitudes. Por lo tanto, surge en la pantalla un campo llamado Solicitudes agrupadas. Aquí el usuario logrará visualizar a través de un disclaimer azul, el número de la solicitud y el número del ítem que aparecen en esta misma orden Solicitud-Ítem, y suma las cantidades solicitadas a la cantidad total.

[Clique na imagem para ampliar]

Agrupación de productos

Para más información sobre la agrupación de productos haga clic aquí.

Atención: Para visualizar esta pantalla es necesario tener el parámetro MV_SELFOR activo (S).

Paso 1: En la solapa Todos los proveedores aparecerá una lista con todos los proveedores ya registrados en el Protheus, en la solapa Últimos proveedores podemos acceder de manera fácil a los últimos proveedores listados, según las últimas facturas de compras, con el código del producto igual a las encontradas para esta cotización. 



[Haga clic en la imagen para ampliar]

Para incluir en esta cotización uno o más proveedores participantes (no registrado en el sistema), es necesario hacer clic en la opción Nuevo proveedor, ubicado en la parte superior de la pantalla. Aquí es necesario agregar la razón social y e-mail. Es obligatorio informar la razón social para incluir al nuevo proveedor participante, no se podrá duplicar esta. Este proveedor aun no estará registrado oficialmente en el sistema, solo participará del proceso de cotización.



[Haga clic en la imagen para ampliar]


Paso 2: Por medio del campo de búsqueda se puede encontrar un proveedor específico digitando el RCPF/RCPJ, razón social o nombre de fantasía.


[Haga clic en la imagen para ampliar]

Paso 3: Si es necesario actualizar el contacto de algún proveedor, se podrá realizar esta tarea sin salir de la pantalla, haciendo clic en la opción Actualizar contacto


[Haga clic en la imagen para ampliar]

Paso 4: En la opción Mostrar detalles logrará visualizar más informaciones sobre el proveedor.


[Haga clic en la imagen para ampliar]

Paso 5: Después de seleccionar a los proveedores, haga clic en la opción Generar cotización para finalizar el proceso de generación de la cotización.

[Haga clic en la imagen para ampliar]

Paso 6: Después de generar la cotización, se pondrá a disposición una ventana, permitiendo agregar documentos adjuntos a la cotización y enviar un Workflow por e-mail a los participantes. Si no desea enviar documentos adjuntos o e-mails a los proveedores, basta cerrar la ventana. Si optara por enviar por e-mail, seleccione "" en el campo "¿Enviar cotización por e-mail al proveedor?" Después de seleccionar "Sí", se muestra otro campo, donde se pregunta si desea seleccionar las condiciones de pago que se enviarán a los proveedores por medio del Workflow. Si no desea seleccionar las condiciones de pago, todas las condiciones que tienen "Adic WF NFC = Sí" (campo E4_ATVWF de la tabla SE4), determinadas a partir del registro de condiciones de pago en el Protheus, se enviarán a los proveedores.
Después de este proceso, haga clic en la opción "Enviar e-mail(s)".



[Haga clic en la imagen para ampliar]

image-2024-3-13_11-33-18.png

Protheus - Pantalla registro condiciones de pago [Haga clic en la imagen para ampliar]

Si el entorno está configurado con el parámetro MV_SELFOR inactivo (N) la pantalla de Selección de proveedores se modificará y habilitará el vínculo de producto vs. proveedor. Mostrando los productos y los proveedores vinculados a este. Para dicho entorno no se podrán agregar proveedores participantes.

[Haga clic en la imagen para ampliar]


Paso 1:  En la pantalla Selección de Proveedores vs. Producto, seleccione los proveedores vinculados al producto como muestra la siguiente imagen.

[Haga clic en la imagen para ampliar]

Paso 2: Si es necesario actualizar el contacto de algún proveedor, se podrá realizar esta tarea sin salir de la pantalla, haciendo clic en la opción Actualizar contacto

[Haga clic en la imagen para ampliar]

Al enviar un e-mail por medio del Nuevo flujo de compras, el proveedor recibirá una notificación. En este e-mail, será posible visualizar quién hizo la solicitud y los ítems de la cotización, de acuerdo con el siguiente ejemplo.

[Haga clic en la imagen para ampliar]

Al hacer clic en el enlace para cumplimentar, el proveedor abrirá el formulario donde podrá detallar los ítems de la cotización solicitada.

[Haga clic en la imagen para ampliar]


Las condiciones de pago mostradas en el formulario se establecen de acuerdo con lo que se seleccionó en el envío del E-mail vía Nuevo flujo de compras, si el usuario no tiene establecido previamente las condiciones que el proveedor podrá visualizar, todas las condiciones que tienen "Adic WF NFC = Sí" (campo E4_ATVWF de la tabla SE4), determinadas a partir del registro de condiciones de pago en el Protheus, se enviarán a los proveedores, como se muestra a continuación.


[Haga clic en la imagen para ampliar]


Protheus - Pantalla registro condiciones de pago [Haga clic en la imagen para ampliar]


Después del envío de la propuesta respondida por el proveedor, la cotización se actualizará con todas las informaciones enviadas en el Nuevo flujo de compras.

 La selección de las condiciones de pago mencionadas anteriormente, estará disponible a partir de la expedición continua del 05/04/2024.

Al seleccionar una solicitud de compras se puede visualizar la solicitud que ya se seleccionó por medio de la opción Registros seleccionados, ubicado en el lado inferior izquierdo de la pantalla. Solamente se podrá realizar la selección de solicitudes Pendiente para iniciar una cotización.


[Haga clic en la imagen para ampliar]


Con la finalidad de permitir el uso de los ítems de solicitud en una sola cotización, al intentar agregar al carrito de compras un ítem de solicitud ya seleccionado anteriormente, el sistema avisará con un mensaje informando que el ítem ya se seleccionó.


[Haga clic en la imagen para ampliar]

La funcionalidad "¿Validar Grupo de Producto?" tiene como objetivo garantizar que el usuario no seleccione un producto que no pertenezca al mismo grupo de producto. Esta validación se activa cuando el interruptor se ejecuta y siempre verifica el grupo de producto del primer ítem seleccionado. Si el ítem no tiene un grupo de producto definido, aparecerá un mensaje informando que solo se pueden seleccionar elementos sin grupo de productos.


[Haga clic en la imagen para ampliar]

Haciendo clic en Necesidad de compra el usuario se reenviará a las solicitudes de compras disponibles para el proceso de cotización.

[Haga clic en la imagen para ampliar]

En esta página las solicitudes de compras se mostrarán divididas y listadas en tres solapas Pendiente, Parcialmente atendidas y Atendidas.

  • La solapa Pendiente muestra todos los ítems de la solicitud que tengan la cantidad en el pedido de compra igual a cero, y no se hayan eliminado por residuo (C1_RESIDUO).
  • La solapa de parcialmente atendidas mostrará todas las solitudes que tienen un pedido de compra con cantidad menor que la cantidad solicitada (C1_QUANT).
  • En la solapa de atendidas se mostrarán todos los ítems que tengan cantidad en pedido de compra igual a la cantidad solicitada.


[Haga clic en la imagen para ampliar]

Para mostrar o retirar las columnas de la tabla existe un icono de configuración, en este se pueden realizar la Gestión de columnas dejando marcando solamente las columnas que se visualizarán. Se pueden incluso reordenar la posición de las columnas y restaurar el estándar.


[Haga clic en la imagen para ampliar]

La paginación de la pantalla de Necesidad de Compra funciona con una barra desplegable "infinita" hacia abajo, mientras haya solicitudes el sistema permitirá desplegar la página. Es necesario que el cursor se encuentre sobre la tabla. 


[Haga clic en la imagen para ampliar]

Encima de la tabla, hay un contador de registros listados que muestra la cantidad de solicitudes ya mostradas y las solicitudes que se mostrarán.


[Haga clic en la imagen para ampliar]

Las solicitudes de compras listadas en la pantalla de Necesidad de Compra, podrán tener adjuntos vinculados, si tuvieran, se mostrarán con el ícono de un clip en la columna Adjuntos.
Al hacer clic en el icono, se abrirá una nueva ventana con la lista de adjuntos, vinculados a la solicitud, esto permite realizar la descarga (download) al hacer clic en el icono Descargar archivo adjunto


[Haga clic en la imagen para ampliar]

Al acceder a una de las listas de las solicitudes de compras, independiente de la solapa (Pendiente, parcialmente atendidas y atendidas), habrá una serie de filtros que las puede utilizar el usuario de manera individual o conjunta.

El Filtro por Fecha funciona con intervalo de dos fechas (inicio y fin), después de seleccionar el filtro buscará solicitudes de compras que tengan la Fecha de necesidad de acuerdo con el período seleccionado.


[Haga clic en la imagen para ampliar]

El filtro de búsqueda por código de producto permite buscar el producto deseado por medio del código, esto permite que el usuario incluya el código completo o parte de este. Además, esta funcionalidad también está disponible en la lupa que permite realizar una búsqueda avanzada por código, descripción o unidad de medida.

[Haga clic en la imagen para ampliar]

Por medio de la Búsqueda avanzada, se pueden realizar una serie de filtros sobre la solicitud deseada, como: 

  • Solicitud
  • Solicitante
  • Descripción del producto
  • Sucursal solicitante
  • Sucursal de entrega
  • Centro de costo
  • Cuenta contable
  • Ítem contable
  • Clase de valor

Todos los filtros tienen la opción de seleccionar la "lupa" para hacer una búsqueda avanzada dentro del filtro deseado, pero su uso es opcional.


[Haga clic en la imagen para ampliar]

Paso 1: Para acceder a las cotizaciones, haga clic en Cotizaciones, aparecerá una lista con todas las solicitudes. Ubique la cotización deseada para actualizar, haga clic en opción editar, se abrirá una página con todos los proveedores participantes de la cotización seleccionada, además de mostrar en el tope de la página, un componente para presentar las Solicitudes de Compras relacionadas. 

[Haga clic en la imagen para ampliar]

Si un proveedor respondió la cotización por Workflow, el proceso de actualización de la cotización ocurrirá automáticamente mediante los valores informados en el formulario por parte del proveedor.

[Haga clic en la imagen para ampliar]


Si la cotización tuviera un proveedor participante (no registrado), no aparecerá en la pantalla el código del proveedor, tienda ni RCPJ/RCPF, en lugar de estos valores aparecerá una indicación de Proveedor no registrado.

[Haga clic en la imagen para ampliar]

Paso 2: Seleccione el proveedor del cual desea actualizar la cotización y haga clic en “Editar”, se dirigirá a la página de edición de cotización, como se muestra en la siguiente imagen.


[Haga clic en la imagen para ampliar]

La pantalla de adición de la cotización se divide en secciones de informaciones referentes a la cotización. Son Datos del proveedor, valores referentes a la cotización, informaciones de entrega, impuestos totales, datos de los ítems cotizados y campos personalizados:


Paso 3: Completar los campos editables del encabezado y los campos editables referentes a los produtos solicitados de acuerdo con la negociación ocurrida con el proveedor. La cumplimentación de la Condición de pago es obligatoria para grabar la actualización de la cotización. A medida que el usuario complete los campos con los valores de los ítems, el total se calcula automáticamente, permitiendo que el usuario visualice los valores mientras la cotización está cumplimentándose.

La cumplimentación de la Condición de pago es obligatoria para grabar la actualización de la cotización.


[Haga clic en la imagen para ampliar]

Para calcular los impuestos, referentes a los productos de la cotización, haga clic en "Otras acciones" ubicado en la parte superior de la pantalla, luego, seleccione la opción Calcular impuestos. Los impuestos se calcularán en pantalla y se sumarán al valor total de la cotización. El cálculo se basa en las configuraciones fiscales registradas en el producto y en el proveedor se realizarán los cálculos de impuestos


Paso 4: Después de informar parcialmente o totalmente los datos de los productos solicitados en la cotización, el estatus se actualizará a Parcial o Completa y la cotización ya se podrá analizar. En el siguiente ejemplo, podemos ver la primera cotización  Completa con cero elementos pendientes, y la siguiente cotización Parcial con un ítem pendiente.

[Haga clic en la imagen para ampliar]


Paso 1: Para iniciar un análisis de cotización, es necesario que la cotización tenga el estatus Listo para analizar. En la pantalla de listado de cotizaciones, pulse en Otras acciones y seleccione la opción de Analizar.


[Haga clic en la imagen para ampliar]

Paso 2: El análisis de la cotización se podrá realizar Por Propuesta o Por Ítem. El análisis por propuesta necesita que todos los productos solicitados, hayan pasado por actualización de la cotización por lo menos de un proveedor, es decir, necesitan estar con el estatus Completa después de editar la cotización.
Por medio de los cards de propuesta se puede realizar la comparación entre los proveedores para entender quien tiene el Mejor precio sin impuestos, Mejor precio con impuestos, Menor plazo y Mejor nota


[Haga clic en la imagen para ampliar]

Paso 3: Después de la decisión del proveedor vencedor de la cotización, haga clic en Generar para iniciar el proceso de pedido de compras.

[Haga clic en la imagen para ampliar]

Paso 4:  En la pantalla de Formalización de la propuesta el usuario podrá seleccionar si será un pedido o un contrato para esta cotización, después haga clic en la opción Generar documentos 

[Haga clic en la imagen para ampliar]

Paso 1: Al seleccionar la opción de analizar Por Ítem se logrará comparar las propuestas de cada proveedor para dicho ítem, y se podrán utilizar los estatus relacionados al promedio de precios para ayudar en la selección del vencedor del ítem de la cotización. 

[Haga clic en la imagen para ampliar]

Paso 2: Después de la decisión del(os) proveedor(es) vencedor(es) de la cotización, haga clic en Generar para iniciar el proceso de pedido o contrato.

[Haga clic en la imagen para ampliar]

Paso 3: En la página de formalización de las propuestas, el usuario podrá seleccionar ítem por ítem, para ver si se generará un Pedido de Compra o un Contrato.

  • Para cada ítem, aparecerá el saldo total disponible, así como el campo Cantidad por adquirir, porque cuando se opta por el ítem, el comprador puede realizar compras parciales, es decir, comprar una determinada cantidad y devolver después, para comprar lo que restó de la cantidad.
  • Por estándar, el campo Cantidad por adquirir ya está informado con el mismo valor del saldo disponible El comprador - en este campo - se puede incluir un valor mayor que cero e igual o menor que el saldo disponible, para cerrar el pedido. Luego:


Valor Saldo

Valor Cantidad que se adquirirá

Resultado

30

30

Esta acción se realizará, porque la cantidad incluida está de acuerdo con el saldo existente (cantidad que se adquirirá igual al saldo disponible).

30

31

El usuario recibirá un aviso, informando que la cantidad incluida es mayor que el saldo disponible. Automáticamente, el sistema informará el campo Cantidad por Adquirir con el valor 30 (valor del saldo).

30

15

Esta acción se realizará, porque la cantidad incluida está de acuerdo con el saldo existente (cantidad que se adquirirá menor que el saldo disponible).

30

0

El usuario recibirá un aviso, informando que la cantidad incluida debe ser mayor que cero. Automáticamente, el sistema informará el campo Cantidad por Adquirir con el valor 30 (valor del saldo).

30

-5

El usuario recibirá un aviso, informando que la cantidad incluida debe ser mayor que cero. Automáticamente, el sistema informará el campo Cantidad por Adquirir con el valor 30 (valor del saldo).


  • El comprador puede colocar la cantidad deseada para cada ítem en la pantalla, seleccionando si desea generar el Pedido de Compra o Contrato.
  • Después, es solo hacer clic en Generar documentos, para finalizar el proceso.
  • Si realizó una compra donde la cantidad que se adquirirá sea menor que el saldo, el sistema automáticamente retirará el valor adquirido del saldo del ítem, para ajustar la compra realizada por el comprador. Al intentar realizar una nueva compra, el saldo disponible mostrado será menor, puesto que ya hubo compras realizadas anteriormente.



  • Al intentar realizar una nueva compra, el saldo disponible mostrado será menor, porque ya existen compras realizadas anteriormente.


    [Haga clic en la imagen para ampliar]
  • Cuando el comprador finaliza el pedido o contrato con valores inferiores al saldo, la cotización quedará con el estatus Atendido parcialmente, mostrando que para aquella cotización, el saldo total aún no se compró. Así, el comprador puede volver a esa cotización y realizar los mismos procedimientos descritos en este ítem, para realizar la compra del saldo restante, esto puede generar el pedido de compra o contrato, independiente de cómo se realizó la primera vez. 
    • Cuando la cotización queda con el estatus Atendido parcialmente, al intentar editar la cotización, no se podrán incluir nuevas propuestas, nuevo participante o modificar valores, puesto que la cotización ya tuvo compras correspondientes.
    • Además, cuando la compra queda con el estatus Atendido parcialmente, al acceder al Análisis de la Cotización, la solapa Por Propuesta queda inactiva, mostrando un mensaje de que ya no se puede finalizar el análisis por propuesta, puesto que ya tenemos el análisis por ítem realizado.
    • La columna Cantidad solicitada informa la cantidad solicitada por el comprador de acuerdo con la generación de la cotización, la columna Cantidad disponible proveedor informa la cantidad de ítems disponibles en el proveedor.

Si desea reabrir la cotización, es necesario activar el parámetro MV_PCEXCOT y, luego, la eliminación del pedido de compra o contrato. Para más informaciones.

Haga clic aquí.


Al hacer clic en Cotizaciones el usuario se dirigirá al listado de cotizaciones.


En la pantalla de cotizaciones se puede:

  • Buscar la cotización por código, apodo de la cotización y estatus.
  • Editar, eliminar y analizar cotización.
  • Descargar (Download), agregar y borrar archivos adjuntos.


[Haga clic en la imagen para ampliar]

Las cotizaciones se pueden identificar por código o apodo, y la situación se puede identificar a través de los siguientes estatus

  1. Pendiente: Situación en la que la cotización aún no tiene ninguna propuesta completa recibida.
  2. Listo para analizar: Cuando existe por lo menos una propuesta completa para analizarla.
  3. En análisis: Cuando solamente un ítem se cotizó dejando así la cotización parcialmente atendida. 
  4. Finalizada: Cuando la cotización haya sido completamente atendida. 

En la pantalla de listado de cotizaciones, se podrán identificar cotizaciones que tengan adjuntos del icono Clip en la columna adjunta.


[Haga clic en la imagen para ampliar]

El ícono quedará visible en las siguientes situaciones:

  1. En la Necesidad de compras se agregaron archivos adjuntos a la cotización en el momento de la generación..
  2. Se agregó un archivo adjunto posteriormente en la pantalla del listado de cotizaciones.

Al hacer clic en el ícono, se abrirá una nueva ventana, donde estarán listados todos los archivos adjuntos vinculados a dicha cotización, y se pueden realizar descargas (download) y eliminación de archivos.

Importante: Los archivos adjuntos listados están vinculados a la cotización y no a los proveedores.

[Haga clic en la imagen para ampliar]

Se pueden agregar nuevos archivos adjuntos a una cotización. Después de agregar si la cotización no tuviera adjunto, pasará a tener el icono de clip mostrando que la cotización ahora tiene adjunto. Así se puede adjuntar uno o más archivos de una vez.


[Haga clic en la imagen para ampliar]


Si un documento que se adjuntará ya existe en la base de conocimiento, aparecerá el siguiente mensaje:


[Haga clic en la imagen para ampliar]

Al acceder a una de las listas de cotizaciones, tendremos dos campos de búsqueda que pueden ser utilizados por el usuario de manera individual o combinada.


El Filtro por número o apodo de la cotización, realiza la búsqueda por el código de la cotización deseado (informado en la solicitud de cotización) o apodo (establecido por el usuario en el momento de generar), para esta utilización se puede incluir el código o apodo completo o solamente parte de este.


[Haga clic en la imagen para ampliar]


[Haga clic en la imagen para ampliar]

El filtro por Tipo de estatus, por estándar al acceder a la lista de cotizaciones, vendrá informado previamente como Todos. Pero el usuario podrá definir el estatus de la cotización que desea visualizar, donde:

  • Todos
  • Pendiente
  • Listo para analizar
  • En análisis
  • Finalizada

[Haga clic en la imagen para ampliar]

El Filtro por comprador permite buscar con base en el(os) Comprador(es) deseado(s). El usuario puede buscar todas las solicitudes generadas por uno o más compradores seleccionados en el filtro, como muestra la siguiente imagen.

Con los presupuestos de los proveedores en manos, se debe realizar la edición de la propuesta con la finalidad de incluir los valores pasados por presupuesto.

Para esto, en la pantalla del listado de cotizaciones, al hacer clic en los tres puntos al inicio de la línea, existe la opción Editar.


[Haga clic en la imagen para ampliar]

Aparecerá la pantalla con todos los proveedores que están participando del proceso con algunas informaciones pertinentes a la propuesta, son estas:

  • Estatus de la propuesta:
    • Pendiente
    • Completa
    • Completa (E-mail)
    • Parcial
    • Parcial (E-mail)
    • Descalificada
    • Rechazada
    • No cumple
    • No cumple (E-mail)
  • Nombre del proveedor
  • Código y tienda del proveedor.
  • RCPJ o RCPF
  • Total de la propuesta de cotización de este proveedor(si aún no se actualizó, estará en cero).
  • Ítems pendientes de actualización de precio.
  • Opción de edición.

En Otras acciones:

  • Visualización de la cotización.
  • Descalificar proveedor.
  • Enviar e-mail
  • Adjuntos
  • Nueva propuesta manual
  • Nueva propuesta workflow
  • Eliminar propuesta.


[Haga clic en la imagen para ampliar]

Si el usuario desea incorporar un nuevo participante después de crear la cotización, este podrá hacerlo en la pantalla de Edición de la Cotización, donde encontrará una opción ubicada en el lado superior derecho con esta finalidad (Nuevo participante). Al hacer clic en esta opción, el usuario se dirigirá a una página donde podrá incluir las informaciones del nuevo proveedor participante. En el caso de un proveedor ya registrado, después de incluir el código del proveedor, los datos se completarán automáticamente, como el ejemplo de la siguiente imagen.

Atención: Cuando una cotización se genera con vínculo de producto vs. proveedor no se podrá agregar un nuevo participante. 


[Clique na imagem para ampliar]

[Haga clic en la imagen para ampliar]

Para proveedores aún no registrados, seleccione la opción "No" en el campo "¿Proveedor registrado?" e informe el campo Razón social


[Haga clic en la imagen para ampliar]

Al hacer clic en Editar, se abrirá la pantalla de edición de la propuesta del proveedor.


[Haga clic en la imagen para ampliar]

Esta pantalla se divide en secciones de informaciones, como se detalla a continuación:

1.    Datos del proveedor:

     ●    Código del proveedor
     ●    Tienda
     ●    Nombre del contacto
     ●    E-mail
     ●    Número de la propuesta.

2.    Detalles de valores referentes a la cotización:
     ●    Total de ítems
     ●    Total de la cotización (considerando todos los valores, como ítems, flete, descuentos, impuestos, etc.).
     ●    Descuentos
     ●    Tipo de flete
     ●    Valor del flete
     ●    Gastos
     ●    Condiciones de pago
     ●    Moneda
     ●    Seguro.

3.    Informaciones de entrega:
     ●    Días para entrega
     ●    Dirección de entrega
     ●    Ciudad
     ●    Barrio
     ●    CP.

4.    Impuestos totales:
     ●    Valor IPI
     ●    Valor ICMS 
     ●    Valor ISS
     ●    Entre otros impuestos.
 

5.    Informaciones de los ítems de la cotización:

     ●    Código del producto
     ●    Descripción
     ●    Unidad de medida
     ●    Situación del ítem (considera, sin stock, no vende)
     ●    Cantidad solicitada
     ●    Cantidad disponible
     ●    Precio unitario
     ●    Total del ítem
     ●    Descuentos
     ●    Tipo de entrada
     ●    Observaciones
     ●    Campos personalizados
     ●    Impuestos ítem.

Descuentos:

  • Los descuentos podrán incluir de dos formas:
  1. Global para cotización, es decir, al completar el descuento % o descuentos en valor en el encabezado, el descuento se prorrateará para todos los productos.


    [Haga clic en la imagen para ampliar]

  2. Por ítem, es decir, al completar el descuento en el ítem, el descuento solo se aplica en aquel ítem y se suma en el totalizador Descuentos en el encabezado.


    [Haga clic en la imagen para ampliar]

Importante¹: No es posible incluir el descuento global en combinación con el descuento por ítem.

Importante²: Los totalizadores se actualizarán automáticamente siempre que un producto se actualice.

El listado de propuestas dispone de las Tag informativas para indicar el estatus de cada propuesta.

Las respectivas tag son: 

  1. Pendiente: Situación en la que la propuesta aún no tiene ningún ítem con valor y cantidad informado.
  2. Parcial: Cuando existe por lo menos un ítem informado.
  3. Parcial (E-mail): Cuando existe por lo menos un ítem informado respondido por el workflow;
  4. Completa: Cuando todos los ítems de la propuesta están informados. 
  5. Completa (E-mail): Cuando todos los ítems de la propuesta están informados y se respondieron mediante el workflow. 
  6. Descalificada: Cuando un proveedor sea descalificado de la cotización.
  7. Rechazada: Ocurre cuando el proveedor rechaza la propuesta.
  8. No atiende: La propuesta se respondió como sin stockNo vende
  9. No atiende (E-mail): La propuesta se respondió como sin stockNo vende por el Workflow.

[Haga clic en la imagen para ampliar]

En la lista de cotizaciones es posible enviar un e-mail de cotización vía workflow al participante a partir de la opción Enviar e-mail. Además, también es posible seleccionar las condiciones de pago que el proveedor podrá visualizar en el formulario de respuesta de la cotización.


[Haga clic en la imagen para ampliar]

Se puede enviar el e-mail de workflow a más de un e-mail, pero solamente la primera respuesta de workflow se considerará y procesará.

Si es necesario, se podrá enviar alguna información complementaria utilizando el campo Observación y seleccionar si desea enviar los archivos adjuntos vinculados a la cotización en este e-mail.

[Haga clic en la imagen para ampliar]

En la lista de proveedores participantes de la cotización, se pueden agregar archivos adjuntos que se vincularán a los proveedores. La opción se encuentra en otras acciones, archivo(s) adjunto(s).


[Haga clic en la imagen para ampliar]

Si es necesario retirar un proveedor de la cotización, se podrá utilizar la opción de descalificación.

En esta opción, el proveedor no se considerará en las siguientes etapas, así como tendrá valores en cero incluidos en la propuesta.
También se puede incluir una justificación u observación para descalificar al proveedor.


[Haga clic en la imagen para ampliar]

Cuando el proveedor se descalifique, no se podrán actualizar los valores de la propuesta. En que solo es posible la visualización

Si fuera necesario, será posible calificar al proveedor nuevamente, para que vuelva a participar de la cotización.

Importante: Al Calificar al proveedor, la propuesta tendrá todos los valores en cero y volverá al estatus Pendiente.


[Haga clic en la imagen para ampliar]

En la pantalla de edición de la cotización, se puede calcular y visualizar una previa del cálculo de los impuestos, sea de la propuesta como un todo o por ítem.

Importante: Para que el cálculo ocurra correctamente, debemos:

  • Tener un TES vinculado al producto en cuestión (Campo Bs1_TE)
  • Informe los valores de todos los ítems
  • Seleccione una condición de pago

Al hacer clic en la opción Calcular impuestos el proceso se inicia, después de finalizar se podrán visualizar los valores en las opciones Impuestos totales e Impuestos por ítem.

Importante: El cálculo de impuestos es solo para poder visualizar, no se pueden modificar valores.


[Haga clic en la imagen para ampliar]

Durante la cumplimentación de una propuesta, tenemos Descuentos por ítem y global.

Descuento por ítem:

El descuento por elemento solo se aplica a uno o más elementos, en que se suman los valores en el campo Descuento en el encabezado.


[Haga clic en la imagen para ampliar]

Descuento global:

El descuento global se disparará al informar el descuento en % o valor, y se tiene el valor de descuento prorrateado para todos los ítems proporcionalmente.

[Haga clic en la imagen para ampliar]

Se puede visualizar una propuesta solo para chequear los datos, sin la posibilidad de modificar, incluir o eliminar datos. Esta opción es muy importante para visualizar propuestas descalificadas o finalizadas.


[Haga clic en la imagen para ampliar]

Se puede generar una nueva propuesta para modificar valores y lograr mantener un historial de negociaciones.


[Haga clic en la imagen para ampliar]

Nueva propuesta manual:

Al seleccionar la opción de nueva propuesta manual, se mostrará una pantalla donde se podrá informar, si desea o no, mantener los valores de la propuesta actual, después de este paso, estará disponible una nueva pantalla para completar o no los valores antes de crear la nueva propuesta.

[Haga clic en la imagen para ampliar]

Nueva propuesta workflow:
Al seleccionar la opción de nueva propuesta workflow, aparecerá una pantalla donde se podrá informar si desea o no mantener los valores de la propuesta actual, informe uno o más e-mails y la observación. Al hacer clic en enviar e-mail, se generará una nueva propuesta y se enviará un nuevo workflow.

[Haga clic en la imagen para ampliar]

Si el proveedor tuviera más de una propuesta, y si es necesario, puede borrarse la propuesta vigente, como podemos ver a continuación.

[Haga clic en la imagen para ampliar]

Cuando el estatus de la cotización estuviera igual a Listo para analizar, se podrá iniciar el proceso de análisis, para poder verificar las mejores condiciones ofertadas.
El proceso de análisis, se divide en dos tipos: 

  1. Análisis por propuesta.
  2. Análisis por ítem.


Análisis por propuesta:

Consiste en mostrar todas las propuestas completas, es decir, que tienen todos los ítems informados, para analizar las condiciones.

En la pantalla del listado de cotizaciones, al hacer clic en los tres puntos al final de la línea, tenemos la opción Analizar.


[Haga clic en la imagen para ampliar]

Las informaciones más relevantes además de los datos del proveedor, se mostrarán dentro del card, como:

  • Total de los ítems (bruto)
  • Valor por pagar (neto)
  • Valor total del flete
  • Plazo de entrega

[Haga clic en la imagen para ampliar]

Las propuestas se podrán ordenar por:

  • Mejor precio sin impuestos
  • Mejor precio con impuestos (considera IPI e ICMS Solidario como criterio de ordenación)
  • Menor plazo
  • Mejor nota.

Como estándar, el orden se realiza por medio del mejor precio sin impuestos.


[Haga clic en la imagen para ampliar]

Se pueden obtener más informaciones de la propuesta al hacer clic en la opción detalles. Se listarán todos los datos relevantes de la propuesta, tales como valores, productos, fletes, etc.


[Haga clic en la imagen para ampliar]

Cuando el estatus de la cotización sea Listo para analizar, se podrá iniciar el proceso de análisis, para poder verificar las mejores condiciones.
El proceso de análisis ocurrirá de dos maneras: 

  1. Análisis por propuesta
  2. Análisis por ítem

Análisis por ítem:

En la pantalla del listado de cotizaciones, al hacer clic en los tres puntos al final de la línea, tenemos la opción Analizar.

Consiste en mostrar todas las propuestas, es decir, las que están completas o parciales. El análisis por ítem, le permite realizar la compra de productos diferentes con más de un proveedor en la misma cotización.

Ejemplo: Estoy cotizando material para mi oficina. El proveedor A tiene el mejor precio para el PAPEL A4, pero el Lapicero está más caro comparando con el proveedor B

Al utilizar el análisis por ítem, podemos comprar el Papel A4 con el proveedor A y el Lapicero con el proveedor B en la misma cotización.


[Haga clic en la imagen para ampliar]

La lista se hizo por producto, en cada ítem tendremos las respectivas propuestas de los proveedores para este.

Para ayudar en el análisis, tenemos las informaciones del Promedio de valores unitarios y totales, juntamente con una tag mencionando si el valor del ítem está por encima del promedio, dentro del promedio o es el mejor precio para aquel producto.

Además, se listarán las informaciones como la cantidad disponible, valor unitario, días para entrega, flete y total por pagar.

[Haga clic en la imagen para ampliar]

Según se hace el análisis, los ítems seleccionados se suman y muestran al final de la página, como:

  • Total de los ítems (bruto)
  • Flete
  • Descuentos
  • Otros valores (Seguro y/o gastos)
  • Total por pagar (neto sin impuestos)


[Haga clic en la imagen para ampliar]


Al acceder a la pantalla de cotización, tenemos el mapa de la cotización, una herramienta utilizada para comparar precios de productos o servicios de diferentes proveedores o fuentes. El principal objetivo del mapa de cotización es suministrar una visión clara y organizada de los precios de productos o servicios ofrecidos por diferentes proveedores. Esto permite que los compradores identifiquen fácilmente las opciones más económicas y competitivas.

Para facilitar el análisis, el mapa de cotización trae de manera simplificada Ítem vs. Proveedor, que muestra las siguientes informaciones:

  • Descripción del ítem.
  • Valor unitario.
  • Valor total del ítem.
  • Cantidad solicitada.
  • Unidad de medida.
  • Proveedor y valores referente a la propuesta realizada.

[Haga clic en la imagen para ampliar]

Al seleccionar la propuesta o los ítems vencedores, se habilitará la opción de Generar para iniciar el proceso de pedido o contrato.

[Haga clic en la imagen para ampliar]

No obstante, si el proveedor seleccionado no presente el mejor precio, se presentará un campo en la pantalla para que el usuario pueda justificar su selección. Veamos el siguiente ejemplo:

Pantalla de justificación [Haga clic en la imagen para ampliar]


Justificación pantalla análisis por ítem:
Justificativa Análise por item

Pantalla de justificación análisis por ítem [Haga clic en la imagen para ampliar]

Si el vencedor es un proveedor participante (no registrado), aparecerá un aviso sobre la condición del este, que exige el registro para finalizar el proceso.

[Haga clic en la imagen para ampliar]

La pantalla de registro de proveedor tiene cuatro solapas: 

  1. Datos de registro: Formulario para informar los datos del proveedor.
  2. Adm/fin.: Formulario para informar los datos administrativos y financieros.
  3. Fiscales: Formulario para informar los datos fiscales.
  4. Campos obligatorios: Formulario para informar los campos obligatorios.
  5. Campos personalizados: Formulario para informar los campos personalizados.

Campos obligatorios se marcarán con asterisco (*) al final de su nombre, y solamente después de obtenerlos la opción Grabar quedará habilitada para registrar al proveedor.

Para obtener algunos campos de informaciones del proveedor después de informar el RCPJ, es necesario utilizar el parámetro MV_APIFOR (con valor .T. ), para habilitar la cumplimentación automática utilizando a TOTVS CAROL.


[Haga clic en la imagen para ampliar]

Tras hacer clic en la opción generar, se dirigirá a una pantalla que contiene el resumen de los productos y proveedor/proveedores seleccionados. En esta pantalla el usuario podrá seleccionar si será un pedido o contrato. 

La siguiente figura representa al proceso de Análisis por propuesta, es decir, solamente un proveedor. En este punto, el usuario tendrá la opción de generar un contrato o un pedido para esta cotización. Después de seleccionar, es solo hacer clic en Generar documentos, de acuerdo con el siguiente ejemplo:

[Haga clic en la imagen para ampliar]

En el caso del proceso de Análisis por ítem, el usuario tendrá la flexibilidad de generar tanto pedidos como contratos para proveedores diferentes, tal como se mostró en la siguiente imagen:

[Haga clic en la imagen para ampliar]


Para generar contratos, el usuario debe seleccionar la forma de pago y el tipo de contrato, como podemos ver a continuación.

[Haga clic en la imagen para ampliar]

Después de la generación del documento y la consideración de todos los ítems solicitados, el estatus de la cotización se actualiza a "Finalizada". Si en algún ítem no se genera el pedido o contrato, el estatus se modificará a "En análisis" o "Atendido parcialmente", dependiendo del caso.

En la pantalla de lista de cotizaciones, se puede eliminar la cotización al hacer clic en los tres puntos y opción Eliminar. Las cotizaciones eliminadas tendrán sus ítems devueltos para la necesidad de compra.

Importante: No se podrá eliminar una cotización que esté finalizada o En Análisis.


[Haga clic en la imagen para ampliar]

En la pantalla de listado de cotizaciones, se pueden visualizar los pedidos de compras y contratos generados a partir de la cotización, cuando la cotización esté con estatus En Análisis y Finalizada. Para mostrar, es solo hacer clic en la flecha a la izquierda del grid, el sistema mostrará los pedidos de compra y contratos ubicados para la cotización. 

Importante: Si existe solo Pedido de Compras, aparecerán solamente los pedidos de compras, al hacer clic en la flecha. Lo mismo ocurre cuando tenemos solo Contratos. 
Cuando existan contratos y pedidos de compras, ambos se presentarán.



[Haga clic en la imagen para ampliar]




03. REQUISITOS PREVIOS MÍNIMOS

El Nuevo flujo de compras necesita de la LIB del Framework Protheus® igual o superior al 27/02/2023 que se puede descargar de la dirección: LIB-download.

Mantenga el NFC siempre actualizado con el último paquete de la Expedición continua del Compras.
Importante:
A partir de la expedición continua superior al 19/04/2024 es necesaria la actualización de los archivos de workflow incluidos en el siguiente enlace.
formulario_workflow.zip - última versión

04. CONFIGURACIONES

Vea a continuación los procesos que se deben configurar::

Acceso embarcado - Protheus

*Embarcado: Acceso por menú del Protheus.

Es necesario agregar al menú de Compras la rutina PGCA010 para acceder al NFC mediante el menú del Protheus. A partir del release 12.1.2410 la rutina estará en el menú por estándar.

Ejemplo:

WORKFLOW

El Workflow se podrá configurar para enviar la solicitud de cotización, directamente a los proveedores participantes.
Esto permitirá al proveedor, por medio de un formulario recibido en el e-mail, informar precio, plazo y condiciones de oferta de su producto, actualizando automáticamente la cotización en el Protheus.

CÓMO CONFIGURAR EL WORKFLOW

Atención

El Workflow se puede configurar de dos maneras: por Wizard (Configuración del Workflow), que es un asistente paso a paso para facilitar la configuración, disponible en la página del NFC, solamente para usuarios administradores, así como también se puede configurar manualmente, siguiendo las orientaciones del presente documento.

Tenemos también el wizard para crear la caja de e-mail para los compradores - directamente en el workflow - que queda disponible si el parámetro MV_PGCWF estuviera activo en la base o también, la configuración se puede hacer manualmente.

Si desea utilizar el Wizard para configurar el WorkFlow, lea las instrucciones y haga clic en la solapa Por medio wizard. Si desea configurar manualmente, lea las instrucciones de la solapa Por medio manual

Sugerencia

Utilice el facilitador de prueba WFTEST estándar del Protheus para validar de manera fácil la configuración y funcionamiento del workflow. Acceda a la documentación: Haga clic aquí | WFTEST

  • Para iniciar el proceso de configuración de Workflow por el NFC, el usuario conectado debe ser del tipo administrador en el Protheus. Para configuración, siga las siguientes etapas:
    • Acceda al NFC con el usuario administrador
    • Haga clic en la opción de perfil (ícono a la derecha, en la parte superior de la pantalla), para mostrar los submenús existentes. Haga clic en el menú con el nombre Configuración Workflow


    • Siga las etapas del wizard, informando los datos solicitados:
      • En el primer paso del configurador - el sistema explicará para qué sirve el Wizard de WorkFlow y sus objetivos, para que el usuario pueda entender su funcionamiento.
      • En la segunda etapa del wizard - Parámetros y archivos - informe en el campo Directorio de trabajo del workflow - el local (carpeta) donde los archivos físicos del wizard se grabarán en el servidor. Por ejemplo, si los archivos se grabarán en la estructura Protheus_Data\workflow, informe \workflow en el campo.
        OBS: El valor del campo se almacenará en los parámetros (SX6) MV_WFDIRMV_WFDHTTP
        Además, constará en esta pantalla los enlaces para acceder a la documentación de referencia del NFC, así como también, de los dos archivos html que se utilizan para envío del e-mail a los proveedores. Realice el download de estos archivos y colóquelos en la misma carpeta del campo anterior.
        Haga clic en la opción Próxima etapa, para avanzar en el wizard.
      • En la tercera etapa - Datos del servidor - informe la Dirección (IP) pública del servidor de workflow; informe el Puerto del servidor de workflow; informe el Nome del entorno donde el workflow se ejecuta y el campo Nombre/IP y puerto del servidor , el sistema elabora automáticamente la sugerencia, con la dirección ip, puerto y nombre del entorno.
        OBS: El valor del campo Nombre/IP y el puerto del servidor de workflow se almacenará en el parámetro (SX6) MV_WFBRWSR.
        Haga clic en la opción Próxima etapa, para avanzar en el wizard.


      • En la cuarta etapa - Puerto multiprotocolo - el sistema avisará si existe la clave[MULTIPROTOCOL] en el entorno y si está activa.
        Haga clic en la opción Próxima etapa, para avanzar en el wizard.


      • En la quinta etapa - Parámetros de e-mail de los compradores - informe los datos solicitados en la pantalla, como dirección y puerto del servidor SMTP y POP3/MAP, para que cuando el parámetro MV_PGCWF esté activo, los usuarios no necesiten informar estos campos en el wizard de configuración de e-mail.
      • OBS: Los valores de los campos de esta etapa se grabarán en los parámetro (SX6):
        MV_PGCPISV - Servidor de e-mail POP 3/ IMAP de los compradores
        MV_PGCPIPO - Puerto de e-mail POP 3/ IMAP de los compradores
        MV_PGCSMSR - Servidor de e-mail SMTP de los compradores
        MV_PGCSMPO - Puerto de e-mail SMTP de los compradores
        MV_PGCTAUT - Tipo de autenticación del servidor de e-mail: TLS, SSL o ninguno
        Haga clic en la opción Próxima etapa, para avanzar en el wizard.


      • En la sexta etapa - Finalización - el sistema advierte que al avanzar, los datos se grabarán en la base y el sistema elaborará el modelo de appserver.ini, además de presentar una notificación de éxito.

  • Para iniciar el proceso de configuración de E-mail del comprador por NFC, el parámetro MV_PGCWF debe estar activo en el entorno. Para configurar, siga los siguientes pasos:
    • Acceda al NFC.
    • Haga clic en la opción de perfil (icono a la derecha, en la parte superior de la pantalla), para mostrar los submenús existentes. Haga clic en el menú con el nombre Wizard E-mail comprador
    • Siga las etapas del wizard, informando los datos solicitados:
      • En la primera etapa de la configuración - el sistema explicará para qué sirve el Wizard del E-mail del comprador y sus objetivos, para que el usuario pueda entender su funcionamiento.
      • En la segunda etapa del wizard - E-mail del comprador - el sistema traerá en el campo e-mail del comprador el e-mail que consta en el usuario conectado, simplemente informe el nombre que estará en el e-mail.
        Haga clic en la opción Próxima etapa, para avanzar en el wizard.
      • En la tercera etapa - Autenticación - el campo de e-mail se completará automáticamente, según el e-mail registrado en el usuario, y debe informar la contraseña del e-mail, que se utilizará en la autenticación de los servidores de e-mail.
        Haga clic en la opción Próxima Etapa, para avanzar en el wizard.
      • En la cuarta etapa - Servidores SMTP y POP 3/IMAP - si el usuario administrador utilizó el wizard de configuración de parámetros y webservice, o haya informado los parámetros MV_PGCPISV, MV_PGCPIPO, MV_PGCSMSR, MV_PGCSMPO y MV_PGCTAUT, las informaciones de servidores SMTP y PO3/IMAP estarán informadas automáticamente, es solo seguir la siguiente etapa. Pero si es necesario, el usuario puede cambiar manualmente, según su necesidad.
        Haga clic en la opción Próxima etapa, para avanzar en el wizard.
      • En la quinta etapa - Finalización - el sistema avisa que al avanzar se creará una nueva caja de e-mail y se enviará un e-mail como prueba, para verificar los datos imputados. Al final, aparecerá un aviso de éxito, indicando que la cuenta se creó con éxito.



    • Para editar la contraseña u otra característica del e-mail creado del comprador:
      • Es solo repetir dichas etapas, para que el sistema entienda que se trata de un cambio y grabe los nuevos valores en el sistema. Al final, el sistema emitirá un aviso, informando que el e-mail se modificó con éxito.
  • Actualice el appserver.ini de su entorno con configuraciones esenciales, esto permitirá que el proveedor reciba y responda el formulario de solicitud de cotización.

    Copie e incluya en su entorno el siguiente ejemplo, modifique las informaciones en negrita a informaciones de su entorno, tales como:
    PATH: Camino de las carpetas en su servidor hasta el directorio Protheus_data\http-root (si la carpeta http-root no existe, puede crearla)
    PORT: Puerto de comunicación del WebService (Generalmente se inicia con 80)
    ENVIRONMENT: Nombre del entorno/RPO
    localhost:8091: IP público y puerto abierto para que el proveedor logre enviar la respuesta del formulario de cotización
    ONSTART: Si su appserver.ini ya tenía una clave ONSTART, agregue los job JOB_WS_T1,WF_INDEX a esta clave.

    EJEMPLO WEBSERVICE PGC

    ;-------------------------------- WEBSERVICE - NFC--------------------------------------------

    [HTTP]
    ENABLE=1
    PATH=C:\TOTVS\Protheus12_2310\Protheus_data\http-root
    PORT=8091
    ENVIRONMENT=P2310
    INSTANCES=1,10
    XFRAMEOPTIONS=ALLOW-FROM *
    UPLOADPATH=\web

    [localhost:8091/ws]
    ENABLE=1
    PATH=C:\TOTVS\Protheus12_2310\Protheus_data\web\ws
    ENVIRONMENT=P2310
    INSTANCENAME=WS
    RESPONSEJOB=JOB_WS_T1
    DEFAULTPAGE=wsindex.apw

    [JOB_WS_T1]
    TYPE=WEBEX
    ENVIRONMENT=P2310
    INSTANCES=1,10
    SIGAWEB=WS
    INSTANCENAME=WS
    ONSTART=__WSSTART
    ONCONNECT=__WSCONNECT
    PREPAREIN=ALL

    [localhost:8091/wf]
    enable=1
    port=8091
    PATH=C:\TOTVS\Protheus12_2310\Protheus_data
    environment=P2310
    responsejob=WF_INDEX
    DEFAULTPAGE=wsindex.apw

    [WF_INDEX] 
    TYPE=WEB
    environment=P2310
    INSTANCES=1,10
    SIGAWEB=WF
    INSTANCENAME=WF
    ONSTART=STARTWEBEX
    ONCONNECT=CONNECTWEBEX
    ONEXIT=FINISHWEBEX

    [MAIL]
    Protocol=SMTP
    ExtendSMTP=1
    SSLVersion=3
    AuthLOGIN=1
    AuthPLAIN=1
    TLSVersion=3

    [OnStart]
    jobs=JOB_WS_T1,WF_INDEX

Realice la configuración del parámetro que indicará la URL o nombre del servidor  HTTP.

  • En el paso 1, definimos el IP y Puerto público que se utilizará para recibir la respuesta de la solicitud de cotización de nuestro proveedor, este mismo IP y Puerto se deben informar en el parámetro MV_WFBRWSR.

    Importante:

    El parámetro se debe informar iniciando con http:// o https://
    Ejemplo:
    http://localhost:8091/wf 
    Donde localhost:8091 será su IP y puerto público definido en el paso 1.                                                                                                                                                      




Verifique la existencia de la carpeta "workflow" dentro de la carpeta "Protheus_data" en el directorio de instalación del Protheus. Si no existe, se puede crearla.

  • Realice la descarga (download) del siguiente archivo, descomprima y colóquelos dentro de la carpeta workflow mencionada anteriormente.


Ejemplo
:



Importante:

Si decide poner a disposición los archivos en otro directorio, no deje de actualizar el parámetro MV_WFDIR del paso 4.                                                                                                                                                    


  • Versión:
    • Es esencial verificar la versión correcta de los archivos del formulario workflow. Si no se encuentran o están en una versión incorrecta, el sistema muestra el siguiente mensaje: 'El archivo pgca030_mailXXX_AAAAMMDD.HTML utilizado por el workflow no se encontró o está desactualizado. Para bajar el archivo actual, consulte la documentación del NFC en la sección de Workflow'.
  • Observaciones:
    • Para paquetes de expedición continua anteriores al , debe utilizarse el archivo zip
    • Para preservar la integridad de la funcionalidad del workflow, es importante no modificar el nombre de los archivos HTML.
  • Versiones:

Realice la configuración del parámetro que indicará el directorio donde los archivos HTML del paso 4 se pusieron a disposición.

  • En el paso 3, definimos el directorio donde se pondrán a disposición los archivos HTML, este mismo directorio se debe informar en el parámetro MV_WFDIR

Ejemplo de contenido del parámetro MV_WFDIR: \workflow



Importante:

Si decide poner a disposición los archivos en otro directorio, no deje de mover los archivos HTML al directorio correcto, siguiendo el paso 3.                                                                                                                                           

Atención - WFTEST

El workflow del NFC se comporta igual a la rutina WFTEST - rutina que busca probar si las configuraciones de workflow están correctas, enviando e-mail de prueba.
Luego, si al ejecutar la rutina WFTEST ocurre un error - el workflow del NFC tampoco se enviará, porque sigue el mismo comportamiento - verifique si las configuraciones de parámetros (SX6) y del appserver.ini del entorno están correctas - verificando las informaciones presentes en este manual - para que el workflow del NFC funcione adecuadamente.

Informaciones sobre la rutina WFTEST están en el tópico Asuntos relacionados.

Realice la configuración del e-mail por el que enviará el formulario al proveedor, solicitando la cotización:

  • Acceda al módulo de configuración > Entorno > WorkFlow > Cuentas de e-mail > Incluir


    Ejemplo de configuración de e-mail de GMAIL:

    mceclip0.png

    Observaciones:

    • Actualmente la mayoría de los proveedores SMTP utilizan un puerto diferente del estándar, generalmente utilizan la 465 o 587. 
    • El Gmail utiliza el puerto 465 cuando la seguridad utilizada es la SSL y el puerto 587 cuando la seguridad es la TLS.

    Importante:

    Dicho proceso no está relacionado a la configuración de e-mail para informes, descrito en la documentación: Configure el SMTP para enviar los informes por e-mail.



Se puede enviar la solicitud de cotización al proveedor utilizando el e-mail del comprador, esto permite que el proveedor responda directamente al comprador alguna duda o pregunta.

¿Cómo habilitar este recurso?

  1. Habilite el parámetro MV_PGCWF
  2. Realice el paso 5 de la configuración, registrando el e-mail del comprador (Esta rutina de registro se pondrá a disposición en el menú del comprador para que este mismo realice el registro - WFC003).
  3. El e-mail registrado debe constar en el registro de usuario del mismo.

    Importante:

    El valor estándar del parámetro MV_PGCWF se desactiva, donde se utilizará la cuenta de e-mail estándar del Protheus definida en el MV_WFMLBOX.

Puerto Multiprotocolo

    • En la sección GENERAL, se debe incluir l clave “App_Environment”, cuyo valor debe ser el nombre del entorno donde los servicios se ejecutarán. 
    • En la sección DRIVERS,  se debe habilitar el puerto multiprotocoloen la clave “MultiProtocolPort” con el valor = 
    • Como estándar la conexión SSLestá activa en el puerto multiprotocolo, los detalles de las configuraciones están disponibles en la documentación Application Server - Puerto Multiprotocolo. Para inhabilitar la conexión por SSL es necesario informar la clave “MultiProtocolPortSecure = 0”
    Para más información sobre esta configuración, acceda a la página Application Server - Puerto Multiprotocolo.

05. NOTAS DE VERSIÓN

A continuación se pueden visualizar todas las novedades en cada versión:

  1. Implementación de nueva interfaz MVC para edición de la cotización
  2. Implementación de la edición de impuestos mediante la nueva interfaz de edición de la cotización
  3. Implementación de impuestos IPI e ICMS-ST en el formulario workflow que serán editados por el proveedor
  4. Implementación de seleción de condición de pago flexible en el envío del workflow
  5. Implementación de rutina automática de edición de cotización
  6. Implementación de posibilidad de puntos de entrada durante la edición de la cotización mediante la nueva interfaz.
  7. Correcciones generales de usabilidad y desempeño
  1. Implementación de la opción "grabar borrador" en el formulario workflow.
  2. Correcciones generales de usabilidad y desempeño.
  1. Implementación del análisis de cotización por ítem parcial.
  2. Correcciones generales de usabilidad y desempleño.
  1. Implementación de la visualización de la observación de la solicitud de compras
  2. Implementación de filtro por comprador en la lista de cotizaciones
  3. Visualización de dados del proveedor en la pantalla de edición de la cotización
  4. Visualización clara de moneda utilizada en la edición de la cotización
  5. Correcciones generales de usabilidad.
  1. Implementación de generación de cotización utilizando Producto vs Proveedor y MV_SELFOR = N
  2. Implementación de visualización de solicitudes de compras vinculadas a la cotización.
  3. Implementación del listado de pedidos y contratos generados por la cotización.
  4. Corrección de ordenación de propuesta por precio, considerando impuestos.
  5. Modificación de texto para una mejor atención de análisis por propuesta completa.
  6. Ajuste para permitir modificar el TES cuando la cotización se completó por Workflow.
  7. Implementación de la guía de configuración del e-mail del comprador.
  8. Implementación de la guía de configuración y sugerencia del WORKFLOW.
  1. Corrección en el funcionamiento del WorkFlow, permitiendo la utilización del "WFTEST" estándar para probar el funcionamiento.
  2. Corrección en la lista de solicitudes de compras cuando el campo C1_DATPRF esté marcado como browse.
  3. Correcciones generales de usabilidad y desempeño.
  1. Correcciones diversas en los documentos adjuntos.
  2. Corrección en el filtro de la necesidad de compras.
  3. Corrección en el registro de nuevo participante.
  4. Corrección en el refresh del carriño de compras.
  5. Corrección en el formulario de workflow.
  6. Correcciones generales de desempeño y usabilidad.
  1. Se implementó la funcionalidad para obtener informaciones del RCPJ del proveedor, por medio de la API de TOTVS Carol.
  2. Se implementó la generación de cotización para proveedor Participantes.
  3. Se incluyó nueva columna que muestra la cantidad de respuestas de los proveedores recibidas por la cotización.
  4. Se implementó la generación del contrato.
  5. Se implementó la funcionalidad para generación de nuevo proveedor para la cotización.
  6. Corrección para limpieza del localStorage en la inicialización de la aplicación.
  7. Corrección para encontrar los documentos adjuntos correctamente si el proveedor fuera participante.
  8. Se retiró cargamento de campos del tipo Memo a la pantalla de Necesidad de compras.
  9. Corrección para validar tipo de contrato y planilla fijos independientemente del parámetro MV_VLDTPFI.
  10. Corrección para que las columnas devuelvan la cantidad de propuestas respondidas y descartadas.
  1. Se implementaron Campos personalizados en el Browse de Necesidad de compras y cotizaciones.
  2. Se implementó la funcionalidad de grabar preferencias de campos del tipo suite en Necesidad de compras.
  3. Se efectuó la mejora de devolución de mensaje de la API de Workflow para facilitar la implantación.
  4. Corrección para que después de efectuar la búsqueda por código de producto y limpiar el campo.
  5. Corrección para retirar la obligatoriedad de los campos en la actualización de los contactos.
  6. Corrección para que al declinar una Propuesta del Workflow el proceso ocurra correctamente.
  7. Corrección para que al utilizar otras monedas en el formulario de Workflow la grabación ocurra correctamente.
  8. Corrección para el bloqueo de productos que ocurría de forma intermitente en la Generación de cotización.
  9. Corrección del ícono de documento adjunto al visualizar documentos adjuntos y finalizar la lista.
  10. Corrección para considerar los valores de gasto y seguro en el Análisis por ítem.
  11. Corrección para que después de efectuar el Análisis "Por ítem" de Cotización parcial, sea posible dar continuidad al proceso con la cantidad restante.
  12. Corrección para ejecutar la URL correcta de la API de Análisis de la cotización.
  13. Corrección para que al borrar todos los documentos adjuntos antes de enviar el Workflow, no ocurra la validación de Documento adjunto no encontrado.
  14. Corrección para que no se permita fecha de recepción de la cotización inferior a la fecha actual.
  1. Se implementó el Mapa de cotización.
  2. Se implementó el Filtro por grupo de producto.
  3. Se incluyó el Campo de TES en la Edición de la cotización.
  4. Se incluyó la funcionalidad de Borrado de propuesta.
  5. Corrección de documento adjunto no encontrado.
  6. Corrección de descripción del Título de la pantalla de edición de la cotización.
  7. Corrección del campo de descuento al utilizar Nueva propuesta.
  8. Corrección para no permitir descuento negativo en la Edición de la cotización.
  9. Corrección de error al desistir de bajar el documento ajunto.
  10. Corrección en el Endpoint para devolver propuestas parciales de Proveedores.
  11. Corrección de mensaje de producto bloqueado para productos liberados.
  12. Corrección de error mostrado al realizar un filtro en la solapa Atendidas.
  13. Corrección en el loading de búsqueda de producto.
  14. Corrección en la pantalla de Otros campos para no grabar datos al hacer clic en Finalizar.
  15. Corrección del campo cantidad disponible si MV_ZERPROP = 1.
  16. Corrección en la exhibición de los Impuestos complementarios en la pantalla de impuestos por ítem.
  17. Corrección en el campo Tipo de flete da edición de cotización para el mismo comportamiento del legado.
  18. Corrección de devolución de las cotizaciones por orden del total de la cotización.
  1. Implementación de los campos de Cantidad de proveedores participantes y cantidad de productos cotizados en la lista de cotizaciones.
  2. Implementación del de filtro por estatus "Todos, pendientes, en análisis y finalizado" en la lista de cotizaciones.
  3. Implementación de los campos personalizados de la tabla SC8 en la edición de cotización.
  4. Implementación de edición de la observación que se llevará al pedido de compra en el análisis de cotización.
  5. Implementación de opción para generar nuevas propuestas, manual y vía workflow.
  6. Corrección en el envío de e-mail por workflow.
  7. Corrección para mostrar mensaje de aviso al actualizar contacto de proveedor abierto por otro usuario.
  8. Correcciones generales de usabilidad y desempeño.

06. TABLAS Y PARÁMETROS

A continuación se pueden visualizar los parámetros y tablas utilizados por el NFC:

  • DHU (Encabezado de la cotización)
  • DHV (Productos de la cotización)
  • SA2 (Proveedores)
  • SB1 (Descripción genérica del producto)
  • SC1 (Solicitudes de compra)
  • SC8 (Cotizaciones)
  • AC9 (Relación de Objetos vs. Entes)
  • ACB (Bancos de conocimientos)
  • SCE (Cierre de cotizaciones)
  • SC7 (Pedido de compra)
  • MV_PGCWF - Permite utilizar el e-mail del comprador para enviar el formulario de workflow al proveedor.
  • MV_SELFOR - Permite que el comprador seleccione a los proveedores libremente o solamente entre los vinculados en el Producto vs. Proveedor.
  • MV_PCEXCOT - Habilita la reapertura de la cotización al eliminar un pedido de compra o contrato.
  • MV_TPPLA - Tipo de la planilla que se utilizará al generar un contrato proveniente de la cotización.
  • MV_APIFOR - Habilita la cumplimentación automática de datos del proveedor con la API TOTVS Carol (Se utiliza informando el RCPJ al transformar al participante de la cotización en proveedor)
  • MV_PGCPISV - Servidor de e-mail POP 3/ IMAP de los compradores.
  • MV_PGCPIPO - Puerto de e-mail POP 3/ IMAP de los compradores.
  • MV_PGCSMSR - Servidor de e-mail SMTP de los compradores.
  • MV_PGCSMPO - Puerto de e-mail SMTP de los compradores.
  • MV_PGCTAUT - Tipo de autenticación del servidor de e-mail: TLS, SSL o ninguno.

07. PUNTOS DE ENTRADA Y RUTINA AUTOMÁTICA

La rutina automática de edición de cotización se realiza por medio de la instancia del modelo NFCA020.
Esta rutina tiene como objetivo realizar únicamente la edición de la cotización con los datos se pasaron para procesamiento.

A continuación, un ejemplo de utilización:

#Include 'TOTVS.ch'
#Include 'FWMVCDef.ch'
#Include 'Protheus.ch'
  
Function EdicaoComp()
Local aArea			:= GetArea()
Local aDados        := {}
Local cNumCotacao   := "000011"
Local oModel      	:= nil
Local oGridSC8		:= nil
local nFor			:= 0
local cMsg			:= ""
    
DHU->( DbSetOrder(1) ) //DHU_FILIAL+DHU_NUM
if ( DHU->( DbSeek(xFilial("DHU") + cNumCotacao) ) )
    oModel := FwLoadModel("NFCA020")
    oGridSC8 := oModel:GetModel("SC8DETAIL")
    oModel:SetOperation(MODEL_OPERATION_UPDATE) 	
    oModel:Activate()

	for nFor := 1 to oGridSC8:Length()
		oGridSC8:GoLine(nX)
		oGridSC8:setValue("C8_PRECO", 40.00)
 		oGridSC8:setValue("C8_QTDISP", 1)  
		oGridSC8:LoadValue("C8_CONTATO", "JOAO SANTOS")
	next nX   
    
    if ( oModel:VldData() )
		oModel:commitData()
    else  
		cMsg := oModel:getErrorMessage()[6] + " - " + oModel:getErrorMessage()[4] + CRLF
		cMsg += oModel:getErrorMessage()[8], '')  //https://tdn.totvs.com/display/public/framework/FWFormModel - GetErrorMessage
	endif

endif

Restarea(aArea)
FWFreeObj(oModel)
FWFreeObj(oGridSC8)

return nil




Puntos de entrada MVC en la rutina de Edición de cotización híbrida NFCA020

Como es una rutina en MVC, la Edición de cotización híbrida permite a los usuarios la utilización de diversos Puntos de entrada, para que puedan realizar los desvíos y procesamientos personalizados, adecuados a la realidad de la organización.

Breve explicación sobre puntos de entrada MVC:

En los fuentes convencionales tenemos un "nombre" para cada punto de entrada creado, por ejemplo, en la rutina MATA010 – Registro de productos tenemos los puntos de entrada: MT010BRW, MTA010OK, MT010CAN, etc. En MVC, no es de esta manera, creamos un único punto de entrada y este se llama en varios momentos.

Este punto de entrada único debe tener una User Function y tener como nombre el ID del Modelo de datos (Model) del fuente.

Para el funcionamiento del punto de entrada MVC de la edición de la cotización, debe utilizarse el nombre de la función NFCA020:

Sugerencia del nombre del fuente: MYNFCA020.prw

User Function NFCA020()
Local aParam := PARAMIXB
Local xRet   := .T.
...

Return xRet


El punto de entrada creado recibe por medio del parámetro (PARAMIXB) un vector con informaciones referentes al fuente. Estos parámetros varían para cada situación, en común todos estos tienen los 3 primeros elementos que se listan a continuación, en el cuadro siguiente existe la lista de parámetros de cada ID:

Posiciones del array de parámetros comunes a todos los ID:

POS.

TIPO

DESCRIPCIÓN

1

El (Objeto)

Objeto del formulario o del modelo, según sea el caso

2

ID del local de ejecución del punto de entrada

3

C

ID del formulario


El punto de entrada se llama en varios momentos dentro del fuente, en la 2ª posición de la estructura del vector se pasa un ID que identifica cuál es este momento. Esta puede tener como contenido:

ID

MOMENTO DE EJECUCIÓN DEL PUNTO DE ENTRADA

MODELPRE

Antes de la modificación de cualquier campo del modelo.


Parámetros recibidos:


1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario


Devolución:

Requiere una devolución lógica

MODELPOS

En la validación total del modelo.



Parámetros recibidos:



1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario



Devolución:

Requiere una devolución lógica

FORMPRE

Antes de la modificación de cualquier campo del formulario.


Parámetros recibidos:


1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario


Devolución:

Requiere una devolución lógica

FORMPOS

En la validación total del formulario.



Parámetros recibidos:



1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario



Devolución:

Requiere una devolución lógica

FORMLINEPRE

Antes de la modificación de la línea del formulario FWFORMGRID.


Parámetros recibidos:


1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario

4 N Número de la línea de la FWFORMGRID

5 C Acción de la FWFORMGRID

6 C Id del campo



Devolución:

Requiere una devolución lógica

FORMLINEPOS

En la validación total de la línea del formulario FWFORMGRID.



Parámetros recibidos:



1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario

4 N Número de la línea de la FWFORMGRID





Devolución:

Requiere una devolución lógica

MODELCOMMITTTS

Después de la grabación total del modelo y dentro de la transacción.


Parámetros recibidos:


1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario



Devolución:

No espera devolución

MODELCOMMITNTTS

Después de la grabación total del modelo y fuera de la transacción.



Parámetros recibidos:



1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario





Devolución:

No espera devolución

FORMCOMMITTTSPRE

Antes de la grabación de la tabla del formulario.


Parámetros recibidos:


1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario

4 L Si .T. indica nuevo registro (Inclusión) si .F. registro ya existente (Modificación / Borrado)



Devolución:

No espera devolución

FORMCOMMITTTSPOS

Después de la grabación de la tabla del formulario.



Parámetros recibidos:



1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario

4 L Si .T. indica nuevo registro (Inclusión) si .F. registro ya existente (Modificación / Borrado)





Devolución:

No espera devolución

MODELCANCEL

En la anulación de la opción.


Parámetros recibidos:


1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario



Devolución:

Requiere una devolución lógica

BUTTONBAR

Para la inclusión de opciones en la ControlBar.



Para crear las opciones debe devolverse un array bidimensional con la siguiente estructura de cada ítem:



1 C Título para la opción

2 C Nombre del bitmap para exhibición

3 B CodeBlock que se ejecutará

4 C ToolTip (Opcional)





Parámetros recibidos:



1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario





Devolución:

Requiere un array de devolución con estructura definida previamente

MODELVLDACTIVE

En la activación del modelo.


Parámetros recibidos:


1 El objeto del formulario o del modelo, según sea el caso

2 C ID del local de ejecución del punto de entrada

3 C ID del formulario



Devolución:

Requiere una devolución lógica.


Observaciones:

  • Cuando el modelo de datos tiene varios componentes (por ejemplo, varios FWFORMGRIDs), la 3ª posición del vector traerá el ID de este componente.
  • Cuando el tipo de devolución de un determinado momento de ejecución no se envíe o se envíe con el tipo equivocado, se mostrará un mensaje en la consola avisando sobre esto. Todos los ID que esperan devolución deben tratarse en el Punto de entrada.
  • Al escribir un fuente en MVC que será una User Function, cuidado al atribuir el ID del modelo de datos (Model), porque este no podrá tener el mismo nombre del fuente. Si el fuente tuviera el nombre FONT001, el ID del Modelo de datos (Model) no podrá ser también FONT001.


#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'FWMVCDEF.CH'
#INCLUDE "FWEVENTVIEWCONSTS.CH"
#INCLUDE 'FWLIBVERSION.CH' 
#INCLUDE "MATA130.CH"
#INCLUDE 'TOPCONN.ch'

USER FUNCTION NFCA020()
Local aParam     := PARAMIXB
Local xRet       := .T.
Local oObj       := ''
Local cIdPonto   := ''
Local cIdModel   := ''
Local lIsGrid    := .F.
Local nLinha     := 0
Local nQtdLinhas := 0
Local cMsg       := ''

If ( aParam <> NIL )
	oObj       := aParam[1]
    cIdPonto   := aParam[2]
	cIdModel   := aParam[3]
	lIsGrid    := iif(aParam[3] == "SC8DETAIL", .t., .f.)

	If ( lIsGrid )
		nQtdLinhas := oObj:GetQtdLine()
        nLinha     := oObj:nLine
	EndIf

	If ( cIdPonto == 'MODELPOS' )
		cMsg := 'Llamada en la validación total del modelo (MODELPOS).' + CRLF
		cMsg += 'ID ' + cIdModel + CRLF
		
		If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
			 Help( ,, 'Help',, 'El MODELPOS devolvió .F.', 1, 0 )
		EndIf

		ElseIf ( cIdPonto == 'FORMPOS' )
			cMsg := 'Llamada en la validación total del formulario (FORMPOS).' + CRLF
			cMsg += 'ID ' + cIdModel + CRLF
			
			If ( cClasse == 'FWFORMGRID' )
				cMsg += 'Es un FORMGRID con ' + Alltrim( Str( nQtdLinhas ) ) + ' línea(s).' + CRLF
				cMsg += 'Situado en la línea ' + Alltrim( Str( nLinha     ) ) + CRLF
			
			ElseIf ( cClasse == 'FWFORMFIELD' )
		        cMsg += 'Es un FORMFIELD' + CRLF
			EndIf

			If !( xRet := ApMsgYesNo( cMsg + '¿Continúa ?' ) )
				Help( ,, 'Help',, 'El FORMPOS devolvió .F.', 1, 0 )
			EndIf

            
		ElseIf ( cIdPonto == 'FORMLINEPRE' )
			If ( aParam[5] == 'DELETE' )
				cMsg := 'Llama en la validación previa de la línea del formulario (FORMLINEPRE).' + CRLF
				cMsg += 'Donde se está intentando borrar una línea' + CRLF
				cMsg += 'Es un FORMGRID con ' + Alltrim( Str( nQtdLinhas ) ) + ' línea(s).' + CRLF
				cMsg += 'Situado en la línea ' + Alltrim( Str( nLinha     ) ) + CRLF
				cMsg += 'ID ' + cIdModel + CRLF
			
				If !( xRet := ApMsgYesNo( cMsg + '¿Continúa ?' ) )
					Help( ,, 'Help',, 'El FORMLINEPRE devolvió .F.', 1, 0 )
				EndIf

             EndIf

       ElseIf ( cIdPonto == 'FORMLINEPOS' )
			cMsg := 'Llamada en la validación de la línea del formulario (FORMLINEPOS).' + CRLF
			cMsg += 'ID ' + cIdModel + CRLF
			cMsg += 'Es un FORMGRID con ' + Alltrim( Str( nQtdLinhas ) ) + ' línea(s).' + CRLF
			cMsg += 'Situado en la línea ' + Alltrim( Str( nLinha     ) ) + CRLF

			If !( xRet := ApMsgYesNo( cMsg + '¿Continúa ?' ) )
				Help( ,, 'Help',, 'El FORMLINEPOS devolvió .F.', 1, 0 )
			EndIf

		ElseIf ( cIdPonto == 'MODELCOMMITTTS' )
			ApMsgInfo('Llamada después de la grabación total del modelo y dentro da transação (MODELCOMMITTTS).' + CRLF + 'ID ' + cIdModel )

		ElseIf ( cIdPonto == 'MODELCOMMITNTTS' )
			ApMsgInfo('Llamada después de la grabación total del modelo y fuera de la transacción (MODELCOMMITNTTS).' + CRLF + 'ID ' + cIdModel)

		ElseIf ( cIdPonto == 'FORMCOMMITTTSPOS' )
			ApMsgInfo('Llamada después de la grabación de la tabla del formulario (FORMCOMMITTTSPOS).' + CRLF + 'ID ' + cIdModel)

		ElseIf ( cIdPonto == 'MODELCANCEL' )
			cMsg := 'Llamada en la opción Anular (MODELCANCEL).' + CRLF + '¿Realmente desea salir ?'

			If !( xRet := ApMsgYesNo( cMsg ) )
				Help( ,, 'Help',, 'El MODELCANCEL devolvió .F.', 1, 0 )
			EndIf

		ElseIf cIdPonto == 'BUTTONBAR'
			ApMsgInfo('Agregando la opción en la Barra de opciones (BUTTONBAR).' + CRLF + 'ID ' + cIdModel )
			xRet := { {'Grabar', 'GRABAR', { || Alert( 'Grabó' ) }, 'Esta opción Grabada' } }
		EndIf

EndIf

Return xRet

Nombre del punto de entrada: AVALCOT

Objetivo: Permitir la edición de los pedidos de compra generados por medio del análisis de la cotización (después de la grabación).

Documentación: Haga clic aquí - Documentación AVALCOT


Nombre del punto de entrada: AVALCOPC

Objetivo: Permitir la edición de los ítems de los pedidos de compra generados por medio del análisis de cotización (después de la grabación).

Documentación: Haga clic aquí - Documentación AVALCOPC


08. ASUNTOS RELACIONADOS