01. DADOS GERAIS
Produto: | Solucoes_totvs |
---|
Solucao | TOTVS Prestadores de Serviços Terceirização |
---|
| Solucoes_totvs_cross |
---|
SolucaoCross | Solucoes_totvs_parceiros |
---|
SolucaoParceiros | Solucoes_totvs_parceirosexptotvs |
---|
SolucaoParcsExpsTOTVS |
|
---|
Linha de Produto: | |
---|
Segmento: | |
---|
Módulo: | Prestadores de Serviço |
---|
Função: | ModVlPr |
---|
País: | Brasil |
---|
Ticket: | Não há. |
---|
Requisito/Story/Issue (informe o requisito relacionado) : | DSERSGS-10679 |
---|
02. SITUAÇÃO/REQUISITO
Necessidade da documentação do ModVlPr (Reajuste Retroativo).
03. SOLUÇÃO
O Reajuste Retroativo tem como objetivo ajustar os cálculos da próxima parcela e o preço de venda dos itens de um contrato.
...
Aviso |
---|
|
O cálculo só será feito para as funções da TFF que forem as mesmas do inserido na tela de reajuste retroativo. A opção "Em todos os locais" indica se o cálculo deve ser feito para todos os locais com suas TFF´s |
...
...
...
User function a740GrdV()
Local oView := PARAMIXB[1] |
...
...
...
...
...
...
...
...
isInCallStack("At870PRev") |
...
...
Reajuste Retroativo","",{|oView| |
...
...
...
Return
User Function RRetroat(oView)
Local oModel
Local oMdlTFJ
Local oDlgSelect
Local cFuncao := SPACE(TamSx3("TFF_FUNCAO")[1]) |
...
Local nPerc := 0
Local nMult := 0
Local cTodosLoc := "2"
Local aOpcs := {"2 - Não","1 - Sim"}
If VALTYPE(oView) == 'O' .AND. VALTYPE(oModel := oView:GetModel()) |
...
...
...
...
oModel:GetModel("TFJ_REFER") |
...
If oMdlTFJ:GetValue("TFJ_CNTREC") |
...
...
...
DEFINE MSDIALOG oDlgSelect FROM 0,0 TO 202,280 PIXEL TITLE "Reajuste Retroativo"
@ 5, 9 SAY "Função" SIZE 30, 30 PIXEL
oGetSRA := TGet():New( |
...
...
...
...
...
...
...
...
...
...
...
...
...
...
16777215,,.F.,,.T.,,.F.,; |
...
...
...
...
)
oGetSRA:cF3 := 'SRJ'
@ 30, 9 SAY "Percentual (%)" SIZE 50, 30 PIXEL
oDataDe := TGet():New( |
...
...
...
...
...
...
...
...
...
...
...
...
...
16777215,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F. |
...
...
@ 30, 77 SAY "Multiplicador" |
...
SIZE 50, 30 PIXEL
oDataAte := TGet():New( |
...
...
...
...
...
...
...
...
...
...
...
...
...
16777215,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F. |
...
...
@ 64, 9 SAY "Em todos os Locais?" SIZE 80, 30 PIXEL
oCombo := TComboBox():New(63,70,{|u|if(PCount()>0,cTodosLoc:=u,cTodosLoc)},; |
...
aOpcs,40,10,oDlgSelect,,,,,,.T.,,,,,,,,,'cTodosLoc') |
...
...
...
...
...
...
...
cFuncao , nPerc, nMult, LEFT(cTodosLoc,1)) |
...
...
...
50,10,,,.F.,.T.,.F.,,.F.,,,.F. |
...
)
oExit := TButton():New( |
...
84 , 095, "Sair",oDlgSelect,{|| |
...
...
...
30,10,,,.F.,.T.,.F.,,.F.,,,.F. |
...
)
ACTIVATE MSDIALOG oDlgSelect CENTER
Else
MsgAlert("Opção disponível apenas para contratos Recorrentes")
EndIf
EndIf
Return .T.
User Function AplicVl(oModel, cFuncao , nPerc, nMult, cTodosLoc)
Local lAllLoc := cTodosLoc == '1'
Local oMdlTFL := oModel:GetModel("TFL_LOC") |
...
...
oModel:GetModel("TFF_RH") |
...
Local nX
Local nY
Local cLog := ""
Local aSaveRows := FwSaveRows()
Local nTotal := 0
Local nGrandTot := 0
Local nVal := 0
Local nValPrc := 0
For nX := 1 To oMdlTFL:Length()
If lAllLoc
oMdlTFL:GoLine(nX)
EndIf
For nY := 1 To oMdlTFF:Length()
oMdlTFF:GoLine(nY)
If oMdlTFF:GetValue("TFF_FUNCAO") |
...
...
...
oMdlTFF:GetValue("TFF_COBCTR") |
...
...
...
...
...
...
...
Alltrim(POSICIONE("ABS",1,xFilial("ABS") |
...
...
oMdlTFL:GetValue("TFL_LOCAL"), |
...
...
...
...
...
...
...
...
...
...
...
...
oMdlTFF:GetValue("TFF_COD") |
...
...
...
...
...
...
...
...
...
...
...
Alltrim(POSICIONE("SRJ",1,xFilial("SRJ") |
...
...
oMdlTFF:GetValue("TFF_FUNCAO"), |
...
...
...
...
...
...
...
...
...
...
...
...
Alltrim(Posicione("SB1",1,xFilial("SB1") |
...
...
oMdlTFF:GetValue("TFF_PRODUT"), |
...
...
...
...
...
...
...
...
...
...
...
...
...
oMdlTFF:GetValue("TFF_VLPRPA") |
...
...
...
...
...
...
...
...
...
nTotal := ROUND( (oMdlTFF:GetValue("TFF_VLPRPA") |
...
...
...
...
...
...
nMult , TamSX3("TFF_VLPRPA")[2] |
...
)
nGrandTot += nTotal
cLog += " - Valor Novo (prox. parcela): R$ " + Alltrim(TRANSFORM((oMdlTFF:GetValue("TFF_VLPRPA") |
...
...
...
...
...
...
...
" ( + R$ " + Alltrim(TRANSFORM(nTotal, |
...
...
...
...
...
...
...
...
...
...
...
...
...
...
EndIf
Next nY
cLog += REPLICATE("-",10) |
...
...
...
...
...
If !lAllLoc
Exit
EndIf
Next nX
cLog += REPLICATE("-",15) |
...
...
...
...
...
...
"Valor adicional prox. parcela: R$ " + Alltrim(TRANSFORM(nGrandTot, |
...
...
...
...
...
Prévia de Valores",/*lVScroll*/,/*lHScroll*/,/*lWrdWrap*/,.F.) |
...
...
Aplicar valores calculados?") |
...
For nX := 1 To oMdlTFL:Length()
If lAllLoc
oMdlTFL:GoLine(nX)
EndIf
For nY := 1 To oMdlTFF:Length()
oMdlTFF:GoLine(nY)
If oMdlTFF:GetValue("TFF_FUNCAO") |
...
...
...
oMdlTFF:GetValue("TFF_COBCTR") |
...
...
...
nVal := oMdlTFF:GetValue("TFF_VLPRPA") |
...
...
oMdlTFF:GetValue("TFF_PRCVEN") |
...
oMdlTFF:SetValue("TFF_PRCVEN",; |
...
ROUND((nValPrc + (nValPrc * (nPerc / 100))),; |
...
TamSX3("TFF_PRCVEN")[2])) |
...
oMdlTFF:SetValue("TFF_VLPRPA",; |
...
ROUND((nVal + ((nVal * (nPerc / 100)) * nMult)),;
TamSX3("TFF_VLPRPA")[2])) |
...
EndIf
Next nY
If !lAllLoc
Exit
EndIf
Next nX
EndIf
FwRestRows( aSaveRows )
Return
|
04. DEMAIS INFORMAÇÕES
Não há
5. ASSUNTOS RELACIONADOS
HTML |
---|
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after {
background: #FF9900; !important
}
.menu-item.active-tab {
border-bottom: none !important;
}
</style>
|