Open vincequeiroz opened 5 years ago
@vincequeiroz A função fit treina no seu leitor, para cada posição informada, você deve informar um respectivo valor.
"positions": [4, 8],
"values": ["0000", "0"],
nesse caso o leitor do CNAB, irá procurar por linhas com onde a posição 4 possua o valor 0000 e a posição 8 possua o valor 0, ao encontrar linhas com essas características, utilizará o layout informado em "map" para converter a linha do CNAB para um JSON.
Vamos a um exemplo, imagine o seguinte arquivo fictício:
H000123000NOME000BANCO000TRET A000123000NOME000BANCO000R0OK B000123000NOME000BANCO000RNOK
ao treinar fit com:
{
"positions": [0, 25],
"values": ["A", "R"],
"map": [
{
fieldName: "TIPOREGISTRO",
positionStart: 1,
positionEnd: 1,
positionLength: 1,
picture: "X"
},
....
{
fieldName: "STATUS",
positionStart: 26,
positionEnd: 28,
positionLength: 3,
picture: "X",
defaultValue: "0000",
}
]
}
Depois de treinar o modelo, ao aplicar cnabToJsons.convert() ele retorna o JSON com dados mapeados, algo como:
{
"TIPOREGISTRO": "A",
"STATUS": "0OK"
}
Ele desconsidera as linhas que não tiverem match com o treinamento, mas você pode passar vários objetos para treinar o reconhecimento de várias linhas.
em cnabToJsons.test.js você encontra um exemplo.
Te deixo um super convite para contribuir com o projeto adicionando o CSV de cobrança. Basta olhar o manual do Itaú e seguir o exemplo do SISPAG além da descrição da documentação. Se precisar de ajuda, não deixe de me avisar.
Olá @jessicamrbr, criei dois pull requests, um com a correção de um problema que eu encontrei ao tentar abrir o CSV de fora do módulo e o outro com o template mapeado.
Por favor da uma conferida se a parte do "registerAlias" está ok.
@vincequeiroz muita grata pelas correções e pelo novo layout. Não entendi sua dúvida quanto ao registerAlias
Alterações mescladas
Estou tentando converter um CNAB de cobrança do Itaú para JSON, e não achei referência na documentação sobre o preenchimento do FIT.
Estou com problemas com o preenchimento dos campos positions e values, como funcionam esses campos?
Afim de contribuir com o projeto, notei que o layout de Cobrança do Itaú, não encontra-se no CSV. Como devo proceder para adicionar esse layout ao projeto? Eu notei que você adicionou o serviço SISPAG do Itaú, adiciono um novo CSV "341COBRANCA" exclusivo para o serviço de Cobrança?