Histórico da Página
...
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 |
Exemplo de Uso |
---|
#INCLUDE 'PROTHEUS.CH' User function a740GrdV() Local oView := PARAMIXB[1] //Viewdef If !isBlind() .AND. VALTYPE(oView) == 'O' .AND. isInCallStack("At870PRev") oView:AddUserButton("Reajuste Retroativo","",{|oView| U_RRetroat(oView)},,,) EndIf 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()) == 'O' oMdlTFJ := oModel:GetModel("TFJ_REFER") If oMdlTFJ:GetValue("TFJ_CNTREC") == '1' 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( 015, 009, { | u | If(PCount() > 0, cFuncao := u, cFuncao) },oDlgSelect, ; 060, 010, "!@",{ || .T.}, 0, 16777215,,.F.,,.T.,,.F.,; ,.F.,.F.,{|| .T.},.F.,.F. ,,"cFuncao",,,,.T. ) oGetSRA:cF3 := 'SRJ' @ 30, 9 SAY "Percentual (%)" SIZE 50, 30 PIXEL oDataDe := TGet():New( 40, 009, { | u | If( PCount() == 0, nPerc, nPerc := u ) },oDlgSelect, ; 060, 010, "@E 99.99",, 0, 16777215,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F. ,,"nPerc",,,,.T.) @ 30, 77 SAY "Multiplicador" SIZE 50, 30 PIXEL oDataAte := TGet():New( 40, 077, { | u | If( PCount() == 0, nMult, nMult := u ) },oDlgSelect, ; 060, 010, "@E 99.99",, 0, 16777215,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F. ,,"nMult",,,,.T.) @ 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') oRefresh := TButton():New( 84, 010, "Aplicar",oDlgSelect,{|| U_AplicVl(oModel, cFuncao , nPerc, nMult, LEFT(cTodosLoc,1)) , oDlgSelect:End()}, 50,10,,,.F.,.T.,.F.,,.F.,,,.F. ) oExit := TButton():New( 84 , 095, "Sair",oDlgSelect,{|| oDlgSelect:End() }, 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") Local oMdlTFF := 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") == cFuncao .AND. oMdlTFF:GetValue("TFF_COBCTR") != '2' cLog += "Local: " + Alltrim(POSICIONE("ABS",1,xFilial("ABS") + oMdlTFL:GetValue("TFL_LOCAL"), "ABS_DESCRI")) + Chr(13) + Chr(10) cLog += " - RH: " + oMdlTFF:GetValue("TFF_COD") + Chr(13) + Chr(10) cLog += " - Função: " + Alltrim(POSICIONE("SRJ",1,xFilial("SRJ") + oMdlTFF:GetValue("TFF_FUNCAO"), "RJ_DESC")) + Chr(13) + Chr(10) cLog += " - Produto: " + Alltrim(Posicione("SB1",1,xFilial("SB1") + oMdlTFF:GetValue("TFF_PRODUT"), "B1_DESC")) + Chr(13) + Chr(10) cLog += " - Valor Antigo (prox. parcela): R$ " + Alltrim(TRANSFORM( oMdlTFF:GetValue("TFF_VLPRPA") , "@e 999,999,999.99" )) + Chr(13) + Chr(10) nTotal := ROUND( (oMdlTFF:GetValue("TFF_VLPRPA") * (nPerc / 100)) * nMult , TamSX3("TFF_VLPRPA")[2] ) nGrandTot += nTotal cLog += " - Valor Novo (prox. parcela): R$ " + Alltrim(TRANSFORM((oMdlTFF:GetValue("TFF_VLPRPA") + nTotal), "@e 999,999,999.99" )) +; " ( + R$ " + Alltrim(TRANSFORM(nTotal, "@e 999,999,999.99" )) + " )" + Chr(13) + Chr(10) cLog += Chr(13) + Chr(10) EndIf Next nY cLog += REPLICATE("-",10) cLog += Chr(13) + Chr(10) If !lAllLoc Exit EndIf Next nX cLog += REPLICATE("-",15) cLog += Chr(13) + Chr(10) cLog += "Valor adicional prox. parcela: R$ " + Alltrim(TRANSFORM(nGrandTot, "@e 999,999,999.99" )) AtShowLog(cLog,"Prévia de Valores",/*lVScroll*/,/*lHScroll*/,/*lWrdWrap*/,.F.) If MsgYesNo("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") == cFuncao .AND. oMdlTFF:GetValue("TFF_COBCTR") != '2' nVal := oMdlTFF:GetValue("TFF_VLPRPA") nValPrc := 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á
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas