Histórico da Página
...
A geração do número do documento contábil utilizando um Job estará disponível somente a partir da release 12.1.31. Para diminuir os impactos nos demais fontes, o nome da função que gera o número do documento contábil não foi alterada, continua como ProxDoc. Está irá redirecionar para a função CallProxDc para releases iguais ou superiores a 12.1.31 .e para OldProxDoc para versões anteriores a essa versão do Protheus
Esta função é chamada nos fontes Fontes abaixo:
CTBA102.PRW
CTBA103.PRW
...
Os outros módulos não serão obrigados a alterar os seus fontes de contabilização Off Line. Essa foi solicitação dos Product Owners dos de outros módulos. Isso poderá causar lentidão. Pois em algumas contabilizações, os módulos de origem, colocam algumas funções contábeis dentro de transação, por exemplo, a Ca100Incl e a não passagem do array aFlagCtb
d. Fontes com ajustes no módulo Contábil
Com a solicitação de coexistência de várias versões do Protheus e também da solicitação de PO's de outros módulos de não alterar os fontes de contabilização off line, houve a necessidade de reavaliar e buscar por outras soluções o que impactou em novos ajustes em nossos fontes e refazer todos os testes em versões anteriores e simulando a versão 12.1.031 com a compilação dos mesmos fontes para esses trabalhos.
e não passam o array aFlagCtb.
A solicitação para que essa função não fique dentro de transação é porque que ela pode abrir uma tela de interação com o usuário e isso não é recomendável que fique dentro de uma transação.
Esta função tem a própria transação e, se o array aFlagCTB for recebido nessa função com os recnos das linhas a serem marcados na origem como contabilizados, isso será feito na mesma transação de gravação dos lançamentos contábeis (CT2).
d. Fontes com ajustes no módulo Contábil
Com a solicitação de coexistência de várias versões do Protheus e também da solicitação de PO's de outros módulos de não alterar os fontes de contabilização off line, houve a necessidade de reavaliar e buscar por outras soluções o que impactou em novos ajustes em nossos fontes e refazer todos os testes em versões anteriores e simulando a versão 12.1.031 com a compilação dos mesmos fontes para esses trabalhos.
Voltamos os nomes das funções que haviam mudado para os nomes originais que estão na pasta Master para que não afetem versões anteriores a '12.1.031'.
...
Os fontes do core alterados e suas alterações para que estes fiquem na pasta Master do TFS. CTBXSEM, CTBXATU, CTBA1A105.
d.1 - CTBXSEM
Criada a variável estática __lRelease no fonte CTBXSEM.PRW para identificar a versão do release utilizado. Se .T., a release for maior ou igual a 12.1.031, se .F. , release anterior 12.1.031.
, CTBXATU, CTBA1A105.
d.1 - CTBXSEM
Criada a variável estática __lRelease no fonte CTBXSEM.PRW para identificar a versão do release utilizado. Se .T., a release for maior ou igual a 12.1.031, se .F. , release anterior 12.1.031.
Outra variável estática __aChaveBlock foi criada e inicializada com NIL. A rotina CanProcItvl irá 'setar' com .T. e gravar todas as chaves bloqueadas pela função. Será esvaziada na FreeProcItvl e 'setada' como NIL
ProxDoc - Esta função é a responsável por gerar o próximo documento. Esta, agora, irá redirecionar para CallProxDc quando __lRelease for .T. e para OldProxDoc, quando for .F.. Esta funções irão fazer as respectivas sub-chamadas.
CanProcItvl/FreeProcItvl
CanProcItvl(dDtVldDe, dDtVldAte, cFilDe, cFilAte, cChave, lSerial, aSelFil, cEmpProc)
Esta função foi ajustada para utilizar LockByName. Esses bloqueios serão feitos antes de iniciar o processo de contabilização. Será feito o bloqueio de acordo com os parâmetros recebidos. Caso receba, um range de filial e de período, serão feitos bloqueios em filial+data, ou seja, filial e em cada um dos dias do período recebido no parâmetro. Todos estes parâmetros têm DeFault.
A sugestão é que receba sempre o range de datas ,as filiais e o parâmetro cChave que é o nome do programa.
Mesmo que o parâmetro lSerial não seja passado, caso esteja na release 12.1.031, será feito por lockbyname. Caso esteja em versões anteriores a citada continua criando arquivo na pasta system.
Nesta função, em azul, está os parâmetros inseridos, lSerial é identificador de versão 12.1.031 ou menor. Se .T., trabalha de forma independente das funções CtbSerial I/CtbSerialF, aSelfil deve ser passado quando o processo tiver a função de seleção de filiais, cEmpProc quando existe necessidade de bloquear um grupo de empresa.
CanProcItvl(
dDtVldDe - Data Inicial do processamento
dDtVldAte - Data Final do processamento
cFilDe - Filial Inicial a processar
cFilAte - Filial Final a processar - Caso a rotina tenha seleção de filiais, cFilDe /cFilAte recebe o range das filiais selecionada array das filiais selecionadas
cChave - Chave/nome do programa chama a função. Tamanho máximo chave
lSerial - Se .T., recebe demais parâmetros e esta função trabalha de forma independente das funções CtbSerialI e CtbSerialF. Se Versão anterior a P12.1.31 trabalha com arquivo de semáforo contábil no system.
aSelFil - Range de filiais da função de seleção de filiais.
cEmpProc - Aqui informar o Grupo de empresas, SOMENTE QUANDO O PROCESSAMENTO ENVOLVER DOIS OU MAIS GRUPOS DE EMPRESAS. Exemplo: Consolidação Contábil, InterCompanyProxDoc - Esta função é a responsável por gerar o próximo documento. Esta, agora, irá redirecionar para CallProxDc quando __lRelease for .T. e para OldProxDoc, quando for .F.. Esta funções irão fazer as respectivas sub-chamadas.
06. Mensagem Única
Este é um outro ponto que necessitará de muito estudo e conhecimento das funcionalidades do processo de integração de mensagens únicas. Pois a inclusão de lançamentos contábeis, pode vir de outras marcas que não seja Protheus.
...