Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice
maxLevel2

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
titleImportante

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 :

PROCESSOITENSEXCETO_ITENS
"000007"TODOS
"000009"TODOS01 OU 30
"000010"TODOS01 OU 16
"000011"TODOS01
"000016"TODOS01 OU 02
"000017"TODOS01 OU 02
"000056"TODOS
"000100"02 OU 04


04. EXEMPLO


Bloco de código
languagejs
themeMidnight
linenumberstrue
//-------------------------------------------------------------------------------------
/*/
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
titleSintaxe

PCODETLAN - Movimentos/Lançamentos Orçamentários ( cProcessocItemcPrograma [ lDeleta ] [ cProcDel ] )

Retorno: ()

NOMETIPODESCRIÇÃODEFAULTOBRIGATÓRIOREFERÊNCIA
cProcessoCaracterCódigo do Processo de Lançamento no PCO
X
cItemCaracterItem do Processo de Lançamento do PCO
X
cProgramaCaracterPrograma Origem do Lançamento
X
lDeletaLógicoIndica Exclusão do Lançamento do PCO.F.

cProcDelCaracterConjunto de Processos+Itens que não serão Excluídos