Histórico da Página
Índice | ||
---|---|---|
|
01. VISÃO GERAL
A função PcoDetLan é responsável pela geração dos movimentos/lançamentos orçamentários com base nas regras estabelecidas nas respectivas configurações no cadastro de Lançamentos por Processo. Cada processo é identificado por um código e tem um conjunto de itens que compõe o processo denominados Pontos de Lançamento. Para cada item do processo deve-se definir a entidade de origem, por exemplo, se for contas a pagar deve ser informado SE2 que é a tabela padrão para esta finalidade e um indice desta tabela que cria uma chave de sincronismo única do lançamento do SIGAPCO com o lançamento de origem, neste exemplo, um título a pagar.
02. CONCEITO
A geração dos movimentos/lançamentos orçamentários é efetuado nesta rotina com base nas regras (expressões ADVPL) estabelecidas nas respectivas configurações no cadastro de Lançamentos por Processo. Cada processo é identificado por um código e tem um conjunto de itens que o compõe. Para cada item do processo deve-se definir a entidade de origem, por exemplo, se for contas a pagar deve ser informado SE2 que é a tabela padrão para esta finalidade e um índice desta tabela que cria uma chave de sincronismo única do lançamento do SIGAPCO com o lançamento de origem, neste exemplo, um título a pagar. A chave é criada pela macroexecução da função indexkey(), por isto é importante ser criterioso nesta definição.
Neste cadastro também deve-se parametrizar se o lançamento gerado será visualizado ao final do processo de origem. Para definição das regras (expressões ADVPL) que alimentarão os campos do movimento orçamentário deve ser utilizado o botão apropriado para configuração do lançamento ou habilitar a ferramenta para configuração on-line dos lançamentos.
A ferramenta de configuração on-line somente deve ser utilizado em implantação com eventos que geram um número limitado de lançamentos uma vez que a cada chamada da função é montada a árvore com todos os campos disponíveis para compor a regra influenciando na performance do sistema.
O parâmetro lDeleta com conteúdo .T. é utilizado após a exclusão do lançamento de origem com consequente exclusão do lançamento orçamentário. Neste caso a chave de sincronismo é de suma importância, pois através dela são localizados os movimentos orçamentários.
O parâmetro cProcDel é usado para indicar quais processos e itens não serão excluídos e são utilizados somente em casos especiais como por exemplo, no processo de revisão da planilha orçamentária e deve ser fornecido no seguinte formato + + ; ++.
Por exemplo no caso da revisão da planilha:
PcoDetLan ("000252","01","PCOA100", .T., "00025202;00025204")//DELETAR VERSAO ATUAL DA PLANILHA
Nota |
---|
Tanto a chamada da função da PcoVldLan (...) como da PcoDetLan (...) deve estar entre a chamada da função PcoIniLan () e a PcoFinLan(). Para o processo 000255-Saldos Contábeis, na configuração do lançamento disponibilizado variável private nTotCT7 que contém o valor dos créditos - débitos do dia. Para poder alterar a configuração do lançamento por se tratar de variável deve ser utilizado a configuração on-line do lançamento. |
03. NÃO GERAM CHAVE DE SINCRONISMO
Aviso | ||
---|---|---|
| ||
Alguns processos não geram chave de sincronismo (AKD_CHAVE) pois são exceções tratadas pontualmente por conta de inexistência de chave única da tabela de origem do lançamento orçamentário, segue lista deste processos : |
PROCESSO | ITENS | EXCETO_ITENS |
---|---|---|
"000007" | TODOS | |
"000009" | TODOS | 01 OU 30 |
"000010" | TODOS | 01 OU 16 |
"000011" | TODOS | 01 |
"000016" | TODOS | 01 OU 02 |
"000017" | TODOS | 01 OU 02 |
"000056" | TODOS | |
"000100" | 02 OU 04 |
04. EXEMPLO
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
//------------------------------------------------------------------------------------- /*/ Na rotina de gravação deve ser chamada a função PcoDetLan(...) Grava os lançamentos nas contas orcamentárias quando não for desdobramento - SIGAPCO /*/ //------------------------------------------------------------------------------------- If !lDesdobr .And. SE2->E2_MULTNAT # "1" If SE2->E2_TIPO $ MVPAGANT PcoDetLan("000002","02","FINA050") // Tipo PA Else PcoDetLan("000002","01","FINA050") EndIf EndIf |
Nota | ||
---|---|---|
| ||
PCODETLAN - Movimentos/Lançamentos Orçamentários ( cProcessocItemcPrograma [ lDeleta ] [ cProcDel ] ) Retorno: () |
NOME | TIPO | DESCRIÇÃO | DEFAULT | OBRIGATÓRIO | REFERÊNCIA |
---|---|---|---|---|---|
cProcesso | Caracter | Código do Processo de Lançamento no PCO | X | ||
cItem | Caracter | Item do Processo de Lançamento do PCO | X | ||
cPrograma | Caracter | Programa Origem do Lançamento | X | ||
lDeleta | Lógico | Indica Exclusão do Lançamento do PCO | .F. | ||
cProcDel | Caracter | Conjunto de Processos+Itens que não serão Excluídos |