Histórico da Página
...
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, InterCompany
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.
...