Olá Pessoal
Estou promovendo modificações em ACBrECFVirtual.pas, com o intuito de dar suporte as Alíquotas de Isenção do ISSQN, ou seja (FS1, NS1, IS1)
Atualmente o ACBrECFVirtual, tem nas posições 0 a 2 alíquotas "FF", "II", "NN"... Elas foram criadas, quando iniciamos o desenvolvimento do ECF Virtual, emulando um ECF Bematech...
Os problemas atuais são:
- O Nome correto dessas alíquotas deveria ser "F1, I1, N1"
- Não há suporte as alíquotas de Isenção do ISSQN, ou seja (FS1, NS1, IS1)
O ECFVirtual, utiliza as primeiras posições da lista de Objetos de Alíquotas, para programas as alíquotas de Isenção. Essa programação é feita de maneira "hardcoded". Se inserirmos as novas alíquotas de Isenção de ISSQN, precisaremos "empurrar" as alíquotas existentes, para novos Índices. Ou seja, hoje a memória INI do ECFVirtual é salva como:
[Aliquotas]
00=1|FF|0|T|0|
01=2|II|0|T|0|
02=3|NN|0|T|0|
03=4|04|18|T|1|
04=5|05|12|T|0|
05=6|06|5|S|0|
passaria a ser:
[Aliquotas]
00=1|F1|0|T|2|
01=2|I1|0|T|2|
02=3|N1|0|T|2|
03=4|FS1|0|S|2|
04=5|IS1|0|S|1|
05=6|NS1|0|S|3|
06=7|07|18|T|2|
07=8|08|12|T|1|
08=9|09|5|S|1|
O ACBrECF já possui um código para interpretar a nomenclatura de alíquotas de Isenção. Exemplo: "NN" será interpretado como "N1", "FF", será interpretado como "F1", etc...
O ACBrECF não terá problemas, se você busca as alíquotas pelo Valor e Tipo. Exemplos: "18", "5S", "17T"
O problema ocorrerá apenas, se você busca a alíquota pelo índice. Exemplos: "T03", "T05", "S04"
A Unit em anexo, já possui um código que verifica que a memoria do ECFVirtual, não possui suporte as alíquotas de isenção do ISSQN, e faz a atualização do arquivo .INI para o novo formato... (isso é executado apenas uma vez)
Por favor analisem a questão, e o fonte em anexo.. e manifestem, se vocês consideram essa modificação ser um problema que poderá causar muito impacto nos usuários do ECFVirtual
ACBrECFVirtual.pas
PS: A Unit em anexo, ainda não foi enviada para o SVN