Árvore de páginas

Ponto-de-Entrada: TMBLQVGE Inclui Bloqueios Específicos
Versões: Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Espanhol , Inglês
Descrição:

O objetivo do ponto de entrada e permitir a inclusão de bloqueios específicos, conforme exemplo de bloqueio para rentabilidade de rota para motorista próprio a seguir

Eventos


 

Programa Fonte
TMSXFUNC.PRW
Sintaxe

TMBLQVGE Inclui Bloqueios Específicos ( ) --> Nil

Retorno
    Nil(nulo)
  • Nil
Observações


 

Exemplos
User Function TMBLQVGE()Local nCnt      := 0Local nTotDist  := 0Local aBloqueio := {}Local cFilOri   := ParamIxb[1]Local cViagem   := ParamIxb[2]Local cRotaVge  := ParamIxb[3]Local nValFrete := ParamIxb[4]Local cSerTms   := ParamIxb[5]Local aVeiculos := {}Local cBlqRtbRot:= 'U1' // Blq. Rentabilidade ProprioLocal nPerRtb   := 0If Type('aCompViag[2]') == 'A' aVeiculos := aClone(aCompViag[2])EndIfIf cSerTms <> StrZero(1,Len(DTQ->DTQ_SERTMS)) //-- Diferente de Coleta DA8->(dbSetOrder(1)) If DA8->(MsSeek(xFilial('DA8')+cRotaVge)) .And. DA8->(FieldPos('DA8_PERRTB')) > 0 .And. !Empty(DA8->DA8_PERRTB)  DA3->(DbSetOrder(1))  DUT->(DbSetOrder(1))  DTR->(DbSetOrder(1))  If Empty(aVeiculos)   If DTR->(MsSeek(xFilial('DTR')+cFilOri+cViagem))    While DTR->(!Eof()) .And. DTR->DTR_FILIAL + DTR->DTR_FILORI + DTR->DTR_VIAGEM == xFilial('DTR') + cFilOri + cViagem     If DA3->(MsSeek(xFilial('DA3')+DTR->DTR_CODVEI)) .And. DA3->DA3_FROVEI == StrZero(1,Len(DA3->DA3_FROVEI)) //-- Proprio      If DUT->(MsSeek(xFilial('DUT')+DA3->DA3_TIPVEI))       nValTKM  := DUT->DUT_VALTKM           nTotDist := TMSDistRot(cRotaVge)           nValor   := nTotDist * nValTKM       nPerRtb := Round( (nValor / nValFrete) * 100 , 2)       Aadd( aBloqueio, { cBlqRtbRot, Space(Len(DTC->DTC_CLIREM)), Space(Len(DTC->DTC_LOJREM)), Space(Len(DTC->DTC_CODPRO)),DA8->DA8_PERRTB,nPerRtb,DA8->DA8_PERRTB-nPerRtb  } )      EndIf     EndIf     DTR->(DbSkip())    EndDo   EndIf  Else   For nCnt := 1 To Len(aVeiculos)    If DA3->(MsSeek(xFilial('DA3')+aVeiculos[nCnt,2])) .And. DA3->DA3_FROVEI == StrZero(1,Len(DA3->DA3_FROVEI)) //-- Proprio     If DUT->(MsSeek(xFilial('DUT')+DA3->DA3_TIPVEI))      nValTKM  := DUT->DUT_VALTKM          nTotDist := TMSDistRot(cRotaVge)          nValor   := nTotDist * nValTKM      nPerRtb := Round( (nValor / nValFrete) * 100 , 2)      Aadd( aBloqueio, { cBlqRtbRot, Space(Len(DTC->DTC_CLIREM)), Space(Len(DTC->DTC_LOJREM)), Space(Len(DTC->DTC_CODPRO)),DA8->DA8_PERRTB,nPerRtb,DA8->DA8_PERRTB-nPerRtb  } )     EndIf    EndIf   Next nCnt  EndIf          EndIf   EndIfReturn aBloqueio
Variáveis
Nome Tipo Escopo Pode Alterar descrição
Array of Record Global Não