...
Aviso | ||
---|---|---|
| ||
No se permite incluir el mismo centro de costo en el prorrateo de centro de costos. Si la clave única fuera: Sucursal + Núm. Solicitud + Ítem + C.Costo ( FW6_FILIAL+FW6_SOLICI+FW6_ITEM+FW6_CC), no se permitirá utilizar el mismo centro de costo, aunque los otros entes contables sean diferentes. A partir de la 1a. quincena de octubre/2024, la expedición continua considerará En la release 12.1.2410, con aplicación del paquete acumulado con fecha igual o superior al 08/11/2024, el sistema pasa a considerar la modificación de la clave única y del índice 1 de la tabla FW6 apara: FW6_FILIAL+FW6_SOLICI+FW6_ITEM+FW6_CC+FW6_ITECTA+FW6_CLVL. De esta manera, si la clave única fueraes: Sucursal + Núm. Solicitud + Ítem + C.Costo + Ítem contable + Clase de valor (FW6_FILIAL+FW6_SOLICI+FW6_ITEM+FW6_CC+FW6_ITECTA+FW6_CLVL), no se permitirá utilizar la misma combinación de entes contables ( C. Costo, Ítem contable y Clase de valor). Para el correcto funcionamiento del proceso de aprobación de la solicitud de viajes, es necesaria la modificación Si se modifica la clave única de la tabla FW6, es necesario realizar también la adecuación de la clave única y del índice 1 de la tabla FLH (estará disponible a partir de la 1a. quincena de octubre/2024) aFLH a: FLH_FILIAL+FLH_VIAGEM+FLH_ITEM +FLH_CC+FLH_ITECTA+FLH_CLVL+FLH_CC+FLH_ITECTA+FLH_CLVL Las adecuaciones de las tablas FW6 y FLH están disponibles a partir del paquete acumulado con fecha igual o superior al 08/11/2024 exclusivamente para la release 12.1.2410. |
Además, en la solapa Anticipos se pueden marcar los participantes que recibirán el anticipo.
Informações | ||||
---|---|---|---|---|
| ||||
Si la configuración opción "Bloquea anticipo" estuviera com "1=Sí", el sistema no permitirá la generación del generar el anticipo, si existiera alguna rendición de cuentas pendiente para el participante en la sucursal en la cual donde se está incluyendo la solicitud, de acuerdo con la parametrización de las configuraciones "Días (máx.)" y "Cantidad (máx.)". |
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" //---------- Inclusión de la solicitud de viaje ----------// User Function MyFA666Inc() Local oModel := Nil Local oModelFW3 := Nil Local oModelFW4 := Nil Local oModelFW5 := Nil Local oModelFW6 := Nil Local cFilAtu := "" RpcSetEnv("T1","D MG 01 ","claudio.ribeiro","1") // Inicializa entorno con usuario solicitante oModel := FWLoadModel("FINA666") oModelFW3 := oModel:GetModel("FW3MASTER") // Encabezado del viaje oModelFW4 := oModel:GetModel("FW4DETAIL") // Servicios oModelFW5 := oModel:GetModel("FW5DETAIL") // Participantes oModelFW6 := oModel:GetModel("FW6DETAIL") // Centro de costo cFilAtu := xFilial("FW3") oModel:SetOperation(MODEL_OPERATION_INSERT) oModel:Activate() // Informa el encabezado de la solicitud de viaje oModelFW3:SetValue("FW3_FILIAL",cFilAtu) oModelFW3:SetValue("FW3_NACION","1") oModelFW3:SetValue("FW3_CODORI","SP") oModelFW3:SetValue("FW3_CODDES","RJ") oModelFW3:SetValue("FW3_DTINI",StoD("20190702")) oModelFW3:SetValue("FW3_DTFIM",StoD("20190705")) oModelFW3:SetValue("FW3_CLIENT","001 ") oModelFW3:SetValue("FW3_LOJA","01") oModelFW3:SetValue("FW3_STATUS","0") // Pendiente, Estatus inicial // Informa la cuadrícula del servicio incluso en la solicitud del viaje oModelFW4:SetValue("FW4_ITEM",StrZero(1,TamSX3("FW4_ITEM")[1])) oModelFW4:SetValue("FW4_TIPO","1") // Aéreo oModelFW4:SetValue("FW4_OBS", "Visita al cliente") // Informa la cuadrícula de los participantes viajeros oModelFW5:SetValue("FW5_ITEM",StrZero(1,TamSX3("FW4_ITEM")[1])) oModelFW5:SetValue("FW5_PARTIC","000001") oModelFW5:SetValue("FW5_ADIANT",.T.) // Agrega anticipo al participante oModelFW5:AddLine() // Agrega línea para un segundo viajero oModelFW5:SetValue("FW5_ITEM",StrZero(2,TamSX3("FW4_ITEM")[1])) oModelFW5:SetValue("FW5_PARTIC","000002") oModelFW5:SetValue("FW5_ADIANT",.T.) // Agrega anticipo al participante // Informa la cuadrícula del centro de costo oModelFW6:SetValue("FW6_ITEM",StrZero(1,TamSX3("FW4_ITEM")[1])) oModelFW6:SetValue("FW6_CC","002 ") oModelFW6:SetValue("FW6_PORCEN",100) oModelFW5:GoLine(1) // Validación y grabación de los datos si fueran consistentes If oModel:VldData() oModel:CommitData() Conout("Inclusión de la solicitud del viaje finalizada con éxito.") Else VarInfo("",oModel:GetErrorMessage()) Conout("Error en la validación, solicitud de viaje no se incluyó.") EndIf oModel:DeActivate() oModel:Destroy() RpcClearEnv() Return //---------- Modificación de la solicitud de viaje ----------// User Function MyFA666Alt() Local aKeyFW4 := {} Local oModel := Nil Local oModelFW5 := Nil Local oModelFW6 := Nil Local cSolic := "0000000010" RpcSetEnv("T1","D MG 01 ","richard.santos","1") // Inicializa entorno con usuario solicitante dbSelectArea("FW3") dbSetOrder(1) dbSeek(xFilial("FW3")+cSolic) // Carga modelo de datos con la solicitud de viaje marcada oModel := FWLoadModel("FINA666") oModelFW5 := oModel:GetModel("FW5DETAIL") // Participantes oModelFW6 := oModel:GetModel("FW6DETAIL") // Centro de costo // Clave de búsqueda del participante dentro de la Sol. de Viaje aKeyFW4 := { {"FW5_FILIAL",xFilial("FW5")},{"FW5_SOLICI",cSolic},{"FW5_ITEM","01"},{"FW5_PARTIC","000002"} } oModel:SetOperation(MODEL_OPERATION_UPDATE) oModel:Activate() // Retira uno de los viajeros, en este caso el participante 000002 If oModelFW5:SeekLine(aKeyFLE) oModelFW5:DeleteLine() Else Conout("Viajero no encontrado en esta solicitud de viaje.") EndIf // Modifica el centro de costo (marcado automáticamente en la primera cuadrícula) oModelFW6:SetValue("FW6_CC","003 ") // Validación y grabación de los datos si fueran consistentes If oModel:VldData() oModel:CommitData() Conout("Modificación de la solicitud de viaje efectuada con éxito.") Else VarInfo("",oModel:GetErrorMessage()) Conout("Error en la validación, solicitud de viaje no se modificó.") EndIf oModel:DeActivate() oModel:Destroy() RpcClearEnv() Return //---------- Borrado de la solicitud de viaje ----------// User Function MyFA666Del() Local oModel := Nil Local cSolic := "0000000010" RpcSetEnv("T1","D MG 01 ","claudio.ribeiro","1") // Inicializa entorno con usuario solicitante dbSelectArea("FW3") dbSetOrder(1) dbSeek(xFilial("FW3")+cSolic) // Carga modelo de datos con la solicitud de viaje marcada oModel:= FWLoadModel("FINA666") oModel:SetOperation(MODEL_OPERATION_DELETE) oModel:Activate() // Validación y grabación del borrado If oModel:VldData() oModel:CommitData() Conout("Solicitud de viaje borrada con éxito.") Else VarInfo("",oModel:GetErrorMessage()) Conout("Error en la validación, solicitud de viaje no se borró.") EndIf oModel:DeActivate() oModel:Destroy() RpcClearEnv() Return |
...