import.css=/download/attachments/327912/newLayout.css

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:
NomeTipoDescriçãoDefaultObrigatórioReferência
cCodSeqCaracterCódigo da sequência
cCodPadArray of RecordCódigo do tipo da tabela
cCodProArray of RecordCódigo do procedimento.
nQtdProArray of RecordQuantidade do procedimento.
lMemoryArray of RecordIndica se a validação está em memória (lançamento do procedimento).
cChaveGuiArray of RecordChave da Guia composta por:
BD6_FILIAL + BD6_CODOPE + BD6_CODLDP + BD6_CODPEG + BD6_NUMERO + BD6_ORIMOV
dDatProArray of RecordData do procedimento
lValidArray of RecordIndica se esta rotina está sendo chamada através de um Valid de campo.
nPosBD6Array of RecordPosição do aCols do BD6 posicionado.
aBL0Array of RecordArray 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
aRetArray of RecordArray 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)