Versões comparadas

Chave

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

ÍNDICE

Índice
excludeÍ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

...

O Novo Fluxo de Compras auxilia na gestão, controle e tomada de decisão referente a área de Compras da sua empresa.
A ferramenta permite adotar melhores estratégias para gerenciamento de solicitações de compras recebidas, além de entregar uma nova experiência na jornada de cotações. Ao longo dos meses, outros processos de compras serão modernizados e disponibilizados com o objetivo de simplificar processos, otimizar o tempo das operações e agilizar as tarefas melhorando o seu dia a dia. 

02. EXEMPLO DE UTILIZAÇÃO

Aqui você pode visualizar exemplos práticos das principais funcionalidades do Novo Fluxo de Compras.


Expandir
titleInícioInicio

Ao acessar Al acceder a la Página Inicial (Início) o Usuário pode visualizar  o nome do usuário logadoInicio) el usuario puede visualizar el nombre del usuario conectado.

[Clique na imagem Haga clic en la imagen para ampliar]

Expandir
titleNecessidade Necesidad de Compracompra
Expandir
titleProcesso Proceso de cotaçãocotización
Expandir
titleNecessidade Necesidad de Compracompra

Passo Paso 1: Para iniciar uma solicitação una solicitud de cotação, selecione no menu lateral a opção de Necessidade de Compracotización, seleccione en el menú lateral la opción Necesidad de compra.

[Clique na imagem Haga clic en la imagen para ampliar]

Passo Paso 2: Após ter acesso a tela é necessário fazer a seleção dos itens que serão cotadosDespués de acceder a la pantalla, es necesario seleccionar los ítems que se cotizarán. A partir de um item selecionado o botão Iniciar cotação, localizado no canto inferior direito da tela, ficará habilitado. Clique nele para seguir para o próximo passoun í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

[Clique na imagem Haga clic en la imagen para ampliar]

Passo Paso 3: Em seguida será direcionado para a tela de Solicitação de cotação. Nesta tela há dois campos obrigatórios, referentes aos Dados da cotação, evidenciados com um asterisco '*'. Será necessário o preenchimento dos mesmos pra prosseguir o processo.

Os respectivos campos são: 

  1. Apelido do grupo de cotação: O usuário definirá como a cotação será chamada;
  2. Recebimento cotação: O usuário definirá o prazo para o recebimento de cotações.

Image Removed

[Clique na imagem para ampliar]

Passo 4: Nesta tela ainda é possível conferir as Informações de entrega e Produtos selecionados.  
Em Produtos selecionados há um campo de texto em cada item, onde é possível enviar para o fornecedor observações/especificações sobre o produto. 

Image Removed
[Clique na imagem para ampliar]

Passo 5: Quando houver mais de uma solicitação possuindo produtos iguais, com a mesma Data de necessidade, conta contábil, entre outras similaridades, haverá um agrupamento de solicitações. Surgindo então na tela um campo chamado Solicitações agrupadas. Nele o usuário conseguirá visualizar através de um disclaimer azul, o número da Solicitação e o número do item, apresentada nesse mesma ordem Solicitação-Item, somando as quantidades solicitadas à quantidade total.

Image Removed

A continuación, se dirigirá 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.

Image Added

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

Image Added
[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.

Image Added

[Haga clic en la imagen [Clique na imagem para ampliar]

Informações
titleAglutinação Agrupación de Produtosproductos

Para maiores informações sobre a aglutinação de produtos clique aqui..más información sobre la agrupación de productos haga clic aquí.

Expandir
titleSeleção Selección de Fornecedoresproveedores

AtençãoAtención: Para visualizar essa tela é necessario possuir o parâmetro esta pantalla es necesario tener el parámetro MV_SELFOR ativo activo (S).

Passo Paso 1: Na aba Todos os fornecedores será exibido uma lista com todos os fornecedores já cadastrados no Protheus, já na aba Últimos fornecedores podemos acessar de forma fácil os últimos fornecedores listados, conforme as últimas notas fiscais de compras, com o código do produto igual as encontradas para desta cotaçãoEn 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



[Clique na imagem Haga clic en la imagen para ampliar]

Para incluir nessa cotação um ou mais fornecedores en esta cotización uno o más proveedores participantes (não cadastrado no registrado en el sistema), é necessário clicar no botão Novo fornecedor, localizado na parte superior da tela. Nele será necessário adicionar a razão social e e-mail. É obrigatório o preenchimento da razão social para a inclusão do novo fornecedor participante, não será possível duplicar a mesma. Este fornecedor ainda não estará cadastrado oficialmente no sistema, apenas participará do processo de cotação.Image Removed
[Clique na imagem para ampliar]Passo 2: Através do campo de busca é possível localizar um fornecedor específico digitando o CPF/CNPJ, razão social ou nome fantasia.
Image Removed
[Clique na imagem para ampliar]
Passo 3: Caso haja necessidade de atualizar o contato de algum fornecedor poderá realizar esta tarefa sem sair da tela clicando no botão Atualizar Contato
Image Removed
[Clique na imagem para ampliar]
Passo 4: Na opção Mostrar Detalhes conseguirá visualizar mais informações referente ao fornecedor.
Image Removed
[Clique na imagem para ampliar]
Passo 5: Após selecionar os fornecedores deverá clicar no botão Gerar Cotação para concluir o processo de geração de cotação.

Image Removed

[Clique na imagem para ampliar]

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.


Image Added
[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.

Image Added
[Haga clic en la imagen para poder ampliar]

Paso 3: Si fuera 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

Image Added
[Haga clic en la imagen para poder ampliar]

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

Image Added
[Haga clic en la imagen para poder 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

Image Added

[Haga clic en la imagen para ampliar]

Paso 6: Después de la generación de la cotización, se pondrá a disposición una ventana, que permitirá incluir documentos adjuntos a la cotización y enviar un Workflow por e-mail a los participantes. Si no desear enviar documentos adjuntos o e-mails a los proveedor, basta cerrar la ventana. Si opta Passo 6: Após a geração da cotação, uma janela será disponibilizada, permitindo adicionar anexos à cotação e enviar um Workflow por e-mail aos participantes. Se não desejar enviar anexos ou e-mails aos fornecedores, basta fechar a janela. Se optar por enviar por e-mail, selecione seleccione "Sim" no en el campo "Enviar cotação ¿Enviar cotización por e-mail ao fornecedoral proveedor?". Após selecionar "SimDespués de seleccionar "Sí", outro se muestra otro campo será exibido, perguntando se deseja selecionar as condições de pagamento a serem enviadas aos fornecedores através do Workflow. Caso não deseje selecionar as condições de pagamento, todas as condições que possuem "Adic WF NFC = Simque pregunta si se 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 "Incl WF NFC = Sí" (campo E4_ATVWF da tabela de la tabla SE4), determinadas a partir do cadastro del registro de condições de pagamento no Protheus, serão enviadas aos fornecedores.
Após esse processo, clique no botão 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)".



[Clique na imagem Haga clic en la imagen para ampliar]

image-2024-3-13_11-33-18.png
Protheus - Tela cadastro condições de pagamento [Clique na imagem Pantalla registro condiciones de pago [Haga clic en la imagen para ampliar]

Caso o ambiente esteja configurado com parâmetro Si el entorno estuviera configurado con el parámetro MV_SELFOR inativo inactivo (N) a tela la pantalla de Seleção de fornecedores será alterada e habilitará a amarração de produto x fornecedor. Exibindo os produtos e os fornecedores vinculados a ele. Para este ambiente não será possível adicionar fornecedores 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.

[Clique na imagem Haga clic en la imagen para ampliar]


Passo Paso 1Na tela Seleção de Fornecedores X Produto selecione os fornecedores vinculados ao produto como mostra a imagem abaixoEn la pantalla Selección de Proveedores vs. Producto, seleccione los proveedores vinculados al producto como muestra la siguiente imagen.

[Clique na imagem Haga clic en la imagen para ampliar]

Passo Paso 2: Caso haja necessidade de atualizar o contato de algum fornecedor poderá realizar esta tarefa sem sair da tela clicando no botão Atualizar ContatoSi fuera 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

[Clique na imagem Haga clic en la imagen para ampliar]

Expandir
titleWorkflow

Ao Al enviar um un e-mail através do Novo Fluxo de Compras, o fornecedor receberá uma notificação. Nesse por medio del Nuevo flujo de compras, el proveedor recibirá una notificación. En este e-mail, será possível visualizar quem fez a solicitação e os itens da cotação, conforme exemplificado abaixoposible visualizar quién hizo la solicitud y los ítems de la cotización, de acuerdo con el siguiente ejemplo.

[Clique na imagem Haga clic en la imagen para ampliar]

Ao clicar no link para preenchimento, o fornecedor abrirá o formulário onde poderá detalhar os itens da cotação Al hacer clic en el enlace para completar, el proveedor abrirá el formulario donde podrá detallar los ítems de la cotización solicitada.

[Clique na imagem Haga clic en la imagen para ampliar]

A data La fecha de entrega é es individual por item da cotação , devendo o fornecedor informar a data ítem de la cotización, debiendo el proveedor informar la fecha de entrega de cada item. Caso a data de entrega seja única ou outro cenário do fornecedor, para facilitar a inserção desse dado, o usuário deve colocar a data desejada no primeiro item da cotação e na sequência, clicar no botão Replicar data, que a data do primeiro item será replicada para os demais itens da cotação.As condições de pagamento exibidas no formulário são estabelecidas de acordo com o que foi selecionado no envio do E-mail via Novo Fluxo de Compras, caso o usuário não tenha pré-estabelecido as condições que o fornecedor poderá visualizar, todas as condições que possuem "Adic WF NFC = Sim" (campo E4_ATVWF da tabela SE4), determinadas a partir do cadastro de condições de pagamento no Protheus, serão enviadas aos fornecedores, como ilustrado nas imagens abaixo.
ítem. Si la fecha fuera única u otro escenario del proveedor, para facilitar la inclusión de este dato, el usuario debe incluir la fecha deseada en el primer ítem de la cotización y a continuación, hacer clic en la opción Copiar fecha, que la fecha del primer ítem se copiará en los demás ítems de la cotización.

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 "Incl 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.



Image Added
[Haga clic en la imagen Image Removed
[Clique na imagem para ampliar]



Protheus - Tela cadastro condições de pagamento [Clique na imagem Pantalla registro condiciones de pago [Haga clic en la imagen para ampliar]

Após o envio da proposta respondida pelo fornecedor, a cotação será atualizada com todas as informações enviadas no Novo Fluxo de Compras.


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.

Aviso

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

Aviso

 A seleção das condições de pagamento mencionadas acima estará disponível a partir da expedição contínua de 05/04/2024.

Expandir
titleFuncionalidades
Expandir
titleCarrinhoCarrito

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.

Image Added
[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ó.

Image Added
[Haga clic en la imagen

Ao selecionar uma solicitação de compras é possível visualizar qual solicitação já foi selecionada através do botão Registros selecionados, localizado no canto inferior esquerdo da tela. Apenas será possível fazer seleção de solicitações em aberto para iniciar uma cotação.

Image Removed
[Clique na imagem para ampliar]

A fim de permitir a utilização dos itens de solicitação em apenas uma cotação, ao tentar adicionar ao carrinho um item de solicitação já selecionado anteriormente, o sistema alertará com uma mensagem informado que o item já foi selecionado.

Image Removed
[Clique na imagem para ampliar]

Expandir
titleValidação Validación por grupo de produtoproducto

A funcionalidade La funcionalidad "¿Validar Grupo de ProdutoProducto?" tem  tiene como objetivo garantir que o usuário não selecione um produto que não pertença ao mesmo grupo de produto. Essa validação é ativada quando o interruptor é acionado e sempre verifica o grupo de produto do primeiro item selecionado. Se o produto não possuir um grupo de produto definido, será exibida uma mensagem informando que apenas é possível selecionar itens sem grupo de produtos.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.

Image Added
[Haga clic en la imagen Image Removed
[Clique na imagem para ampliar]

Expandir
titleLista SolicitaçõesSolicitudes

Haciendo clic en Necesidad de Compra el usuario se reenviará a las solicitudes de compras disponibles para el proceso de cotizaciónClicando em Necessidade de Compra o usuário será redirecionado as Solicitações de Compras disponíveis para o processo de cotação.

[Clique na imagem Haga clic en la imagen para ampliar]

Nessa página as solicitações de compras serão exibidas, divididas e listadas em três abas Em aberto, Parcialmente atendidas e Atendidas.

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 A aba em aberto exibe todos os itens de solicitação que possuam a quantidade em pedido de compra igual a zero e não tenham sido eliminadas por resíduo (C1_RESIDUO).
  • A aba La solapa de parcialmente atendidas irá mostrar todas as solicitações que possuem um mostrará todas las solicitudes que tienen un pedido de compra com quantidade con cantidad menor que a quantidade la cantidad solicitada (C1_QUANT).
  • Na aba En la solapa de atendidas irá mostrar todos os itens que possuam quantidade em se mostrarán todos los ítems que tengan cantidad en pedido de compra igual à quantidade a la cantidad solicitada.

[Clique na imagem Haga clic en la imagen para ampliar]

Para a exibição ou remoção de colunas da tabela há um ícone de configuração, nele é possível fazer o Gerenciamento de colunas deixando marcando apenas as colunas que serão visualizadas. É possível ainda reordenar a posição das colunas e restaurar padrão.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.

Image Added
[Haga clic en la imagen Image Removed
[Clique na imagem para ampliar]

Expandir
titlePaginaçãoPaginación

La paginación de la pantalla de Necesidad A paginação da tela de Necessidade de Compra funciona com uma rolagem con una barra desplegable "infinita" para baixo, enquanto houver solicitações o sistema permitirá rolar a página. É necessário que o cursor esteja posicionado sobre a tabela. 
Image Removed[Clique na imagem para ampliar]hacia abajo, mientras haya solicitudes el sistema permitirá desplegar la página. Es necesario que el cursor este ubicado sobre la pantalla.  
Image Added


[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ánAcima da tabela, existe um contador de registros listados, evidenciando a quantidade de solicitações já exibidas e as solicitações a serem listadas.


[Clique na imagem para ampliar]

Expandir
titleAnexosDocumentos adjuntos

Las solicitudes As solicitações de compras listadas na tela de Necessidade en la pantalla de Necesidad de Compra, poderão ter anexos vinculados, caso possuam serão evidenciados com ícone de clipe na coluna Anexos.
Ao clicar no ícone, será aberto uma nova janela com a listagem de anexos vinculados a solicitação, possibilitando o download ao clicar no ícone Baixar anexo
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 el download al hacer clic en el íconoDescargar adjunto

Atención: Los documentos adjuntos provenientes de las solicitudes de compras no serán automáticamente vinculados a la cotización.
Los archivos vinculados a la cotización se enviarán al proveedor por el workflow y pueden transmitir información confidencial e interna de la Atenção: Os anexos provenientes das solicitações de compras não serão automaticamente vinculados à cotação.
Os arquivos vinculados a cotação serão enviados ao fornecedor via workflow podendo levar informações confidenciais e internas da empresa.
Por este motivo, os documentos deverão ser anexados na cotação durante a geração da mesmalos documentos deben adjuntarse a la cotización durante su generación.


[Clique na imagem Haga clic en la imagen para ampliar]

Expandir
titleFiltros

Ao acessar uma das Al acceder a una de las listas de solicitações las solicitudes de compras, independente da aba (Em aberto, Parcialmente atendidas e Atendidas), haverá uma série de Filtros que podem ser utilizados pelo usuário de forma individual ou combinada.

O Filtro por Data funciona com intervalo de duas datas (início e fim), após a seleção o filtro buscará solicitações de compras que possuem a Data de necessidade de acordo com o período selecionado.

Image Removed
[Clique na imagem para ampliar]

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.

Image Added
[Haga clic en la imagen para ampliar]

El O filtro de busca por código de produto permite a busca do produto desejado por meio do código, permitindo que o usuário insira o código completo ou parte dele.
Além disso, essa funcionalidade também está disponível na lupa que permite realizar uma busca avançada por código, descrição ou unidade 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.

[Clique na imagem Haga clic en la imagen para ampliar]
Através da Busca avançada, é possível fazer uma série de filtros sobre a solicitação desejada
Por medio de la Búsqueda avanzada, se pueden realizar una serie de filtros sobre la solicitud deseada, como: 

  • Solicitação;Solicitud
  • Solicitante;
  • Descrição do produto;

  • Filial solicitante;

  • Descripción del producto
  • Sucursal solicitante
  • Sucursal de entregaFilial entrega;
  • Centro de custocosto;
  • Conta contábil;

  • Item contábil;

  • Classe valor;
  • 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 Todos os filtros possuem a opção de selecionar a "lupa" para fazer uma busca avançada dentro do filtro desejado, mas seu uso é opcional.


[Clique na imagem Haga clic en la imagen para ampliar]

Filtros de usuário:

O El sistema permite a aplicação la aplicación de filtros de usuáriousuario. Para isso, é necessário cadastrar o comprador na rotina ello, es necesario registrar el comprador en la rutina Compradores (COMA087), no botão Botão Outras Ações en la opción Otras acciones > Filtro NecessNeces. NFC, especificar o filtro desejado e ativar o parâmetro el filtro deseado y activar el parámetro MV_FILTNFC. Para mais informações más información sobre como cómo utilizar os los filtros, consulte a documentação la documentación PCOM09013 - Compradores (COMA087), na sessão Filtro Necessidade de Compra para o Novo Fluxo de Compras en la sesión Filtro necesidad de compra para el Nuevo flujo de compras (NFC).

Expandir
titleCompra Centralizadacentralizada

Dentro da tela de Necessidade de Compra, existe o botão Dentro de la pantalla Necesidad de compra, existe la opción "Compra centralizada", onde é possível realizar a centralização de solicitações de compras para uma única filialdonde es posible realizar la centralización de solicitudes de compra para una única sucursal.

Por exemploejemplo: Iremos trocar Cambiaremos todos os notebooks das filiais, ao invés de iniciar a cotação em cada filial, nós centralizaremos todas as solicitações em uma única filial para poder cotar de uma só vez, posteriormente gerando pedidos de compra para cada uma das filiais das solicitações de compra.
Na tela de compra centralizada, temos duas listas, sendo elas:
(Esquerda) - Solicitações de todas as filiais - menos a logada/centralizadora
(Direita) - Solicitações selecionadas para serem centralizadas/transferidas para filial logada/centralizadora.
As solicitações que foram transferidas, são zeradas na filial de origem e ficam com status roxo.

Já as novas solicitações criadas na filial centralizadora, ficam com status disponível para cotação, passando a aparecer na listagem de necessidade de compra.

los notebooks de las sucursales, en lugar de iniciar la cotización en cada sucursal, centralizaremos todas las solicitudes en una única sucursal para poder cotizar de una sola vez, generando posteriormente pedidos de compra para cada una de las sucursales de las solicitudes de compra.
En la pantalla de compra centralizada, tenemos dos listas, las cuales son:
(Izquierda) - Solicitudes de todas las sucursales - menos la conectada/centralizadora
(Derecha) - Solicitudes seleccionadas para centralizar/transferir a la sucursal conectada/centralizadora.

Las solicitudes que se transfirieron, se dejan en cero en la sucursal de origen y quedan con el estatus color morado.

Ya las nuevas solicitudes creadas en la sucursal centralizadora, quedan con el estatus disponible para cotización y aparecerán en el listado de necesidad de compra.

Image Added

Todo el proceso de cotización con ítems centralizado es igual, con solamente dos cambios del proceso común:

1) No es posible incluir una cantidad disponible diferente de la cantidad solicitada.

2) Es posible configurar la generación de los pedidos de compra de acuerdo con el parámetro MV_COTFIAPImage Removed
Todo o processo de cotação com itens centralizado é igual, com apenas duas mudanças do processo comum:
1) Não é possível inserir uma quantidade disponível diferente da quantidade solicitada.2) É possível configurar a geração dos pedidos de compra de acordo com o parâmetro MV_COTFIAP, sendo:
MV_COTFIAP = E → Os pedidos serão gerados conforme filial de entrega na solicitação Los pedidos se generarán de acuerdo con la sucursal de entrega en la solicitud de compra, ou sejaes decir:

Filial Solicitação Sucursal Solicitud de Compracompra: D MG 02

Filial CentralizadoraSucursal centralizadora: D MG 01

Filial do Sucursal del pedido de compra: D MG 02
Filial Sucursal de entrega do del pedido de compra: D MG 02

MV_COTFIAP = C → Os pedidos serão gerados na filial centralizadora com filial de entrega de acordo com a origem da solicitação Los pedidos se generarán en la sucursal centralizadora con la sucursal de entrega de acuerdo con el origen de la solicitud de compra.

Filial Solicitação Sucursal Solicitud de Compracompra: D MG 02

Filial CentralizadoraSucursal centralizadora: D MG 01

Filial do Sucursal del pedido de compra: D MG 01
Filial Sucursal de entrega do del pedido de compra: D MG 02


[Clique na imagem Haga clic en la imagen para ampliar]

Expandir
titleContatos x FornecedoresContactos vs. Proveedores

Se creó un nuevo registro de Contactos vs. Proveedores para que sea posible vincular diversos contactos a un proveedor, permitiendo el envío de workflow a todos estos.
Los contactos podrán actualizarse de dos Um novo cadastro de Contatos x Fornecedores foi criado para ser possível vincular diversos contatos a um fornecedor, possibilitando o envio de workflow para todos eles.
Os contatos poderão ser atualizados de duas formas: 

1) Direto pelo novo fluxo Directo por el nuevo flujo de compras, durante a seleção la selección de fornecedoresproveedores


2) Em outras ações no cadastro de fornecedores comumEn otras acciones en el registro de proveedores común:


Cada um dos contatos cadastrados serão automaticamente carregados para tela de envio de workflow, uma vez que tenham o campo "Env uno de los contactos registrados serán automáticamente cargados a la pantalla de envío de workflow, cuando tengan el campo "¿Env WF NFC?" = Sim, caso estejam como não, o cadastro será salvo porém não será carregado automaticamente para envio do si estuviera como no, el registro se grabará, pero no se cargará automáticamente para el envío del WF


[Clique na imagem Haga clic en la imagen para ampliar]

Expandir
titleCotaçõesCotizaciones
Expandir
titleProcesso de Atualização da CotaçãoProceso de actualización de la cotización
Expandir
titleCotaçõesCotizaciones

Passo Paso 1: Para acessar as cotações, clique em Cotações, será exibido uma lista com todas as solicitações. Localize a cotação desejada para a atualização, clique na opção editar, abrirá uma página com todos os fornecedores participantes da cotação selecionada, além de exibir no topo da página, um componente para exibir as Solicitações de Compras 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

[Clique na imagem Haga clic en la imagen para ampliar]

Caso um fornecedor tenha respondido a cotação via Workflow o processo de atualização da cotação ocorrerá automaticamente mediante os valores preenchidos no formulário pelo fornecedorSi 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.

[Clique na imagem Haga clic en la imagen para ampliar]

Na hipótese de a cotação conter um fornecedor participante (não cadastrado), não será exibido em tela o código do fornecedor, loja e CNPJ/CPF, no lugar desses valores será apresentado uma indicação de Fornecedor não cadastrado

Image Removed

[Clique na imagem para ampliar]

Passo 2: Selecionar o fornecedor que deseja atualizar a cotação e clicar em “Editar”, será direcionado para a página de edição de cotação, como mostra na imagem abaixo.

Image Removed
[Clique na imagem para ampliar]
A tela de adição da cotação é dividida em seções de informações referentes a cotação. São Dados do fornecedor, valores referentes a cotação, informações de entrega, impostos totais, dados dos itens cotados  e campos customizados:
Image Removed

[Clique na imagem para ampliar]

Passo 3: Preencher os campos editáveis do cabeçalho e os campos editáveis referente aos produtos solicitados conforme a negociação ocorrida com o fornecedor. O preenchimento da Condição de pagamento é obrigatório para a salvar a atualização da cotação. À medida que o usuário preenche os campos com os valores dos itens, o total é calculado automaticamente, permitindo que o usuário visualize os valores enquanto a cotação está sendo preenchida.

O preenchimento da Condição de pagamento é obrigatória para a salvar a atualização da cotação.

Image Removed
[Clique na imagem para ampliar]

Também é possível utilizar a tabela de preço vinculada ao fornecedor(Cadastro de Produto x Fornecedor) para preencher os preços unitários de forma automática, esse processo pode ser feito de duas formas:

  • Digitando manualmente o código da tabela de preço no campo "Cod. Tab - C8_CODTAB", o sistema irá buscar o valor do produto na tabela de preço e preencherá automaticamente na linha.
  • Clicando em Outras ações > Tabela de preço, irá buscar a tabela vinculada no cadastro de produto x fornecedor e de forma automática preencherá o valor de todos os produtos da cotação.
    Obs: Para ambos os processos, manual ou automático, é necessário o vínculo da tabela de preço com o cadastro de Produto x Fornecedor.
    Image Removed

    Para calcular os impostos, referentes aos produtos da cotação, clique em "Outras ações" localizado na parte superior da tela, em seguida selecione a opção Calcular impostos. Os impostos serão calculados em tela e somados ao valor total da cotação. O calculo é baseado nas configurações fiscais cadastradas no produto e no fornecedor realizará os cálculos de impostos

    Image Removed
    [Clique na imagem para ampliar]

    Passo 4: Após preencher parcialmente ou totalmente os dados dos produtos solicitados na cotação, o status será atualizado para Parcial ou Completa e a cotação já poderá ser analisada. No exemplo abaixo podemos ver a primeira cotação Completa com zero itens pendentes e  a cotação a baixo Parcial com um item pendente.

    Image Removed

    [Clique na imagem para ampliar]

    Passo 5: Caso o ambiente esteja configurado com parâmetro MV_SELFOR inativo (N) ao clicar no botão "Novo participante" será exibida a tela de amarração de Fornecedor x Produto. Exibindo os produtos e os fornecedores vinculados a ele. Para este ambiente não será possível adicionar fornecedores participantes.

    Image Removed

    [Clique na imagem para ampliar]

    Passo 6:  Na tela Seleção de Fornecedores X Produto selecione os fornecedores vinculados ao produto como mostra a imagem abaixo.

    Image Removed

    [Clique na imagem para ampliar]

    Passo 7: Caso haja necessidade de atualizar o contato de algum fornecedor poderá realizar esta tarefa sem sair da tela clicando no botão Atualizar Contato

    Image Removed

    [Clique na imagem para ampliar]

    Passo 8: Após a geração das propostas para o novo fornecedor, será exibida a tela de envio de e-mails e anexos.

    Image Removed

    [Clique na imagem 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

    Image Added

    [Haga clic en la imagen para ampliar]

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


    Image Added
    [Haga clic en la imagen para ampliar]

    La pantalla de edició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:

    Image Added

    [Haga clic en la imagen para ampliar]

    Paso 3: Complete los campos editables del encabezado y los campos editables relacionados a los productos solicitados, según 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 completa los campos con los valores de los ítems, el total se calcula automáticamente, permitiendo que el usuario visualice los valores mientas la cotización está completándose.

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

    Image Added
    [Haga clic en la imagen para ampliar]

    También es posible utilizar la lista de precio vinculada al proveedor (Registro de Producto vs. Proveedor) para completar los precios unitarios de forma automática, este proceso puede realizarse de dos formas:

    • Digitando manualmente el código de la lista de precio en el campo "Cód. Lta - C8_CODTAB", el sistema buscará el valor del producto en la lista de precios y completará automáticamente la línea.
    • Al hacer clic en Otras acciones > Lista de precios, buscará la lista vinculada al registro de Producto vs. Proveedor y de forma automática completará el valor de todos los productos de la cotización.

              Obs: Para ambos procesos, manual o automático, es necesario el vínculo de la lista de precios con el registro de Producto vs. Proveedor.


    Image Added

    Para calcular los impuestos, referentes a los productos de la cotización, haga clic en "Otras acciones" ubicada 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, con base en las configuraciones fiscales registradas en el producto y en el proveedor, realizará el cálculo de los impuestos


    Image Added
    [Haga clic en la imagen para ampliar]


    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.

    Image Added

    [Haga clic en la imagen para ampliar]

    Paso 5: Si el entorno estuviera configurado con el parámetro MV_SELFOR inactivo (N), al hacer clic en la opción "Nuevo participante" se muestra la pantalla de vínculo de Proveedor vs. Producto. Mostrando los productos y los proveedores vinculados a este. Para dicho entorno no se podrán agregar proveedores participantes.

    Image Added

    [Haga clic en la imagen para ampliar]

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

    Image Added

    [Haga clic en la imagen para ampliar]

    Paso 7: Si fuera 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

    Image Added

    [Haga clic en la imagen para ampliar]

    Paso 8: Después de generar las propuestas para el nuevo proveedor, se mostrará la pantalla de envío de e-mails y documentos adjuntos.

    Image Added

    [Haga clic en la imagen para ampliar]

  • O comprador pode colocar a quantidade desejada para cada item em tela, selecionando se deseja gerar Pedido de Compra ou Contrato.
  • Após, basta clicar em Gerar documentos, para finalizar o processo.
  • Caso tenha realizado uma compra onde a Quantidade a ser adquirida seja menor que o saldo, o sistema automaticamente irá tirar o valor adquirido do saldo do item para ajustar a compra feita pelo comprador.
    Image Removed 
    Ao tentar realizar uma nova compra, o saldo disponível exibido será menor, visto que já houve compras realizadas anteriormente.
    Image Removed
    [Clique na imagem para ampliar]
  • Quando o comprador fechar o pedido ou contrato com valores inferiores ao saldo, a Cotação ficará com o status Atendido Parcialmente, demonstrando que para aquela cotação, o saldo total ainda não foi comprado. Assim, o comprador pode voltar nessa cotação e realizar os mesmos procedimentos descritos nesse item, para realizar a compra do saldo restante, podendo gerar tanto Pedido de Compra ou Contrato, independente de como foi feito a primeira vez. 
    • Quando a cotação fica no status Atendido Parcialmente, ao tentar editar a cotação, não será possível incluir novas propostas, novo participante ou alterar valores, visto que a cotação já teve compras correspondentes.
    • Além disso, quando a compra fica no status Atendido Parcialmente, ao acessar a Análise da Cotação, a aba Por Proposta fica inativa, exibindo uma mensagem e não sendo mais possível fechar a análise por proposta, visto que já temos a análise por item feita.
    • A coluna Quantidade Solicitada informa a quantidade solicitada pelo comprador de acordo com a geração da cotação, a coluna Qtd. disponível Fornecedor informa a quantidade de itens disponíveis no fornecedor.
  • Expandir
    titleProceso de análisis de cotización
    Expandir
    titleAnálisis por propuesta


    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.


    Image Added

    [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

    Image Added
    [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.

    Image Added
    [Haga clic en la imagen para ampliar]

    Paso 3: 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 
    Image Added

    [Haga clic en la imagen para ampliar]


    Generación del pedido de compra: Después de finalizar el proceso, el sistema muestra un mensaje con el código del pedido generado.

    Image Added


    Generación del contrato: Después de hacer clic en "Generar documento" para el tipo Contrato, informe los campos editables de "Condición de pago" y "Tipo de contrato" en el encabezado, después de finalizar el proceso se devolverá el código del contrato generado. 

    La cumplimentación de estos campos es obligatoria para grabar la inclusión del contrato.

    Image Added

    Informações

    Si desea considerar los tipos de contrato diferentes del tipo fijo, es necesario desactivar el parámetro MV_VLDTPFI.


    Generación del contrato: 

    Expandir
    titleAnálisis por ítem

    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. 

    Observación: A partir de la actualización de Julio/2024, el mejor precio vendrá seleccionado automáticamente. El mejor precio está compuesto por el siguiente cálculo: ( (valor unitario + valor flete + valor seguro + valor gasto) - (valor descuento) ), recordando que los valores de flete + seguro + gasto - descuento es proporcional a los otros ítems de la cotización.

    Image Added

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

    Image Added

    [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, si se generará un Pedido de compra o un Contrato.

    Image Added

    • 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. Además, se mostrará el campo de observaciones, que se muestra al proveedor.
    • 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. Logotipo:

      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 adquirió fuera menor que el saldo, el sistema automáticamente retirará el valor adquirido del saldo del ítem, para ajustar la compra realizada por el comprador.
      Image Added 


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

      Image Added
      [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 Cant. Disponible proveedor informa la cantidad de ítems disponibles en el proveedor.
    Informações

    Si desea reabrir la cotización, es necesario activar el parámetro MV_PCEXCOT y, a continuación, realizar el borrado del Pedido de compra o Contrato. Para más informaciones Haga clic aquí.


    Generación del pedido de compra: Después de finalizar el proceso, el sistema muestra un mensaje con el código del pedido generado.

    Image Added


    Generación del contrato: Después de hacer clic en "Generar documento" para el tipo Contrato, complete los campos editables de "Condición de pago" y "Tipo de contrato" en el encabezado, después de finalizar el proceso, se devolverá el código del contrato generado. 
    La cumplimentación de estos campos es obligatoria para grabar la inclusión del contrato.

    Si se selecciona más de un proveedor el sistema abrirá las siguientes opciones para adición del contrato, siendo estas: 

    • Contrato único: Se generará un único contrato para todos los proveedores seleccionados en la formalización de la propuesta.

      Image Added

    • Contrato separado: Se generará un contrato por cada proveedor seleccionado en la formalización de la propuesta.

      Image Added

      Informações

      Si desea considerar los tipos de contrato diferentes del tipo fijo, es necesario desactivar el parámetro

    Expandir
    titleProcesso de Análise da Cotação

    Passo 1: Para iniciar uma análise de cotação e necessário que a cotação possua o status Pronto para Analisar. Na tela de listagem de cotações pressione Outras ações e selecione a opção de Analisar.

    Image Removed

    [Clique na imagem para ampliar]

    Passo 2: A análise da cotação poderá ser realizada Por Proposta ou Por Item. A análise por proposta necessita que todos os produtos solicitados tenham passado por atualização da cotação de pelo menos um fornecedor, ou seja, precisam estar com o status Completa apois a edição da cotação.
    Através dos cards de proposta pode-se realizar a comparação entre os fornecedores para entender quem tem o Melhor preço sem impostos, Melhor preço com impostos, Menor prazo e Melhor nota

    Image Removed
    [Clique na imagem para ampliar]

    Passo 3:Após a decisão do fornecedor vencedor da cotação, clique em Gerar para iniciar o processo de pedido de compras.

    Image Removed
    [Clique na imagem para ampliar]

    Passo 3:  Na tela de Formalização da proposta o usuario poderá selecionar se será um pedido ou um contrato para essa cotação, após isso clique no botão de Gerar documentos 
    Image Removed

    [Clique na imagem para ampliar]

    Geração do Pedido de Compra:  Após finalizado o processo o sistema exibirá uma mensagem com o código do pedido gerado.

    Image Removed

    Geração do Contrato: Após clicar em "Gerar Documento" para o tipo Contrato, preencha os campos editáveis de "Condição de Pagamento" e "Tipo de Contrato" no cabeçalho, após finalizado o processo será retornado o código do contrato gerado. 

    O preenchimento desses campos é obrigatório para salvar a inclusão do contrato.

    Image Removed

    Expandir
    titleAnálise Por proposta
    Informações

    Caso deseje considerar tipos de contrato diferentes do tipo fixo, é necessário desativar o parâmetro MV_VLDTPFI.

    Geração do Contrato: 

    Expandir
    titleAnálise Por item

    Passo 1: Ao selecionar a opção de analisar Por Item conseguirá comparar as propostas de cada fornecedor para o item em questão, e poderá utilizar os status referente a média de preços para auxiliar na escolha do vencedor do item da cotação. 

    Observação: A partir da atualização de Julho/2024 o melhor preço já virá selecionado automaticamente. O melhor preço é composto do seguinte cálculo: ( (valor unitário + valor frete + valor seguro + valor despesa) - (valor desconto) ), lembrando que os valores de frete + seguro + despesa - desconto é proporcional aos demais itens da cotação.

    Image Removed

    [Clique na imagem para ampliar]

    Passo 2: Após a decisão do(s) fornecedor(es) vencedor(es) da cotação clique em Gerar, para iniciar o processo de pedido ou contrato;.

    Image Removed

    [Clique na imagem para ampliar]

    Passo 3: Na página de Formalização das propostas, usuário poderá escolher item a item, se será gerado um Pedido de Compra ou um Contrato.
    Image Removed
  • Para cada item, será exibido o saldo total disponível, bem como o campo Quantidade a ser adquirida, pois quando optado por Item, o comprador pode realizar compras parciais, ou seja, comprar uma determinada quantidade e retornar depois, para comprar o restante da quantidade. Além disso, será exibido o campo de observações, que é exibido ao fornecedor.
  • Por padrão, o campo Quantidade a ser adquirida já é preenchido com o mesmo valor do saldo disponível. O comprador - nesse campo - pode inserir um valor maior que zero e igual ou menor que o saldo disponível, para fechar o pedido. Logo:

    Valor SaldoValor Quantidade a ser adquiridaResultado
    3030Ação será realizada, pois a quantidade inserida está de acordo com o saldo existente (quantidade a ser adquirida igual a saldo disponível).
    3031

    O usuário será alertado, informando que a quantidade inserida é maior que o saldo disponível. Automaticamente, o sistema irá preencher o campo Quantidade a ser adquirida com o valor 30 (valor do saldo).

    3015

    Ação será realizada, pois a quantidade inserida está de acordo com o saldo existente (quantidade a ser adquirida menor que o saldo disponível).

    300

    O usuário será alertado, informando que a quantidade inserida deve ser maior que zero. Automaticamente, o sistema irá preencher o campo Quantidade a ser adquirida com o valor 30 (valor do saldo).

    30-5

    O usuário será alertado, informando que a quantidade inserida deve ser maior que zero. Automaticamente, o sistema irá preencher o campo Quantidade a ser adquirida com o valor 30 (valor do saldo).

    Informações

    Caso queira reabrir a cotação, é necessário ativar o parâmetro MV_PCEXCOT e, em seguida, realizar a exclusão do Pedido de Compra ou Contrato. Para mais informações clique aqui .

    Geração do Pedido de Compra: Após finalizado o processo o sistema exibirá uma mensagem com o código do pedido gerado.

    Image Removed

    Geração do Contrato: Após clicar em "Gerar Documento" para o tipo Contrato, preencha os campos editáveis de "Condição de Pagamento" e "Tipo de Contrato" no cabeçalho, após finalizado o processo será retornado o código do contrato gerado. 
    O preenchimento desses campos é obrigatório para salvar a inclusão do contrato.

    Caso seja selecionado mais de um fornecedor o sistema abrirá as opções para adição do contrato, sendo elas: 

    • Contrato Único: Será gerado um único contrato para todos os fornecedores selecionados na formalização da proposta.
      Image Removed
      Contrato Separado: Será gerado um contrato por cada fornecedor selecionado na formalização da proposta.
      Image Removed
      Informações

      Caso deseje considerar tipos de contrato diferentes do tipo fixo, é necessário desativar o parâmetro MV_VLDTPFI.

    Expandir
    titleFuncionalidades
    Expandir
    titleLista de cotaçõescotizaciones

    Haciendo 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.
    • Descarga (download), adición y eliminación de adjuntos.

    Image Added
    [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

    Clicando em Cotações o usuário será direcionado para a listagem de cotações.

    A tela de Cotações é possível:

    • Buscar cotação por código, apelido da cotação e status.
    • Editar, excluir e análisar cotação.
    • Download, adição e exclusão de anexos.

    Image Removed
    [Clique na imagem para ampliar]

    As cotações podem ser identificadas por código ou apelido, e a situação pode ser identificada através dos status abaixo: 

    1. Pendente: Situação na qual a cotação ainda não possui nenhuma proposta completa recebida;
    2. Pronto para analisar: Quando existe pelo menos uma proposta completa para ser analisada;
    3. Em análise : Quando apenas um item foi cotado deixando assim a cotação parcialmente atendida. 
    4. Finalizada: Quando a cotação tiver sido completamente atendida
    Expandir
    titleAnexosDocumentos adjuntos

    En la pantalla de listado de cotizaciones, se podrán identificar cotizaciones que tengan adjuntos del icono Clip en la columna adjuntaNa tela de listagem de cotações, será possível identificar cotações que possuam anexos através do ícone de clipe na coluna Anexo.


    [Clique na imagem Haga clic en la imagen para ampliar]

    O ícone ficará visível nas seguintes situações:

    1.  Na Necessidade de Compras foi adicionado anexos à cotação no monento da geração.
    2.  Foi adicionado anexo posteriormente na tela de listagem de cotações.

    Ao clicar no ícone, será aberta uma nova janela, onde estarão listados todos anexos vinculados aquela cotação, podendo realizar o download e exclusão dos arquivos.

    Importante: Os anexos listados estão vinculados a cotação e não aos fornecedores.

    Image Removed

    [Clique na imagem para ampliar]

    É possível adicionar novos anexos a uma cotação. Após a adição caso a cotação não possua anexo, passará a ter o ícone de clipe, evidenciando que a cotação agora possui anexo. Sendo possível anexar um ou mais arquivos de uma vez.

    Image Removed
    [Clique na imagem para ampliar]

    Se um documento a ser anexado já existir na base de conhecimento, será apresentada a mensagem abaixo:

    El icono quedará visible en las siguientes situaciones:

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

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

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


    Image Added

    [Haga clic en la imagen para ampliar]

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

    Image Added
    [Haga clic en la imagen para ampliar]


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

    Image Added
    [Haga clic en la imagen Image Removed
    [Clique na imagem para ampliar]

    Expandir
    titleFiltros

    Ao acessar uma das Al acceder a una de las listas de cotaçõescotizaciones, haverá dois tendremos dos campos de busca búsqueda que podem pueden ser utilizados pelo usuário de forma individual ou por el usuario de manera individual o combinada.


    OEl Filtro por número ou apelido da cotação, realiza a busca pelo código da cotação desejado (informado na solicitação de cotação) ou apelido (estabelecido pelo usuário no momento da geração), para esta utilização e possível inserir o código ou apelido inteiro ou apenas parte dele.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.

    Image Added
    [Haga clic en la imagen Image Removed
    [Clique na imagem para ampliar]


    [Clique na imagem Haga clic en la imagen para ampliar]

    O Filtro El filtro por Tipo de statusestatus, por padrão ao acessar a estándar al acceder a la lista de cotações, já virá pré-estabelecido cotizaciones, vendrá informado previamente como Todos. Porém o usuário poderá definir qual status de cotação deseja visualizar, sendo elesPero el usuario podrá definir el estatus de la cotización que desea visualizar, donde:

    • Todos;Pendente;
    • Pendiente
    • Pronto Listo para analisar;Em análise;analizar
    • En análisis
    • Finalizada.

    [Clique na imagem Haga clic en la imagen para ampliar]


    Através da Busca avançada, é possível fazer uma série Por medio de la Búsqueda avanzada, es posible hacer una serie de filtros combinados sobre a cotação desejadala cotización deseada, como: 

    • Compradores;Comprdores
    • Num. Pedido de Compra compra (Número do Pedido del pedido de Compracompra);
    • Número do Contratodel contrato;


    O El Filtro por Comprador permite a busca com base no(sbuscar con base en el(os) Comprador(es) desejadodeseado(s). O usuário pode pesquisar todas as solicitações geradas por um ou mais compradores selecionados no filtro como mostra a imagem abaixoEl usuario puede buscar todas las solicitudes generadas por uno o más compradores seleccionados en el filtro, como muestra la siguiente imagen.

    [Clique na imagem Haga clic en la imagen para ampliar]


    O El Filtro por Número do Pedido de Compra permite a busca com base no(s) número de pedido de compra permite la búsqueda con base en el/los Pedido(s) de Compracompra(s) geradogenerado(s) a partir da Cotação. O usuário pode pesquisar pelo número completo ou pela referência do Pedido selecionado no filtro, como mostra a imagem abaixode la Cotización. El usuario puede buscar por el número completo o por la referencia del Pedido seleccionado en el filtro, como muestra la siguiente imagen.

    [Clique na imagem Haga clic en la imagen para ampliar]


    O El Filtro por Número do Contrato permite a busca com base no(s) número del contrato permite la búsqueda con base en el/los Contrato(s) geradogenerado(s) a partir da Cotação desejada. O usuário pode pesquisar pelo número completo ou pela referência do Contrato selecionado no filtro, como mostra a imagem abaixode la Cotización deseada. El usuario puede buscar por el número completo o por la referencia del Contrato seleccionado en el filtro, como muestra la siguiente imagen.

    [Clique na imagem Haga clic en la imagen para ampliar]


    Expandir
    titleEditar
    Expandir
    titleEditar

    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

    Com os orçamentos dos fornecedores em mãos, deverá ser realizada a edição da proposta a fim de inserir os valores passados por orçamento.

    Para isto, na tela de listagem de cotações, ao clicar nos três pontos no início linha, existe a opção Editar.


    [Clique na imagem Haga clic en la imagen para ampliar]

    Será apresentada a tela com todos os fornecedores que estão participando do processo com algumas informações pertinentes a proposta, são elas:

    Se mostrará 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
      Status da proposta:
      • Pendente;
      • Completa;
      • Completa (E-mail);
      • Parcial;
      • Parcial (E-mail);Desqualificada;
      • Descalificada
      • Recusada;
      • Não atende;
      • Rechazada
      • No cumple
      • No cumple Não atende (E-mail).
    • Nome do fornecedor;
    • Código e loja do fornecedor;
    • CNPJ ou CPF;
    • Total da proposta de cotação deste fornecedor(Caso ainda não foi atualizada, estará zero);
    • Itens pendentes de atualização de preço.
    • Botão de edição.

    Em outras ações:

    • 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.
    • Visualização da cotação;
    • Desqualificar fornecedo;
    • Enviar e-mail;
    • Anexos;
    • Nova proposta manual;
    • Nova proposta workflow;
    • Documentos adjuntos
    • Nueva propuesta manual
    • Nueva propuesta workflow
    • Eliminar propuestaExcluir proposta.


    [Clique na imagem Haga clic en la imagen para ampliar]

    Expandir
    titleNovo Nuevo participante

    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

    Se o usuário desejar incorporar um novo participante após a criação da cotação, ele poderá fazê-lo na tela de Edição da Cotação, onde encontrará um botão localizado no canto superior direito com essa finalidade (Novo participante). Ao clicar nesse botão, o usuário será redirecionado para uma página onde poderá inserir as informações do novo fornecedor participante. No caso de um fornecedor já cadastrado, após inserir o código do fornecedor, os dados serão automaticamente preenchidos, como exemplificado na imagem abaixo.

    Atenção: Quando uma cotação é gerada com amarração de produto x fornecedor não será possível adicionar um novo participante


    [Clique na imagem Haga clic en la imagen para ampliar]

    Para fornecedores ainda não cadastrados selecione a opção "Não" no campo "Fornecedor cadastrado?" e preencha o campo de Razão proveedor aún no registrados, seleccione la opción "No" en el campo "¿Proveedor registrado?" y complete el campo Razón social


    [Clique na imagem Haga clic en la imagen para ampliar]

    Expandir
    titleEdiçãoEdición

    Al hacer clic en Editar, se abrirá la pantalla de edición de la propuesta del proveedorAo clicar em Editar, será aberta a tela de edição da proposta do fornecedor.


    [Clique na imagem Haga clic en la imagen para ampliar]

    Essa tela é dividida em seções de informações , como detalhado abaixoEsta pantalla se divide en secciones de informaciones, como se detalla a continuación:

    1.    Dados do Fornecedor Datos del proveedor:

         ●    Código do fornecedordel proveedor;
         ●    Loja Tienda;
         ●    Nome do contato Nombre del contacto;
         ●    E-mail;
         ●    Número da propostade la propuesta.

    2.    Detalhes  Detallles de valores referentes a Cotaçãola Cotización:
         ●    Total de itensítems;
         ●    Total da cotação de la cotización (considerando todos os los valores, como itensítems, freteflete, descontosdescuentos, impostosimpuestos, entre outrosotros);
         ●    Descontos Descuentos;
         ●    Tipo de freteflete;
         ●    Valor do fretedel flete;
         ●    Despesas Gastos;
         ●    Condições  Condiciones de pagamentopago;
         ●    Moeda Moneda;
         ●    Seguro.

    3.    Informações Informaciones de entrega:
         ●    Dias  Días para entrega;
         ●    Endereço  Dirección de entrega;
         ●    CidadeCiudad;
         ●    Bairro Barrio;
         ●    CEP CP.


    4.    Impostos totaisImpuestos totales:
         ●    Valor IPI;
         ●    Valor ICMS ;
         ●    Valor ISS;
         ●    Entre outros impostosotros impuestos.
     

    5.    Informações dos Itens da Cotação Informaciones de los ítems de la cotización:

         ●    Código do ProdutoCódigo del producto;
         ●    Descrição Descripción;
         ●    Unidade  Unidad de medida;
         ●    Situação do item  Situación del ítem (considera, sem estoquesin stock, não no vende);
         ●    Quantidade  Cantidad solicitada;
         ●    Quantidade disponível Cantidad disponible;
         ●    Preço unitário Precio unitario;
         ●    Total do itemdel ítem;
         ●    Descontos Descuentos;
         ●    Tipo de entrada;
         ●    Observações Observaciones;
         ●    Campos customizadospersonalizados;
         ●    Impostos ItemImpuestos ítem.

    DescontosDescuentos:

    • Os descontos poderão ser inseridos de duas formasLos descuentos se podrán incluir de dos maneras:
    1. Global para cotaçãocotización, ou seja, ao preencher o desconto % ou descontos em valor no cabeçalho, o desconto será rateado para todos os produtos;
      Image Removed
      [Clique na imagem es decir, al completar el descuento % o los descuentos en valor en el encabezado, el descuento se prorrateará para todos los productos.

      Image Added
      [Haga clic en la imagen para ampliar]

    2. Por itemítem, ou seja, ao preencher o desconto no item, o desconto é aplicado somente naquele item e somado no totalizador Descontos no cabeçalhoes decir, al informar el descuento en el ítem, el descuento se aplica solamente en dicho ítem y se suma al totalizador Descuentos en el encabezado.


      [Clique na imagem Haga clic en la imagen para ampliar]

    Importante¹: Não é possível inserir desconto global em combinação com desconto por itemNo se puede incluir el descuento global en conjunto con el descuento por ítem.

    Importante²: Os totalizadores serão atualizados automaticamente sempre que um produto for atualizadoLos totalizadores se actualizarán automáticamente siempre que un producto se actualice..

    Expandir
    titleStatus da propostaEstatus de la propuesta

    El listado de propuestas dispone A listagem de propostas dispõe de tags informativas para indicar o status el estatus de cada propostapropuesta.

    As Las respectivas tags sãoson

    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. Pendente: Situação na qual a proposta ainda não possui nenhum item com valor e quantidade preenchido;
    4. Parcial: Quando existe ao menos um item preenchido;
    5. Parcial (E-mail): Quando Cuando existe ao menos um item preenchido respondido via por lo menos un ítem informado y que se respondió mediante el workflow;
    6. Completa: Quando todos os itens da proposta estão preenchidos. Cuando todos los ítems de la propuesta están informados;
    7. Completa (E-mail): Quando todos os itens da proposta estão preenchidos e foram respondidos via workflow;
    8. Desqualificada: Quando um fornecedor for desqualificado da cotação;
    9. Recusada: Ocorre quando o fornecedor recusa a proposta;
    10. Não atende: A proposta foi respondida como sem estoque ou Não vende;
    11. Cuando todos los ítems de la propuesta están informados y se respondieron mediante el workflow.
    12. Descalificada: Cuando un proveedor sea descalificado de la cotización;
    13. Rechazada: Ocurre cuando el proveedor rechaza la propuesta;
    14. No cumple: La propuesta se respondió como sin stock o No vende;
    15. No cumple Não atende (E-mail): A proposta foi respondida como sem estoque ou Não vende via WorkflowLa propuesta se respondió como sin stock o No vende mediante el workflow.

    [Clique na imagem Haga clic en la imagen para ampliar]

    Expandir
    titleEnviar e-mail

    Na listagem das cotações é possível enviar um En el listado de las cotizaciones es posible enviar un e-mail de cotação via workflow para o participante a partir da opção cotización vía workflow al participante, a partir de la opción Enviar e-mail. Além disso é também é possível selecionar as condições de pagamento que o fornecedor poderá visualizar no formulário de resposta da cotaçãoAdemás, también es posible seleccionar las condiciones de pago que el proveedor podrá visualizar en el formulario de respuesta de la cotización.


    [Clique na imagem Haga clic en la imagen para ampliar]

    É possível enviar o formulário Es posible enviar el formulario de workflow para múltiplos a múltiples e-mails, ou seja, para vários es decir, a varios vendedores. Contudo, apenas a primeira resposta recebida será considerada e processada.Sin embardo, solamente la primera respuesta recibida 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 Caso necessário, poderá ser enviado alguma informação complementar utilizando o campo observação e escolher se deseja enviar os anexos vinculados a cotação neste e-mail.


    [Clique na imagem Haga clic en la imagen para ampliar]

    Expandir
    titleAnexosDocumentos adjuntos

    En la lista de proveedores participantes de la cotización, se pueden agregar documentos adjuntos que se vincularán a los proveedores. La opción se encuentra en otras acciones, documento(s) adjuntoNa listagem de fornecedores participantes da cotação, é possível adicionar anexos que serão vinculados aos fornecedores. A opção se encontra em outras ações, Anexo(s).


    [Clique na imagem Haga clic en la imagen para ampliar]

    Expandir
    titleDesqualificarDescalificar

    Si fuera 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.

    Image Added
    [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 el proveedor nuevamente, para que vuelva a participar de la cotización.

    Importante: Cuando se califica al proveedor, la propuesta tendrá todos los valores en cero y volverá al estatus Pendiente.

    Image Added
    [Haga clic en la imagen

    Caso necessário retirar um fornecedor da cotação, poderá ser utilizada a opção de desqualificação.

    Nesta opção, o fornecedor não será considerado para as próximas etapas, bem como terá os valores inseridos na proposta zerados.
    Também é possível inserir uma justificativa ou observação para desqualificação do fornecedor.

    Image Removed
    [Clique na imagem para ampliar]

    Quando o fornecedor for desqualificado, não será possível atualizar valores da proposta. Sendo possível apenas a visualização.

    Caso seja necessário, será possível Qualificar o fornecedor novamente, para que ele volte a participar da cotação.

    Importante: Ao Qualificar o fornecedor, a proposta terá todos os valores zerados e voltará para o status Pendente.

    Image Removed
    [Clique na imagem para ampliar]

    Expandir
    titleImpostosImpuestos

    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 ítemNa tela de edição da cotação, é possível calcular e visualizar uma prévia do cálculo dos impostos seja da proposta como um todo ou por item.

    Importante: Para o cálculo ocorrer corretamente, devemos:que el cálculo ocurra correctamente, debemos:

    • Tener un TES vinculado al producto en cuestión (Campo Bs1Ter uma TES vinculada ao produto em questão (Campo B1_TE)
    • Preencher os Informe los valores de todos os itens
    • Selecionar uma condição de pagamento

    Ao clicar no botão Calcular impostos o processo será iniciado, após finalização será possível visualizar os valores referentes aos impostos na seção Impostos totais e na seção de Itens da cotação, como demostrado abaixo. Além disso, o cálculo já considera os valores dos Tributos Genéricos, configurados no Configurador de Tributos, caso a organização já esteja utilizando o mesmo.

    • los ítems
    • Seleccione una condición de pago

    Al hacer clic en la opción Calcular impuestos se iniciará el proceso, después de la finalización, será posible visualizar los valores referentes a los impuestos en la sección Impuestos totales y en la sección Ítems de la cotización, como se muestra a continuación. Además, el cálculo considera los valores de los Tributos genéricos, configurados en el Configurador de tributos, si la organización ya estuviera utilizándolo.

    Importante: El cálculo de impuestos es solo para poder visualizar, no se pueden modificar Importante: O cálculo de impostos é apenas para visualização, não sendo possível alterar valores


    [Clique na imagem Haga clic en la imagen para ampliar]


    Expandir
    titleDescontosDescuentos

    Durante o preenchimento de uma proposta, temos Descontos por item e la cumplimentación de una propuesta, tenemos Descuentos por ítem y global.

    Desconto Descuento por itemítem:O desconto

    por item é aplicado somente a um ou mais itens, sendo somados os valores no campo de Desconto no cabeçalhoEl 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.


    [Clique na imagem Haga clic en la imagen para ampliar]

    Desconto Descuento global:

    O desconto global será disparado ao preencher o desconto por % ou valor,  tendo o valor de desconto rateado para todos os itens 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.

    [Clique na imagem Haga clic en la imagen para ampliar]

    Expandir
    titleVisualizar

    É possível visualizar uma proposta apenas para checagem de dados, sem possibilidade de alterar, inserir ou excluir dados. Esta opção é muito importante para visualizar propostas desqualificadas ou 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.


    [Clique na imagem Haga clic en la imagen para ampliar]

    Expandir
    titleNova propostaNueva propuesta

    Se puede generar una nueva propuesta para modificar valores y lograr mantener un historial de negociacionesÉ possível gerar uma nova proposta para alterar valores e conseguir manter um histórico de negociações.


    [Clique na imagem Haga clic en la imagen para ampliar]

    Nova proposta Nueva propuesta manual:

    Ao escolher a opção de criar uma nova proposta manual, você será direcionado para uma tela onde terá a opção de manter ou não os valores da proposta atual. Após essa etapa, você terá acesso a uma nova tela onde poderá preencher, ou alterar, os valores antes de finalizar a criação da nova proposta.

    Image Removed

    [Clique na imagem para ampliar]

    Nova proposta workflow:
    Ao selecionar a opção de nova proposta workflow, será exibida uma tela onde é possível informar se deseja ou não manter os valores da proposta atual, selecionar as condições de pagamento, informar um ou mais e-mails para receber o formulário e a obervação. Ao clicar em enviar e-mail, será gerada uma nova proposta e enviado um novo workflow.

    Image Removed

    [Clique na imagem para ampliar]

    Se o fornecedor tiver mais de uma proposta, e se necessário, é possível fazer a exclusão da proposta vigente, como podemos observar abaixo.

    Image Removed

    Al seleccionar la opción de crear una nueva propuesta manual, será enviado a una pantalla donde tendrá la opción de mantener los valores de la propuesta actual. Después de esta etapa, tendrá acceso a una nueva pantalla donde podrá informar o modificar los valores antes de finalizar la creación de la nueva propuesta.

    Image Added

    [Haga clic en la imagen para ampliar]

    Nueva propuesta workflow:
    Al seleccionar la opción de nueva propuesta workflow, aparecerá una pantalla donde es posible informar si desea o no mantener los valores de la propuesta actual, seleccionar las condiciones pago, informar 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.

    Image Added

    [Haga clic en la imagen para ampliar]

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

    Image Added

    [Haga clic en la imagen [Clique na imagem para ampliar]

    Expandir
    titleItens da cotação - Excluir item não utilizadoÍtems de la cotización - Borrar ítem no utilizado

    En la pantalla Editar cotización, tenemos un grupo inicial llamado Ítems de la cotización.

    Al hacer clic en este grupo, la lista se expande y muestra todos los ítems que están vinculados en la cotización actual, es decir, muestra los productos que están siendo cotizados. Si entiende que un ítem ya no es necesario y desea borrar este ítem de la cotización, tenemos la opción Eliminar, que queda enfrente de cada ítem que consta en la cotización.

    Al hacer clic en eliminar, el sistema muestra una modal, informando si realmente desea borrar el ítem de la cotización, detallando el ítem seleccionado e informando que al realizar la eliminación, no es posible revertir el proceso

    Na tela de Editar Cotação, temos um grupo inicial chamado Itens da Cotação.

    Ao clicar nesse grupo, a lista é expandida e exibe todos os itens que estão associados na cotação atual, ou seja, exibe os produtos que estão sendo cotados. Caso entenda que um item não seja mais necessário e deseja excluir esse item da cotação, temos a opção Remover, que fica na frente de cada item constante na cotação.

    Ao clicar em remover, o sistema exibe uma modal, informando se deseja realmente excluir o item da cotação, detalhando o item selecionado e informando que ao realizar a remoção, não é possível reverter o processo

    Aviso
    titleAtençãoAtención

    Si el ítem que se borrará fue agrupado, aunque se muestre por separado cada ítem en el grupo Ítems de la cotización, cuando se borre cualquiera de los que estén en la agrupación, todos se borrarán, ya que el sistema graba la agrupación como ítem único en la Caso o item a ser deletado tenha sido agrupado, apesar de ser mostrado separadamente cada item no grupo Itens da Cotação, ao excluir qualquer um que esteja no agrupamento, todos serão deletados, visto que o sistema grava o agrupamento como item único na SC8.


    [Clique na imagem Haga clic en la imagen para ampliar]

    Expandir
    titleAnalisarAnalizar
    Expandir
    titleAnálise Análisis por propostapropuesta

    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 de listado de cotizaciones, al hacer clic en los tres puntos al inicio de la línea, tenemos la opción Analizar.

    Image Added
    [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 sin impuestos
    • Total con impuestos
    • Valor total del flete
    • Plazo de entrega

    Image Added
    [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.

    Por estándar, la ordenación se realiza por medio del mejor precio sin impuestos.

    Image Added
    [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.

    Image Added
    [Haga clic en la imagen

    Quando o status da cotação estiver igual a Pronto para analisar será possível iniciar o processo de análise, a fim de verificar as melhores condições ofertadas.
    O processo de análise, se divide em dois tipos: 

    1. Análise por proposta.
    2. Análise por item.

    Análise por proposta:

    Consiste em mostrar todas as propostas completas, ou seja, que possuem todos os itens preenchidos, para análise das condições.

    Na tela de listagem de cotações, ao clicar nos três pontos no início da linha, temos a opção Analisar.

    Image Removed
    [Clique na imagem para ampliar]

    As informações mais relevantes além dos dados do fornecedor, serão mostradas dentro do card, como:

    • Total sem impostos
    • Total com impostos
    • Valor total de frete
    • Prazo de entrega

    Image Removed
    [Clique na imagem para ampliar]

    As propostas poderão ser ordenadas por:

    • Melhor preço sem impostos
    • Melhor preço com impostos (considera IPI e ICMS Solidário como critério de ordenação)
    • Menor prazo
    • Melhor nota.

    Por padrão, a ordenação é realizada pelo melhor preço sem impostos.

    Image Removed
    [Clique na imagem para ampliar]

    É possível obter mais informações da proposta ao clicar no botão detalhes. Será listado todos dados relevantes da proposta, tais como valores, produtos, fretes, etc.

    Image Removed
    [Clique na imagem para ampliar]

    Expandir
    titleAnalisar Analizar por itemítem

    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 de listado de cotizaciones, al hacer clic en los tres puntos al inicio 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, 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, sin embargo, el lapicero está mucho más caro comparado 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.


    Image Added

    [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 los valores unitarios y totales, junto 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.

    Para facilitar, el sistema marca automáticamente el mejor precio del proveedor en cada producto presentado, tomando en cuenta para el mejor precio la siguiente fórmula: ( (valor unitario + valor flete + valor seguro + valor gasto) - (valor descuento

    Quando o status da cotação for Pronto para analisar será possível iniciar o processo de análise, a fim de verificar as melhores condições.
    O processo de análise se dará de duas formas: 

    1. Análise por proposta
    2. Análise por item

    Análise por item:

    Na tela de listagem de cotações, ao clicar nos três pontos no início da linha, temos a opção Analisar.

    Consiste em mostrar todas as propostas, ou seja, as que estão completas ou parciais. A análise por item, permite você realizar a compra de produtos diferentes com mais de um fornecedor na mesma cotação.

    Exemplo: Estou cotando material para o meu escritório. O fornecedor A possui o melhor preço para PAPEL A4, porém A Caneta está bem mais caro comparado ao fornecedor B

    Utilizando a análise por item, podemos comprar o Papel A4 com o fornecedor A e a Caneta com o fornecedor B na mesma cotação.

    Image Removed

    [Clique na imagem para ampliar]

    A listagem é feita por produto, em cada item teremos as respectivas propostas dos fornecedores para ele.

    Para auxiliar na análise, temos as informações de média de valores unitários e totais, juntamente com uma tag mencionando se o valor do item está acima da média, dentro da média ou é o melhor preço para aquele produto.

    Além disso, serão listadas as informações como quantidade disponível, valor unitário, dias para entrega, frete e total a pagar.

    Para facilitar, o sistema marca automaticamente o melhor preço de fornecedor em cada produto apresentado, levando em consideração para o melhor preço a seguinte fórmula: ( (valor unitário + valor frete + valor seguro + valor despesa) - (valor desconto) ).

    Aviso
    titleAtençãoAtención

    Cuando un proveedor ofrezca una cantidad menor que la solicitada por el presupuesto, el sistema no marcará el mejor precio y tampoco colocará las tags de mejor precio/por encima del promedio/abajo del promedio, porque como un proveedor no tiene la cantidad solicitada, entorpece la cuantificación de dichos valores.

    De esta manera, tenemos dos escenarios:

    1. Al realizar el análisis por ítem, todos los proveedores respondieron que tienen disponible la cantidad solicitada por el comprador: De esta manera, el sistema se comportará de forma normal, marcando el mejor precio y colocando las tags mejor precio/por encima del promedio/abajo del promedio;
    2. Al realizar el análisis por ítem, uno o más proveedores respondieron que tienen disponible una cantidad menor que la solicitada por el comprador: Cuando ocurra este escenario, el sistema no marcará el mejor precio ni suministrará informaciones por encima o del promedio de precios, ya que uno de los proveedores tiene una cantidad menor que la solicitada por el comprador, siendo imposible determinar un mejor precio.

    En esta situación, el sistema no marcará ningún proveedor y al hacer clic en Generar, para la formalización de la propuesta, el sistema mostrará una modal al comprador, indicando los ítems que están en esta situación y que necesita de la intervención manual del usuario, para seleccionar el proveedor que desee seleccionar, si así lo requiere.

    Image Added
     Figura 1 - No se marcó ningún proveedor y no se muestran las tags de mejor precio/por encima del promedio/por debajo del promedio, cuando existen proveedores que informaron una cantidad menor que la

    Quando ocorrer de um fornecedor ofertar uma quantidade menor que a solicitada pelo orçamento, o sistema não irá marcar o melhor preço e nem colocar as tags de melhor preço/acima da média/abaixo da média, pois como um fornecedor não possui a quantidade solicitada, atrapalha na quantificação de tais valores.

    Assim, temos dois cenários:

    1. Ao realizar a análise por item, todos os fornecedores responderam que possuem disponível a quantidade solicitada pelo comprador: Dessa maneira, o sistema vai se comportar de forma nromal, marcando o melhor preço e colocando as tags melhor preço/acima da média/abaixo da média;
    2. Ao realizar a análise por item, um ou mais fornecedores responderam que possuem disponível quantidade menor que a solicitada pelo comprador: Quando ocorrer esse cenário, o sistema não vai marcar o melhor preço e nem vai fornecer informações de acima ou na média de preços, visto que um dos fornecedores tem uma quantidade menor que a solicitada pelo comprador, não sendo possível determinar um melhor preço.
      Nessa situação, o sistema não irá marcar nenhum fornecedor e ao clicar em Gerar - para a formalização da proposta - o sistema vai exibir uma modal ao comprador, indicando quais itens estão nessa situação e que necessita da intervenção manual do usuário, para selecionar qual fornecedor vai escolher ou nenhum, caso seja sua escolha.

    Image Removed
     Figura 1 - Nenhum fornecedor é marcado e não exibe as tags de melhor preço/acima da média/abaixo da média, quando existe fornecedores que informaram uma quantidade menor que a solicitada.



     Figura 2 - Ao tentar gerar a formalização, o sistema exibe essa Al intentar generar la formalización, el sistema muestra este modal, informando que existem itens existen ítems que necessitam necesitan de intervenção intervención manual do usuáriodel usuario, ya que existe fornecedores que informaram uma quantidade existen proveedores que informaron una cantidad menor que a la solicitada.


      

    [Clique na imagem Haga clic en la imagen para ampliar]

    Conforme é feita a análise, os itens selecionados são somados e demonstrados no rodapéSegún se hace el análisis, los ítems seleccionados se suman y muestran en el pie de página, como:

    • Total dos itensde los ítems (bruto)
    • FreteFlete
    • DescontosDescuentos
    • Outro Otros valores (Seguro ey/ou despesaso gastos)
    • Total a por pagar (líquido sem impostosneto sin impuestos)


    [Clique na imagem Haga clic en la imagen para ampliar]


    Expandir
    titleMapa da cotaçãode la cotización

    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 referentes a la propuesta realizada.

    Image Added
    [Haga clic en la imagen

    Ao acessar a tela de análise de cotação, temos o mapa da cotação, uma ferramantea utilizada para comparar preços de produtos ou serviços de diferentes fornecedores ou fontes. O principal objetivo do mapa de cotação é fornecer uma visão clara e organizada dos preços de produtos ou serviços oferecidos por diferentes fornecedores. Isso permite que os compradores identifiquem facilmente as opções mais econômicas e competitivas.

    Para facilitar a análise o mapa de cotação traz de forma simplificada Item vs Fornecedor, exibindo as informação abaixo :

    • Descrição do item;
    • Valor Unitário;
    • Valor total do item;
    • Quantidade solicitada;
    • Unidade de medida;
    • Fornecedor e valores referente a proposta feita.

    Image Removed
    [Clique na imagem para ampliar]

    Expandir
    titleFormalizar propostapropuesta

    Al seleccionar la propuesta o los ítems vencedores, se habilitará la opción de Generar para iniciar el proceso de pedido o Ao escolher a proposta ou os itens vencedores, será habilitado o botão de Gerar para a inicializar o processo de pedido ou contrato.


    [Clique na imagem Haga clic en la imagen para ampliar]

    No entanto, caso o fornecedor selecionado não apresente o melhor preço, um campo será exibido na tela para que o usuário possa justificar sua escolha. Isso é exemplificado nas imagens abaixo:

    Image Removed

    Tela de Justificativa Análise por proposta[Clique na imagem para ampliar]

    Justificativa tela análise por item:
    Justificativa Análise por itemImage Removed

    Tela de Justificativa Análise por item[Clique na imagem para ampliar]
    Caso o vencedor seja um fornecedor participante (não cadastrado), será exibido um alerta sobre a condição do mesmo, exigindo cadastro para a conclusão do processo.

    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. Esto se muestran en el siguiente ejemplo:

    Image Added

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


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

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

    Si el vencedor fuera un proveedor participante (no registrado), se mostrará un aviso de alerta sobre su condición, exigiendo el registro para la finalización del proceso.

    Image Added
    [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.

    Image Removed
    [Clique na imagem para ampliar]

    A tela de cadastro de fornecedor possui quatro abas: 

    1. Cadastrais: Formulário para preenchimento de dados do fornecedor;
    2. Adm/fin.: Formulário para preenchimento de dados administrativos e financeiros;
    3. Fiscais: Formulário para preenchimento de dados fiscais;
    4. Campos obrigatórios: Formulário para preenchimento de campos obrigatórios.
    5. Campos customizados: Formulário para preenchimento de campos customizados.
    Campos obrigatórios serão sinalizados com asterisco (*) no fim do seu nome, e somente após a obtenção dos mesmos o botão Salvar ficará habilitado para o cadastro do fornecedor.
    1. Formulario para informar los datos administrativos y financieros.
    2. Fiscales: Formulario para informar los datos fiscales.
    3. Campos obligatorios: Formulario para informar los campos obligatorios.
    4. 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.


    Informações

    Para obtener algunos campos de informaciones del proveedor después de informar el RCPJ, es necesario utilizar el parámetro MV_APIFOR (con

    Informações

    Para obter alguns campos de informações do fornecedor após o preenchimento do CNPJ, é necessário a utilização do parâmetro MV_APIFOR (com valor .T. ), para habilitar o preenchimento automático utilizando a la cumplimentación automática utilizando TOTVS CAROL.


    [Clique na imagem Haga clic en la imagen para ampliar]

    Após clicar no botão gerar será direcinado a uma tela contendo o resumo dos produtos e fornecedor/fornecedores selecionados, Nessa tela o usuário poderá escolher se será um pedido ou contrato. 

    A figura abaixo representa o processo de Análise por Proposta, ou seja, apenas um fornecedor. Neste ponto, o usuário terá a opção de gerar um contrato ou um pedido para esta cotação. Após fazer sua escolha, basta clicar em Gerar Documentos, conforme exemplificado a seguir:

    Image Removed
    [Clique na imagem para ampliar]

    No caso do processo de Análise por Item, o usuário terá a flexibilidade de gerar tanto pedidos quanto contratos para fornecedores diferentes, como demonstrado na imagem abaixo:

    Image Removed
    [Clique na imagem 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:

    Image Added
    [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:

    Image Added
    [Haga clic en la imagen para ampliar]


    Para generar contratos, el usuario debe seleccionar la forma de pago y el Para a geração de contratos o usuário deverá escolher a forma de pagamento e o tipo de contrato, como podemos ver abaixoa continuación:


    [Clique na imagem Haga clic en la imagen para ampliar]
    Após a geração do documento e a contenplação de todos os itens solicitados, o status da cotação é atualizado para "Finalizada". Se algum item não for gerado pedido ou contrato, o status será alterado para "Em análise" ou
    Después de generar el documento y considerar todos los ítems solicitados, el estatus de la cotización se actualiza a "Finalizada". Si en algún ítem no se genera un pedido o contrato, el estatus se modificará a "En análisis" o "Atendido parcialmente", dependendo do dependiendo del caso.

    Expandir
    titleExcluirBorrar

    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.

    Image Added
    [Haga clic en la imagen

    Na tela de listagem de cotações, é possível excluir a cotação ao clicar nos três pontos e opção Excluir. As cotações excluídas terão seus itens retornados para Necessidade de Compra.

    Importante: Não será possível excluir uma cotação que esteja Finalizada ou Em análise.

    Image Removed
    [Clique na imagem para ampliar]

    Expandir
    titleVisualizar Pedido de Compra/Contrato

    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.


    Image Added
    [Haga clic en la imagen

    Na tela de listagem de cotações, é possível visualizar os Pedidos de Compras e Contratos gerados a partir da cotação, quando a cotação estiver nos status Em Análise e Finalizada. Para exibir, basta clicar na seta a esquerda do grid, que o sistema irá exibir os Pedidos de Compra e Contratos localizados para a cotação. 

    Importante: Caso exista apenas Pedido de Compras, será exibido apenas os pedidos de compras, ao clicar na seta. O mesmo ocorre quando temos apenas Contratos. 
    Quando existir contratos e pedidos de compras, ambos serão exibidos.

    Image Removed
    [Clique na imagem para ampliar]



    Expandir
    titleMigrar cotaçõescotizaciones

    Es posible migrar cotizaciones generadas por las rutinas "Genera cotización, actualiza cotización y analiza cotización" al Nuevo flujo de compras, por medio del migrador puesto a disposición en la opción del canto superior derecho.

    Esta opción realiza la compatibilidad de las cotizaciones existentes en la base para que sean compatibles con el nuevo flujo de compras, para poder continuar con el proceso por medio de las nuevas rutinas del NFC o incluso tener el historial de cotizaciones finalizadas.

    Todo el proceso se realiza en segundo plano y el usuario tiene la opción de recibir una notificación por e-mail cuando se finalice la migración. Si el servidor de e-mail necesitara de autenticación, será necesario activar el parámetro

    É possível migrar cotações geradas pelas rotinas de "Gera cotação, atualiza cotação e analisa cotação" para o Novo Fluxo de Compras através do migrador disponibilizado no botão do canto superior direito.

    Esta opção realiza a compatibilização de cotações já existentes na base para que sejam compatíveis com o novo fluxo de compras, podendo então ter o seu processo continuado através das novas rotinas do NFC ou até mesmo possuir o histórico de cotações já finalizadas.

    Todo o processo é realizado em segundo plano e o usuário possui a opção de receber uma notificação por e-mail quando a migração for finalizada. Caso o servidor de e-mail necessite de autenticação, será necessário ativar o parâmetro MV_RELAUTH.

    Importante: A migração é irreversível, não há como desfazer a compatibilização e voltar as cotações para as rotinas La migración es irreversible, no hay cómo deshacer la compatibilidad y regresar las cotizaciones a la rutinas legadas.





    03.

    ...

    REQUISITOS PREVIOS MÍNIMOS

    Aviso
    1. O Novo Fluxo El Nuevo Flujo de Compras necessita da LIB do necesita de la LIB del Framework Protheus® igual ou o superior a data la fecha de 27/02/2023 que pode ser baixada no endereçose puede descargar de la dirección: LIB-download.
    2. Para o correto funcionamento do Workflow na el correcto funcionamiento del Workflow en la Jornada de Compras, deve ser aplicado o pacote de Expedição Contínua do módulo do BI, por conter os fontes responsáveis pelo funcionamento do workflow. Baixe o pacote de expedição contínua no link: Pacotes de Atualização compras, debe aplicarse el paquete de Expedición continua del módulo del BI, porque tiene los fuentes responsables por el funcionamiento del workflow. Baje el paquete de expedición continua en el enlace: Paquetes de actualización - Workflow.


    04.

    ...

    CONFIGURACIÓN

    Vea a continuación los procesos que se deben configurar

    ...

    Abaixo seguem os processos que devem ser configurados:

    Totvs custom tabs box
    tabs01- AcessoAcceso, 02 - Workflow, 03 - Porta MultiprotocoloPuerto multiprotocolo
    idsconfig1,config2,config3,config4
    Totvs custom tabs box items
    defaultyes
    referenciaconfig1
    Informações
    titleAcesso Embarcado Acceso embarcado - Protheus

    *Embarcado: Acesso via menu do Acceso vía menú del Protheus.

    Necessário adicionar ao menu do Compras a rotina PGCA010 para acesso ao NFC via menu do Es necesario agregar al menú de Compras la rutina PGCA010 para acceder al NFC mediante el menú del Protheus. A partir do del release 12.1.2410 a rotina estará no menu por padrão. la rutina estará en el menú por estándar.

    EjemploExemplo:

    Totvs custom tabs box items
    defaultno
    referenciaconfig2
    Informações
    titleWORKFLOW

    O Workflow poderá ser configurado para envio da solicitação de cotação diretamente aos fornecedores participantes.
    Possibilitando o fornecedor, através de um formulário recebido no 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 preço, prazo e condições precio, plazo y condiciones de oferta de seu produto, atualizando automaticamente a cotação no su producto, actualizando automáticamente la cotización en el Protheus.

    Informações
    titleCOMO CÓMO CONFIGURAR O EL WORKFLOW
    Informações
    titleAtençãoAtención

    O Workflow pode ser configurado de duas maneiras: via Wizard (Configurador do El Workflow se puede configurar de dos maneras: por Wizard (Configuración del Workflow), que é um assistente passo-a-passo para facilitar a configuração, disponível na página do NFC, somente para usuários administradores; bem como pode ser configurado manualmente, seguindo as orientações do presente documento.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 Temos também o wizard para criação da caixa de e-mail para os los compradores - direto no directamente en el workflow - que fica disponível apenas se o parâmetro queda disponible si el parámetro MV_PGCWF estiver ativo na base ou então, a configuração pode ser de forma manual.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 Wizard. Si desea configurar manualmente, lea las instrucciones de la solapa Por Caso queira utilizar o Wizard para configurar o WorkFlow, leia a instruções contidas clique na aba Via Wizard. Caso queira configurar manualmente, leias as instruções da aba Via Manual.

    Aviso
    titleDicaSugerencia

    Utilize o Utilice el facilitador de teste prueba WFTEST padrão do estándar del Protheus para validar de forma fácil a configuração e funcionamento do manera fácil la configuración y funcionamiento del workflow. Acesse Acceda a documentação: Clique aqui la documentación: Haga clic aquí | WFTEST

    Totvs custom tabs box
    tabsVia Vía Wizard, Via vía Manual
    idswizard,manual
    Totvs custom tabs box items
    defaultyes
    referenciawizard
    Expandir
    titleConfiguração Configuración WorkFlow
    • Para iniciar o processo el proceso de configuração configuración de Workflow via por NFC, o usuário logado deve ser do el usuario conectado debe ser del tipo administrador no en el Protheus. Para configuraçãoconfigurar, siga as etapas abaixolos siguientes pasos:
      • Acesse o NFC com usuário administrador;
      • Acceda al NFC con usuario administrador.
      • Haga clic en la opción Clique no botão de perfil (ícone icono a direitala derecha, na en la parte superior da telade la pantalla), para exibir os submenus existentes. Clique no menu com o nome Configuração mostrar los submenús existentes. Haga clic en el menú con el nombre Configuración Workflow


      • Siga as las etapas do del wizard, informando os dados los datos solicitados:
        • No primeiro passo do configurador - o sistema irá explicar para que serve o Wizard de WorkFlow e seus objetivos, para que o usuário possa compreender seu funcionamentoEn el primer paso del configurador, el sistema explicará para qué sirve el Wizard del workflow y sus objetivos, para que el usuario puedan entender su funcionamiento.
        • Na En la segunda etapa do del wizard - Parâmetros e arquivos Parámetros y archivos - informe no en el campo Diretório Directorio de trabalho do trabajo del Workflow - o local el lugar (pasta) onde os arquivos físicos do wizard serão gravados no carpeta) donde los archivos físicos del wizard se grabarán en el servidor. Por exemploejemplo, se os arquivos serão gravados na estrutura si los archivos se grabarán en la estructura Protheus_Data\workflow, informe \workflow no en el campo.
          OBS: O El valor do campo será armazenado nos parâmetros del campo se almacenará en los parámetros (SX6) MV_WFDIR e y MV_WFDHTTP
          Além dissoAdemás, constará nessa tela links para acesso da documentação de referência do NFC, bem como dos dois arquivos html que são usados para envio do e-mail aos fornecedores. Realize o download desses arquivos e coloque-os na mesma pasta do campo acima.
          Clique no botão Próxima Etapa, para avançar no wizard.
          Image Removeden esta pantalla enlaces para el acceso a la documentación de referencia del NFC, así como a los dos archivos html que se utilizan para enviar el e-mail a los proveedores. Descargue (download) estos archivos y colóquelos en la misma carpeta de dicho campo.
          Haga clic en la opción Próxima etapa, para avanzar en el wizard.
          Image Added
        • En la tercera etapa - Datos del servidor - informe la Dirección (IP) pública del servidor del workflow. Informe el Puerto del servidor de workflow. Informe el Nombre del entorno donde el workflow se ejecuta y en el campo Nombre/IP y puerto del servidor, el sistema monta automáticamente la sugerencia, con la dirección IP, puerto y nombre del entorno.
          OBS: El valor del campo Nombre/IP y puerto del servidor de workflow se almacenará en el parámetro Na terceira etapa - Dados do servidor - informe o Endereço (IP) público do servidor de workflow; informe a Porta do Servidor de workflow; informe o Nome do Ambiente onde o workflow é executado e no campo Nome/IP e porta do servidor , o sistema monta automaticamente a sugestão, com o endereço ip, porta e nome do ambiente.
          OBS: O valor do campo Nome/IP e porta do servidor de workflow será armazenado no parâmetro (SX6) MV_WFBRWSR.
          Clique no botão Próxima Etapa, para avançar no Haga clic en la opción Próxima etapa, para avanzar en el wizard.


        • Na quarta En la cuarta etapa - Porta Multiprotocolo Puerto multiprotocolo - o el sistema avisará se si existe a chavela clave [MULTIPROTOCOL] no ambiente e se está ativa.
          Clique no botão Próxima Etapa, para avançar no en el entorno, y si está activa.
          Haga clic en la opción Próxima etapa, para avanzar en el wizard.


        • Na En la quinta etapa - Parâmetros Parámetros de e-mail dos de los compradores - informe os dados solicitados na tela, como endereço e porta do servidor SMTP e los datos solicitados en la pantalla, como dirección y puerto del servidor SMTP y POP3/MAP, para que quando o parâmetro cuando el parámetro MV_PGCWF estiver ativo, os usuários não necessitem e informar estes campos no wizard de configuração esté activo, los usuarios no necesiten informar estos campos en el wizard de configuración de e-mail.
        • OBS: Os Los valores dos de los campos dessa etapa serão gravados nos parâmetro de esta etapa se grabarán en los parámetros (SX6):
          MV_PGCPISV - Servidor de e-mail POP 3/ IMAP dos de los compradores;.
          MV_PGCPIPO - Porta Puerto de e-mail POP 3/ IMAP dos de los compradores;.
          MV_PGCSMSR - Servidor de e-mail SMTP dos de los compradores;.
          MV_PGCSMPO - Porta Puerto de e-mail SMTP dos de los compradores;.
          MV_PGCTAUT - Tipo de autenticação do autenticación del servidor de e-mail: TLS, SSL ou nenhum
          Clique no botão Próxima Etapa, para avançar no o ninguno.
          Haga clic en la opción Próxima etapa, para avanzar en el wizard.


        • Na En la sexta etapa - Finalização Finalización - o el sistema alerta avisa que ao avançar, os dados serão gravados na base e o sistema irá montar o al avanzar, los datos se grabarán en la base y el sistema montará el modelo de appserver.ini, além de apresentar uma notificação de sucessoademás mostrará una notificación de éxito.

    Expandir
    titleConfiguração Configuración - e-mail do del comprador
    • Para iniciar o processo el proceso de configuração configuración de E-mail de del comprador via por NFC, o parâmetro el parámetro MV_PGCWF deve estar ativo no ambientedebe estar activo en el entorno. Para configuraçãoconfigurar, siga as etapas abaixolos siguientes pasos:
      • Acesse o Acceda al NFC;.
      • Haga clic en la opción Clique no botão de perfil (ícone icono a direitala derecha, na en la parte superior da telade la pantalla), para exibir os submenus existentes. Clique no menu com o nome mostrar los submenús existentes. Haga clic en el menú con el nombre Wizard E-mail comprador
      • Siga as las etapas do del wizard, informando os dados los datos solicitados:
        • No primeira etapa do configurador - o sistema irá explicar para que serve o En la primera etapa del configurador, el sistema explicará para qué sirve el Wizard de e-mail do del comprador e seus y sus objetivos, para que o usuário possa compreender seu funcionamentoel usuario pueda comprender su funcionamiento.
        • Na En la segunda etapa do del wizard - E-mail do del comprador - o , el sistema permite que o usuário informe o nome da caixa el usuario informe el nombre de la bandeja de e-mail (por padrãocomo estándar, será o el e-mail do usuáriodel usuario, sem sin caracteres especiaisespeciales), o nome do el nombre del comprador (que irá no estará en el e-mail) e o y el e-mail do usuário del usuario (que consta no cadastro de usuários do sistema, não permitindo alteração).
          Clique no botão Próxima Etapa, para avançar no wizard.en el registro de usuarios del sistema y no es posible modificar).
          Haga clic en la opción Próxima etapa, para avanzar en el wizard.
        • En la tercera etapa - Autenticación - el Na terceira etapa - Autenticação - o campo de e-mail será preenchido automaticamente, conforme se completará automáticamente, de acuerdo con el e-mail cadastrado no usuário, e deve informar a senha do registrado en el usuario, y debe informarse la contraseña del e-mail, que será usada na autenticação dos se utilizará en la autenticación de los servidores de e-mail.
          Clique no botão Próxima Etapa, para avançar no Haga clic en la opción Próxima etapa, para avanzar en el wizard.Na
        • quarta En la cuarta etapa - Servidores SMTP e y POP 3/IMAP - caso o usuário administrador tenha usado o si el usuario administrador utilizó el wizard de configuração configuración de parâmetros e webservice ou preenchido os parâmetros parámetros y webservice o completó los parámetros MV_PGCPISV, MV_PGCPIPO, MV_PGCSMSR, MV_PGCSMPO e y MV_PGCTAUT, as informações las informaciones de servidores SMTP e y PO3/IMAP estarão preenchidas automaticamenteestarán cumplimentadas automáticamente, bastando seguir para a la próxima etapa. Mas caso seja necessário o usuário pode mudar manualmente, conforme sua necessidade.
          Clique no botão Próxima Etapa, para avançar no wizard.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 alerta que al avanzar, se creará una nueva bandeja de e-mail y se activará un e-mail de prueba, para verificación de los datos imputados. Al final, aparecerá un aviso de éxito, indicando que la cuenta se creó con éxitoNa quinta etapa - Finalização - o sistema alerta que ao avançar, será criada uma nova caixa de e-mail e será disparado um e-mail de teste, para conferência dos dados imputados. No final, será exibido o alerta de sucesso, indicando que a conta foi criada com sucesso.


      e sublinhado
    • Para editar senha ou outra característica do la contraseña u otra característica del e-mail criado do creado del comprador:
      • Basta refazer os passos acima, para que o sistema entenda que se trata de uma alteração e salve os novos valores no sistema. No final, o sistema emitirá um alerta, informando que o e-mail foi alterado com sucesso.
      • Importante: Caso altere o nome da caixa de e-mail, o sistema irá verificar se já existe para aquela filial, um nome igual. Se existir, por medida de integridade de dados, o novo nome será desconsiderado e mantido o atual.
      • Ao nomear a caixa de e-mail, utilize apenas letras, números
        • Al nombrar la bandeja de e-mail, solamente utilice letras, números y subrayado (_), para
      • criar o nome. Caso coloque espaço em branco, será automaticamente convertido para sublinhado e outros caracteres especiais serão desconsiderados, além do sistema converter tudo para maiúsculo. Por exemplo, se colocar o nome
        • crear el nombre. Si incluye espacio en blanco, será automáticamente convertido a subrayado y otros caracteres especiales no se considerarán, además de que el sistema convertirá todo a mayúsculas. Por ejemplo, si incluye el nombre "Rt 78%#o",
      • o sistema irá converter para
        • el sistema convertirá a "RT_78O".
        • Por
      • padrão
        • estándar,
      • o
        • el sistema
      • irá trazer como sugestão de nome o
        • sugerirá como nombre el e-mail
      • do usuário, mas sem os caracteres especiais (apenas o sublinhado é aceito). Ou seja, se o e-mail do usuário for
        • del usuario, pero sin los caracteres especiales (solamente se acepta el subrayado). Es decir, si el e-mail del usuario fuera [email protected],
      • será exibido Nome da Caixa
        • se mostrará COMPRASFINANCEIROTESTECOMBRCOMPRASFINANCEIROTESTECOMBR;
      • No campo
        • En el campo Nombre de la bandeja de e-mail,
      • serão aceitos apenas
        • se aceptarán únicamente letras, números
      • e sublinhado
        • y subrayado (_,
      • conhecido
        • conocido como underline).
      • Qualquer outro caractere será desconsiderado, ou seja, se for digitado
        • Cualquier otro carácter no se considerará, es decir, si se digita compr.$a_s1@teste,
      • será convertido para
        • se convertirá a COMPRA_S1TESTE;
      • Espaço em branco no nome será convertido para sublinhado, por exemplo
        • Espacio en blanco en el nombre se convertirá a subrayado, por ejemplo, minhA CAI2a,
      • será convertido para MINHA_CAI2A.
        • se convertirá a MINHA_CAI2A.
        • Basta rehacer los pasos anteriores, para que el sistema entienda que se trata de una modificación y grabe los nuevos valores en el sistema. Al final, el sistema emitirá un aviso de alerta, informando que el e-mail se modificó con éxito.
        • Importante: Si se modifica el nombre de la bandeja de e-mail, el sistema verificará si ya existe para aquella sucursal, un nombre igual. Si existiera, por medida de integridad de datos, el nuevo nombre no se considerará y se mantendrá el actual.
    Totvs custom tabs box items
    defaultno
    referenciamanual
    Expandir
    titlePasso Paso 1 - Configuração do WebService no Configuración del WebService en el appserver.ini
    • Atualizar o Actualice el appserver.ini do seu ambiente com configurações essenciais que possibilitará o fornecedor receber e responder o formulário de solicitação de cotação.
      Copie e insira no seu ambiente o exemplo abaixo, altere as informações em negrito para informações do seu ambiente, tais 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: Caminho de pastas no seu servidor até o diretório Camino de las carpetas en su servidor hasta el directorio Protheus_data\http-root (se a pasta si la carpeta http-root não existir, pode-se cria-lano existe, puede crearla)
      PORT: Porta Puerto de comunicação do comunicación del WebService ( Normalmente inicia-se com Generalmente se inicia con 80)
      ENVIRONMENT: Nome do ambienteNombre del entorno/RPO
      localhost:8091: IP público e porta aberta y puerto abierto para que o fornecedor consiga enviar a resposta do formulário de cotaçãoel proveedor logre enviar la respuesta del formulario de cotización
      ONSTART: Caso o seu Si su appserver.ini já possua uma chave ONSTART, adicione os jobs ya tenía una clave ONSTART, agregue los job JOB_WS_T1,WF_INDEX nesta chavea esta clave.

      Informações
      iconfalse
      titleEXEMPLO 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



    Expandir
    titlePasso Paso 2 - Configuração do parâmetro Configuración del parámetro MV_WFBRWSR

    Realizar a configuração do parâmetro Realice la configuración del parámetro que indicará a URL ou nome do la URL o nombre del servidor HTTP.

    • No passo En el paso 1, definimos o el IP e Porta y Puerta público que será utilizado para receber o retorno da solicitação de cotação do nosso fornecedor, este mesmo IP e Porta deverá ser informado no parâmetro 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.

      Aviso
      titleImportante:

      O parâmetro deverá ser preenchido iniciado por El parámetro se debe informar iniciando con http:// ou o https://
      ExemploEjemplo: http://localhost:8091/wf
       
      Onde Donde el localhost:8091 será o seu IP e porta Público definido no passo su IP y el puerto público es el definido en el paso 1.                                                                                                                                                       




    Expandir
    titlePasso Paso 3 - Diretório Directorio de disponibilização disponibilidad de HTMLslos HTML

    Verifique la existencia de la carpeta Verificar a existência da pasta "workflow" dentro da pasta de la carpeta "Protheus_data" no diretório de instalação do Protheus. Caso não exista, pode-se cria-la.en el directorio de instalación del Protheus. Si no existe, se puede crearla.

    • Realice el download de acuerdo con las siguientes orientaciones, descomprima e inclúyalos dentro de la carpeta workflow mencionada anteriormentelizar o download conforme as orieRealizar o download conforme as orientações baixo, descompactar e coloca-los dentro da pasta workflow citada acima.

    ExemploEjemplo:


    • Aviso
      titleImportante:

      Caso opte por disponibilizar os arquivos em outro diretório, não deixe de atualizar o parâmetro MV_WFDIR do passo Si decide poner a disposición los archivos en otro directorio, no deje de actualizar el parámetro MV_WFDIR del paso 4.                                                                                                                                                    

    • VersionamentoVersión:
      • É essencial verificar a versão correta dos arquivos do formulário workflow. Se não forem encontrados ou estiverem em uma versão incorreta, o sistema apresentará a seguinte mensagem: 'O arquivo Es esencial verificar la versión correcta de los archivos del formulario workflow. Si no se encuentran o estuvieran en una versión incorrecta, el sistema mostrará el siguiente mensaje: 'El archivo pgca030_mailXXX_AAAAMMDD.HTML utilizado pelo workflow não foi encontrado ou está desatualizado. Para baixar o arquivo atual, consulte a documentação do NFC na seção 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'.
    • ObservaçõesObservaciones:
      • Para pacotes paquetes de expedição contínua anteriores a 28expedición continua anteriores al 28/03/2024, deve-se utilizar o arquivo debe utilizarse el archivo formulario_workflow_sem_versao.zip
      • Para preservar a integridade da funcionalidade do la integridad de la funcionalidad del workflow, é importante não alterar o nome dos arquivos es importante no modificar el nombre de los archivos HTML.
    • VersõesVersiones:
    Expandir
    titlePasso Paso 4 - Configuração do parâmetro Configuración del parámetro MV_WFDIR

    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

    Realizar a configuração do parâmetro que indicará o diretório onde os arquivos HTMLs do passo 4 foram disponibilizados.

    • No passo 3, definimos o diretório onde será disponibilizado os arquivos HTMLs, este mesmo diretório deverá ser informado no parâmetro MV_WFDIR
      Exemplo de conteúdo do parâmetro MV_WFDIR: \workflow



      Aviso
      titleImportante:

      Caso opte por disponibilizar os arquivos em outro diretório, não deixe de mover os arquivos HTMLs para o diretório correto, seguindo o passo 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.                                                                                                                                           

      Aviso
      titleAtenção Atención - WFTEST

      O El workflow do del NFC se comporta igual a rotina la rutina WFTEST - rotina que visa testar se as configurações de workflow estão corretasrutina que busca probar si las configuraciones de workflow están correctas, enviando e-mail de testeprueba.
      Logo, se ao executar a rotina WFTEST ocorrer erro - o workflow do NFC também não será enviado, por seguir o mesmo comportamento - verificar se as configurações de parâmetros (SX6) e do appserver.ini do ambiente estão corretas - verificando as informações presentes nesse manual - para que o workflow do NFC funcione adequadamente.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 relacionadosInformações sobre a rotina WFTEST estão no tópico Assuntos Relacionados.

    Expandir
    titlePasso Paso 5 - Configuração Configuración de e-mail no en el Protheus

    Realizar a configuração do Realice la configuración del e-mail por el que enviará o formulário para o fornecedor solicitando a cotação:el formulario al proveedor, solicitando la cotización:

    • Acceda al módulo de configuración > Entorno Acessar o módulo do configurador > Ambiente > WorkFlow > Contas Cuentas de e-mail > Incluir

      Exemplo
      Ejemplo de configuração do configuración del e-mail do GMAIL:

      mceclip0.png

      Informações
      titleObservaçõesObservaciones:
      • Atualmente a maioria dos provedores SMTP utilizam uma porta diferente da padrão, geralmente usam a 465 ou Actualmente la mayoría de los proveedores SMTP utilizan un puerto diferente del estándar, generalmente utilizan la 465 o 587. 
      • O El Gmail utiliza a porta 465 quando a segurança utilizada é a SSL e a porta 587 quando a segurança é a el puerto 465 cuando la seguridad utilizada es la SSL y el puerto 587 cuando la seguridad es la TLS.
      Aviso
      titleImportante:

      O processo acima não Dicho proceso no está relacionado a configuração la configuración de e-mail para relatóriosinformes, descrito na documentação: Configurar o en la documentación: Configure el SMTP para envio envío de relatórios informes por e-mail;.



    Expandir
    titlePasso Paso 6 - (Opcional) - Envio Envío de solicitação de cotação com solicitud de cotización con el e-mail do Compradordel comprador

    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 É possível enviar a solicitação de cotação para o fornecedor utilizando o e-mail do Comprador, assim possibilitando ao fornecedor responder diretamente ao comprador alguma dúvida ou pergunta.
    Como habilitar este recurso?

    1. Habilite o parâmetro el parámetro MV_PGCWF
    2. Realize o passo 5 da configuração, cadastrando o Realice el paso 5 de la configuración, registrando el e-mail do del comprador (Esta rotina de cadastro poderá ser disponibilizada no menu do comprador para ele mesmo realizar o cadastro rutina de registro se pondrá a disposición en el menú del comprador para que este mismo realice el registro - WFC003).
    3. O El e-mail cadastrado deverá constar no cadastro de usuário do mesmoregistrado debe constar en el registro de usuario del mismo.


    Image Modified

    Aviso
    titleImportante:
    O valor padrão do parâmetro 

    El valor estándar del parámetro MV_PGCWF

     é desativado, onde usará a conta

     se desactiva, donde se utilizará la cuenta de e-mail

    padrão do

    estándar del Protheus definida

    no

    en el MV_WFMLBOX.

    Totvs custom tabs box items
    defaultno
    referenciaconfig3
    Informações
    titlePorta MultiprotocoloPuerto multiprotocolo
    • En la sección
    • Na seção
    • GENERAL,
    • deve-
    • se debe incluir
    • a chave
    • l clave App_Environment”,
    • cujo
    • cuyo valor
    • deve ser o nome do ambiente onde os serviços serão executados
    • debe ser el nombre del entorno donde los servicios se ejecutarán
    • Na seção
    • En la sección DRIVERS,
    •   deve-se habilitar a porta multiprotocolo na chave “MultiProtocolPort” com o
    •  se debe habilitar el puerto multiprotocoloen la clave “MultiProtocolPort” con el valor = 
    • 1.
    • Por padrão a conexão SSL está ativa na porta multiprotocolo, os detalhes das configurações estão disponíveis na documentação Application Server - Porta Multiprotocolo. Para desabilitar a conexão por SSL é necessário informar a chave “MultiProtocolPortSecure = 0”
    Para mais informações sobre essa configuração acesse a página Application Server - Porta Multiprotocolo
    • 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” Application Server - Puerto multiprotocolo.

    05. NOTAS DE

    ...

    VERSIÓN

    A continuación se pueden visualizar todas las novedades en cada versiónAbaixo você pode visualizar todas novidades liberadas em cada versão:

    Expandir
    titleExpandir
    Expandir
    titleOutubroOctubre/2024
    1. Implementado possibilidade de inserir data Implementación de la inclusión de la fecha de entrega por itemítem, edição edición manual e y workflow;
    2. Implementado possibilidade de gerar contrato fixo;
    3. Implementación de la generación de un contrato fijo;
    4. Implementación de la lista de precios en la edición de la cotización con cumplimentación automático de los Implementado tabela de preços na edição da cotação com preenchimento automático dos valores;
    Expandir
    titleJulhoJulio/2024
    1. Atualização para melhor visualização das colunas e seus nomes em tabelas/listagens.
    2. Implementação de funcionalidade para guardar configuração do usuário em campos selecionados para serem visualizados ou ocultados em tabelas/listagens.
    3. Implementação de funcionalidade para selecionar automaticamente vencedor com melhor preço na análise por item
    4. Implementação de "desistência da compra" onde permite remover item da cotação durante o andamento da mesma.
    5. Implementação do migrador de cotações
    1. Actualización para una mejor visualización de las columnas y sus nombres en tablas/listados.
    2. Implementación de una funcionalidad para grabar la configuración del usuario en campos seleccionados para que se visualicen u oculten en tablas/listados.
    3. Implementación de una funcionalidad para seleccionar automáticamente al vencedor con el mejor precio en el análisis por ítem
    4. Implementación de "desistencia da compra" donde se permite eliminar el ítem de la cotización durante su ejecución.
    5. Implementación del migrador de cotizaciones
    Expandir
    titleJunio/2024
    1. Implementación de la funcionalidad de compra centralizada.
    2. Implementación de la funcionalidad de Contactos vs. Proveedores para envío del
    Expandir
    titleJunho/2024
    1. Implementação da funcionalidade de compra centralizada.
    2. Implementação da funcionalidade de contatos x fornecedores para envio do workflow.
    Expandir
    titleAbril/2024
    1. Implementación de la nueva interfaz MVC para edición de la cotización
    2. Implementación de la edición de impuestos por medio de la nueva interfaz de edición de la cotización
    3. Implementación de impuestos
    4. Implementação de nova interface MVC para edição da cotação
    5. Implementação da edição de impostos via nova interface de edição da cotação
    6. Implementação de impostos IPI e ICMS-ST no formulário workflow a serem editados pelo fornecedor
    7. Implementação de seleção de condição de pagamento flexível no envio do workflow
    8. Implementação de rotina automática de edição de cotação
    9. Implementação de possibilidade de pontos de entrada durante a edição da cotação via nova interface.
    10. en el formulario workflow que serán editados por el proveedor
    11. Implementación de la selección de condición de pago flexible en el envío del workflow
    12. Implementación de la rutina automática de edición de cotización
    13. Implementación de posibilidad de puntos de entrada durante la edición de la cotización por medio de la nueva interfaz.
    14. Correcciones generales de usabilidad y desempeñoCorreções gerais de usabilidade e performance
    Expandir
    titleMarçoMarzo/2024
    1. Implementação da opção "salvar rascunho" no formulário Implementación de la opción "grabador borrador" en el formulario workflow.
    2. Correções gerais de usabilidade e performanceCorrecciones generales de usabilidad y desempeño
    Expandir
    titleFevereiroFebrero/2024
    1. Implementación del análisis de cotización por ítem parcial
    2. Correcciones generales de usabilidad y desempeño
    3. Implementação da análise de cotação por item parcial
    4. Correções gerais de usabilidade e performance
    Expandir
    titleJaneiroEnero/2024
    1. Implementação da visualização da observação da solicitação Implementación de la visualización de la observación de la solicitud de compras
    2. Implementação Implementación de filtro por comprador na listagem de cotações
    3. Visualização de dados do fornecedor na tela de edição da cotação
    4. Visualização clara de moeda utilizada na edição da cotação
    5. en la lista de cotizaciones
    6. Visualización de dados del proveedor en la pantalla de edición de la cotización
    7. Visualización clara de moneda utilizada en la edición de la cotización
    8. Correcciones generales de usabilidadCorreções gerais de usabilidade
    Expandir
    titleDezembroDiciembre/2023
    1. Implementação Implementación de geração generación de cotação utilizando Produto x Fornecedor e cotización utilizando Producto vs Proveedor y MV_SELFOR = N
    2. Implementação Implementación de visualização visualización de solicitações solicitudes de compras vinculadas a cotaçãola cotización.Implementação de listagem
    3. Implementación del listado de pedidos e contratos gerados pela cotaçãoy contratos generados por la cotización.
    4. Correção Corrección de ordenação ordenación de proposta propuesta por preço precio, considerando impostosimpuestos.
    5. Alteração Modificación de texto para melhor entendimento de análise por proposta una mejor atención de análisis por propuesta completa.
    6. Ajuste para permitir alteração da TES quando a cotação foi preenchida modificar el TES cuando la cotización se completó por Workflow.
    7. Implementação Implementación de Guia de configuração do la guía de configuración del e-mail do del comprador.Implementação
    8. Implementación de Guia de configuração e sugestão do Workflowla guía de configuración y sugerencia del WORKFLOW.
    Expandir
    titleNovembroNoviembre/2023
    1. Correção no funcionamento do WorkFlow, possibilitando a utilização do Corrección en el funcionamiento del WorkFlow, permitiendo la utilización del "WFTEST" padrão para testar funcionamento.estándar para probar el funcionamiento.
    2. Corrección en la lista de solicitudes de compras cuando el Correção na listagem de solicitações de compras quando campo C1_DATPRF esté marcado como browse.
    3. Correções gerais de usabilidade e performanceCorrecciones generales de usabilidad y desempeño.
    Expandir
    titleOutubroOctubre/2023
    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 carrito de compras.
    5. Corrección en el formulario de workflow.
    6. Correcciones generales de desempeño y usabilidad.
    7. Correções diversas nos anexos;
    8. Correção no filtro da necessidade de compras;
    9. Correção no cadastro de novo participante;
    10. Correção no refresh do carrinho de compras;
    11. Correção no formulário de workflow;
    12. Correções gerais de performance e usabilidade;
    Expandir
    titleSetembroSeptiembre/2023
    1. Implementada funcionalidade para obter informações do CNPJ do fornecedor, através da API da Se implementó la funcionalidad para obtener informaciones del RCPJ del proveedor, por medio de la API de TOTVS Carol.
    2. Implementada geração de cotação para fornecedor Se implementó la generación de cotización para proveedor Participantes.
    3. Incluída nova coluna que exibe a quantidade de respostas dos fornecedores recebidas pela cotação.
    4. Implementada geração de contrato.
    5. Implementada funcionalidade para geração de novo fornecedor para a cotação.
    6. Correção para limpeza do localStorage na inicialização da aplicação.
    7. Correção para encontrar os anexos corretamente quando o fornecedor for participante.
    8. Removido carregamento de campos do tipo Memo para a tela de Necessidade de Compras.
    9. Correção para validar tipo de contrato e planilha fixos independentemente do parâmetro MV_VLDTPFI.
    10. Se incluyó nueva columna que muestra la cantidad de respuestas de los proveedores recibidas por la cotización.
    11. Se implementó la generación del contrato.
    12. Se implementó la funcionalidad para generación de nuevo proveedor para la cotización.
    13. Corrección para limpieza del localStorage en la inicialización de la aplicación.
    14. Corrección para encontrar los documentos adjuntos correctamente si el proveedor fuera participante.
    15. Se retiró cargamento de campos del tipo Memo a la pantalla de Necesidad de compras.
    16. Corrección para validar tipo de contrato y planilla fijos independientemente del parámetro MV_VLDTPFI.
    17. Corrección para que las columnas devuelvan la cantidad de propuestas respondidas y Correção para que as colunas retornem a quantidade de propostas respondidas e descartadas.
    Expandir
    titleJunhoJunio/2023
    1. Implementado Campos customizados no Se implementaron Campos personalizados en el Browse de Necessidade de Compras e Cotações.
    2. Implementado funcionalidade de salvar preferências de campos do tipo suite em Necessidade de Compras.
    3. Necesidad de compras y cotizaciones.
    4. Se implementó la funcionalidad de grabar preferencias de campos del tipo suite en Necesidad de compras.
    5. Se efectuó la mejora de devolución de mensaje de la Efetuada melhoria do retorno das mensagens da API de Workflow para facilitar implantaçãola implantación.
    6. Correção Corrección para que após efetuar a busca después de efectuar la búsqueda por código de produto e limpar o producto y limpiar el campo.
    7. Correção para remover obrigatoriedade dos campos na atualização dos contatos.
    8. Correção para que ao declinar Proposta do Workflow o processo ocorra corretamente.
    9. Correção para que ao utilizar outras moedas no formulário de Workflow a gravação ocorra corretamente.
    10. Correção para o bloqueio de produtos que ocorria de forma intermitente na Geração de Cotação.
    11. Correção do ícone de anexo ao visualizar anexos e fechar a lista.
    12. Correção para considerar os valores de despesa e seguro na Análise Por item.
    13. Correção para que após efetuar Análise "Por Item" de Cotação Parcial seja possível dar continuidade ao processo com a quantidade restante.
    14. Correção para que executar a URL correta da API de Análise de Cotação.
    15. Correção para que ao deletar todos os anexos antes de enviar Workflow, não ocorra validação de Anexo não encontrado.
    16. Correção para que não seja permitido data de recebimento da cotação inferior a data atual.
    17. Corrección para retirar la obligatoriedad de los campos en la actualización de los contactos.
    18. Corrección para que al declinar una Propuesta del Workflow el proceso ocurra correctamente.
    19. Corrección para que al utilizar otras monedas en el formulario de Workflow la grabación ocurra correctamente.
    20. Corrección para el bloqueo de productos que ocurría de forma intermitente en la Generación de cotización.
    21. Corrección del ícono de documento adjunto al visualizar documentos adjuntos y finalizar la lista.
    22. Corrección para considerar los valores de gasto y seguro en el Análisis por ítem.
    23. 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.
    24. Corrección para ejecutar la URL correcta de la API de Análisis de la cotización.
    25. 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.
    26. Corrección para que no se permita fecha de recepción de la cotización inferior a la fecha actual.
    Expandir
    titleMayo/2023
    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
    Expandir
    titleMaio/2023
    1. Implementado Mapa de Cotação.
    2. Implementado Filtro por Grupo de Produto.
    3. Inclusão do Campo de TES na Edição da Cotação.
    4. Inclusão de funcionalidade de Exclusão de Proposta.
    5. Correção de documento Anexo não Encontrado.
    6. Correção de descrição do Título da Tela de Edição da Cotação.
    7. Correção do campo de desconto ao utilizar Nova Proposta.
    8. Correção para não permitir desconto negativo na Edição da Cotação.
    9. Correção de erro ao desistir de baixar o anexo.
    10. Correção no Endpoint para retornar propostas parciais de Fornecedores.
    11. Correção de mensagem de produto bloqueado para produtos liberados.
    12. Correção de erro exibido ao realizar filtro na aba Atendidas.
    13. Correção no loading da busca de produto.
    14. Correção na tela de Demais Campos para não salvar dados ao clicar em Fechar.
    15. Correção do campo quantidade disponível quando MV_ZERPROP = 1.
    16. Correção na exibição dos Impostos Complementares na Tela de Impostos por item.
    17. Correção no campo Tipo de Frete da Edição de Cotação para mesmo comportamento do legado.
    18. Correção do retorno das cotações por ordem do total da cotação.
    Expandir
    titleAbril/2023
    1. Implementação dos Implementación de los campos de Quantidade Cantidad de fornecedores proveedores participantes e quantidade de produtos cotados na listagem de cotações.y cantidad de productos cotizados en la lista de cotizaciones.
    2. Implementación del Implementação de filtro por status estatus "Todos, pendente, em análise e finalizado" na listagem de cotações.
    3. Implementação dos campos customizados da tabela SC8 na edição de cotação.
    4. Implementação de edição da observação a ser levado para o pedido de compra na análise de cotação
    5. Implementação de opção para gerar novas propostas, manual e via workflow.
    6. pendientes, en análisis y finalizado" en la lista de cotizaciones.
    7. Implementación de los campos personalizados de la tabla SC8 en la edición de cotización.
    8. Implementación de edición de la observación que se llevará al pedido de compra en el análisis de cotización.
    9. Implementación de opción para generar nuevas propuestas, manual y vía workflow.
    10. Corrección en el envío Correção no envio de e-mail por workflow.
    11. Correção Corrección para mostrar mensagem mensaje de aviso ao atualizar contato de fornecedor que esteja aberto por outro usuário.al actualizar contacto de proveedor abierto por otro usuario.
    12. Correcciones generales de usabilidad y desempeñoCorreções gerais de usabilidade e desempenho.

    06.

    ...

    TABLAS, PARÁMETROS Y CAMPOS RESERVADOS

    A continuación se pueden visualizar los parámetros y tablas utilizados por el Abaixo você pode visualizar os parâmetros e tabelas utilizados pelo NFC:

    Expandir
    titleTabelasTablas
    • DHU (Cabeçalho da Cotação)
    • DHV (Produtos da Cotação)
    • SA2 (Fornecedores)
    • SB1 (Descrição Genérica do Produto)
    • SC1 (Solicitações de Compra)
    • SC8 (Cotações)
    • AC9 (Relação de Objetos x Entidades)
    • ACB (Bancos de Conhecimentos)
    • SCE (Encerramento de Cotações)
    • SC7 (Pedido de Compra)
    • DKI (Contatos x Fornecedores)
    Expandir
    titleParâmetros
    • MV_PGCWF - Permite utilizar o e-mail do comprador para enviar o formulário de workflow ao fornecedor.
    • MV_SELFOR - Permite o comprador escolher os fornecedores livremente ou somente dentre os amarrados no Produto x Fornecedor.
    • MV_PCEXCOT - Habilita a reabertura da cotação ao excluir um Pedido de Compra ou Contrato.
    • MV_TPPLA - Tipo da planilha a ser utilizado ao gerar um contrato proveniente da cotação.
    • MV_APIFOR - Habilita o preenchimento automático de dados do fornecedor com a API TOTVS Carol (Utilizado preenchendo o CNPJ ao transformar participante da cotação em fornecedor)
    • MV_PGCPISV - Servidor de e-mail POP 3/ IMAP dos compradores.
    • MV_PGCPIPO - Porta de e-mail POP 3/ IMAP dos compradores.
    • MV_PGCSMSR - Servidor de e-mail SMTP dos compradores.
    • MV_PGCSMPO - Porta de e-mail SMTP dos compradores.
    • MV_PGCTAUT - Tipo de autenticação do servidor de e-mail: TLS, SSL ou nenhum.
    • MV_COTFIAP - Em caso de cotação com compra centralizada, os pedidos serão gerados na filial de entrega ou filial de compra.
    • MV_GRIMPWF - Informa se deve calcular o IPI e ICMS-ST (mesmo zerado no workflow), de acordo com os valores do sistema, ou considerar apenas os valores vindos do Workflow. O parâmetro é do tipo lógico. Situação: Resposta do workflow do fornecedor com valores de IPI e ICMS-ST zerados: .T. - Sistema calculará os valores e gravar nos respectivos campos SC8 / .F. - Sistema não calculará os valores e os respectivos campos continuarão zerados.

    07. PONTOS DE ENTRADA E ROTINA AUTOMÁTICA

    Expandir
    titleRotina automática - Edição da cotação

    A rotina automática de edição de cotação é realizada através do instanciamento do modelo NFCA020.
    Esta rotina tem como objetivo realizar somente a edição da cotação, com os dados que são passados par a rotina.

    Abaixo, um exemplo de utilização:

    Aviso
    titleAtenção

    Trata-se de exemplo básico, que deve ser adaptado para as necessidades da organização. Além disso, apenas os campos que são exibidos na rotina de Edição de Cotação MVC podem ser editados via rotina automática, ou seja, se tentar editar/inserir valor em campo que não é exibido na rotina de Edição de Cotação MVC, o campo não será gravado.

    Bloco de código
    languagevb
    #Include 'TOTVS.ch'
    #Include 'FWMVCDef.ch'
    #Include 'Protheus.ch'
    
    /*/{Protheus.doc} EdicaoComp
    	Exemplo de rotina automática com a função NFCA020, para editar uma cotação existente
    @author equipe
    @since 10/10/2024
    @return nil, nil, nil.
    /*/
    User Function EdicaoComp()
    Local cNumCotacao   := "000204"
    Local cCodFornec    := "000001"
    Local cLoja         := "00"
    Local cNomeFornec   := "TESTE IT"
    Local cNumProposta  := "01"
    Local oModel        := nil
    Local oGridSC8      := nil
    Local oFormDHU      := nil
    Local nFor          := 0
    Local cMsg          := ""
    
    //Inicializando o ambiente
    RpcSetEnv( "T1", "D MG 01 ",,, "COM") 
         
    DHU->( DbSetOrder(1) ) //DHU_FILIAL+DHU_NUM
    if ( DHU->( DbSeek(xFilial("DHU") + cNumCotacao) ) )
    
        oModel   := FwLoadModel("NFCA020")
        oFormDHU := oModel:GetModel("DHUMASTER")
        oGridSC8 := oModel:GetModel("SC8DETAIL")
        
        /*Chamar a seguinte função, informando número da cotação, código do fornecedor, nome do fornecedor e número da proposta, para que
        ocorra a inicialização correta dos objetos JSON da rotina. Se não fizer, ocorrerá erro, pois os objetos estarão vazios e é ESSENCIAL chama a rotina.*/
        NF020SetSup(cNumCotacao, cCodFornec, cLoja, cNomeFornec, cNumProposta)
    
        oModel:SetOperation(MODEL_OPERATION_UPDATE)    
        oModel:Activate()
     
        //Editar o valor do  Seguro, Despesa e Contato na cotação
        oFormDHU:SetValue('DHU_SEGURO' , 95.79)
        oFormDHU:SetValue('DHU_DESPESA', 248.41)
        oFormDHU:SetValue('DHU_CONTATO', 'Antonio Moreira')
    
        //Editando os itens da cotação
        for nFor := 1 to oGridSC8:Length()
            oGridSC8:GoLine(nFor)
            oGridSC8:setValue("C8_PRECO", 47.56)
            oGridSC8:setValue("C8_QTDISP", 1) 
            oGridSC8:LoadValue("C8_ALIIPI", 5.00)
        next nFor  
    
        //Valido se o form está com informações corretas e consistentes
        if ( oModel:VldData() )
            oModel:commitData()
            msgalert("Cotação editada!" )
        else 
            cMsg := oModel:getErrorMessage()[6] + " - " + oModel:getErrorMessage()[4] + CRLF
            cMsg += oModel:getErrorMessage()[8] //https://tdn.totvs.com/display/public/framework/FWFormModel - GetErrorMessage
            msgalert("ERRO: " + cMsg)
        endif
     
    endif
    
    FWFreeObj(oModel)
    FWFreeObj(oGridSC8)
    FWFreeObj(oFormDHU)
     
    return nil
    • )
    • DKK (Cabecalho template WF)
    • 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)
    • DKI (Contactos vs. Proveedores)
    • DKK (Encabezado template WF) 


      Expandir
      titleCampos - Tabla DKK

      DKK - Encabezado template WF


      SX2 - Informaciones de la tabla 

      Campo 

      Descripción

      X2_CHAVE

      DKK

      X2_NOME

      Encabezado template WF         

      X2_UNICO

      DKK_FILIAL + DKK_CODIGO

      X2_MODO

      C

      X2_MODOUN

      E

      X2_MODOEMP

      E



      SIX - Índices das tablas

      Campo

      Descripción

      ÍNDICE

      DKK

      ORDEN

      1

      CLAVE

      DKK_FILIAL+DKK_CODIGO

      DESCRIPCIÓN

      Código



      SX3 - Informaciones de los campos

      Campo

      Descripción

      Campo

      DKK_FILIAL

      Tipo

      Carácter

      Tamaño

      8

      Decimal

      0

      Título

      Sucursal

      Descripción

      Sucursal

      Utilizado

      No

      Obligatorio

      No

      Browse

      No

      Orden

      01

      Grupo SXG

      033


      Campo

      Descripción

      Campo

      DKK_CODIGO

      Tipo

      Carácter

      Tamaño

      6

      Decimal

      0

      Formato

      @!

      Título

      Código

      Descripción

      Código template

      Utilizado

      Obligatorio

      No

      Browse

      No

      Contexto

      Real

      Propiedad

      Modificar

      Inic. Estándar

      GETSXENUM("DKK","DKK_CODIGO")

      Orden

      02


      Campo

      Descripción

      Campo

      DKK_REVIS

      Tipo

      Carácter

      Tamaño

      6

      Decimal

      0

      Formato

      @!

      Título

      Revisión 

      Descripción

      Revisión template

      Utilizado

      Obligatorio

      No

      Browse

      No

      Contexto

      Real

      Propiedad

      Modificar

      Orden

      03


      Campo

      Descripción

      Campo

      DKK_LOGO

      Tipo

      Carácter

      Tamaño

      200

      Decimal

      0

      Formato

      @!

      Título

      Camino Logo

      Descripción

      Camino del logotipo

      Utilizado

      Obligatorio

      No

      Browse

      Contexto

      Real

      Propiedad

      Modificar

      Orden

      04



      Campo

      Descripción

      Campo

      DKK_COR

      Tipo

      Carácter

      Tamaño

      10

      Decimal

      0

      Formato

      @!

      Título

      Color

      Descripción

      Color del template

      Utilizado

      Obligatorio

      No

      Browse

      No

      Contexto

      Real

      Propiedad

      Modificar

      Orden

      05

    • DKL (Ítems template WF)

      • Expandir
        titleCampos - Tabla DKL

        DKL - Ítems template WF


        SX2 - Informaciones de la tabla 

        Campo 

        Descripción

        X2_CHAVE

        DKL

        X2_NOME

        Ítems template WF

        X2_UNICO

        DKK_FILIAL + DKK_CODIGO

        X2_MODO

        C

        X2_MODOUN

        E

        X2_MODOEMP

        E



        SIX - Índices das tablas

        Campo

        Descripción

        ÍNDICE

        DKL

        ORDEN

        1

        CLAVE

        DKL_FILIAL+DKL_CODIGO

        DESCRIPCIÓN

        Código


        Campo

        Descripción

        ÍNDICE

        DKL

        ORDEN

        2

        CLAVE

        DKL_FILIAL+DKL_CODDKK

        DESCRIPCIÓN

        Código DKK



        SX3 - Informaciones de los campos

        Campo

        Descripción

        Campo

        DKL_FILIAL

        Tipo

        Carácter

        Tamaño

        8

        Decimal

        0

        Título

        Sucursal

        Descripción

        Sucursal

        Utilizado

        No

        Obligatorio

        No

        Browse

        No

        Orden

        01

        Grupo SXG

        033


        Campo

        Descripción

        Campo

        DKL_CODIGO

        Tipo

        Carácter

        Tamaño

        6

        Decimal

        0

        Formato

        @!

        Título

        Código

        Descripción

        Código ítem template

        Utilizado

        Obligatorio

        No

        Browse

        No

        Contexto

        Real

        Propiedad

        Modificar

        Orden

        02


        Campo

        Descripción

        Campo

        DKL_CODDKK

        Tipo

        Carácter

        Tamaño

        6

        Decimal

        0

        Formato

        @!

        Título

        Código DKK

        Descripción

        Código template DKK

        Utilizado

        Obligatorio

        No

        Browse

        No

        Contexto

        Real

        Propiedad

        Modificar

        Orden

        03


        Campo

        Descripción

        Campo

        DKL_TABELA

        Tipo

        Carácter

        Tamaño

        3

        Decimal

        0

        Formato

        @!

        Título

        Tabla

        Descripción

        Código de la tabla

        Utilizado

        Obligatorio

        No

        Browse

        No

        Contexto

        Real

        Propiedad

        Modificar

        Orden

        04



        Campo

        Descripción

        Campo

        DKL_CAMPO

        Tipo

        Carácter

        Tamaño

        10

        Decimal

        0

        Formato

        @!

        Título

        Nombre campo

        Descripción

        Nombre del campo

        Utilizado

        Obligatorio

        No

        Browse

        No

        Contexto

        Real

        Propiedad

        Modificar

        Orden

        05


        Campo

        Descripción

        Campo

        DKL_VINC

        Tipo

        Carácter

        Tamaño

        1

        Decimal

        0

        Formato

        @!

        Título

        Vínculo WF

        Descripción

        Vínculo del campo con e-mail

        Utilizado

        Obligatorio

        No

        Browse

        No

        Contexto

        Real

        Propiedad

        Modificar

        CBOX

        1=Encabezado;2=Ítems;3=Pie de página

        Orden

        06


        Campo

        Descripción

        Campo

        DKL_EDIT

        Tipo

        Carácter

        Tamaño

        1

        Decimal

        0

        Formato

        @!

        Título

        Editable

        Descripción

        Editable

        Utilizado

        Obligatorio

        No

        Browse

        No

        Contexto

        Real

        Propiedad

        Modificar

        CBOX

        1=Editable;2=Visualización

        Inic. Estándar

        "1"

        Orden

        07


        Campo

        Descripción

        Campo

        DKL_OBRIGA

        Tipo

        Carácter

        Tamaño

        1

        Decimal

        0

        Formato

        @!

        Título

        Obligatorio

        Descripción

        Obligatorio

        Utilizado

        Obligatorio

        No

        Browse

        No

        Contexto

        Real

        Propiedad

        Modificar

        CBOX

        1=Sí;2=No            

        Inic. Estándar

        "2"

        Orden

        08

    • Búsqueda estándar DHU
      • Expandir
        titleConsulta estándar DHU

        Consulta estándar DHU


        Consulta SXB

        Alias

        DHU

        Tipo

        1 - Consulta

        Secuencia

        01

        Columna

        DB

        Descripción

        DHU

        Contiene

        DHU



        Alias

        DHU

        Tipo

        2 - Órdenes

        Secuencia

        01

        Columna

        01

        Descripción

        Núm.cotización



        Alias

        DHU

        Tipo

        4 - Columnas

        Secuencia

        01

        Columna

        01

        Descripción

        Núm.cotización

        Contiene

        DHU_NUM



        Alias

        DHU

        Tipo

        4 - Columnas

        Secuencia

        01

        Columna

        02

        Descripción

        Fch. Emisión

        Contiene

        DHU_DTEMIS



        Alias

        DHU

        Tipo

        4 - Columnas

        Secuencia

        01

        Columna

        03

        Descripción

        Alias Cot.

        Contiene

        DHU_AGPCOT



        Alias

        DHU

        Tipo

        5 - Devolución

        Secuencia

        01

        Contiene

        DHU->DHU_NUM



        Alias

        DHU

        Tipo

        6 - Filtro

        Secuencia

        01

        Contiene

        NF030SDFilt()

    Expandir
    titleParámetros
    • 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.
    • MV_COTFIAP - En el caso de cotización con compra centralizada, los pedidos se generarán en la sucursal de entrega o en la sucursal de compra.
    • MV_GRIMPWF - Informa si se debe calcular el IPI e ICMS-ST (incluso en cero en el workflow), de acuerdo con los valores del sistema, o considerar únicamente los valores provenientes del Workflow. El parámetro es del tipo lógico. Situación: Respuesta del workflow del proveedor con valores de IPI e ICMS-ST que están en cero: .T. - El sistema calculará los valores y grabará en los respectivos campos SC8 / .F. - El sistema no calculará los valores y los respectivos campos continuarán en cero.
    • MV_PGCOBC1 - ¿La observación de SC1 debe cargarse en la Cotización y PC, en el NFC? .T. - Para Sí / .F. - No (estándar)
    • MV_NFCMOED - Parámetro que verifica si el registro de la moneda se utilizará de la tabla CTO o del parámetro MV_MOEDA, donde 1=CTO(Estándar) / 2=MV_MOEDA
    • MV_CALQIPI - Parámetro que deshabilita el recálculo automático del porcentaje y valor de IPI, donde al quedar con el valor .T. (True), el sistema no va a recalcular automáticamente los valores y alícuotas de IPI; y el valor .F. (False), indica que el sistema debe realizar el estándar, es decir, recalcular automáticamente si la alícuota o valor fueran modificados, de acuerdo con el sistema opera actualmente. El estándar del parámetro es .F., es decir, mantener el recálculo de los campos de alícuota y valor de IPI automáticos.
    • MV_NFCDTRE - Permite modificar el plazo de recepción de la cotización .T. = Activado; .F. = Desactivado (Si el parámetro estuviera activo, la opción para modificación aparecerá en la pantalla de edición de la cotización).
    Expandir
    titleNombres de campos reservados en la rutina NFCA020

    Con la rutina de Cotización híbrida de la NFC, en la pantalla de edición de la cotización (en MVC), tenemos algunos campos exclusivos presentes en la pantalla, que tienen nombres reservados y que no deben utilizarse en la creación de campos personalizados en las tablas SC8 - Cotizaciones y DHU - Encabezado de la cotización, pues pueden generar conflictos con la rutina.

    A continuación, listamos los nombres reservados de los campos en la rutina NFCA020, que no deben utilizarse en la creación/personalización de campos en las tablas SC8 y DHU:

    Tabla

    Nombre del campo

    Descripción

    DHU

    DHU_TPFORN

    ¿Proveedor registrado?

    DHU

    DHU_CODFOR

    Código del proveedor

    DHU

    DHU_LOJAFOR

    Tienda

    DHU

    DHU_NOMFOR

    Nombre del proveedor

    DHU

    DHU_EMAIL

    E-mail

    DHU

    DHU_CONTATO

    Contacto

    DHU

    DHU_NUMPRO

    Propuesta

    DHU

    DHU_DESC

    % Descuento

    DHU

    DHU_TOTIT

    Total ítems

    DHU

    DHU_TOTCOT

    Total cotización

    DHU

    DHU_VLDESC

    Valor descuento

    DHU

    DHU_FRETE

    Tipo flete

    DHU

    DHU_VALFRE

    Flete

    DHU

    DHU_COND

    Condición de pago

    DHU

    DHU_MOEDA

    Moneda

    DHU

    DHU_TXMOEDA

    Tasa de la moneda

    DHU

    DHU_DESPESA

    Gastos

    DHU

    DHU_SEGURO

    Seguro

    DHU

    DHU_TOTIPI

    Valor IPI

    DHU

    DHU_TOTICM

    Valor ICMS

    DHU

    DHU_TOTISS

    Valor impuesto ISS

    DHU

    DHU_TOTICO

    Total ICMS complementario

    DHU

    DHU_TOTDIF

    Total DIFAL

    DHU

    DHU_TOTISO

    Total ICMS solidario

    SC8

    C8_ZXDESCR

    Descripción


    07. PUNTOS DE ENTRADA Y RUTINA AUTOMÁTICA

    Aviso
    titleAtención - Puntos de entrada con interfaz

    Los puntos de entrada del Nuevo flujo de compras no permiten la presentación de interfaz debido a la tecnología utilizada. Las personalizaciones posibles se activarán en momentos de procesamiento, semejante al comportamiento  de execauto.

    Expandir
    titleRutina automática - Inclusión de cotización (API REST)

    Es posible incluir una cotización en el Nuevo flujo de compras por API REST.

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

    Aviso
    titleAtención

    Se trata de un ejemplo básico, que debe adaptarse a las necesidades de la organización.


    URL EndPoint: POST localhost:9090/rest/api/com/v1/pgcgeneratequotation/execauto

    • Observación: La url "localhost:9090/rest" puede variar de acuerdo con la configuración REST de su organización.

    Headers:

    • tenantId:EMPRESA,FILIAL
      • Observación: En el parámetro EMPRESA, incluya el código correspondiente a la empresa, y en el parámetro SUCURSAL, incluya el código de la sucursal. Asegúrese de no incluir espacios en los parámetros del header, pues esto es esencial para el correcto funcionamiento.
    • Accept-Charset:utf8
      • Observación: Este parámetro garantiza que los mensajes de error o éxito sean codificados en UTF-8, evitando la exhibición de caracteres extraños o ilegibles.

    A continuación se muestra un ejemplo de body de inclusión de cotización con 1 Solicitud de compra que se cotizará con 2 Proveedores, uno que tiene registro y el otro no.

    {
       "quoteGroupNickname":"PRUEBA EXECAUTO1",
       "receiptQuote":"20250215",
       "sendWorkflow":"true",
       "items":[

          {
             "c1_filial":"SUCURSAL",
             "c1_num":"NUMEROSC",
             "c1_produto":"CODIGODELPRODUCTO",
             "c1_item":"0001",
             "c1_itemgrd":"   ",
             "notesupplier":"observación para el proveedor",
             "proposals":[
                 {
                    "suppliercode":"CODIGOPROVEEDOR",
                    "store":"TIENDA",
                 },
                 {
                    "suppliercode":"",
                    "store":"",
                    "companyname":"PARTICIPANTE SIN REGISTRO",
                    "email":"participante@participante.com.br"
                 }
             ]
          }
       ]
    }

    Aviso
    titleAtención - MV_SELFOR

    El parámetro MV_SELFOR, determina si el comprador podrá seleccionar cualquier proveedor registrado(MV_SELFOR=S) o solamente los que hubieran sidos homologados y tuvieran registro de producto vs. proveedor(MV_SELFOR=N).

    Para tratar este caso, existe un cambio en el envío de los datos:
    MV_SELFOR = S →  Todos los proveedores cotizarán todos los productos, por lo tanto, la propriedad PROPOSALS y su contenido debe repetirse a cada solicitud de compra de la lista.

    Expandir
    titleEjemplo - MV_SELFOR = S

    {
       "quoteGroupNickname":"PRUEBA EXECAUTO1",
       "receiptQuote":"20250215",
       "sendWorkflow":"true",
       "items":[

          {
             "c1_filial":"SUCURSAL",
             "c1_num":"SC1000",
             "c1_produto":"CODIGODELPRODUCTO",
             "c1_item":"0001",
             "c1_itemgrd":"   ",
             "notesupplier":"observación para el proveedor",
             "proposals":[
                 {
                    "suppliercode":"CODIGOPROVEEDOR",
                    "store":"TIENDA",
                 },
                 {
                    "suppliercode":"",
                    "store":"",
                    "companyname":"PARTICIPANTE SIN REGISTRO",
                    "email":"participante@participante.com.br"
                 }
             ]
          },

          {
             "c1_filial":"SUCURSAL",
             "c1_num":"SC2000",
             "c1_produto":"CODIGODELPRODUCTO",
             "c1_item":"0001",
             "c1_itemgrd":"   ",
             "notesupplier":"observación para el proveedor",
             "proposals":[
                 {
                    "suppliercode":"CODIGOPROVEEDOR",
                    "store":"TIENDA",
                 },
                 {
                    "suppliercode":"",
                    "store":"",
                    "companyname":"PARTICIPANTE SIN REGISTRO",
                    "email":"participante@participante.com.br"
                 }
             ]
          }
       ]
    }




    MV_SELFOR = N →  Los proveedores cotizarán solamente los productos para el cual están homologados(registrados en Producto vs. Proveedor) por lo tanto la propiedad PROPOSALS debe contener solamente los proveedores que están homologados para aquellos productos.

    Expandir
    titleEJemplo - MV_SELFOR = N

    En el siguiente ejemplo, el PROVEEDOR1 está registrado tanto para el PRODUCTO1 como para el PRODUCTO2, entonces se enviará a ambas Solicitudes de compras.
    El PROVEEDOR2 está registrado como el proveedor para el PRODUCTO1, sin embargo, no está para el PRODUCTO2, por lo tanto, no podrá enviarse.


    {

       "quoteGroupNickname":"PRUEBA EXECAUTO1",
       "receiptQuote":"20250215",
       "sendWorkflow":"true",
       "items":[

          {
             "c1_filial":"SUCURSAL",
             "c1_num":"SC1000",
             "c1_produto":"PRODUCTO1",
             "c1_item":"0001",
             "c1_itemgrd":"   ",
             "notesupplier":"observación para el proveedor",
             "proposals":[
                 {
                    "suppliercode":"PROVEEDOR1",
                    "store":"TIENDA",
                 },
                 {

                    "suppliercode":"PROVEEDOR2",
                    "store":"TIENDA",
                 },
                 {
                    "suppliercode":"",
                    "store":"",
                    "companyname":"PARTICIPANTE SIN REGISTRO",
                    "email":"participante@participante.com.br"
                 }
             ]
          },

          {
             "c1_filial":"SUCURSAL",
             "c1_num":"SC2000",
             "c1_produto":"PRODUCTO2",
             "c1_item":"0001",
             "c1_itemgrd":"   ",
             "notesupplier":"observación para el proveedor",
             "proposals":[
                 {
                    "suppliercode":"PROVEEDOR1",
                    "store":"TIENDA",
                 },
                 {
                    "suppliercode":"",
                    "store":"",
                    "companyname":"PARTICIPANTE SIN REGISTRO",
                    "email":"participante@participante.com.br"
                 }
             ]
          }
       ]
    }



    Propiedad

    Descripción

    quoteGroupNickName

    Alias de la cotización, complete el campo DHU_AGPCOT

    receiptQuote

    Fecha de recepción de la cotización, complete el campo DHU_DTRCOT

    sendWorkflow

    Determina si después de incluir la cotización se enviará al workflow automáticamente. Si fuera positivo, mirará el registro de condición de pago(E4_ATVWF) para determinar qué condiciones deben estar puestas a disposición y para el registro de contactos vinculado al proveedor para verificar a los e-mails que deben enviarse. Complete con true o false.

    c1_filial

    Código de la sucursal de las solicitudes y de la inclusión de la cotización

    c1_num

    Número de la solicitud de compra

    c1_produto

    Código del producto que consta en la solicitud

    c1_item

    Cuál es la posición que corresponde al producto en la Solicitud (Ítem 0001, 0002, 0003, etc.)

    notesupplier

    Observación que debe enviarse al proveedor vía workflow.

    proposals

    Contiene los proveedores participantes, debe repetirse para cada Solicitud de compra de la lista. 

    suppliercode

    Código del proveedor (Enviar en blanco si fuera participante sin registro)

    store

    Código de la tienda (Enviar en blanco si fuera participante sin registro)

    companyname

    Nombre del participante que no tiene registro en el sistema.

    email

    E-mail del participante que no tiene registro en el sistema.

    Expandir
    titleRutina automática - Inclusión de cotización (User Function)

    Es posible incluir una cotización en el Nuevo flujo de compras por User Function.

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

    Aviso
    titleAtención

    Se trata de un ejemplo básico, que debe adaptarse a las necesidades de la organización.

    Aviso
    titleAtención - MV_SELFOR

    El parámetro MV_SELFOR, determina si el comprador podrá seleccionar cualquier proveedor registrado(MV_SELFOR=S) o solamente los que hubieran sidos homologados y tuvieran registro de producto vs. proveedor(MV_SELFOR=N).

    Para tratar este caso, existe un cambio en el envío de los datos:
    MV_SELFOR = S →  Todos los proveedores cotizarán todos los productos, por lo tanto, la propriedad PROPOSALS y su contenido debe repetirse a cada solicitud de compra de la lista.

    Expandir
    titleEjemplo - MV_SELFOR = S
    Bloco de código
    languagec#
    linenumberstrue
    #INCLUDE "PROTHEUS.CH"
    #INCLUDE "TOTVS.CH"
    #INCLUDE "FWMVCDEF.CH"
    #Include "RwMake.ch"
    #Include "TbiConn.ch"
    
    User Function GENERATEQUOT()
        Local oGenerateQuotation As Object
        Local jBody As Json
        Local jRet As Json
        Local lRet As Json
        Local nX As Numeric
        Local aForn1 := {} as array
        Local aItems := {} as array
    
        PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" USER "admin" PASSWORD "1234" MODULO "COM"
        
        oGenerateQuotation := pgc.generateQuotationRepository.pgcgenerateQuotationRepository():New('POST')
        jBody := JsonObject():New()
    
        // -- Inclusión de 3 proveedores que participarán.
        aAdd(aForn1, JsonObject():New())
        aForn1[1]['suppliercode']   := "000003"
        aForn1[1]['store']          := "01"
        aForn1[1]['companyname']    := "PROVEEDOR MIAMI"
        aForn1[1]['email']          := ""
    
        aAdd(aForn1, JsonObject():New())
        aForn1[2]['suppliercode']   := "03FORN"
        aForn1[2]['store']          := "01" 
        aForn1[2]['companyname']    := "PROVEEDOR 03"
        aForn1[2]['email']          := ""
    
        aAdd(aForn1, JsonObject():New())
        aForn1[3]['suppliercode']   := ""
        aForn1[3]['store']          := "" 
        aForn1[3]['companyname']    := "PARTICIPANTE"
        aForn1[3]['email']          := ""
        // -- Final inclusión de proveedores
    
        // -- Inclusión de las solicitudes
        aAdd(aItems, JsonObject():New())
        aItems[1]['c1_filial']  := "D MG 01 "
        aItems[1]['c1_num'] := "ZC0459"
        aItems[1]['c1_produto'] := "LF037                         "
        aItems[1]['c1_item'] := "0001"
        aItems[1]['c1_itemgrd'] := " "
        aItems[1]['notesupplier'] := "observación para el proveedor 1"
        aItems[1]['proposals'] := aForn1 // -- Incluye los proveedores (OBLIGATORIO INCLUIR)
    
        aAdd(aItems, JsonObject():New())
        aItems[2]['c1_filial']  := "D MG 01 "
        aItems[2]['c1_num'] := "ZC0460"
        aItems[2]['c1_produto'] := "LF037                         "
        aItems[2]['c1_item'] := "0001"
        aItems[2]['c1_itemgrd'] := " "
        aItems[2]['notesupplier'] := "observación para el proveedor 2"
        aItems[2]['proposals'] := aForn1 // -- Incluye los proveedores (OBLIGATORIO INCLUIR)
    
        jBody['quoteGroupNickname'] := "EXECAUTO1"
        jBody['receiptQuote']       := "20250215"
    
        jBody['items'] := aItems // -- Incluye las Solicitudes de compra con proveedores participantes.
    
        jRet := oGenerateQuotation:postExecAuto(jBody)
        lRet := oGenerateQuotation:lOk
    
        If lRet 
            Conout(jRet['message']) // Mensaje de grabado con éxito
            Conout(jRet['quotationCode']) // Código de la cotización
        Else 
            Conout(jRet['errorMessage']) // Mensaje de error
    
            If jRet:HasProperty('items') .And. Len(jRet['items']) > 0
                For nX := 1 To Len(jRet['items'])
                    Conout('Item ' + AllTrim(Str(nX)) + ' tuvo el siguiente mensaje de error: ' +jRet['items'][nX]['errormessage'])
                Next nX
            EndIf
        EndIf
    
        RESET ENVIRONMENT
    
    Return Nil




    MV_SELFOR = N →  Los proveedores cotizarán solamente los productos para el cual están homologados(registrados en Producto vs. Proveedor) por lo tanto la propiedad PROPOSALS debe contener solamente los proveedores que están homologados para aquellos productos.

    Expandir
    titleEjemplo - MV_SELFOR = N

    En el siguiente ejemplo, el PROVEEDOR1 está registrado tanto para el PRODUCTO1 como para el PRODUCTO2, entonces se enviará a ambas Solicitudes de compras.
    El PROVEEDOR2 está registrado como el proveedor para el PRODUCTO1, sin embargo, no está para el PRODUCTO2, por lo tanto, no podrá enviarse.


    Bloco de código
    languagec#
    linenumberstrue
    #INCLUDE "PROTHEUS.CH"
    #INCLUDE "TOTVS.CH"
    #INCLUDE "FWMVCDEF.CH"
    #Include "RwMake.ch"
    #Include "TbiConn.ch"
    
    User Function QUOTMVSELFOR()
        Local oGenerateQuotation As Object
        Local jBody As Json
        Local jRet As Json
        Local lRet As Json
        Local nX As Numeric
        Local aForn1 := {} as array
        Local aForn2 := {} as array
        Local aItems := {} as array
    
        PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" USER "admin" PASSWORD "1234" MODULO "COM"
        
        oGenerateQuotation := pgc.generateQuotationRepository.pgcgenerateQuotationRepository():New('POST')
        jBody := JsonObject():New()
    
        // -- Inclusión de proveedores que participarán.
        aAdd(aForn1, JsonObject():New())
        aForn1[1]['suppliercode']   := "PROVEEDOR1"
        aForn1[1]['store']          := "01"
        aForn1[1]['email']          := ""
    
        aAdd(aForn1, JsonObject():New())
        aForn1[2]['suppliercode']   := "PROVEEDOR2"
        aForn1[2]['store']          := "00"
        aForn1[2]['email']          := ""
    
        aAdd(aForn2, JsonObject():New())
        aForn2[1]['suppliercode']   := "PROVEEDOR1"
        aForn2[1]['store']          := "00"
        aForn2[1]['email']          := ""
        // -- Final inclusión de proveedores
    
        // -- Inclusión de las solicitudes
        aAdd(aItems, JsonObject():New())
        aItems[1]['c1_filial']  := "D MG 01 "
        aItems[1]['c1_num'] := "ZC0524"
        aItems[1]['c1_produto'] := "PRODUCTO1"
        aItems[1]['c1_item'] := "0001"
        aItems[1]['c1_itemgrd'] := " "
        aItems[1]['notesupplier'] := "observación para el proveedor 1"
        aItems[1]['proposals'] := aForn1 // -- Incluye los proveedores para este producto MV_SELFOR = N
    
        aAdd(aItems, JsonObject():New())
        aItems[2]['c1_filial']  := "D MG 01 "
        aItems[2]['c1_num'] := "ZC0525"
        aItems[2]['c1_produto'] := "PRODUCTO2"
        aItems[2]['c1_item'] := "0001"
        aItems[2]['c1_itemgrd'] := " "
        aItems[2]['notesupplier'] := "observación para el proveedor 2"
        aItems[2]['proposals'] := aForn2 // -- Incluye los proveedores para este producto MV_SELFOR = N
    
        jBody['quoteGroupNickname'] := "EXECAUTO-MVSELFOR=N"
        jBody['receiptQuote']       := "20250215"
    
        jBody['items'] := aItems // -- Incluye las Solicitudes de compra con proveedores participantes.
    
        jRet := oGenerateQuotation:postExecAuto(jBody)
        lRet := oGenerateQuotation:lOk
    
        If lRet 
            Conout(jRet['message']) // Mensaje de grabado con éxito
            Conout(jRet['quotationCode']) // Código de la cotización
        Else 
            Conout(jRet['errorMessage']) // Mensaje de error
    
            If jRet:HasProperty('items') .And. Len(jRet['items']) > 0
                For nX := 1 To Len(jRet['items'])
                    Conout('Item ' + AllTrim(Str(nX)) + ' tuvo el siguiente mensaje de error: ' +jRet['items'][nX]['errormessage'])
                Next nX
            EndIf
        EndIf
    
        RESET ENVIRONMENT
    
    Return Nil
      




    Propiedad

    Descripción

    quoteGroupNickName

    Alias de la cotización, complete el campo DHU_AGPCOT

    receiptQuote

    Fecha de recepción de la cotización, complete el campo DHU_DTRCOT

    sendWorkflow

    Determina si después de incluir la cotización se enviará al workflow automáticamente. Si fuera positivo, mirará el registro de condición de pago(E4_ATVWF) para determinar qué condiciones deben estar puestas a disposición y para el registro de contactos vinculado al proveedor para verificar a los e-mails que deben enviarse. Complete con true o false.

    c1_filial

    Código de la sucursal de las solicitudes y de la inclusión de la cotización

    c1_num

    Número de la solicitud de compra

    c1_produto

    Código del producto que consta en la solicitud

    c1_item

    Cuál es la posición que corresponde al producto en la Solicitud (Ítem 0001, 0002, 0003, etc.)

    notesupplier

    Observación que debe enviarse al proveedor vía workflow.

    proposals

    Contiene los proveedores participantes, debe repetirse para cada Solicitud de compra de la lista. 

    suppliercode

    Código del proveedor (Enviar en blanco si fuera participante sin registro)

    store

    Código de la tienda (Enviar en blanco si fuera participante sin registro)

    companyname

    Nombre del participante que no tiene registro en el sistema.

    email

    E-mail del participante que no tiene registro en el sistema.

    Expandir
    titleRutina automática - Edición de la cotización

    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 solamente la edición de la cotización, con los datos que se transfieren a la rutina.

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

    Aviso
    titleAtención

    Se trata de un ejemplo básico, que debe adaptarse a las necesidades de la organización. Además, solamente los campos que se muestran en la rutina Edición de cotización MVC pueden editarse por medio de la rutina automática, es decir, si intentar editar/incluir un valor en un campo que no se muestra en la rutina Edición de cotización MVC, no se grabará el campo.

    Bloco de código
    languagevb
    #Include 'TOTVS.ch'
    #Include 'FWMVCDef.ch'
    #Include 'Protheus.ch'
    
    /*/{Protheus.doc} EdicaoComp
    	Ejemplo de rutina automática con la función NFCA020, para editar una cotización existente
    @author equipe
    @since 10/10/2024
    @return nil, nil, nil.
    /*/
    User Function EdicaoComp()
    Local cNumCotacao   := "000204"
    Local cCodFornec    := "000001"
    Local cLoja         := "00"
    Local cNomeFornec   := "PRUEBA IT"
    Local cNumProposta  := "01"
    Local oModel        := nil
    Local oGridSC8      := nil
    Local oFormDHU      := nil
    Local nFor          := 0
    Local cMsg          := ""
    
    //Inicializando el entorno
    RpcSetEnv( "T1", "D MG 01 ",,, "COM") 
         
    DHU->( DbSetOrder(1) ) //DHU_FILIAL+DHU_NUM
    if ( DHU->( DbSeek(xFilial("DHU") + cNumCotacao) ) )
    
        oModel   := FwLoadModel("NFCA020")
        oFormDHU := oModel:GetModel("DHUMASTER")
        oGridSC8 := oModel:GetModel("SC8DETAIL")
        
        /*Activar la siguiente función, informando el número de la cotización, código del proveedor, nombre del proveedor y número de la propuesta, para que
        ocurra la inicialización correcta de los objetos JSON de la rutina. Si no lo hiciera, ocurrirá un error, porque los objetos estarán vacíos y es ESENCIAL activar la rutina.*/
        NF020SetSup(cNumCotacao, cCodFornec, cLoja, cNomeFornec, cNumProposta)
    
        oModel:SetOperation(MODEL_OPERATION_UPDATE)    
        oModel:Activate()
     
        //Editar el valor del  Seguro, Gasto y Contacto en la cotización
        oFormDHU:SetValue('DHU_SEGURO' , 95.79)
        oFormDHU:SetValue('DHU_DESPESA', 248.41)
        oFormDHU:SetValue('DHU_CONTATO', 'Antonio Moreira')
    
        //Editando los ítems de la cotización
        for nFor := 1 to oGridSC8:Length()
            oGridSC8:GoLine(nFor)
            oGridSC8:setValue("C8_PRECO", 47.56)
            oGridSC8:setValue("C8_QTDISP", 1) 
            oGridSC8:LoadValue("C8_ALIIPI", 5.00)
        next nFor  
    
        //Válido si el formulario está con información correcta y consistente
        if ( oModel:VldData() )
            oModel:commitData()
            msgalert("¡Cotización editada!" )
        else 
            cMsg := oModel:getErrorMessage()[6] + " - " + oModel:getErrorMessage()[4] + CRLF
            cMsg += oModel:getErrorMessage()[8] //https://tdn.totvs.com/display/public/framework/FWFormModel - GetErrorMessage
            msgalert("ERROR: " + cMsg)
        endif
     
    endif
    
    FWFreeObj(oModel)
    FWFreeObj(oGridSC8)
    FWFreeObj(oFormDHU)
     
    return nil
    Expandir
    titleRotina automática - Incluir Nova Proposta

    La rutina automática de nueva propuesta se realiza por medio de la instancia del modelo NFCA020.

    El siguiente ejemplo tiene como finalidad la inclusión de una nueva propuesta con los datos que son transferidos a la rutina.

    Informações
    titleObservaciones
    • Asegúrese de que la variable lNewProp esté definida como .T. para que se incluya una nueva propuesta.
    • Si la variable lCleanProp , que indica si los datos de la nueva propuesta se limpiarán, esté definida como .T. , será necesario informar el campo de condición de pago.
    • La variable cNumProposta debe contener el número de la propuesta actual.
    Bloco de código
    languagevb
    #Include 'TOTVS.ch'
    #Include 'FWMVCDef.ch'
    #Include 'Protheus.ch'
     
    /*/{Protheus.doc} NovaPropos
        Ejemplo de rutina automática con la función NFCA020, para incluir una nueva propuesta
    @author equipe
    @since 12/06/2025
    @return nil, nil, nil.
    /*/
    
    User Function NovaPropos()
    
        Local cNumCotacao	:= "A00001"
    	Local cCodFornec	:= "000001"
    	Local cLoja		    := "00"
    	Local cNomeFornec	:= "PRUEBA IT"
    	Local cNumProposta	:= "01" //Número de la propuesta actual
        Local lNewProp		:= .T.  //Indica si es nueva propuesta.
    	Local lNewPart		:= .F.  //Indica si es nuevo participante
    	Local lCleanProp	:= .F.  //Indica si limpia los datos de la nueva propuesta.
        Local cCondPag      := '001'
        Local cMsg          := ""
    
        //Inicializando el entorno
        RpcSetEnv( "T1", "D MG 01 ",,, "COM")
    
        DHU->( DbSetOrder(1) ) //DHU_FILIAL+DHU_NUM
        If ( DHU->( DbSeek(xFilial("DHU") + cNumCotacao) ) )
    
            oModel   := FwLoadModel("NFCA020")
            oFormDHU := oModel:GetModel("DHUMASTER")
            oGridSC8 := oModel:GetModel("SC8DETAIL")
    
            /*Activar la siguiente función, informando el número de la cotización, código del proveedor, nombre del proveedor y número de la propuesta, para que
            ocurra la inicialización correcta de los objetos JSON de la rutina. Si no lo hiciera, ocurrirá un error, porque los objetos estarán vacíos y es ESENCIAL activar la rutina.*/
            NF020SetSup(cNumCotacao, cCodFornec, cLoja, cNomeFornec, cNumProposta, lNewProp, lNewPart, lCleanProp, ,)
            
            oModel:SetOperation(MODEL_OPERATION_UPDATE)   
            oModel:Activate()
    
            //Incluye la información de la condición de pago
            oFormDHU:SetValue('DHU_COND' , cCondPag)
    
            //Válido si el formulario está con información correcta y consistente
            if ( oModel:VldData() )
                oModel:commitData()
                msgalert("¡Nueva propuesta incluida!" )
            else
                cMsg := oModel:getErrorMessage()[6] + " - " + oModel:getErrorMessage()[4] + CRLF
                cMsg += oModel:getErrorMessage()[8] //https://tdn.totvs.com/display/public/framework/FWFormModel - GetErrorMessage
                msgalert("ERROR: " + cMsg)
            endif
        EndIf
    return nil
    Expandir
    titleRutina automática - Incluir nuevo participante

    La rutina automática de nuevo participante se realiza por medio de la instancia del modelo NFCA020.

    El siguiente ejemplo tiene como finalidad la inclusión de un nuevo participante con los datos que son transferidos a la rutina.

    Informações
    titleObservaciones

    El campo DHU_TPFORN determina: 

    • '1' = Participante registrado
    • '2' = Participante no registrado
    Bloco de código
    languagevb
    /*/{Protheus.doc} EdicaoComp
        Ejemplo de rutina automática con la función NFCA020, para incluir un nuevo participante
    @author equipe
    @since 12/06/2025
    @return nil, nil, nil.
    /*/
    
    User Function NovoPart()
    
        Local cNumCotacao	:= "001009"
    	Local cCodFornec	:= "000001"
    	Local cLoja		    := "01"
        Local lNewProp		:= .F.  //Indica si es nueva propuesta.
    	Local lNewPart		:= .T.  //Indica si es nuevo participante.
    	Local lCleanProp	:= .F.  //Indica si limpia los datos de la nueva propuesta. 
        Local cCondPag      := '001'
        Local cMsg          := ""
    
        //Inicializando el entorno
        RpcSetEnv( "T1", "D MG 01 ",,, "COM")
    
        DHU->( DbSetOrder(1) ) //DHU_FILIAL+DHU_NUM
        If ( DHU->( DbSeek(xFilial("DHU") + cNumCotacao) ) )
    
            oModel   := FwLoadModel("NFCA020")
            oFormDHU := oModel:GetModel("DHUMASTER")
            oGridSC8 := oModel:GetModel("SC8DETAIL")
    
            /*Activar la siguiente función, informando el número de la cotización, código del proveedor, nombre del proveedor y número de la propuesta, para que
            ocurra la inicialización correcta de los objetos JSON de la rutina. Si no lo hiciera, ocurrirá un error, porque los objetos estarán vacíos y es ESENCIAL activar la rutina.*/
            NF020SetSup(cNumCotacao,,,,, lNewProp, lNewPart, lCleanProp, ,)
            
            oModel:SetOperation(MODEL_OPERATION_UPDATE)   
            oModel:Activate()
    
            //Campos del Nuevo participante
            oFormDHU:SetValue('DHU_TPFORN'  , '1') //-- 1=Registrado; 2=No registrado
    		oFormDHU:SetValue('DHU_CODFOR'  , cCodFornec)
    		oFormDHU:SetValue('DHU_LOJAFOR' , cLoja)
    		oFormDHU:SetValue('DHU_EMAIL'   , '[email protected]')
    		oFormDHU:SetValue('DHU_CONTATO' , 'contato')
    		oFormDHU:SetValue('DHU_COND'    , cCondPag)
    
            //Válido si el formulario está con información correcta y consistente
            if ( oModel:VldData() )
                oModel:commitData()
                msgalert("¡Nuevo participante incluido!" )
            else
                cMsg := oModel:getErrorMessage()[6] + " - " + oModel:getErrorMessage()[4] + CRLF
                cMsg += oModel:getErrorMessage()[8] //https://tdn.totvs.com/display/public/framework/FWFormModel - GetErrorMessage
                msgalert("ERROR: " + cMsg)
            endif
        EndIf
    return nil
    Expandir
    titleRutina automática - Calcular impuesto

    La rutina automática de cálculo del impuesto se realiza por medio de la instancia del modelo NFCA020.

    El siguiente ejemplo tiene como finalidad cálculo del impuesto con los datos que se transfieren a la rutina.

    Bloco de código
    languagevb
    /*/{Protheus.doc} EdicaoComp
        Ejemplo de rutina automática con la función NFCA020, para calcular impuesto automático
    @author equipe
    @since 12/06/2025
    @return nil, nil, nil.
    /*/
    
    User Function CalcImp()
    
        Local cNumCotacao	:= "001009"
    	Local cCodFornec	:= "000001"
    	Local cLoja		    := "00"
        Local cNomeFornec	:= "PRUEBA IT"
        Local cNumProposta	:= "01" //Número de la propuesta actual
        Local lNewProp		:= .F.  //Indica si es nueva propuesta.
    	Local lNewPart		:= .T.  //Indica si es nuevo participante.
    	Local lCleanProp	:= .F.  //Indica si limpia los datos de la nueva propuesta.  
        Local cCondPag      := '001'
        Local cMsg          := ""
    
        //Inicializando el entorno
        RpcSetEnv( "T1", "D MG 01 ",,, "COM")
    
        DHU->( DbSetOrder(1) ) //DHU_FILIAL+DHU_NUM
        If ( DHU->( DbSeek(xFilial("DHU") + cNumCotacao) ) )
    
            oModel   := FwLoadModel("NFCA020")
            oFormDHU := oModel:GetModel("DHUMASTER")
            oGridSC8 := oModel:GetModel("SC8DETAIL")
    
            /*Activar la siguiente función, informando el número de la cotización, código del proveedor, nombre del proveedor y número de la propuesta, para que
            ocurra la inicialización correcta de los objetos JSON de la rutina. Si no lo hiciera, ocurrirá un error, porque los objetos estarán vacíos y es ESENCIAL activar la rutina.*/
            NF020SetSup(cNumCotacao, cCodFornec, cLoja, cNomeFornec, cNumProposta, lNewProp, lNewPart, lCleanProp, ,)
            
            oModel:SetOperation(MODEL_OPERATION_UPDATE)   
            oModel:Activate()
    
            //Encabezado
            oFormDHU:SetValue('DHU_COND'  , cCondPag)
            oFormDHU:SetValue('DHU_MOEDA' , '01')
            oFormDHU:SetValue('DHU_FRETE' , 'C')
    
            //Ítem 1
            oGridSC8:SetValue('C8_PRECO'  , 100)
            oGridSC8:SetValue('C8_SITUAC' , '1')
            oGridSC8:SetValue('C8_TES'    , '018') //Tipo de Entrada
    
            //Calcular Imposto        
            NF020Calc()
    
            //Válido si el formulario está con información correcta y consistente
            if ( oModel:VldData() )
                oModel:commitData()
                msgalert("¡Impuesto calculado!" )
            else
                cMsg := oModel:getErrorMessage()[6] + " - " + oModel:getErrorMessage()[4] + CRLF
                cMsg += oModel:getErrorMessage()[8] //https://tdn.totvs.com/display/public/framework/FWFormModel - GetErrorMessage
                msgalert("ERROR: " + cMsg)
            endif
        EndIf
    return nil
    Expandir
    titlePuntos de entrada MVC - Inclusión de la cotización

    Pontos de Entrada MVC na rotina de Inclusão de Cotação híbrida PGCA020

    Por ser una rutina en MVC, la Inclusión de cotización híbrida permite a los usuarios la utilización de diversos Puntos de entrada (sin presentación de interfaz), 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 activa 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 inclusión de la cotización, debe utilizarse el nombre de la función PGCA020:

    Sugerencia del nombre del fuente: MYPGCA020.prw

    Bloco de código
    languagedelphi
    User Function PGCA020()
    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

    O (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 activa 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

    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.


      Bloco de código
      languagevb
      linenumberstrue
      #INCLUDE 'PROTHEUS.CH'
      #INCLUDE 'FWMVCDEF.CH'
      #INCLUDE "FWEVENTVIEWCONSTS.CH"
      #INCLUDE 'FWLIBVERSION.CH' 
      #INCLUDE "MATA130.CH"
      #INCLUDE 'TOPCONN.ch'
      
      USER FUNCTION PGCA020()
      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 := 'Activación en la validación total del modelo (MODELPOS).' + CRLF
      		cMsg += 'ID ' + cIdModel + CRLF
      		
      		Help( ,, 'Help',, 'El MODELPOS devolvió .F.', 1, 0 )
      		
      		ElseIf ( cIdPonto == 'FORMPOS' )
      			cMsg := 'Activación en la validación total del formulario (FORMPOS).' + CRLF
      			cMsg += 'ID ' + cIdModel + CRLF
      			
      			Help( ,, 'Help',, 'El FORMPOS devolvió .F.', 1, 0 )
      
      		ElseIf ( cIdPonto == 'FORMLINEPRE' )
      			
                  Help( ,, 'Help',, 'El FORMLINEPRE devolvió .F.', 1, 0 )         
      
              ElseIf ( cIdPonto == 'FORMLINEPOS' )
      			cMsg := 'Activación 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 += 'Ubicado en la línea ' + Alltrim( Str( nLinha     ) ) + CRLF
      
      			Help( ,, 'Help',, 'El FORMLINEPOS devolvió .F.', 1, 0 )
      			
          EndIf
      EndIf
      
      Return xRet
        

    Antes da alteração da linha do formulário FWFORMGRID.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    4 N Número da Linha da FWFORMGRID

    5 C Ação da FWFORMGRID

    6 C Id do campo

    Retorno:

    Requer um retorno lógico

    Na validação total da linha do formulário FWFORMGRID.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    4 N Número da Linha da FWFORMGRID

    Retorno:

    Requer um retorno lógico

    Após a gravação total do modelo e dentro da transação.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    Retorno:

    Não espera retorno

    Após a gravação total do modelo e fora da transação.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    Retorno:

    Não espera retorno

    Antes da gravação da tabela do formulário.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    4 L Se .T. indica novo registro (Inclusão) se .F. registro já existente (Alteração / Exclusão)

    Retorno:

    Não espera retorno

    Após a gravação da tabela do formulário.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    4 L Se .T. indica novo registro (Inclusão) se .F. registro já existente (Alteração / Exclusão)

    Retorno:

    Não espera retorno

    No cancelamento do botão.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    Retorno:

    Requer um retorno lógico

    Para a inclusão de botões na ControlBar.

    Para criar os botões deve-se retornar um array bi-dimensional com a seguinte estrutura de cada item:

    1 C Titulo para o botão

    2 C Nome do Bitmap para exibição

    3 B CodeBlock a ser executado

    4 C ToolTip (Opcional)

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    Retorno:

    Requer um array de retorno com estrutura pré definida

    Na ativação do modelo.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    Retorno:

    Requer um retorno lógico.

    Observações:

    • Quando o modelo de dados possui vários componentes (por exemplo, vários FWFORMGRIDs), a 3ª posição do vetor trará o ID deste componente.
    • Quando o tipo de retorno de um determinado momento de execução não for passado ou for passado com o tipo errado será exibida uma mensagem no console avisando sobre isso. Todos IDs que esperam retorno devem ser tratados no Ponto de entrada.
    • Ao se escrever um fonte em MVC que será uma User Function, cuidado ao se atribuir o ID do modelo de dados (Model), pois ele não poderá ter o mesmo nome do fonte. Se o fonte tiver o nome FONT001, o ID do Modelo de Dados (Model) não poderá ser também FONT001.
    Expandir
    titlePuntos de entrada MVC - Edición de la cotización

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

    Por ser 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 activa 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

    Bloco de código
    languagedelphi
    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

    O (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 activa 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.


    Bloco de código
    languagevb
    linenumberstrue
    #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       := ''
    Local cClasse    := ''
    
    If ( aParam <> NIL )
    	oObj       := aParam[1]
        cIdPonto   := aParam[2]
    	cIdModel   := aParam[3]
    	lIsGrid    := iif(aParam[3] == "SC8DETAIL", .t., .f.)
        cClasse    := oObj:ClassName()
    
    	If ( lIsGrid )
    		nQtdLinhas := oObj:GetQtdLine()
            nLinha     := oObj:nLine
    	EndIf
    
    	If ( cIdPonto == 'MODELPOS' )
    		cMsg := 'Activación en la validación total del modelo (MODELPOS).' + CRLF
    		cMsg += 'ID ' + cIdModel + CRLF
    		
    		If !( xRet := ApMsgYesNo( cMsg + '¿Continúa ?' ) )
    			 Help( ,, 'Help',, 'El MODELPOS devolvió .F.', 1, 0 )
    		EndIf
    
    		ElseIf ( cIdPonto == 'FORMPOS' )
    			cMsg := 'Activación 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 += 'Ubicado 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] == 'BORRE' )
    				cMsg := 'Activación 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 += 'Ubicado 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 := 'Activación 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 += 'Ubicado en la línea ' + Alltrim( Str( nLinha     ) ) + CRLF
    
    	
    Expandir
    titlePontos de Entrada MVC - Edição da cotação

    Pontos de Entrada MVC na rotina de Edição de Cotação híbrida NFCA020

    Por ser uma rotina em MVC, a Edição de Cotação híbrida possibilita aos usuários a utilização de diversos Pontos de Entrada, para que possam fazer os desvios e processamentos personalizados, adequados à realidade da organização.

    Breve explicação sobre pontos de entrada MVC:

    Nos fontes convencionais temos um "nome" para cada ponto de entrada criado, por exemplo, na rotina MATA010 – Cadastro de Produtos temos os pontos de entrada: MT010BRW, MTA010OK, MT010CAN, etc. Em MVC, não é desta forma, criamos um único ponto de entrada e este é chamado em vários momentos.

    Este ponto de entrada único deve ser uma User Function e ter como nome o ID do Modelo de Dados (Model) do Fonte.

    Para o funcionamento do ponto de entrada MVC da edição da cotação, deve-se utilizar o nome da função NFCA020:

    Sugestão do nome do fonte: MYNFCA020.prw

    Bloco de código
    languagedelphi
    User Function NFCA020()
    Local aParam := PARAMIXB
    Local xRet   := .T.
    ...
    
    Return xRet

    O ponto de entrada criado recebe via parâmetro (PARAMIXB) um vetor com informações referentes ao fonte. Estes parâmetros variam para cada situação, em comum todos eles tem os 3 primeiros elementos que são listados abaixo, no quadro seguinte existe a relação de parâmetros de cada ID:

    Posições do array de parâmetros comuns a todos os IDs:

    POS.

    TIPO

    DESCRIÇÃO

    1

    O (Objeto)

    Objeto do formulário ou do modelo, conforme o caso

    2

    ID do local de execução do ponto de entrada

    3

    C

    ID do formulário

    O ponto de entrada é chamado em vários momentos dentro do fonte, na 2ª posição da estrutura do vetor é passado um ID que identifica qual é este momento. Ela pode ter como conteúdo:

    ID

    MOMENTO DE EXECUÇÃO DO PONTO DE ENTRADA

    MODELPRE

    Antes da alteração de qualquer campo do modelo.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    Retorno:

    Requer um retorno lógico

    MODELPOS

    Na validação total do modelo.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    Retorno:

    Requer um retorno lógico

    FORMPRE

    Antes da alteração de qualquer campo do formulário.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    Retorno:

    Requer um retorno lógico

    FORMPOS

    Na validação total do formulário.

    Parâmetros Recebidos:

    1 O Objeto do formulário ou do modelo, conforme o caso

    2 C ID do local de execução do ponto de entrada

    3 C ID do formulário

    Retorno:

    Requer um retorno lógico

    FORMLINEPRE

    FORMLINEPOS

    MODELCOMMITTTS

    MODELCOMMITNTTS

    FORMCOMMITTTSPRE

    FORMCOMMITTTSPOS

    MODELCANCEL

    BUTTONBAR

    MODELVLDACTIVE

    Bloco de código
    languagevb
    linenumberstrue
    #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 := 'Chamada na validação total do modelo (MODELPOS).' + CRLF
    		cMsg += 'ID ' + cIdModel + CRLF
    		
    		If !( xRet := ApMsgYesNo( cMsg + 'Continua¿Continúa ?' ) )
    			 	Help( ,, 'Help',, 'OEl MODELPOSFORMLINEPOS retornoudevolvió .F.', 1, 0 )
    			EndIf
    
    		ElseIf ( cIdPonto == 'FORMPOSMODELCOMMITTTS' )
    			cMsg := 'Chamada na validação total do formulário (FORMPOSApMsgInfo('Activación después de la grabación total del modelo y dentro de la transacción (MODELCOMMITTTS).' + CRLF
    			cMsg += 'ID ' + cIdModel + CRLF
    			)
    
    			IfElseIf ( cClassecIdPonto == 'FWFORMGRIDMODELCOMMITNTTS' )
    				cMsg += 'É um FORMGRID comApMsgInfo('Activación después de la grabación total del modelo y fuera de la transacción (MODELCOMMITNTTS).' + CRLF + 'ID ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(scIdModel)
    
    		ElseIf ( cIdPonto == 'FORMCOMMITTTSPOS' )
    			ApMsgInfo('Activación después de la grabación de la tabla del formulario (FORMCOMMITTTSPOS).' + CRLF
    				cMsg += 'Posicionado naID linha ' + Alltrim( Str( nLinha     ) ) + CRLF
    			
    	cIdModel)
    
    		ElseIf ( cClassecIdPonto == 'FWFORMFIELDMODELCANCEL' )
    		        cMsg	cMsg +:= 'É um FORMFIELDActivación en la opción Anular (MODELCANCEL).' + CRLF
    			EndIf + '¿Realmente desea salir ?'
    
    			If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
    				Help( ,, 'Help',, 'OEl FORMPOSMODELCANCEL retornoudevolvió .F.', 1, 0 )
    			EndIf
    
                
    		ElseIf ( cIdPonto == 'FORMLINEPREBUTTONBAR' )
    			If ( aParam[5] == 'DELETE' )
    				cMsg := 'Chamada na pre validação da linha do formulário (FORMLINEPRE).' + CRLF
    				cMsg += 'Onde esta se tentando deletar uma linha' + CRLF
    				cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(s).' + CRLF
    				cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha     ) ) + CRLF
    				cMsg += 'ID ' + cIdModel + CRLF
    			
    				If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
    					Help( ,, 'Help',, 'O FORMLINEPRE retornou .F.', 1, 0 )
    				EndIf
    
                 EndIf
    
           ElseIf ( cIdPonto == 'FORMLINEPOS' )
    			cMsg := 'Chamada na validação da linha do formulário (FORMLINEPOS).' + CRLF
    			cMsg += 'ID ' + cIdModel + CRLF
    			cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(s).' + CRLF
    			cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha     ) ) + CRLF
    
    			If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
    				Help( ,, 'Help',, 'O FORMLINEPOS retornou .F.', 1, 0 )
    			EndIf
    
    		ElseIf ( cIdPonto == 'MODELCOMMITTTS' )
    			ApMsgInfo('Chamada apos a gravação total do modelo e dentro da transação (MODELCOMMITTTS).' + CRLF + 'ID ' + cIdModel )
    
    		ElseIf ( cIdPonto == 'MODELCOMMITNTTS' )
    			ApMsgInfo('Chamada apos a gravação total do modelo e fora da transação (MODELCOMMITNTTS).' + CRLF + 'ID ' + cIdModel)
    
    		ElseIf ( cIdPonto == 'FORMCOMMITTTSPOS' )
    			ApMsgInfo('Chamada apos a gravação da tabela do formulário (FORMCOMMITTTSPOS).' + CRLF + 'ID ' + cIdModel)
    
    		ElseIf ( cIdPonto == 'MODELCANCEL' )
    			cMsg := 'Chamada no Botão Cancelar (MODELCANCEL).' + CRLF + 'Deseja Realmente Sair ?'
    
    			If !( xRet := ApMsgYesNo( cMsg ) )
    				Help( ,, 'Help',, 'O MODELCANCEL retornou .F.', 1, 0 )
    			EndIf
    
    		ElseIf cIdPonto == 'BUTTONBAR'
    			ApMsgInfo('Adicionando Botao na Barra de Botoes (BUTTONBAR).' + CRLF + 'ID ' + cIdModel )
    			xRet := { {'Salvar', 'SALVAR', { || Alert( 'Salvou' ) }, 'Este botao Salva' } }
    		EndIf
    
    EndIf
    
    Return xRet
    Expandir
    titlePonto de entrada - Edição dos pedidos gerados na análise

    Nome do ponto de entrada: AVALCOT

    Objetivo: Permitir a edição dos pedidos de compra gerados via análise de cotação (depois da gravação).

    DocumentaçãoClique Aqui - Documentação AVALCOT

    Expandir
    titlePonto de entrada - Edição dos itens dos pedidos gerados na análise

    Nome do ponto de entrada: AVALCOPC

    Objetivo: Permitir a edição dos itens dos pedidos de compra gerados via análise de cotação (depois da gravação).

    DocumentaçãoClique Aqui - Documentação AVALCOPC

    08. ASSUNTOS RELACIONADOS

    ApMsgInfo('Incluyendo la opción en la barra de opciones (BUTTONBAR).' + CRLF + 'ID ' + cIdModel )
    			xRet := { {'Grabar', 'GRABAR', { || Alert( 'Grabó' ) }, 'Esta opción Graba' } }
    		EndIf
    
    EndIf
    
    Return xRet
    Expandir
    titlePunto de entrada - Edición de los pedidos generados en el análisis

    Nombre del punto de entrada: AVALCOT

    Objetivo: Permitir la edición 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 AVALCOT


    Expandir
    titlePunto de entrada - Edición de los ítems de los pedidos generados en el análisis

    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


    Expandir
    titlePunto de entrada - Filtrar mis proveedores

    Nombre del punto de entrada: NFCFILFOR

    Objetivo: Este punto de entrada se utiliza para seleccionar proveedores de acuerdo con los 
    filtros previamente definidos. Los proveedores filtrados se mostrarán en la solapa “Mis proveedores”.

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

    Expandir
    titlePunto de entrada - Filtrar SC de acuerdo con los filtros establecidos

    Nombre del punto de entrada: NFCFILTSC

    Objetivo: Este punto de entrada se utiliza en la necesidad de compra para filtrar SC de acuerdo con los filtros establecidos.

    DocumentaciónClique Aqui - Documentação NFCFILTSC

    Expandir
    titlePunto de entrada - Aumentar información en la generación de la cotización

    Nombre del punto de entrada: MTA131C8

    Objetivo: El punto de entrada se utiliza para aumentar información en la generación la cotización.

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

    Expandir
    titlePunto de entrada - Definir generación de documentos en el análisis de la cotización

    Nombre del punto de entrada: NFCGERDOC

    Objetivo: Este punto de entrada se utiliza para autorizar la generación de documentos en el análisis de la cotización.

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

    Expandir
    titlePunto de entrada - Permite sustituir el workflow de NFC

    Nombre del punto de entrada: NFCWFCUSTOM

    Objetivo: Este punto de entrada se utiliza para sustituir el envío del workflow del NFC, pudiendo realizarse cualquier implementación de workflow personalizado.

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

    Aviso
    titleImportante

    Al activar este punto de entrada, el workflow estándar será integralmente sustituido por el workflow personalizado. Las pantallas de envío de e-mail se simplificarán, mostrando solamente el campo para informar las direcciones de e-mail y la opción de envío del workflow.

    Expandir
    titlePunto de entrada - Criterio de división de los ítems de la solicitud de compra

    Nombre del punto de entrada: MA131QSC

    Objetivo: Este punto de entrada es para definir el criterio de división de los ítems de la SC en la generación de la cotización por meio de un bloque de código.

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

    08. ASUNTOS RELACIONADOS



    HTML
    <!-- esconder o menu --> 
    
    
    <style>
    div.theme-default .ia-splitter #main {
        margin-left: 0px;
    }
    .ia-fixed-sidebar, .ia-splitter-left {
        display: none;
    }
    #main {
        padding-left: 10px;
        padding-right: 10px;
        overflow-x: hidden;
    }
    
    .aui-header-primary .aui-nav,  .aui-page-panel {
        margin-left: 0px !important;
    }
    .aui-header-primary .aui-nav {
        margin-left: 0px !important;
    }
    </style>
    
    


    09. OBSERVACIONES IMPORTANTES

    A continuación, puede visualizar algunas observaciones relevantes sobre el funcionamiento del Nuevo flujo de compras (NFC).

    Expandir
    titleUso compartido de tablas

    Para garantizar el correcto funcionamiento del Nuevo flujo de compras (NFC), es necesario estar atento al uso compartido adecuado de las tablas relacionadas a los procesos de análisis y generación de cotización/pedidos. Este control tiene como objetivo garantizar la integridad de los datos y la fluidez de las etapas del proceso.

    El control de saldos, junto con otras características específicas del NFC (Nuevo flujo de compras), es fundamental para la utilización adecuada de tablas exclusivas. Estos aspectos garantizan la integridad y la consistencia de los datos, permitiendo que cada tabla atienda a las particularidades del entorno NFC

    Informações
    titleTablas

    Campo

    X2_MODO

    X2_MODOUN

    X2_MODOEMP

    Encabezado de la cotización (DHU)

    E

    E

    E

    Productos de la cotización (DHV)

    E

    E

    E

    Pedido de compra (SC7)

    E

    E

    E

    Cotizaciones (SC8)

    E

    E

    E

    Aviso
    titleAtención

    Modificaciones en el uso compartido de las tablas listadas pueden impactar en el funcionamiento del Nuevo flujo de compras, comprometiendo su proceso.

    HTML
    <!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style>