Histórico da Página
...
Os adiantamentos solicitados tanto via Reserve, Solicitação de Viagens ou Avulso não são aprovados em conjunto com a viagem e geram uma pendência para o superior do viajante, se configurado.
Informações | ||
---|---|---|
| ||
Se a opção "Bloqueia Adiantamento" estiver com "1=Sim", o sistema passará a não permitir a geração do adiantamento, caso exista alguma prestação de contas em aberto para o participante na filial no qual está sendo incluída a solicitação, conforme parametrização das configurações "Dias (max.)" e "Quantidade (max.)". |
Exemplo:
Se for necessária a aprovação do superior e avaliação financeira, temos:
...
O adiantamento pode ser gerado à partir da solicitação de viagem (FINA666), selecionando esta opção na aba Adiantamentos:
O campo RD0_DVIAGE é de uso exclusivo para a integração do RESERVE e que está descontinuado.
Ao clicar no campo adiantamento para o participante, o a adiantamento somente será solicitado se o cadastro do participante estiver com o campo Adiantamento "SIM". Esse controle será feito através do campo RD0_PERMAD (Cadastro de Pessoas).
Se o campo RD0_PERMAD estiver com o valor igual a "Não", o sistema irá mostrar tela de help, conforme abaixo e não permitirá e inclusão do adiantamento para o participante.
Mesmo com a adiantamento bloqueado pelo sistema para adiantamento ao participante na inclusão de viagens, o sistema não bloqueará a prestação de contas se houver necessidade para esse praticante.
Ou após a Viagem já ter sido enviada para o departamento de viagens (FINA665), clicando no botão "Solic. Adiant." e selecionando os participantes que receberão o adiantamento:
Então, através da rotina FINA667, o adiantamento pode ser visualizado, e seguir seu fluxo de ações:
...
Para execução da rotina automática, ilustramos a solicitação do adiantamento após a efetivação da viagem (MyFA667A), no seguinte exemplo:
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH" |
...
#INCLUDE "FWMVCDEF.CH" |
...
//---------- Solicitacao de adiantamento da viagem ----------// |
...
User Function MyFA667A() |
...
Local aKeyFLC := {} |
...
Local aUser := {} |
...
Local oModel := Nil |
...
Local oModelFLC := Nil |
...
Local oModelFLD := Nil |
...
Local cViagem := "0000000001" |
...
Local cPartic := "000002" |
...
RpcSetEnv("T1","D MG 01 ","claudio.ribeiro","1") // Inicializa ambiente com usuario solicitante |
...
dbSelectArea("FL5") |
...
dbSetOrder(1) |
...
dbSeek(xFilial("FL5")+cViagem) // Viagem ja solicitada |
...
// Carrega modelo de dados com a solicitacao de viagem posicionada |
...
oModel := FWLoadModel("FINA667A") |
...
oModelFLC := oModel:GetModel("FLCDETAIL") // Participantes |
...
oModelFLD := oModel:GetModel("FLDDETAIL") // Adiantamentos |
...
// Chave de busca do participante dentro da da viagem |
...
aKeyFLC := { {"FLC_FILIAL",xFilial("FLC")},{"FLC_VIAGEM",cViagem},{"FLC_PARTIC",cPartic} } |
...
oModel:SetOperation(MODEL_OPERATION_UPDATE) |
...
oModel:Activate() |
...
If FINXUser(RetCodUsr(),aUser,.T.) |
...
// Participante que recebera |
...
adiantamento If oModelFLC:SeekLine(aKeyFLC) |
...
oModelFLC:SetValue("OK",.T.) |
...
oModelFLD:LoadValue("FLD_DTSOLI",dDatabase) |
...
oModelFLD:LoadValue("FLD_DTPREV",DataValida(dDatabase+3)) |
...
oModelFLD:LoadValue("FLD_SOLIC" ,aUser[1]) |
...
oModelFLD:LoadValue("FLD_NOMESO",PadR(aUser[2],TamSx3("FLD_NOMESO")[1])) |
...
oModelFLD:SetValue("FLD_VALOR",400) |
...
oModelFLD:SetValue("FLD_MOEDA","1") |
...
oModelFLD:SetValue("FLD_JUSTIF","Adiantamento para viajante") |
...
// Validacao e gravacao dos dados se |
...
consistentes If oModel:VldData() |
...
oModel:CommitData() Conout("Adiantamento solicitado com sucesso.") Else VarInfo("",oModel:GetErrorMessage()) |
...
Conout("Erro na validacao, adiantamento nao foi solicitado.") |
...
EndIf Else Conout("Viajante nao encontrado nessa viagem.") |
...
EndIf EndIf oModel:DeActivate() |
...
oModel:Destroy() |
...
RpcClearEnv() |
...
Return |
...
04. TABELAS UTILIZADAS
- FL5 - Viagem
- FLC - Passageiros
- FLD - Adiantamentos
...