Alteração na composição do CO
O gerador de CO (Código de Operação ou Código de Impressão), vigente desde novembro/2019, chegou a um denominador que está criando conflito.
Hoje, o CO é gerado através dos seguintes fatores:
Prefixo (2 dígitos, completados com zero a esquerda):
- Se a impressão está vinculado a uma ação direta de caixa (com o caixa vinculado), pega os dois últimos dígitos do campo `caixa`.`id`.
- Se a impressão não estiver vinculado a uma ação direta de caixa (sem o caixa vinculado), e estiver vinculado a um servidor sincronismo pega os dois últimos dígitos do campo `sincronismo`.`id`.
- Caso contrário, determina 0.
Miolo (10 dígitos):
- Converte a data atual para EPOCH (unixtime) e pega os 5 últimos dígitos.
- Acrescenta com os 5 últimos dígitos do campo `impressao`.`id`.
Sufixo (1 dígito):
- Se é um registro vinculado a uma ação direta de caixa (com o caixa vinculado) e estiver em um servidor sincronismo, define 1, se não estiver em um servidor de sincronismo, define 0. -
- Se não for um registro vinculado a uma ação direta de caixa (sem o caixa vinculado) e estiver em um servidor sincronismo, define 4, caso contrário 9. -
- Se for detectado duplicidade do código no local (onde a impressão está sendo gerada) e estiver em um servidor sincronismo, define 3, caso contrário 2.
Exemplo, considerando o seguinte registro:
- Id Caixa: 761
- Id Impressão: 9626
- Sincronismo: Não
- Data da Ocorrência: 03/05/2024 12:12:16
- C.O gerado: 61-4913609626-0
Foi aplicado a seguinte alteração de formato:
- Prefixo (3 dígitos, completados com zero a esquerda):
- Se a impressão está vinculado a uma ação direta de caixa (com o caixa vinculado), pega os 3 últimos dígitos do campo `entidade`.`id`, caso contrário define 0.
Miolo (11 dígitos):
- Pega o ano, em 2 dígitos, do campo `impressao`.`data_impressao`.
- Se estiver em um servidor de sincronismo, define 1, caso contrário, define 0.
- Pega o dia do ano, em 3 dígitos completados com zero, do campo `impressao`.`data_impressao`.
- Acrescenta com os 5 últimos dígitos do campo `impressao`.`id`.
Sufixo (2 dígitos, completados com zero a esquerda):
- Dígitos de Controle Módulo 11, baseado no calculo do CPF (o mesmo que usamos na geração do código do PACK);
Exemplo, considerando o seguinte registro:
- Id Entidade: 1 -
- Id Impressão: 9633 -
- Sincronismo: Não -
- Data da Impressão: 2024-05-10 10:05:48 -
- C.O gerado: 001-24013009633-00
Nenhum comentário