O utilitário automation/geracao/gerar_lancamentos.py cria arquivos de entrada (massa de dados) compatíveis com o layout de 120 bytes exigido pela cadeia batch do laboratório.
Cada registro sai estritamente neste formato posicional, totalizando 120 bytes:
AGENCIA(4)- NuméricoCONTA(8)- NuméricoDATA(8)- Formato AAAAMMDDTIPO(1)-C(Crédito) ouD(Débito)VALOR(13)- Em centavos, sem separador decimal (ex: 10000 = R$ 100,00)HISTORICO(30)- Alfanumérico, alinhado à esquerdaCANAL(10)- Alfanumérico (ex: 'ATM', 'APP', 'AGENCIA')LOTE(6)- NuméricoNSEQ(6)- Numérico (Número Sequencial)STATUS(1)- Branco (espaço) para novos lançamentosFILLER(33)- Preenchimento com espaços em branco
O gerador lê os cadastros existentes na camada local:
data/seed/clientes.txtdata/seed/contas.txt
Assim, quando você filtra por cliente, a saída usa contas reais e válidas já conhecidas pelo lab. Isso é crucial para que os lançamentos gerados passem na regra de negócio V006 (Existência da Conta no KSDS) do programa EBVALI01.
Geração simples:
python automation/geracao/gerar_lancamentos.py --quantidade 20 --data 20260423 --output data/entrada/lancamentos_teste.txt