Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Função: PCOVLDLAN - Validação de Lançamentos
Descrição:
Programa Fonte: PCOXFUN.PRW Sintaxe: PCOVLDLAN - Validação de Lançamentos ( cProcessocItemcPrograma [ lUsaLote ] [ lDeleta ] [ lVldLinGrade ] ) --> lRet Retorno:
Observações
A finalidade desta função é validar se o lançamento de origem tem verba orçamentária disponível, efetuando um pseudo-lançamento na movimentação orçamentária e, conforme parâmetrização no tipo de bloqueio, compara os valores orçados ou previsto com os realizados efetivamente, e sendo o valor orçado maior ou igual ao do realizado, libera o lançamento, caso contrário bloqueia. No caso de bloqueio a chave de sincronismo deve ser a composição de variáveis de memória que formam a chave de indice do processo envolvido, por exemplo: Processo 000002 - Contas a Pagar Item 01 --> Chave: xFilial('SE2')+M->E2_PREFIXO+M->E2_NUM+M->E2_PARCELA+M->E2_TIPO+M->E2_FORNECE+M->E2_LOJA que é equivalente ao indice 1 da tabela SE2 - Contas a Pagar, portanto se não for bloqueado este lançamento, ao ser gerado o lançamento definitivo, este irá sobrepor o de bloqueio. Para cada item (ponto de bloqueio) neste cadastro além das regras deve ser estipulado um ou mais tipos de bloqueio que contêm a regra do valor orçado versus o realizado a ser aplicada ao processo envolvido. Tanto a chamada da função da PcoVldLan(...) como da PcoDetLan(...) deve estar entre a chamada da função PcoIniLan() e a PcoFinLan(). Exemplos Function F050PcoLan()Local lRet := .T.//se nao bloquear grava os lançamentos com a chamada a funcao PcoDetLanIf !PcoVldLan("000002",IIF(M->E2_TIPO$MVPAGANT,"02","01"),"FINA050") lRet := .F. //=========================================================== //Grava os lancamentos nas contas orcamentarias SIGAPCO //=========================================================== If SE2->E2_TIPO $ MVPAGANT PcoDetLan("000002","02","FINA050") Else PcoDetLan("000002","01","FINA050") EndIfEndifReturn lRet Parâmetros:
|