Escolar Documentos
Profissional Documentos
Cultura Documentos
06 Contabilizando
Reviso: 13/07/2002
A contabilizao de registros em um sistema ERP necessrio toda vez que houverem operaoes envolvendo valores na empresa, como por exemplo, a emisso de uma nota fiscal, um recebimento de dinheiro, um pagamento na folha, entre outros. Para quem est programando fundamental que este conceito esteja bastante sidimentado. Para se definir a contabilizao em qualquer rotina deve-se : Definir os lanamentos padronizados que sero utilizados para a rotina (cada mdulo ou famlia de mdulo possui uma sequencia lgica) Preparar o programa para efetuar as atualizaes e a contabilizao. Este detalhe muito importante pois o lanamento padro uma frmula e o posicionamento dos registros fundamental. Exemplo : Na rotina de exclusao de nota fiscal deve-se executar a contabilizao antes do comando dbDelete(). A chamada do lanamento contbil deve estar em um lugar estratgicamente correto, pois teoricamente a ltima coisa a ser feita na rotina. No aconselhvel executar a contabilizao e depois efetuar outros comandos.
Existem trs funes que devero ser utilizadas, para que seja criado um arquivo texto, contendo as informaes a serem contabilizadas. Como temos 2 sistemas contbeis (SIGACON e SIGACTB) com procedimentos diferenciados programamos de forma identica para ambos porm internamente as rotinas efetuam comandos diferentes. Os comandos para a contabilizao so :
A Funo HeadProva Este funo cria o cabealho da contabilizao. tratada de forma diferenciada para os mdulos SIGACON e SIGACTB.
Sintaxe:
nHdlPrv := HeadProva(cLoteAtf, cNomProg, Substr(cUsuario,7,6), @arquivo, .T.) Onde: NHdlPrv -> Varivel que conter o num. (Handle) do arquivo (.LAN) criado. cLoteAtf -> Cdigo do lote do mdulo (Ex.: Ativo Fixo: 8866) cNomProg -> Nome do Programa (Ex.: ATFA060) cUsuario -> Usurio arquivo: nome do arquivo (Ex.: cArquivo := )
http://dem.microsiga.com.br/w_wEx011.apw?Cod=018279
24/8/2004
Pgina 2 de 2
A funo DetProva()
Em primeiro lugar, deve-se estar posicionado no registro, que contm o valor ser contabilizado
Sintaxe:
ExpN1 := DetProva(ExpN2,ExpC1,ExpC2,ExpC3) onde ExpN1 -> Valor Total da Contabilizao ExpN2 -> Handle retornado da funo anterior ExpC1 -> Cdigo do Lanamento Padro ExpC2 -> Nome da rotina Geradora ExpC3 -> Lanamento Padro
A funo RodaProva()
RodaProva(ExpN1, ExpN2) onde ExpN1 -> Handle retornado da funo anterior ExpN2 -> Valor Total da contabililizao
No Final, ou seja, aps todos registros serem processados utilizar a funo CA100INCL(), cujo objetivo ler o arquivo gerado (.LAN), e gerar os lanamentos no arquivo SI2 (Lanamentos contbeis). Exemplo:
CA100Incl( cArquivo, nHdlPrv, nOpcx, cLoteContabil, lDigita, lAglut, cOnLine, dData) Onde: Arquivo -> Nome do arquivo nHdlPrv -> Numero do Header nOpcx -> Numero da Opcao escolhida cLoteContabil -> Numero do Lote lDigita -> Se Mostra ou nao lAglut -> Se Aglutina ou no cOnLine -> Determina se sera On Line ou pelo cProva
Topo da Pgina
http://dem.microsiga.com.br/w_wEx011.apw?Cod=018279
24/8/2004