Producto: | TOTVS Backoffice |
---|---|
Línea de producto: | Línea Protheus |
Segmento: | Tecnología |
Módulo: | TOTVS Backoffice (Línea Protheus) - Contabilidad de gestión (SIGACTB) |
Función: | CTBA010 |
País: | Brasil |
Ticket: | Interno |
Requisito/Story/Issue | DSERCTR1-46829 |
El punto de entrada CT010ATU se ejecuta a partir de la rutina Registro de calendario contable (CTBA010). Su propósito es grabar y mostrar datos de campos creados por el usuario, conocidos como campos personalizados.
Para saber detalles con respecto a cómo codificar este Punto de entrada, vea el ejemplo de utilización.
If ExistBlock ("CT010Atu") ExecBlock("CT010Atu",.F.,.F.,{aHeader,aCols,nCont,2}) EndIf
User Function CT010Atu() //el Array ParamIxb tiene los elementos: {aHeader,aCols,nCont,nTipo}, donde //aHeader - Tipo: Array. Encabezado de MsGetDados //aCols - Tipo: Array. Datos de MSGetDados //nCont - Tipo: Numérico. Nº de la Línea actual de aCols //nTipo - Tipo: Numérico. Cuál es el tipo de manejo efectuado en el PE: // 1 - Lectura de Datos - carga de aCols; // 2 - Persistencia del dato en su relativo campo - creado por el usuario. Local aMyHeader := aClone(ParamIxb[1]) //aHeader Local aMyCols := aClone(ParamIxb[2]) //aCols Local nItem := ParamIxb[3] //Línea de aCols Local nTipo := ParamIxb[4] //Tipo de manejo de dato (1 - Carga de aCols; 2- Grabación en la tabla) Local nPxTeste := aScan(aMyHeader,{|x| Alltrim(x[2]) == "CTG_XTESTE" }) If ( nPxTeste > 0 .And. nTipo == 2 ) Replace CTG_XTESTE With aMyCols[nItem,nPxTeste] ElseIf (nPxTeste > 0) aMyCols[nItem,nPxTeste] := IIf(Empty(CTG->CTG_XTESTE),space(Len(CTG->CTG_XTESTE)),CTG->CTG_XTESTE) EndIf //Es esencial Clonar el array para aCols (array de alcance privado) aCols := aClone(aMyCols) Return()
Importante