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 |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas