Versões comparadas

Chave

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

DT_

...

Punto_de_Entrada_

...

grabación_de_

...

datos_

...

complementarios_

...

tablas_

...

FK_SE5


Pivot Table
id1546542297551_-1274768575

Linha Línea de Produtoproducto:

Microsiga Protheus

Segmento:

ServiçosServicios

Módulo:

Financeiro

Ponto Punto de Entradaentrada:

FINM010, FINM020

Requisito (ISSUE):

DSERFINR-660

DSERFINR-2195

DSERFINP-1307

País(es):

Todos

BancoBase(s) de Dadosdatos:

Todos

Sistema(s) operacionaloperativo(iss):

Todos

VersõesVersiones/Release:

12

FunçãoFunción:

FINM010, FINM020

RetornoDevolución:

lRet

...

Descripción

A partir da versão de la versión 12, os pontos de entrada que manipulavam a tabela SE5 serão descontinuados devido à alteração das rotinas de gravação da SE5 para MVC e gravação das tabelas da família FK. 

No padrão MVC temos um único ponto de entrada e este é chamado em vários momentos dentro do fonte padrão. Sua ação será determinada pelo seu ID de execução. 

FINM010 é o modelo de dados de Baixa a Receber, e, portanto, é o ponto de entrada usado por rotinas que realizam este tipo de operação. FINM020 é o modelo de dados de Baixa a Pagar, e, portanto, é o ponto de entrada usado por rotinas que realizam este tipo de operação.

O momento da sua execução será definido conforme o ID de execução utilizado. 

Para gravação dos registros auxiliares (multa, juros, desconto) esses pontos de entrada não irão atender a GRAVAÇÃO NA TABELA SE5. Ele atende somente a gravação do registro principal da baixa. Deverá ser analisado pontualmente qual o ponto de entrada que irá atender a necessidade desejada.

los puntos de entrada que manejan la tabla SE5 se descontinuarán debido al cambio de las rutinas de grabación de la SE5 a la MVC y grabación de las tablas del grupo FK. 

En el estándar MVC tenemos un único punto de entrada y este se llama en varios momentos dentro del fuente estándar. Su acción se determinará por su ID de ejecución. 

FINM010 es el modelo de datos de la Baja por cobrar y, por lo tanto, es el punto de entrada utilizado por rutinas que realizan este tipo de operación. FINM020 es el modelo de datos de la Baja por Pagar y, por lo tanto, es el punto de entrada utilizado por rutinas que realizan este tipo de operación.

El momento de su ejecución se definirá según el ID de ejecución utilizado. 

Para grabar los registros auxiliares (multa, intereses, descuento) estos puntos de entrada no servirán para la GRABACIÓN EN LA TABLA SE5. Este sirve solamente para la grabación del registro principal de la baja. Se debe analizar puntualmente el punto de entrada que servirá para la necesidad deseada.

Para más informaciones sobre la reestruturación de las tablas SE5, que se descontinuará, verifique el siguiente enlacePara mais informações sobre a reestruturação da tabelas SE5, que será descontinuada, verificar o link abaixo.


Documentação sobre pontos de entrada em MVC:
http://tdn.totvs.com/display/public/mp/Pontos+de+Entrada+para+fontes+Advpl+desenvolvidos+utilizando+o+conceito+MVC 

Documentação sobre reestruturação da tabela Documentación sobre reestruturación de la tabla SE5:
http://tdn.totvs.com/pages/releaseview.action?pageId=183730415

Documentação Documentación sobre Pontos Puntos de Entrada para gravação de dados complementares da baixagrabar datos complementarios de la baja:
SE5FI070 - Gravação de dados complementares da tabela Grabación de datos complementarios de la tabla SE5 CR

F80GRVFK - Ponto Punto de entrada para gravação de dados complementares da baixagrabar datos complementarios de la baja

SE5FI080 - Ponto Punto de entrada para gravação de dados complementares da baixagrabar datos complementarios de la baja

F080ACONT - Complemento de baixa a baja por pagar

SE3F070 - Tratamento Complementar da Baixa a ReceberTratamiento complementario de la baja por cobrar


Ejemplo de grabación de las FK y Exemplo de gravação das FK´s e SE5:

Importante: Caso deseje Si desea utilizar este exemplo para Movimentos Bancários à Pagar, basta substituir o sub-modelo e o prefixo dos campos da tabela ejemplo para Movimientos bancarios por pagar, simplemente sustituya el submodelo y el prefijo de los campos de la tabla FK1 (FK1DETAIL, FK1_TPDOC) pelo sub-modelo e o prefixo dos campos da tabela por el submodelo y el prefijo de los campos de la tabla FK2 (FK2DETAIL, FK2_TPDOC)

#Include 'Protheus.ch'
#Include 'FWMVCDEF.ch'

User Function FINM010()
Local aParam := PARAMIXB
Local lRet := .T.
Local oSubFK1 := ''
Local cIdPonto := ''
Local cIdModel := ''

If aParam <> NIL

oSubFK1 := aParam[1] //Objeto do formulário ou do modelo, conforme o caso
cIdPonto := aParam[2] //ID do local de execução do ponto de entrada
cIdModel := aParam[3] //ID do formulário

If cIdPonto == 'FORMPOS'
If cIdPonto == 'FORMPOS'
If cIdModel == 'FK1DETAIL'
oSubFK1:SetValue( "FK1_HISTOR", 'PONTO DE ENTRADA EM MVC' )
EndIf
If cIdModel == 'FK5DETAIL'
oSubFK1:SetValue( "FK5_HISTOR", 'PONTO DE ENTRADA EM MVC' )
EndIf
EndIf
EndIf
EndIf

Return lRet


Os dados gravados nas tabelas FK´s são replicados automaticamente para a tabela SE5, caso seja necessário realizar a gravação de um campo da SE5 que não possui um campo correspondente nas tabelas FK´s, será necessário informar o Los datos grabados en las tablas FK se copian automáticamente a la tabla SE5, si es necesario realizar la grabación de un campo de la SE5 que no tiene un campo correspondiente en las tablas FK, es necesario informar el atributo "E5_CAMPOS" do del modelo de dados datos para realizar a gravação na tabela la grabación en la tabla SE5. Os Los campos informados neste atributo serão gravados diretamente na en este atributo se grabarán directamente en la SE5.


ExemploEjemplo:

#Include 'Protheus.ch'
#Include 'FWMVCDEF.ch'

User Function FINM010()
Local aParam := PARAMIXB
Local lRet := .T.
Local oModParam := ''
Local oModelBxR := ''
Local cIdPonto := ''
Local cIdModel := ''
Local oFK8 := Nil
Local oFKA := Nil
Local cCamposE5 := ''


If aParam <> NIL

oModParam := aParam[1] //Objeto do formulário ou do modelo, conforme o caso 
cIdPonto := aParam[2] //ID do local de execução do ponto de entrada 
cIdModel := aParam[3] //ID do formulário 

If cIdPonto == 'FORMPOS'
If cIdModel == 'FK5DETAIL'
oModelBxR := oModParam:GetModel()
oFK8 := oModelBxR:GetModel( "FK8DETAIL" )
oFKA := oModelBxR:GetModel( "FKADETAIL" )

cCamposE5 := AllTrim(oModelBxR:GetValue('MASTER', 'E5_CAMPOS'))
If !Empty(cCamposE5)
cCamposE5 := Left( cCamposE5, Len(cCamposE5) -1 )
cCamposE5 += ",{ 'E5_CCD', '000000001'}"
cCamposE5 += ",{ 'E5_CCC', '000000002'}}"
Else
cCamposE5 := "{{ 'E5_CCD', '000000001'}"
cCamposE5 += ",{ 'E5_CCC', '000000002'}}"
EndIf

oModelBxR:SetValue( "MASTER","E5_CAMPOS",cCamposE5 ) // Informando o atributo "E5_CAMPOS"
oFK8:SetValue( "FK8_CCD", '000000001' )
oFK8:SetValue( "FK8_CCC", '000000002' )
oFK8:SetValue( "FK8_IDMOV", oFKA:GetValue('FKA_IDORIG') )
EndIf
EndIf
EndIf

Return lRet


Exemplo Ejemplo do uso do ponto del punto de entrada alterando as tabelas que modifica las tablas FK5(Movimento BancárioMovimiento bancario) e y FK6(Valores acessorios adicionales - Multa, jurosintereses, descontodescuento, etc.)

User Function FINM010()

Local aParam := PARAMIXB

...