Home

Linha Microsiga Protheus

Páginas filhas
  • PLMQTPER - Rtorno de Novo Percentual

Ponto-de-Entrada: PLMQTPER - Rtorno de Novo Percentual
Descrição:
O ponto de entrada PLMQTPER permite retornar um novo percentual, quando houver cálculo de porcetagem na valorização de um procedimento (parametrizados na Tabela Padrão, Alias BL0).
Este ponto é chamado no momento em que o usuário lança o procedimento e na mudança de fase da guia.
Programa Fonte
PLSA720
Sintaxe

PLMQTPER - Rtorno de Novo Percentual ( [ cCodSeq ], [ cCodPad ], [ cCodPro ], [ nQtdPro ], [ lMemory ], [ cChaveGui ], [ dDatPro ], [ lValid ], [ nPosBD6 ], [ aBL0 ], [ aRet ] ) --> aRet

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
cCodSeq Caracter Código da sequência
cCodPad Array of Record Código do tipo da tabela
cCodPro Array of Record Código do procedimento.
nQtdPro Array of Record Quantidade do procedimento.
lMemory Array of Record Indica se a validação está em memória (lançamento do procedimento).
cChaveGui Array of Record Chave da Guia composta por:
BD6_FILIAL + BD6_CODOPE + BD6_CODLDP + BD6_CODPEG + BD6_NUMERO + BD6_ORIMOV
dDatPro Array of Record Data do procedimento
lValid Array of Record Indica se esta rotina está sendo chamada através de um Valid de campo.
nPosBD6 Array of Record Posição do aCols do BD6 posicionado.
aBL0 Array of Record Array com os registros da tabela BL0 encontrados para o procedimento, contendo:
aBL0[1][1] -> BL0_TIPO (1 Crédito / 2 Débito)
aBL0[1][2] -> BL0_QTD
aBL0[1][3] -> BL0_PERC
aRet Array of Record Array com a porcentagem encontrada pelo sistema, contendo:
aRet[1][1] -> Tipo (1 Crédito / 2 Débito)(Caracter)
aRet[1][2] -> Quantidade do procedimento (Numérico)
aRet[1][3] - Porcentagem (Numérico)
Retorno
    aRet(array_of_record)
  • Array contendo:
    [1][1] -> Tipo (1 Crédito / 2 Débito)(Caracter)
    [1][2] ->Quantidade ( Numérico)
    [1][3] -> Percentual (Numérico)
Exemplos
User Function PLMQTPERLocal cCodSeq      := paramixb[1]Local cCodPad      := paramixb[2]Local cCodPro      := paramixb[3]Local nQtdPro      := paramixb[4]Local lMemory      := paramixb[5]Local cChaveGui    := paramixb[6]Local dDatPro      := paramixb[7]Local lValid       := paramixb[8]Local nPosBD6      := paramixb[9]Local aBL0         := paramixb[10]Local aRetSis    := paramixb[11]                   Local aRet          := {}Local aRet50  :={}Local aRet70  :={}Local aRet100 :={}    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//³ Monta os retornos     ³//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   //50Aadd(aRet50,"2") //DebitoAadd(aRet50,nQtdPro)Aadd(aRet50,50)//70Aadd(aRet70,"2") //DebitoAadd(aRet70,nQtdPro)Aadd(aRet70,70)   //100Aadd(aRet100,"2") //DebitoAadd(aRet100,nQtdPro)Aadd(aRet100,100)     //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//³ Verifica o tipo de retorno de acordo com a regra do cliente ³//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  If XXXXX    Aadd(aRet,aRet50)ElseIf XXXXX    Aadd(aRet,aRet70)    ElseIf XXXXX    Aadd(aRet,aRet100)    EndIf    Return(aRet)