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) , Portugués (Portugal) , Español , Inglés |
Descripción:
Se ejecuta después de la grabación del presupuesto
Eventos
Ocurre dentro de la Rutina de aprobación presupuestaria
Programa fuente
CTBA390.PRW
Sintaxis
CTB390GRV - Grabación del presupuesto ( [ 0 ], [ M->CV1_ORCMTO ], [ M->CV1_CALEND ], [ M->CV1_MOEDA ], [ M->CV1_REVISA ] )
Parámetros:
Nombre | Tipo | Descripción | Estándar | Obligatorio | Referencia | ||||||||||||
0 | Cualquiera | Número fijo | |||||||||||||||
M->CV1_ORCMTO | record | Campo presupuesto de la tabla ítems del presupuesto | |||||||||||||||
M->CV1_CALEND | array_of_record | Campo calendario de la tabla ítems del presupuesto | |||||||||||||||
M->CV1_MOEDA | array_of_record | Campo Moneda de la tabla ítems del presupuesto | |||||||||||||||
M->CV1_REVISA | array_of_record | Campo revisión de la tabla ítems del presupuesto |
Devolución
Nil (Nulo)
Ejemplos
Local aAreaCV2 := CV2->(GetArea())Local aAreaCV1 := CV1->(GetArea())Local cCV2Key := CV2->(CV2_FILIAL+CV2_ORCMTO+CV2_CALEND+CV2_MOEDA+CV2_REVISA)Local cAPROVA := cUserNameIf !Empty(CV2->CV2_APROVA) MsgInfo(STR0020 + AllTrim(CV1->CV1_APROVA), STR0008) //"Atención" //"Presupuesto aprobado por el usuario " Return .T.EndifIf CV2->CV2_STATUS == "3" MsgInfo(STR0007, STR0008) //"¡Presupuesto revisado sin poder modificarse!" //"Atención" Return .T.EndifDbSelectArea("CV1")DbSetOrder(1)DbClearFil()MsSeek(cCV2Key)BEGIN TRANSACTIONWhile !Eof() .And. cCV2Key == CV1->(CV1_FILIAL+CV1_ORCMTO+CV1_CALEND+CV1_MOEDA+CV1_REVISA) RecLock("CV1", .F.) /// EFECTÚA LA GRABACIÓN DEL FLAG DE APROBACIÓN EN EL ARCHIVO DETALLE Replace CV1_APROVA With cAPROVA CV1->(MsUnLock()) CV1->(DbSkip())EndDoRecLock("CV2", .F.) /// EFECTÚA LA GRABACIÓN DEL FLAG DE APROBACIÓN EN EL ARCHIVO HEADERReplace CV2_APROVA With cAPROVACV2->(MsUnLock())END TRANSACTIONIf l390Grv /// PE APOS A GRAVACAO DO ORCAMENTO ExecBlock("CTB390GRV", .F., .F.,{0,M->CV1_ORCMTO,M->CV1_CALEND,M->CV1_MOEDA,M->CV1_REVISA})Endif//Ctb390Fil()RestArea(aAreaCV1)RestArea(aAreaCV2)Return .T.