Versões comparadas

Chave

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

...

Aviso
titleImportante

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) a

FLH  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
iconfalse
titleImportante

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
languagejava
themeMidnight
titleExemplo de execução da rotina Ejemplo de ejecución de la rutina automática
collapsetrue
#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


...