Árvore de páginas

Ponto de entrada FT600ULGRID - Carregamento dos dados na grid da Proposta Comercial

Características do Requisito

Linha de Produto:

Microsiga Protheus®

Segmento:

Serviços

Módulo:

CRM - SIGACRM
Faturamento - SIGAFAT

Rotina:

Rotina

Nome Técnico

Proposta comercialFATA600

Proposta comercial

FATN600

Tickets relacionados

790786

Requisito/Story/Issue:

DSERFAT-2025

País(es):

Todos os países.

Banco(s) de Dados:

Todos os bancos de dados homologados.

Sistema(s) Operacional(is):

Todos os sistemas operacionais homologados.

Versão:A partir da versão 12.1.17.

Descrição

Permite interferir no processo de carga dos dados na grid da Proposta Comercial.

Importante

Este ponto de entrada estará disponível somente se os programas fonte FATA600.PRWFATN600.PRW possuírem data posterior à 06 de novembro de 2017 (versão 12.1.17) em seu repositório (arquivo ".RPO" do seu ambiente). Portanto, caso deseje utilizar este ponto de entrada, certifique-se desta premissa.

Ponto de Entrada

Descrição:

A finalidade do ponto de entrada FT600ULGRID é permitir que, durante o processo de carga dos dados na grid da Proposta Comercial, seja possível realizar interferências em sua execução, respeitando as suas quatro ações básicas.

Localização:

Quando for realizada a carga dos dados de Serviços (PMS) na Proposta Comercial:
SIGACRM → Atualizações Vendas Vendas Oportunidades Ações Relacionadas Proposta Comercial Ações Relacionadas Serviços (PMS)
SIGAFAT → Atualizações → CRM-Administração de vendas → Oportunidades Ações Relacionadas → Proposta Comercial Ações Relacionadas → Serviços (PMS)

Para quando o produto possuir acessórios associados a ele:
SIGACRM → Atualizações → Vendas → Vendas → Oportunidades → Ações Relacionadas → Proposta Comercial → Ao selecionar o produto na Grid de Produtos da Proposta Comercial
SIGAFAT → Atualizações → CRM-Administração de vendas → Oportunidades → Ações Relacionadas → Proposta Comercial → Ao selecionar o produto na Grid de Produtos da Proposta Comercial

Quando for realizada a carga com base nas categorias dos produtos (Para quando o parâmetro MV_FATMNTP for diferente de 4):
SIGACRM → Atualizações Vendas Vendas Oportunidades Ações Relacionadas Proposta Comercial Ações Relacionadas Categoria
SIGAFAT → Atualizações CRM-Administração de vendas Oportunidades Ações Relacionadas Proposta Comercial Ações Relacionadas Categoria

Quando for realizada a carga com base nos agrupadores dos produtos (Para quando o parâmetro MV_FATMNTP for igual a 4):
SIGACRM → Atualizações Vendas Vendas Oportunidades Ações Relacionadas Proposta Comercial Ações Relacionadas Agrupadores
SIGAFAT → Atualizações CRM-Administração de vendas Oportunidades Ações Relacionadas → Proposta Comercial Ações Relacionadas → Agrupadores

Programa Fonte:

FATN600.PRW

Parâmetros:

{ <cAction>, <oMdlGrid>, <aGridDetail>, <__cMdlDetail>}

Onde:

NomeTipoDescriçãoObrigatório
<cAction>
Caractere

Código da ação que está em execução no processo de carga dos dados das grids da Proposta Comercial.
As ações disponíveis são:

  • GRID_BEFORE
  • LINE_BEFORE
  • GRID_AFTER
  • LINE_AFTER
Sim
<oMdlGrid>
ObjetoModelo ativo da grid.Sim
<aGridDetail>
ArrayDados/Detalhes da grid ou da linha da grid, conforme a ação que estiver sendo executada.Sim
<__cMdlDetail>
CaractereNome do modelo (detalhe)Sim

Retorno:

Para a ação "GRID_BEFORE"
RetornoTipoDescrição
aRetArray

Array com o conteúdo da grid completa que será considerado na fase anterior ao seu carregamento.
Observações:

  1. A estrutura do array de retorno deve obedecer à mesma estrutura recebida através do parâmetro aGridDetail quando da execução do ponto de entrada.
  2. Se o retorno do ponto de entrada não for do tipo array, os dados do retorno serão ignorados, e a rotina padrão continuará o seu processamento como se esta ação do ponto de entrada não existisse.
Para a ação "LINE_BEFORE"
RetornoTipoDescrição
aRetArray

Array referente à linha (item) da grid com o conteúdo que será considerado na fase anterior ao seu carregamento.
Observação: A estrutura do array de retorno deve obedecer à mesma estrutura recebida através do parâmetro aGridDetail quando da execução do ponto de entrada.

Para a ação "LINE_AFTER"
RetornoTipoDescrição
lRetLógico

Onde:

ConteúdoExecução
.T.O processamento do ponto de entrada foi executado com sucesso. Portanto, a execução da carga das próximas linhas da grid continuará, sem interrupção, até que todas as linhas previstas sejam incluídas na grid.
.F.Durante a execução das consistências montadas no seu ponto de entrada foi constatada alguma inconsistência para a carga das informações da linha da grid. Assim, a execução da carga das próximas linhas da grid será interrompida.
Para a ação "GRID_AFTER"
RetornoTipoDescrição
xRetNIL

É o último ponto de entrada a ser executado dentro do processo de carga dos dados da grid.

Exemplo:

#Include 'Protheus.ch'
#Include "FwMVCDef.ch"

*==========================
User Function FT600ULGRID()
*==========================

Local cAction := ParamIXB[1]
Local oMdlGrid := ParamIXB[2]
Local aGridDetail := aClone(ParamIXB[3])
Local cMdlDetail := ParamIXB[4]
Local xRet := NIL

Do Case
       Case cAction == "GRID_BEFORE" // Execução antes de iniciar inclusão de linhas

                     /* Construa a sua customização para que seja executada antes iniciar a inclusão das linhas na GRID.
                     Sua customização deve atualizar os dados do array aGridDetail, e este novo conteúdo deve
                     ser retornado à função padrão. */
                     xRet := aGridDetail

       Case cAction == "LINE_BEFORE" // Execução antes de iniciar inclusão de uma linha

                     /* Construa a sua customização para que seja executada antes da inclusão de uma linha na GRID.
                     Sua customização deve atualizar os dados do array aGridDetail, e este novo conteúdo deve
                     ser retornado à função padrão. */
                     xRet := aGridDetail

       Case cAction == "LINE_AFTER" // Execução após a inclusão de uma linha

                     /* Construa a sua customização para que seja executada após a inclusão de cada linha na GRID */
                     xRet := .T.

       Case cAction == "GRID_AFTER" // Execução após a inclusão de todas as linhas

                     /* Construa a sua customização para que seja executada após a inclusão de todas as linhas na GRID */
                     xRet := NIL

EndCase

Return xRet


Imagem da aplicação do ponto de entrada

Não disponível.