Quando o erro ocorre ?


Ao “Consultar Período” dentro da rotina Calculo do Faturamento do Simples Nacional, independente do período apresenta a mensagem de erro: 2147217887 - Operação de várias etapas gerou erros. Verifique cada valor de status

(Falha no registro do Codigo SINAC)




Como Resolver ?

 Este erro na rotina Cálculo do Faturamento do Simples Nacional (ocorreu com o código de serviço “1040”  em que ao abrir ele dentro da rotina Fiscal> Tabelas> Códigos de Serviços  - 001 - Tabela d Serviços: Não fica gravado o código Sinac e ao acessar este código de serviço dentro do Banco foi identificado que ficou gravado uma numeração aleatória “12336”

Importante Antes de executar o procedimento se certificar de ter um backup atualizado da base de  dados.



Será necessário o Programa SBP 

E os arquivos :

PASSO 1

PASSO 2

SBP.EXE


link para download : 

1- Executar o SBP.exe 


Informe o nome do servidor, caso esteja executando diretamente no servidor pode deixar como LOCALHOST, e clique em [Conectar]. Se a conexão foi estabelecida com sucesso será exibida a seguinte tela:

 Clique em [OK]. Na tela abaixo informe o arquivo “CorrecaoCodServ_Passo1- G- 1439.smk” e a DSN que deseja executar o script, no exemplo CPROEMP00.

 Clique em [Executar]. Se os comandos foram executados com sucesso será apresentada a mensagem abaixo:

 2- Após isso verifique que no diretório C:\PROPEMP00 existe um arquivo chamado “CODSERVTMP.MKD”

 3- Copiar o arquivo “CODSERVTMP.MKD” para a pasta C:\PROEMP00\LFS. 

4- Na pasta C:\PROEMP00\LFS renomear o arquivo “LFS_0025.MKD” para “LFS_0025.MKD_old”. 

5- Na pasta C:\PROEMP00\LFS renomear o arquivo “CODSERVTMP.MKD” para “LFS_0025.MKD”.

6- Executar a segunda parte do procedimento com o SBP, sendo que dessa vez é apenas executar com o SBP.exe o arquivo “CorrecaoCodServ_Passo2- G- 14391156.smk”



Script 2



Para os casos que o código SINAC não corrige na base de uma empresa específica, realize o procedimento abaixo:


Antes de executar o procedimento realizar um backup da base de dados da empresa com falha (LFS\EEEE)

Tomamos como exemplo a empresa 0001

Passo 1
Executar os comandos abaixo no PCC na DSN da empresa 0001:
SELECT * INTO prodemp0001tmp from prodemp0001;
ALTER TABLE prodemp0001tmp ADD PRIMARY KEY(id);
DROP TABLE prodemp0001tmp IN DICTIONARY;

Passo 2 
Renomear o LFS_0071.MKD para LFS_0071.MKD_old existente no diretório ?:\PROEMPXX\LFS\0001.
Será criado um arquivo de nome PRODEMP0001TMP.MKD dentro do diretório: ?:\PROEMPXX\LFS\0001, renomear esse arquivo de PRODEMP0001TMP.MKD para LFS_0071.MKD.

Passo 3
Executar os comandos abaixo no PCC na DSN da empresa 0001: 

DROP INDEX prodemp0001.iprodemp00011 IN DICTIONARY;
DROP INDEX prodemp0001.iprodemp00012 IN DICTIONARY;
DROP INDEX prodemp0001.iprodemp00013 IN DICTIONARY;

--necessario remover essa fk para poder remover o index iprodempEEEE4
ALTER TABLE lmc_combtanq0001 DROP CONSTRAINT clmc_combtanq00012; DROP INDEX prodemp0001.iprodemp00014 IN DICTIONARY; DROP INDEX prodemp0001.iprodemp00015 IN DICTIONARY; DROP INDEX prodemp0001.iprodemp00016 IN DICTIONARY; DROP INDEX prodemp0001.iprodemp00017 IN DICTIONARY; DROP INDEX prodemp0001.iprodemp00018 IN DICTIONARY; DROP INDEX prodemp0001.iprodemp00019 IN DICTIONARY; --criacao dos indices CREATE UNIQUE INDEX iprodemp00011 ON prodemp0001(fk_empresa_id, prodemp); CREATE INDEX iprodemp00012 ON prodemp0001(fk_empresa_id, fk_prodgeral_id); CREATE INDEX iprodemp00013 ON prodemp0001(fk_prodgeral_id, prodemp); CREATE UNIQUE INDEX iprodemp00014 ON prodemp0001(prodemp); CREATE INDEX iprodemp00015 ON prodemp0001(tipo); CREATE INDEX iprodemp00016 ON prodemp0001(codean); CREATE INDEX iprodemp00017 ON prodemp0001(fk_espbeb_id); CREATE INDEX iprodemp00018 ON prodemp0001(fk_ncm_id); CREATE INDEX iprodemp00019 ON prodemp0001(fk_prodsefaz_id); --necessario recriar a fk removida ALTER TABLE lmc_combtanq0001 ADD CONSTRAINT clmc_combtanq00012 FOREIGN KEY (fk_prodemp) REFERENCES prodemp0001 (prodemp);
  • Sem rótulos