Punto de entrada: CTBSEQDIA - Efectúa la grabación en la tabla de origen del ítem para contabilizar en el Diario
Alcances: | Microsiga Protheus 10, Microsiga Protheus 11 |
Versiones: | Microsiga Protheus 10, Microsiga Protheus 11 |
Compatible países: | Todos |
Sistemas operativos: | Todos |
Compatible con las bases de datos: | Todas |
Idiomas: | Portugués (Brasil) |
Descripción:
Efectúa la grabación en la tabla de origen del ítem para contabilizar en el Diario
Eventos
Ocurre en la Función de grabación disparada del CTBGRAVA
Programa fuente
CTBXFUN.PRX
Sintaxis
CTBSEQDIA - Efectúa la grabación en la tabla de origen del ítem para contabilizar en el Diario ( [ aSeqDiario[nPosASeq] ], [ cCodDia ], [ cSeqDiario ] )
Parámetros:
Nombre | Tipo | Descripción | Estándar | Obligatorio | Referencia | ||||||||||||
aSeqDiario[nPosASeq] | Numérico | Número de secuencia del diario | |||||||||||||||
cCodDia | carácter | Código del día | |||||||||||||||
cSeqDiario | carácter | Secuencia del diario |
Devolución
Nil (Nulo)
Ejemplos
If lSeqCorr .And. Len( aSeqDiario ) > 0 // limpio la variable de secuencia para garantizar la integridad del diario cSeqDiario := cSeqCorr cCodDia := Substr( cSeqCorr , 1 , 2 ) // efectúa la grabación en el documento de origen For nPosASeq := 1 to Len(aSeqDiario) // buscar el código del diario(aSeqDiario[nPosASeq][2]) en la tabla CVL // Y buscar el último número secuencial(CVM_SEQULT)+1 de acuerdo con el dDataLanc informado // Y actualizar el campo CVM_SEQULT e CVM_DTSEQ If aSeqDiario[nPosASeq][2] <> 0 // efectúo la marcación del origen para actualización dbSelectArea(aSeqDiario[nPosASeq][1]) dbGoTo(aSeqDiario[nPosASeq][2]) // Graba solamente si existiera el registro y el código del correlativo estuviera en blanco If !( (aSeqDiario[nPosASeq][1])->(Eof()) ) .And. Empty( &(aSeqDiario[nPosASeq][4]) ) RecLock(aSeqDiario[nPosASeq][1],.F.) &(aSeqDiario[nPosASeq][4]) := cSeqDiario //Si el Registro fuera diferente de inclusión este grabará el campo CTBDIA If Len(aSeqDiario[nPosASeq]) == 5 //Verifica si el campo está trayendo el nombre del campo para grabar el campo DIACTB. If aSeqDiario[nPosASeq][5] <> "" &(aSeqDiario[nPosASeq][5]) := cCodDia EndIf EndIf MsUnlock() IF lCTBSEQDIA ExecBlock("CTBSEQDIA",.F.,.F.,{aSeqDiario[nPosASeq],cCodDia,cSeqDiario}) ENDIF Endif EndIF