ALTER PROCEDURE [dbo].[LX_LCF_IG_SPED_PIS_COFINS] @GERAR_ARQUIVO_SQL BIT = 0 AS -- 13/12/2022 - JULIANA NASCIMENTO- PRODSHOP-16820 - #282# - 02.22.030 - AJUSTE NA GERAÇÃO DO SAT -- 12/10/2022 - CARLOS ALBERTO - LINXERP-12014 - #281# - 02.22.010 - INCLUSÃO DE CUPONS SAT DEVOLVIDOS COM NOTAS DE ENTRADA REFERENCIADAS -- 09/08/2022 - CARLOS ALBERTO - LINXERP-11233 - #280# - 01.22.050 - CORREÇÃO NO REGISTRO F550 - VALOR LÍQUIDO NO CAMPO VALOR_DOC E AJUSTE NO VALOR DE NOTAS DE DEVOLUÇÃO SENDO APRESENTADAS NAS DEDUÇÕES -- 02/08/2022 - JULIANA NASCIMENTO- PRODSHOP-14258 - #279# - 01.22.050 - CORREÇÃO NO REGISTRO C870 -- 02/05/2022 - JULIANA NASCIMENTO- PRODSHOP-12264 - #278# - 01.22.010 - AJUSTE NA GERAÇÃO DO REGISTRO C870 - VALOR_ITEM -- 27/04/2022 - JULIANA NASCIMENTO- PRODSHOP-12147 - #277# - 01.22.010 - AJUSTE NA GERAÇÃO DO REGISTRO C870 -- 05/04/2022 - CARLOS ALBERTO - LINXERP-9013 - #276# - Spk 01.22 - AJUSTE NA APRESENTAÇÃO DE VALORES DE IMPOSTO COM DEDUÇÃO, A BASE DE CÁLCULO É AJUSTADA COM A DEVOLUÇÃO MAS O VALOR DO IMPOSTO TEM DE SER RECALCULADO -- 30/03/2022 - VALMIR/CARLOS - LINXERP-9013 - #275# - Spk 01.22 - Incluido vinculo com tabela LCF_NOTA_REFERENCIA -- 22/03/2022 - VALMIR SOARES - LINXERP-9013 - #274# - Spk 01.22 - EFD Contribuições - tratamento do registro F550/Lucro Presumido (abatendo as devoluções) -- 08/02/2022 - RODRIGO SOUZA - PRODSHOP-10609 - #273# - 02.21.050 - CORREÇÃO NA GERAÇÃO DO REGISTRO C870 POIS ESTAVA DUPLICANDO O VALOR DA EXCLUSÃO. -- 20/01/2022 - CARLOS ALBERTO - LINXERP-6915 - #272# - 02.21.040 - APRESENTAR NOS REGISTROS DE CÓDIGO DO ITEM O CONTEÚDO DO CAMPO BK_COD_ITEM E NÃO O COD_REFERÊNCIA. ASSIM PADRONIZAMOS A APRESENTAÇÃO DO CÓDIGO DO ITEM NA NOTA (GERA LCF_ITEM POR AGRUPAMENTO) -- 12/01/2022 - RODRIGO SOUZA - PRODSHOP-10216 - #271# - 02.21.040 - CORREÇÃO NA GERAÇÃO DO REGISTRO F550. -- 04/01/2022 - JULIANA NASCIMENTO- PRODSHOP-10153 - #270# - 02.21.040 - AJUSTE NA DESCRIÇÃO DA CONTA CONTÁBIL NO REGISTRO 0500 DE ACORDO COM O MANUAL DO SPED CONTRIBUIÇÕES -- 29/12/2021 - JULIANA NASCIMENTO- PRODSHOP-10046 - #269# - 02.21.030 - AJUSTE NA GERAÇÃO DO REGISTRO F550 -- 20/10/2021 - FELIPE CUNHA - PRODSHOP-8934 - #268# - 02.21.010 - TRATAMENTO PARA TRAZER CORRETAMENTE AS INFORMAÇÕES DO TERCEIRO -- 13/08/2021 - JULIANA NASCIMENTO- PRODSHOP-7646 - #267# - 01.21.030 - AJUSTE NA GERAÇÃO DOS REGISTROS C188 E C509 -- 02/06/2021 - CARLOS ALBERTO - - #266# - 01.21.005 - AJUSTE NA APRESENTAÇÃO DE VALOR DE EXCLUSÃO DE ICMS -- 20/05/2021 - CARLOS ALBERTO - LINXERP-5502 - #265# - 01.21.005 - GERAÇÃO DOS REGISTROS 1010 E 1020 -- 04/05/2021 - JULIANA NASCIMENTO- PRODSHOP-6200 - #264# - 01.21.010 - AJUSTE NA CORREÇÃO #249# -- 12/04/2021 - CARLOS ALBERTO - LINXERP-5502 - #263# - 01.21.005 - AJUSTES EM PROCESSO REFERENCIADO A PROCESSOS DE EXCLUSÃO DE ICMS DA BASE DE PIS/COFINS -- 16/03/2021 - CARLOS ALBERTO - LINXERP-5726 - #262# - 01.20.085 - VERSÃO 007 DO LAYOUT E 5.0.0 DO PVA DA EFD CONTRIBUIÇÕES - NÃO APRESENTAR SÉRIE EM BRANCO PARA MODELOS 55 E 65 -- 07/12/2020 - JULIANA NASCIMENTO- SUSTSP-1955 - #261# - 01.20.060 - AJUSTE NA GERAÇÃO DO REGISTRO C181 E C185 -- 04/12/2020 - JULIANA NASCIMENTO- SUSTSP-1948 - #260# - 01.20.060 - RETIRADA DAS NOTAS DE BONIFICAÇÃO (CFOP'S 5910 E 6910) NA MONTAGEM DA TEMPORÁRIA QUE GERA OS REGISTROS C100 E FILHOS -- 18/11/2020 - CARLOS ALBERTO - LINXERP-4378 - #259# - 01.21 - GERAÇÃO AUTOMÁTICA DO REGISTRO F600 -- 13/07/2020 - DOUGLAS GARCIA - SUSTSP-650 - #258# - 01.20.20 - INCLUSÃO DE NOVA CFOP NO FILTRO DE GERAÇÃO (SAÍDA) -- 19/02/2020 - CARLOS ALBERTO - - #257# - 01.20 - NÃO GERAR OS REGISTROS 0190 E 0200 PARA MODELO 66 -- 17/02/2020 - CARLOS ALBERTO - INTEGSP-1774 - #256# - 03.19.035 - GERAR O REGISTRO 0600 TAMBÉM PARA O LAYOUT 5 -- 19/12/2019 - CARLOS ALBERTO - MODASP-8606 - #255# - 03.19.035 - ADEQUAÇÃO AO LAYOUT 2020 (1.32) -- 17/12/2019 - CARLOS ALBERTO - MODASP-9373 - #254# - 03.19.025 - AJUSTE NAS CASAS DECIMAIS DOS CAMPOS DE AJUSTE DE REDUÇÃO DE BASE DE CÁLCULO DOS REGISTROS M210 E M610 -- 25/11/2019 - CARLOS ALBERTO - MODASP-5090 - #253# - 03.19 - NÃO GERAR REGISTRO 0200 PARA ITENS DE NOTAS COM MODELO 65 (NFCe) -- 18/09/2019 - CARLOS ALBERTO - MODASP-2227 - #252# - 03.19 - AJUSTE NO AGRUPAMENTO DE INFORMAÇÕES DOS REGISTROS M210 E M610 -- 06/09/2019 - CARLOS ALBERTO - MODASP-4691 - #251# - 03.19 - VERSÃO 1.31 (BLOCO M) -- 12/07/2019 - MARCELO FUSTINI - ID - #250# - 02.19 - CORREÇÃO NA GERAÇÃO DO REGISTRO F700 -- 18/06/2019 - CARLOS CANDIDO - ID 112325 - #249# - C100 - Alteração no campo IND_EMIT, para gerar como '1' se a série estiver entre 890 e 899. -- C100 - Alteração no campo CODIGO DA SITUAÇÃO DO DOCUMENTO FISCAL, para gerar como '08', -- C100 - se a série estiver entre '890' e '899'. -- C120 - Alteração no campo COD_DOC_IMP, para gerar conforme o campo TIPO_DOC_IMPORTACAO. -- C199 - Alteração no campo DOCUMENTO DE IMPORTAÇÃO, para gerar conforme o campo TIPO_DOC_IMPORTACAO. -- 17/06/2019 - JULIANA NASCIMENTO- ID 122267 - #248# - 02.19 - AJUSTE NO TAMANHO DO CAMPO DESC_ITEM DA TABELA TEMPORARIA #TEMP_ECF_012347 -- 06/05/2019 - JULIANA NASCIMENTO- ID 117665 - #247# - 01.19.020 - ALTERAÇÃO NO REGISTRO 0100, PARA BUSCAR O ID_INTEGRACAO_GOVERNO CORRETO -- 25/03/2019 - MARCELO FUSTINI - ID 114067 - #246# - 01.19 - MELHORIA DE PERFORMANCE NA MONTAGEM DA TEMPORÁRIA #TEMP_012347_SAT -- 01/02/2019 - CARLOS ALBERTO - ID 108890 - #245# - 03.18.050 - REVISÃO NA GERAÇÃO DO REGISTRO F550 -- 21/01/2019 - MARCELO FUSTINI - ID 104336 - #244# - 01.19 - ADEQUAÇÃO AO NOVO LAYOUT 005 E VALIDADOR 3.1.0 -- 27/12/2018 - CARLOS ALBERTO - ID 105205 - #243# - 03.18.040 - ALTERAÇÃO NA CONDIÇÃO DE GERAÇÃO DOS REGISTROS C181 E C185. MESMO ESTANDO A BASE ZERADA AS NOTAS COM CST 04 OU 06 DEVEM SER CONSIDERADAS PARA GERAÇÃO DA APURAÇÃO PELO PVA (BLOCO 'M'). -- 17/12/2018 - CARLOS ALBERTO - ID 104556 - #242# - 03.18.025 - GERAÇÃO DO REGISTRO F010 QUANDO A MATRIZ FISCAL ESTIVER INDICADA NOS REGISTROS F600 E/OU F700 E NÃO POSSUA MOVIMENTO NO PERÍODO. -- 26/10/2018 - MARCELO FUSTINI - ID 81279 - #241# - 03.18.025 - TRATAMENTO PARA EXCLUSÃO DA BASE DE CÁLCULO DO ICMS -- 07/11/2018 - CARLOS ALBERTO - ID 100032 - #240# - 03.18.020 - RETIRADA DO VALOR DE DESCONTOS DO CÁLCULO DE VALORES DO REGISTRO C870. A LOJA JÁ ENVIA O VALOR LÍQUIDO. -- 03/09/2018 - CARLOS ALBERTO - ID 92339 - #239# - 02.18.030 - ALTERAÇÃO NA MONTAGEM DA TEMPORÁRIA DE MOVIMENTAÇÃO DE SAT/CFE PARA CONSIDERAR O ITEM_IMPRESSAO E SUB_ITEM_TAMANHO DOS ITENS DOS CUPONS. -- 27/08/2018 - CARLOS ALBERTO - ID 91219 - #238# - 02.18.030 - AJUSTE NO CÁLCULO DO CAMPO DE DESCONTOS DO REGISTRO C870. PARA CASOS ONDE NÃO EXISTE BASE DE CÁLCULO DE PIS OU COFINS, O DESCONTO É APRESENTADO DE FORMA INCORRETA. -- 23/08/2018 - CARLOS ALBERTO - ID 91021 - #237# - 02.18.030 - ALTERAÇÃO DO CAMPO DE ONDE É RESGATADO O VALOR DE DESCONTOS DOS ITENS DE CUPONS SAT. O CAMPO DESCONTO_ITEM, ANTES UTILIZADO, SE REFERIA A UM DESCONTO JÁ EMBUTIDO NO VALOR LÍQUIDO DO ITEM. -- 24/07/2018 - CARLOS ALBERTO - ID 79341 - #236# - 02.18.010 - REVISÃO DO CAMPO VL_ITEM DO REGISTRO C870 PARA CONSIDERAR DESCONTOS/ACRESCIMOS/ENCARGOS. -- 19/07/2018 - MARCELO FUSTINI - ID 84857 - #235# - 02.18 - AJUSTE NO CAMPO IND_REG_CUM DO REGISTRO 0110 -- 26/06/2018 - CARLOS ALBERTO - ID 79778 - #234# - 01.18.035 - AJUSTE NA APRESENTAÇÃO DO CAMPO IND_FRETE, ADEQUAÇÃO À NFe 4.0. -- 16/05/2018 - CARLOS ALBERTO - ID 74676 - #233# - 01.18.035 - ADEQUAÇÃO DA GERAÇÃO DO SPED CONTRIBUIÇÕES À NFe 4.0. -- 26/03/2018 - CARLOS ALBERTO - ID 68634 - #232# - 01.18 - RETIRADA DO MODELO 59 NA LISTA DE GERAÇÃO DO REGISTRO C396. -- 23/03/2018 - CARLOS ALBERTO - ID 68399 - #231# - 01.18 - COMPLEMENTO DA CORREÇÃO #226#. ALGUNS REGISTROS AINDA ESTAVAM APRESENTANDO A CONTA CONTÁBIL. -- 19/03/2018 - CARLOS ALBERTO - ID 67620 - #230# - 01.18 - ALTERAÇÃO DA FUNÇÃO QUE RETIRA CARACTERES ESPECIAIS NO REGISTRO '0000'. -- 08/03/2018 - CARLOS ALBERTO - ID 64096 - #229# - 01.18 - REVISÃO NA GERAÇÃO DO REGISTRO C870, CONSIDERANDO O IMPOSTO (PIS OU PC-CSLL) NA HORA DE FORMAR O VALOR DO ITEM. -- 28/02/2018 - CARLOS ALBERTO - ID 65263 - #228# - 01.18 - INCLUSÃO DAS NOTAS DE BONIFICAÇÃO (CFOP'S 5910 E 6910) NA MONTAGEM DA TEMPORÁRIA QUE GERA OS REGISTROS C100 E FILHOS. -- 26/02/2018 - CARLOS ALBERTO - ID 64096 - #227# - 01.18 - AJUSTE NA MONTAGEM DOS VALORES DO REGISTRO C870 PARA EVITAR DUPLICIDADE. -- 19/01/2018 - MARCELO FUSTINI - ID 58725 - #226# - 03.17.011 - INDICAR SE A EMPRESA É DISPENSADA DA ENTREGA DA ECD NA GERAÇÃO DA EFD CONTRIBUIÇÕES -- 16/01/2018 - CARLOS ALBERTO - ID 59231 - #225# - 03.17.020 - AJUSTES NA GERAÇÃO DOS REGISTROS C870 E C175 PARA EVITAR DUPLICIDADES DEVIDO À CONTA CONTÁBIL INSERIDA. -- 11/01/2018 - CARLOS ALBERTO - ID 58797 - #224# - 03.17.010 - AJUSTE NA ORDENAÇÃO DA INSERÇÃO DE DADOS DA TEMPORÁRIA DE DADOS DO SAT. -- 13/12/2017 - MARCELO FUSTINI - ID 50628 - #223# - 03.17.001 - ADEQUAÇÕES AO LAYOUT 2.1.4 -- 19/10/2017 - CARLOS ALBERTO - ID 48706 - #222# - 02.17.040 - TRATAMENTO DO CAMPO CNPJ/CPF DOS REGISTROS C191 E C195. QUANDO O TERCEIRO VINCULADO FOR ESTRANGEIRO DEVE LEVAR BRANCO E ESTÁ LEVANDO SEQUENCIA DE NOVES. -- 03/10/2017 - CARLOS ALBERTO - ID 46795 - #221# - 02.17.030 - NÃO FILTRAR NOTAS COM STATUS DENEGADA, CANCELADA E/OU INUTILIZADA NA GERAÇÃO DO REGISTRO C100. -- 27/09/2017 - CARLOS ALBERTO - ID 46115 - #220# - 02.17.030 - REVISÃO DO AGRUPAMENTO DE VALOERS DO REGISTRO F550. -- 28/06/2017 - CARLOS ALBERTO - ID 36009 - #219# - 01.17.009 - REVISÃO DO AGRUPAMENTO DE VALORES NO REGISTRO C870, EVITANDO DUPLICIDADE DE LINHAS. -- 03/05/2017 - CARLOS ALBERTO - ID 30414 - #218# - 01.17.004 - TRATAMENTO PARA EVITAR DUPLICIDADE DE CNPJ NO REGISTRO 0140. AGRUPANDO PELA CHAVE, EVITA-SE ERROS NOS REGISTROS FILHOS DO 0140 (0150, 0190, 0200 E 0400). -- 20/03/2017 - CARLOS ALBERTO - ID 25569 - #217# - 01.17.001 - APRESENTAR A SITUAÇÃO TRIBUTÁRIA PADRÃO (01) QUANDO AS VENDAS POR SAT E CFE NÃO UTILIZAREM EXCEÇÃO DE IMPOSTO. -- 12/01/2017 - CARLOS ALBERTO - ID 17301 - #216# - 01.17 - BUSCAR O CAMPO IND_ESCRI DAS INFORMAÇÕES COMPLEMENTARES, CONFORME DEFINIDO NA ABA C010 DA TELA DE GERAÇÃO. -- 13/12/2016 - MARCELO FUSTINI - ID 10434 - #215# - 01.17 - AJUSTE PARA AS EXCEÇÕES DA TABELA TIPI NO REGISTRO 0200 -- 24/11/2016 - CARLOS ALBERTO - ID 12647 - #214# - 01.17 - RETIRADA DA ALTERAÇÃO #213#. APÓS ANÁLISE JUNTO AO QA, FICOU ENTENDIDO QUE O LINX APENAS ENTREGA A ESCRITURAÇÃO COMPLETA DO SPED. POR ISSO O CAMPO IND_ESCRIT ESTAVA FIXO COMO '2'. -- 21/11/2016 - CARLOS ALBERTO - ID 12647 - #213# - 01.17 - APRESENTAÇÃO DO CAMPO INDICATIVO DO TIPO DE APURAÇÃO NO CAMPO IND_ESCRIT DO REGISTRO C010 -- 25/10/2016 - LUCAS SOUZA - ID 10568 - #212# - 01.17 - NÃO GERAR CHAVE DE NF-e QUANDO A MESMA ESTIVER INUTILIZADA (ASSIM COMO É NO SPED FISCAL) -- 08/09/2016 - CARLOS ALBERTO - ID 8810 - #211# - 02.16 - DE ACORDO COM O GUIA PRÁTICO DA OBRIGAÇÃO FISCAL, NO REGISTRO 0140 NÃO É NECESSÁRIO APRESENTAR MATRIZES FISCAIS QUE NÃO TIVERAM MOVIMENTO NO PERÍODO. DESSA FORMA, PARA ATENDER AS DEMANDAS 2469, 6541 E 7436 SÓ É NECESSÁRIO APRESENTRA NESSE REGISTRO A MATRIZ CONTÁBIL, QUANDO NÃO HOUVER MOVIMENTO NO PERÍODO. -- 06/09/2016 - CARLOS ALBERTO - ID 7001 - #210# - 02.16 - ALTERAÇÃO DAS CASAS DECIMAIS DO CAMPO ALIQ_CONT APRESENTADO NO REGISTRO P100. -- 08/08/2016 - CARLOS ALBERTO - ID 7436 - #209# - 02.16 - AJUSTE NA GERAÇÃO DOS REGISTROS 0140, ESTAVA LEVANDO O CÓDIGO DA MATRIZ CONTÁBIL E NÃO DA MATRIZ FISCAL, CAUSANDO DUPLICIDADE. -- 01/08/2016 - CARLOS ALBERTO - ID 7068 - #208# - 02.16 - VERIFICAÇÃO DA GERAÇÃO DO REGISTRO 0150 PARA NÃO GERAR O REGISTRO EM BRANCO DEVIDO A NOTAS/CUPONS MODELO 65 NÃO POSSUÍREM TERCEIRO VINCULADO. -- 01/08/2016 - CARLOS ALBERTO - ID 7001 - #207# - 02.16 - INCLUSÃO DOS CUPONS SAT (LCF_CFE) NA GRERAÇÃO DA TEMPORÁRIA UTILIZADA NA GERAÇÃO DO BLOCO P (#TEMP_BLOCOP). -- 20/07/2016 - CARLOS ALBERTO - ID 6541 - #206# - 02.16 - REVISÃO NA GERAÇÃO DO REGISTRO 0140 COM OS DADOS DAS MATRIZES FISCAIS QUANDO NÃO EXISTIR MOVIMENTO DE NOTAS NO PERÍODO. -- 30/06/2016 - CARLOS ALBERTO - ID 5267 - #205# - 01.16.010 - TRATAMENTO PARA TRAZER A SÉRIE DA CHAVE_NFE PARA NOTAS DE TRANSFERÊNCIA COM MODELO 55 ONDE A SÉRIE DA NOTA FOR DIFERENTE DA SÉRIE DA CHAVE_NFE. -- 24/06/2016 - CARLOS ALBERTO - ID 4500 - #204# - 01.16.010 - AJUSTE NA MONTAGEM DOS DADOS DO REGISTRO 0140 PARA EVITAR CONCATENAR REGISTROS COM CONTEÚDO NULO AO TEXTO DA LINHA, GERANDO LINHA COM TRÊS PONTOS '...'. -- 15/06/2016 - CARLOS ALBERTO - ID 3895 - #203# - 01.16.010 - ALTERAÇÃO NA CONDIÇÃO DE GERAÇÃO DOS REGISTROS 0140, F010, F600 E F700 A PARTIR DE IMPORTAÇÃO DE PLANILHAS PARA FILTRAR A DATA INICIAL DA GERAÇÃO DO ARQUIVO COM A DATA INICIAL ARMAZENADA NA TABELA DE INFORMAÇÕES COMPLEMENTARES. -- 25/05/2016 - MARCELO FUSTINI - ID 3604 - #202# - 01.16.010 - GERAÇÃO DO REGISTRO A110 -- 26/04/2016 - CARLOS ALBERTO - ID 2511 - #201# - 01.16.010 - REVISÃO DA CONDIÇÃO DE GERAÇÃO DO REGISTRO 0145 PARA ACOMPANHAR A VALIDAÇÃO DO REGISTRO P100. -- 20/04/2016 - CARLOS ALBERTO - ID 2469 - #200# - 01.16.010 - GERAÇÃO DO REGISTRO 0140 COM OS DADOS DA MATRIZ QUANDO NÃO EXISTIR MOVIMENTO DE NOTAS NO PERÍODO. -- 04/03/2016 - CARLOS ALBERTO - ID 1058 - #199# - 01.16 - ADEQUAÇÃO DA GERAÇÃO DOS REGISTROS M220, F010 E 0140 PARA ACOMPANHAR OS REGISTROS GERADOS NO F700 A PARTIR DE LANÇAMENTO DE IMPOSTOS NA APURAÇÃO. -- 26/02/2016 - CARLOS ALBERTO - ID 953 - #198# - 01.16 - AJUSTE NO AGRUPAMENTO DE INFORMAÇÕES DO REGISTRO F100. -- 25/02/2016 - CARLOS ALBERTO - ID 953 - #197# - 01.16 - REVISÃO NA CONDIÇÃO DE FILTRO DE GERAÇÃO DO REGISTRO F100 PARA PERMITIR APRESENTAR NOTAS DE VENDA E COMPRA DE ATIVO QUE NÃO ESTEJAM CONFIGURADAS COM MODELO NÃO FISCAL. -- 25/02/2016 - CARLOS ALBERTO - ID 1113 - #196# - 01.16 - AJUSTE NA GERAÇÃO DOS REGISTROS 0140 E F010 PARA CONSIDERAR OS DADOS INFORMADOS EM PLANILHAS PARA OS REGISTROS F600 E F700. -- 25/02/2016 - CARLOS ALBERTO - ID 952 - #195# - 01.16 - REESCRITO O TRECHO DA PROCEDURE QUE GERA OS DADOS DO REGISTRO F550, ESTAVA SOMANDO INDEVIDAMENTE VALORES RESULTANDO EM VALORES NEGATIVOS PARA DEDUÇÃO DE IMPOSTOS. -- 23/02/2016 - CARLOS ALBERTO - ID 952 - #194# - 01.16 - TRATAMENTO PARA NOTAS COMPLEMENTARES COM ALÍQUOTA DE IMPOSTO E SEM VALOR CONTABIL. REVISÃO DA ALTERAÇÃO #191# -- 22/02/2016 - CARLOS ALBERTO - ID 953 - #193# - 01.16.000 - VALIDAR AS NOTAS APRESENTADAS NO REGISTRO F100 PELA CFOP (5.551 E 6.551) E NÃO PELO CÓDIGO DE NATUREZA 100.02 (VENDA DE IMOBILIZADO). -- 22/02/2016 - CARLOS ALBERTO - ID 1876 - #192# - 01.16.010 - INCLUSÃO DE NOTAS VINDAS DO CFE-SAT NOS REGISTROS F550 E 1900. -- 19/02/2016 - CARLOS ALBERTO - ID 952 - #191# - 01.16 - REVISÃO NA GERAÇÃO DOS REGISTROS F550 E 1900 - TRATAMENTO PARA NOTAS COMPLEMENTARES. -- 17/02/2016 - CARLOS ALBERTO - ID 1833 - #190# - 01.16.010 - INCLUSÃO DA GERAÇÃO DOS VALORES DE FRETE, SEGURO E ENCARGOS PARA AS NOTAS DE ENTRADA E SAÍDA. -- 10/02/2016 - CARLOS ALBERTO - ID 1759 - #189# - 01.16.010 - INCLUSÃO DE MODELO 65 NA GERAÇÃO DOS DADOS PARA O REGISTRO F550. -- 02/12/2015 - CARLOS ALBERTO - ID 953 - #188# - 02.15.010 - ALTERAÇÃO NA VALIDAÇÃO DA GERAÇÃO DO REGISTRO F100 PARA PERMITIR NOTAS SEM VALOR DE PIS/COFINS COM CÓDIGO DE NATUREZA 100.02 (VENDA DE IMOBILIZADO). -- 24/11/2015 - LUCAS SOUZA - TP 10556377 - #187# - 02.15.010 - INCLUSÃO DOS REGISTROS DO SAT NO BLOCO F -- 24/11/2015 - CARLOS ALBERTO - TP 10987680 - #186# - 02.15.010 - REVISÃO NA GERAÇÃO DO REGISTRO F550 PARA CONTEMPLAR NOTAS COMPLEMENTARES DE IMPOSTO. -- 13/11/2015 - MARCELO FUSTINI - TP 5384767 - #185# - 02.15.010 - NÃO CONSIDERAR A COLUNA COLCNPJFILIAL DOS GRIDS F600 E F700 PARA GERAÇÃO DOS REGISTROS 0140 E F010 -- 04/11/2015 - MARCELO FUSTINI - TP 10944822 - #184# - 02.15.005 - REVISÃO NA GERAÇÃO DOS CAMPOS DE INFORMAÇÃO COMPLEMENTAR -- 03/11/2015 - CARLOS ALBERTO - TP 5384767 - #183# - 02.15.005 - REVISÃO NA GERAÇÃO DO REGISTRO F700 PARA NÃO GERAR REGISTROS COM CAMPOS NULOS. -- 30/10/2015 - MARCELO FUSTINI - TP 10899796 - #182# - 02.15.005 - CORREÇÃO EM FILTRO DO REGISTRO C100 PARA AS NOTAS CANCELADAS -- 27/10/2015 - LUCAS SOUZA - TP 10836636 - #181# - 02.15.005 ALTERAÇÃO NA FORMA DE PREENCHER CAMPO DE DESCONTO NO REGISTRO C870 -- 22/10/2015 - MARCELO FUSTINI - TP 10777418 - #180# - 02.15.005 - CORREÇÃO NA GERAÇÃO DOS CAMPOS COD_LST(0200) E COD_CLASS(D601 E D605) -- 16/10/2015 - LUCAS SOUZA - TP 10663295 - #179# - 02.15.005 - CORREÇÃO DE VALOR DUPLICADO DE DESCONTO NO REGISTRO C870 -- 13/10/2015 - CARLOS ALBERTO - TP 10624929 - #178# - 02.15.005 - INCLUSÃO DE TRECHOS PARA GERAÇÃO DOS REGISTROS M400 E M410 BASEADO NOS DADOS VINDOS DAS TABELAS SAT (LCF_CFE). -- 07/10/2015 - CARLOS ALBERTO - TP 10475170 - #177# - 02.15.010 - INCLUSÃO DE GRIDS PARA INFORMAÇÃO DOS DADOS DOS REGISTROS F600 E F700, POSIBILITANDO A DIGITAÇÃO MANUAL E IMPORTAÇÃO DE PLANILHAS EM FORMATO EXCEL. -- 22/09/2015 - LUCAS SOUZA - TP 7197912 - #176# - 02.15.010 - GERAÇÃO DO REGISTRO F500 QUANDO FOR MARCADO PARA GERAR COM TIPO DE TRIBUTAÇÃO DE REGIME DE CAIXA -- 31/08/2015 - CARLOS ALBERTO - TP 9987051 - #175# - 02.15 - ALTERAÇÃO NA CHECAGEM DA VERSÃO DO PVA PARA GERAÇÃO DO REGISTRO C175. -- 31/08/2015 - CARLOS ALBERTO - TP 10044020 - #174# - 02.15 - REVISÃO DOS DADOS APRESENTADOS NO REGISTRO C870 QUANDO OS CUPONS ESTIVEREM CANCELADOS. -- 28/08/2015 - CARLOS ALBERTO - TP 10044020 - #173# - 02.15 - NÃO INFORMAR OS ITENS DE CUPONS CANCELADOS NO REGISTRO C870 -- 26/08/2015 - CARLOS ALBERTO - TP 9987767 - #172# - 02.15 - INCLUSÃO DAS UNIDADES DOS ITENS VENDIDOS VIA SAT NA MONTAGEM DO REGISTRO 0190 -- 18/08/2015 - MARCELO FUSTINI - TP 9913378 - #171# - 02.15.001 - MELHORIA DE PERFORMANCE -- 18/08/2015 - MARCELO FUSTINI - TP 9913378 - #170# - 02.15.001 - GERAR REGISTRO 0140 SEMPRE COM OS DADOS ATUAIS DO TERCEIRO -- 17/08/2015 - DANIEL GONCALVES - TP 9873964 - #169# - 02.15 - CORREÇÃO NO REGISTRO 0200 PARA GERAR OS ITENS DO SAT. -- 17/08/2015 - MARCELO FUSTINI - TP 9741674 - #168# - 02.15.010 - GERAR C500 PARA NFE COM CFOP'S 1251, 1252, 1253, 1254, 1255, 1256 E 1257 -- 15/08/2015 - CARLOS ALBERTO - TP 9873890 - #167# - 02.15 - AJUSTAR A GERAÇÃO DA TEMPORÁRIA #TEMP_012347_SAT PARA NÃO TRAZER OS VALORES DE CUPONS CANCELADOS. -- 14/08/2015 - CARLOS ALBERTO - TP 5384767 - #166# - 02.15 - REVISÃO NA GERAÇÃO DO REGISTRO F700 PARA PERMITIR APRESENTAR REGISTROS SEM VÍNCULO COM NOTA FISCAL. -- 12/08/2015 - LUCAS SOUZA - TP 9827931 - #165# - 02.15 - CORREÇÃO NO GROUP BY DO REGISTRO C870 -- 14/07/2015 - LUCAS SOUZA - TP 8818538 - #164# - 02.15 - CORREÇÃO DE QUANTIDADE DE CAMPOS REGISTRO C870 -- 19/06/2015 - LUCAS SOUZA - TP 8998697 - #163# - 02.15 - INCLUSÃO DO CÓDIGO NECESSÁRIO PARA REGISTRAR 0140 QUANDO HÁ APENAS MOVIMENTOS DE ECF NO PERÍODO -- 12/06/2015 - CARLOS ALBERTO - TP 8990877 - #162# - 01.15.022 - CORREÇÃO NO AGRUPAMENTO DO REGISTRO 0200. -- 12/06/2015 - CARLOS ALBERTO - TP 8083462 - #161# - 01.15.022 - ALTERAÇÃO NO TAMANHO DO CAMPO COD_LST DO REGISTRO 0200. CONFORME GUIA PRÁTICO, A PARTIR DE MAIO/2015 ESSE CAMPO PODE CONTER ATÉ 5 CARACTERES. -- 02/06/2015 - CARLOS ALBERTO - TP 8729598 - #160# - 01.15.022 - CORREÇÃO NA GERAÇÃO DO REGISTRO C870 PARA AGRUPAR POR DATA, CNPJ, CFOP E NÚMERO DE SÉRIE DO EQUIPAMENTO. -- 28/05/2015 - CARLOS ALBERTO - TP 8729598 - #159# - 01.15.022 - DIVERSAS CORREÇÕES NOS REGISTROS CF-E SAT. -- 18/05/2015 - LUCAS SOUZA - TP 8611510 - #158# - 01.15.022 - GERAÇÂO DOS REGISTROS DE CF-E SAT -- 28/04/2015 - LUCAS SOUZA - TP 8211689 - #157# - 01.15.003 - GERAÇÃO DOS REGISTROS REFERENTES A CF-E SAT -- 27/04/2015 - MARCELO FUSTINI - TP 8425934 - #156# - 01.15.002 - OS CAMPOS DE SÉRIE DA NF DEVEM LEVAR A SÉRIE OFICIAL QUANDO A NOTA DE SAÍDA FOR DE MODELO ELETRÔNICO OU DE ENTRADA ELETRÔNICA PRÓPRIA -- 08/04/2015 - DANIEL GONCALVES - TP 8263279 - #155# - 01.15.002 - CORREÇÃO DO REGISTRO 0140. -- 08/04/2015 - DANIEL GONCALVES - TP 8249467 - #154# - 01.15.002 - CORREÇÃO NA SERIE ORIGINAL E A BK_SERIE PARA NOTAS COM MESMO NUMERO NOS REGISTROS C100 E C170. -- 07/04/2015 - DANIEL GONCALVES - TP 8234543 - #153# - 01.15.002 - CORREÇÃO NO REGISTRO 0200 QUE ESTA COM DUPLICIDADE POR CAUSA DA ALIQUOTA. -- 20/02/2015 - MARCELO FUSTINI - TP 7828376 - #152# - 01.15.001 - GERAR OS REGISTROS DO BLOCO F SOMENTE PARA OS ATIVOS DA MATRIZ CONTÁBIL SELECIONADA -- 19/02/2015 - CARLOS ALBERTO - TP 7802031 - #151# - 01.15.001 - CORREÇÃO NA GERAÇÃO DO REGISTRO 0200, CAMPO DE ALÍQUOTA, TRAZER A ALÍQUOTA INTERNA. -- 11/02/2015 - CARLOS ALBERTO - TP 7819483 - #150# - 03.14.002 - CORREÇÃO NA GERAÇÃO DO REGISTRO F550 PARA DROPAR A TABELA TEMPORÁRIA APÓS A GERAÇÃO. -- 10/02/2015 - CARLOS ALBERTO - TP 7537625 - #149# - 03.14.002 - RETIRADOS OS MOVIMENTOS DE ENTRADA NA GERAÇÃO DO REGISTRO F550, CONFORME SOLICITADO NO MANUAL. -- 03/02/2015 - DANIEL GONCALVES - TP 7740004 - #148# - 01.15.001 - RETIRADO SELECT COM A LCF_TERCEIRO_LOG NO REGISTRO 0140. -- 03/02/2015 - MARCELO FUSTINI - TP 7705047 - #147# - 03.14.002 - NÃO CONSIDERAR NOTAS CANCELADAS NA GERAÇÃO DOS REGISTROS M100, M200, M210, M600 E M610 -- 16/01/2015 - MARCELO FUSTINI - TP 7616602 - #146# - 03.14.002 - CORREÇÃO PARA A GERAÇÃO DO REGISTRO 0200 -- 15/01/2015 - LUCAS SOUZA - TP 7616722 - #145# - 03.14.002 - INFORMAR CNPJ DO REGISTRO F010 NO REGISTRO 0140 -- 08/01/2015 - LUCAS SOUZA - TP 7570067 - #144# - 03.14.002 - CORREÇÃO DE SINTAXE SQL -- 07/01/2015 - LUCAS SOUZA - TP 7510351 - #143# - 03.14.002 - PREENCHER DATA DE PAGAMENTO DO IMPOSTO NO REGISTRO A120 -- 07/01/2015 - CARLOS ALBERTO - TP 7537536 - #142# - 01.15.002 - FILTRAR OS MODELOS DE NOTA DO REGISTRO F550 CONFORME A TABELA 4.1.1. -- 30/12/2014 - LUCAS SOUZA - TP 7510691 - #141# - 03.14.002 - CONSIDERAR MODELO NA CHAVE DO REGISTRO D200 E SEUS FILHOS -- 29/12/2014 - LUCAS SOUZA - TP 7510531 - #140# - 03.14.002 - FILTRAR SOMENTE ENTRADAS NO REGISTRO D100 E SAÍDAS NO D200 -- 02/12/2014 - DANIEL GONCALVES - TP 7270458 - #139# - 03.14 - COLOCADO O FLAG DE INDICA OPERAÇÃO PARA AS NOTAS CANCELADAS NO C100. -- 28/10/2014 - LUCAS SOUZA - TP 6906541 - #138# - 03.14 - NÃO INFORMAR CAMPO COD_PART PARA NOTAS MODELO 65 -- 22/10/2014 - LUCAS SOUZA - TP 6012395 - #137# - 02.14.002 - MODELO 65 DEVE SER GERADO SEMPRE NO REGISTRO C100. NO C180 APENAS NA VERSÃO PVA 2.08 -- 22/10/2014 - DANIEL GONCALVES - TP 6729397 - #136# - 02.14.002 - CORREÇÃO NOS REGISTROS C180 E F550 CONFORME LAYOUT 1.17. -- 22/09/2014 - LUCAS SOUZA - TP 6543911 - #135# - 02.14.001 - NOTAS MODELO 65 DEVEM CONSTAR COM O MODELO 55 NO REGISTRO C180 -- 19/09/2014 - LUCAS SOUZA - TP 6012395 - #134# - 02.14.002 - UTILIZAÇÃO DE NOVO CONTROLE DE VERSÂO POR TABELA PARA NOVOS REGISTROS -- 17/09/2014 - MARCELO FUSTINI - TP 4354720 - #133# - 05.14.001 - ADEQUAÇÕES À NOVA ROTINA DE IMPORTAÇÃO DAS TABELAS LCF -- 14/08/2014 - LUCAS SOUZA - TP 6012395 - #132# - 02.14.002 - INCLUSÃO DE NFC-E NO REGISTRO C100, CRIAÇÃO DE REGISTRO C175 e ALTERAÇÃO DO C180 DE ACORDO COM O NOVO GUIA PRÁTICO 1.16. NFC-e -- 18/07/2014 - CARLOS ALBERTO - TP 6017921 - #131# - 02.14.001 - AJUSTE NA GERAÇÃO DOS DADOS DE CENTRO DE CUSTO DA TABELA TEMPORÁRIA PARA APRESENTAÇÃO NO REGISTRO 0600. -- 13/05/2014 - CARLOS ALBERTO - TP 5384767 - #130# - 02.14.000 - INCLUSÃO DA GERAÇÃO DO REGISTRO F700. -- 05/05/2014 - DANIEL GONCALVES - TP 5504496 - #129# - 02.14.000 - ALTERADO O UNION ALL DO REGISTRO 0200 E INSERIDO DISTINCT. -- 03/04/2014 - CARLOS ALBERTO - TP 5345813 - #128# - 02.14.000 - RETIRADA DO VALOR DE DESCONTO DO CAMPO VALOR_ITEM NA GERAÇÃO DO REGISTRO C170. ESSE VALOR JÁ VEM COM O DESCONTO DO ITEM CONSIDERADO. -- 21/03/2014 - WENDEL CRESPIGIO - TP 5263927 - #127# - 01.14.001 - INCLUSAO DO CAMPO VALOR_ITEM NA TABELA TEMP_012347 PARA SER USADO NA GERAÇÃO DO REGISTRO C170. -- 20/02/2014 - DANIEL GONCALVES - TP 5100434/5089590 - #126# - INCLUIDO DISTINCT PARA OS REGISTROS 0150, 0200 E 0400 NÃO DUPLICAREM. -- 21/01/2014 - CARLOS ALBERTO - TP 4963195 - #125# - REVISÃO NO FILTRO DE DADOS PARA O REGISTRO 0150 PARA NÃO LEVAR OS DADOS PROVENIENTES DE NFC-e QUE NÃO POSSUAM AS INFORMAÇÕES NOME, CNPJ E/OU CPF. -- 17/01/2014 - CARLOS ALBERTO - TP 4398650 - #124# - ALTERADO O FILTRO DAS NOTAS A SEREM ENVIADAS NO REGISTRO C180 A PARTIR DE JANEIRO/2014 PARA CONSIDERAR APENAS AS DE MODELO 65. -- 05/12/2013 - DANIEL GONCALVES - TP 4398650 - #123# - INCLUIDA A VALIDAÇÃO PARA GERAR O REGISTRO C180 COM OS MODELOS '59' E '65' A PARTIR DE JANEIRO DE 2014. -- 18/10/2013 - CARLOS ALBERTO - TP 4433698 - #122# - CORREÇÃO NA GERAÇÃO DO REGISTRO 0140 PARA ACOMPANHAR A GERAÇÃO DO REGISTRO C100 E C010 DE NOTAS CANCELADAS. -- 18/10/2013 - DANIEL GONCALVES - TP 4461395 - #121# - INCLUSÃO DO REGISTRO 1900. -- 11/10/2013 - DANIEL GONCALVES - TP 4398650 - #120# - INCLUIDO OS MODELOS FISCAIS '59', '65' NOS REGISTROS (0450, C010, C180, C181, C185 E C188). -- 11/10/2013 - CARLOS ALBERTO - TP 4433698 - #119# - TRATAMENTO NA GERAÇÃO DA TABELA TEMPORÁRIA PARA NÃO DEIXAR O CAMPO INDICA_DOCUMENTO_NAO_FISCAL COMO NULO. -- 04/10/2013 - CARLOS ALBERTO - TP 4421498 - #118# - INCLUSÃO DOS REGISTROS I001 E I990 NA TOTALIZAÇÃO DO REGISTRO 990. -- 20/09/2013 - WENDEL CRESPIGIO - TP 4369622 - #117# - INCLUSÃO DE NOVAS CFOPS NOS FILTROS DE GERAÇÃO -- 12/09/2013 - MARCELO FUSTINI - TP 4236829 - #116# - CORRIGIDO SELECT DO CAMPO EX_NCM NA TABELA #TEMP_012347 -- 05/08/2013 - MARCELO FUSTINI - TP 4113761 - #115# - NO REGISTRO 0200 A UNIDADE DOS ITENS DEVE VIR DO CADASTRO E NÃO DA NOTA FISCAL -- 25/07/2013 - CARLOS ALBERTO - TP 4112565 - #114# - CORREÇÃO NO TAMANHO DOS CAMPOS DE NÚMERO DE DOCUMENTO DOS REGISTOS C380 E C395. -- 18/06/2013 - DANIEL GONCALVES - TP 3036862 - #113# - CORREÇÃO DO CAMPO SITUAÇÃO TRIBUTARIA PARA PIS E COFINS PARA O REGISTRO F550. -- 14/06/2013 - MARCELO FUSTINI - TP - #112# - NÃO FILTRAR MATRIZ FISCAL NA GERAÇÃO DOS REGISTROS F010 E F550 -- 14/06/2013 - CARLOS ALBERTO - TP 3905942 - #111# - CORREÇÃO DA GERAÇÃO DO F550, SE FOR SELECIONA MAIS DE UMA MATRIZ CONTÁBIL APRESENTA ERRO NA GERAÇÃO DOS DADOS POR JÁ EXISTIREM AS TABELAS TEMPORÁRIAS DO REGISTRO. -- 14/06/2013 - CARLOS ALBERTO - TP 3905942 - #110# - CORREÇÃO DA SELECT DO F010 PARA ACOMPANHAR A GERAÇÃO DO F550. -- 13/06/2013 - CARLOS ALBERTO - TP 3905942 - #109# - CORREÇÃO DOS REGISTROS D601 E D605 PARA BUSCAR O CÓDIGO DO SERVICO. -- 13/06/2013 - CARLOS ALBERTO - TP 3905942 - #108# - CORREÇÃO DO REGISTRO F550, INCLUSÃO DO REGISTRO 2 - VALOR TOTAL DA RECEITA AUFERIDA, REFERENTE À COMBINAÇÃO DE CST E ALÍQUOTA -- 04/06/2013 - CARLOS ALBERTO - TP 3165394 - #107# - CONSOLIDAÇÃO DAS INFORMAÇÕES DOS REGISTROS D600, D601 e D605. REVISÃO DO AGRUPAMENTO DE INFORMAÇÕES CONSOLIDADAS. -- 15/05/2013 - WENDEL CRESPIGIO - TP 3771642 - #106# - ALTERAÇÃO DO CONVERT PARA PASSAR A PEGAR O TAMANHO TOTAL DO CAMPO REGISTRO D605. -- 24/04/2013 - ALEXANDRE CAMPOS - TP 3143637 - #105# - CORREÇÃO NO CAMPO DE VL_PIS E VL_COFINS PARA TRAZER A BASE DE CALCULO * ALIQUOTA. -- 09/04/2013 - DANIEL GONCALVES - TP 3350965 - #104# - INCLUSÃO DA ABERTURA E FECHAMENTO DO BLOCO I. -- 08/04/2013 - CARLOS ALBERTO - TP 3165394 - #103# - CONSOLIDAÇÃO DAS INFORMAÇÕES DOS REGISTROS D600, D601 e D605. -- 08/04/2013 - DANIEL GONCALVES - TP 3539745 - #102# - ALTERAÇÃO NO FORMATO DA DATA DE INCLUSÃO/ALTERAÇÃO DO REGISTRO PARA DDMMAAAA. -- 05/04/2013 - DANIEL GONCALVES - TP 3036862 - #101# - CORREÇÃO DO F010 COMFORME SELECT DO REGISTRO F550. -- 04/04/2013 - MARCELO FUSTINI - TP 3630396 - #100# - CORREÇÃO NO FILTRO DE GERAÇÃO DO REGISTRO 0450 -- 04/04/2013 - MARCELO FUSTINI - TP 3630396 - #99# - ADEQUADO TAMANHO DO CAMPO OBS COM A TABELA LCF_OBS -- 04/04/2013 - MARCELO FUSTINI - TP 3630396 - #98# - CORREÇÃO DA OBSERVAÇÃO NOS REGISTROS C500, D100 E D500 -- 03/04/2013 - MARCELO FUSTINI - TP 3624520 - #97# - ALTERADO JOIN COM A TABELA LCF_OBS NO INSERT DA #TEMP_012347 -- 02/04/2013 - CARLOS ALBERTO - TP 3598545 - #96# - CORRIGIDO GROUP BY DO REGISTRO 0140 PARA O CAMPO DE IE -- 26/03/2013 - MARCELO FUSTINI - TP 3527827 - #95# - INCLUÍDO CAMPO VL_DOC NA GERAÇÃO DO REG. C100 PARA AS NOTAS CANCELADAS -- 26/03/2013 - MARCELO FUSTINI - TP 3527827 - #94# - CORREÇÃO DA CHAVE DO REGISTRO 0450, ESTAVA GERANDO FORA DE ORDEM -- 26/03/2013 - MARCELO FUSTINI - TP 3527827 - #93# - CORREÇÃO NA GERAÇÃO DO CAMPO IM QUE VEM DA #TEMP_BLOCOP NO REGISTRO 0140 -- 26/03/2013 - MARCELO FUSTINI - TP 3527827 - #92# - INCLUSÃO DOS CAMPOS LX_MODELO, CNPJ_ESTAB, ID_OBS E CHAVE_NFE NA INSERÇÃO DAS NOTAS CANCELADAS NA #TEMP_012347 -- 25/03/2013 - MARCELO FUSTINI - TP 3522757 - #91# - CORREÇÃO DE FILTRO DE MATRIZ NOS REGISTROS M200, M210, M600 E M610 -- 25/03/2013 - MARCELO FUSTINI - TP ------- - #90# - CORRIGIDO GROUP BY DO REGISTRO 0140 PARA O CAMPO DE IE -- 22/03/2013 - CARLOS ALBERTO - TP 3527689 - #89# - RETIRADA DOS CARACTERES ESPECIAIS NA INFORMAÇÃO DA INSCRIÇÃO ESTADUAL NO REGISTRO 0140. -- 22/03/2013 - DANIEL GONCALVES - TP ------- - #88# - CONFORME E-MAIL DO CRISPIM TROCAR O COMANDO raiserror @errno @errmsg PARA raiserror (@errmsg, 16, 1). -- 22/03/2013 - DANIEL GONCALVES - TP 3515978 - #87# - CRIAÇÃO DOS REGISTROS C110 E 0450. -- 22/03/2013 - DANIEL GONCALVES - TP 3036862 - #86# - CRIAÇÃO DO REGISTRO F550 E VALIDAÇÃO PARA O MESMO. -- 11/03/2013 - MARCELO FUSTINI - TP 3528076 - #85# - GERAR A QUANTIDADE DO ITEM = 1 NO REG. C170 QUANDO A NOTA FOR COMPLEMENTAR E TER A QUANTIDADE = 0 (EX.: COMPLEMENTAR DE IMPOSTOS) -- 11/03/2013 - DANIEL GONCALVES - TP 3516200 - #84# - INCLUSÃO DO ISNULL PARA OS REGISTROS 0140 E 0150. -- 03/12/2012 - LUCAS SOUZA - TP 3017887 - #83# - CORREÇÃO DE REGRAS NA CLAUSULA WHERE DOS REGISTROS C180, C181 E 185 PARA GERAÇÃO DOS REGISTROS DE PIS E COFINS -- 31/10/2012 - ALEX BORTOTO - TP 3101072 - #82# - CORRIGIDO O WHERE DO REGISTROS M400, M410, M800 E M810 E ATUALIZADO AS REFERENCIAS AOS REGISTROS A170, C170, C381, D201, F100 DENTRO DO WHERE -- 31/10/2012 - WENDEL CRESPIGIO - TP 3101072 - #81# - CAMPO CNPJ NO REGSITRO F600 - É CNPJ DO ESTABELECIMENTO. -- 29/10/2012 - WENDEL CRESPIGIO - TP 3101067 - #80# - CRIAÇÃO DE REGISTRO F010 PARA REGISTRO F600 - CONFORME LAYOUT -- 29/10/2012 - WENDEL CRESPIGIO - TP 3101072 - #79# - NORMALIZAÇÃO DO FORMATO DOS CAMPOS NO REGISTRO F600 -- 29/10/2012 - WENDEL CRESPIGIO - TP 3101489 - #78# - ALTERAÇÃO #76# UTILIZA VALOR DECIMAL DE ISNULL COM PONTO AO INVÉS DE VIRGULA -- 27/10/2012 - WENDEL CRESPIGIO - TP 3101134 - #77# - ALTERAÇÃO DO TAMANHO DA COLUNA NUM_DOC DE 15 PARA 9 PEGANDO DO FINAL PARA O COMEÇO -- 27/10/2012 - LUCAS SOUZA - TP 3100895 - #76# - CORREÇÃO DE REGISTRO P200 APARECENDO COMO "..." -- 26/10/2012 - DANIEL GONCALVES - TP 3041573 - #75# - ALTERADO ORDEM DO REGISTRO P210 PARA NÃO EXIBIR NO COMEÇO DO ARQUIVO. -- 22/10/2012 - LUCAS SOUZA - TP 2799629 - #74# - Reabertura 1a - GERAÇÃO DO REGISTRO F600 - CONTRIBUIÇÃO RETIDA NA FONTE -- 19/10/2012 - ALEX BORTOTO - TP 3075136 - #73# - ALTERAÇÃO DA GERAÇÃO DO BLOCO P PARA NÃO BUSCAR AS INFORMAÇÕES DA APURAÇÃO -- 09/10/2012 - LUCAS SOUZA - TP 3044319 - #72# - REALIZAR TAMBÉM GERAÇÃO DOS IMPOSTOS: PIS RETIDO E COFINS RETIDO -- 09/10/2012 - ALEX BORTOTO - TP 3036884 - #71# - INCLUÍDO PARA NÃO GERAR OS REGISTRO P010 E P100 CASO TENHA SOMENTE VALOR DE EXCLUSÕES, OU A EXCLUSÃO SUPERE O VALOR DA RECEITA -- 09/10/2012 - ALEX BORTOTO - TP 3041573 - #70# - CORRIGIDO A ORDENAÇÃO DO REGISTRO P210 -- 09/10/2012 - ALEX BORTOTO - TP 3041573 - #69# - CORRIGIDO A GERAÇÃO DO CAMPO 4 DO REGISTRO P200 -- 09/10/2012 - ALEX BORTOTO - TP 3041573 - #68# - CORRIGIDO A GERAÇÃO DO CAMPO 3 DO REGISTRO P200 -- 08/10/2012 - LUCAS SOUZA - TP 2868433 - #67# - REABERTURA 1a - TAREFA #55# FOI ANULADA PELA TP #62#. REFAZENDO CODIGO. -- 08/10/2012 - LUCAS SOUZA - TP 2717107 - #66# - REABERTURA 1a - INDICADOR DE TIPO DE PAGAMENTO NOS REGISTROS C100 E A100 DIFERENTE DO MANUAL -- 07/10/2012 - ALEX BORTOTO - TP 3036884 - #65# - INCLUÍDO PARA GERAR AS INFORMAÇÕES DO P010 NO REGISTRO 0140 -- 07/10/2012 - ALEX BORTOTO - TP 3036852 - #64# - INCLUÍDO PARA GERAR O P200 SOMENTE SE TIVER VALOR PARA SER GERADO -- 03/10/2012 - LUCAS SOUZA - TP 2980087 - #63# - VALIDAÇÃO PARA NÃO INSERIR VALORES ZERADOS NO REGISTRO 0145 -- 28/09/2012 - ALEX BORTOTO - TP 2897259 - #62# - CORRIGIDO O VALOR INFORMADO NA VARIAVEL @SOMA_TOTAL_BRUTO, REFEITO O REGISTOR P200 PARA NÃO GERAR 2X O MESMO REGISTRO. -- 28/09/2012 - LUCAS SOUZA - TP 2799629 - #61# - GERAÇÃO DO REGISTRO F600 - CONTRIBUIÇÃO RETIDA NA FONTE -- 05/09/2012 - LUCAS SOUZA - TP 2917107 - #60# - CASO A FORMA DE PAGAMENTO FOI "INDEFINIDO", PREENCHER CAMPO 13 (C100) COM O VALOR "2" E NÃO MAIS "9" - Tag #56# estava errada -- 04/09/2012 - DANIEL GONCALVES - TP 2920978 - #59# - ALTERAÇÃO PARA LEVAR O VALOR_DOC < 0. -- 29/08/2012 - DANIEL GONCALVES - TP 2795361 - #58# - INCLUSÃO DA VALIDAÇÃO PARA ISS-R NOS OUTROS REGISTROS DO BLOCO A. -- 28/08/2012 - LUCAS SOUZA - TP 2906349 - #57# - CASO A EMPRESA NÃO PRECISE DEFINIR REGIME CUMULATIVO, SETAR VALOR PADRÃO. -- 24/08/2012 - LUCAS SOUZA - TP 2845416 - #56# - CASO A FORMA DE PAGAMENTO FOI "INDEFINIDO", PREENCHER CAMPO 13 (C100) COM O VALOR "2" E NÃO MAIS "9" -- 24/08/2012 - LUCAS SOUZA - TP 2868433 - #55# - AJUSTE PARA LEVAR O VALOR DE APURAÇÃO DO CP-INSS NO TOTAL DO REGISTRO P200 -- 21/08/2012 - LUCAS SOUZA - TP 2875888 - #54# - TRATAMENTO PARA NÃO EXIBIR VALORES REPITIDOS NO REGISTRO 0200 (ACONTECE QUANDO OS ITENS ESTÃO EM BRANCO) -- 14/08/2012 - LUCAS SOUZA - TP 2847322 - #53# - IGUALANDO CAMPO NUMERO_PART PARA BATER COM O CAMPO DA "TABELA" FX_LCF_TERCEIRO_LOG -- 09/08/2012 - LUCAS SOUZA - TP 2797067 - #52# - REGISTRO D605 ESTÁ SENDO GERADO FORA DA ORDEM. CAMPO "CHAVE" ESTÁ ERRADO. -- 08/08/2012 - DANIEL GONCALVES - TP 2776881 - #51# - INCLUSÃO DO IMPOSTO 22 NA TABELA #TEMP_012347. -- 08/08/2012 - LUCAS SOUZA - TP 2797312 - #50# - CAMPO QTD_ITEM DO REGISTRO D600 NÃO TEM CASAS DECIMAIS. REMOVENDO DECIMAIS -- 30/07/2012 - WENDEL CRESPIGIO - TP 2805792 - #49# - ALTERAÇÃO PARA DEIXAR DE USAR AS CONTAS CONTABEIS NOS REGISTROS M400 E M800 COMO FOI FEITO NO REGISTRO M100 -- 30/07/2012 - WENDEL CRESPIGIO - TP 2805776 - #48# - ALTERAÇÃO DA GERAÇÃO DO REGISTRO M100 PASSOU A AMARRAR A LCF_TERCEIRO FOI ALTERADO O WHERE PARA USAR A MATRIZ CONTABIL. -- 30/07/2012 - WENDEL CRESPIGIO - TP 2697367 - #47# - ALTERAÇÃO IDENTIFICADO PELA ADRIANA PARA DEIXAR DE USAR MATRIZ FISCAL PARA USAR MATRIZ CONTABIL NA GERAÇÃO DOS M200\M210\M220\M600\M610\M620. -- 19/07/2012 - WENDEL CRESPIGIO - TP 2742923 - #46# - ALTERAÇÃO DO BLOCO P PARA REGISTROS QUE VENHAM DA LOJA TIPO LS. -- 19/07/2012 - WENDEL CRESPIGIO - TP 2697367 - #45# - CORREÇÃO DA TP 2697367 FOI IDENTIFICADO UM PROBLEMA NO REGISTRO M600 QUE ESTAVA GERANDO INFORMAÇÕES DE PIS QUANDO O REGISTRO ERA DE COFINS. -- 16/07/2012 - WENDEL CRESPIGIO - TP 2697367 - #44# - ALTERADO A ORDEM DO ISNULL DE LSIA.TIPO_CREDITO_PIS,LSIA.TIPO_CREDITO DEIXANDO O CAMPO LSIA.TIPO_CREDITO EM PRIMEIRO NO ISNULL. -- 12/07/2012 - DANIEL GONCALVES - TP 2722657 - #43# - INCLUIDO INDICA REGIME ACUMULATIVO PARA O REGISTRO 0110. -- 12/07/2012 - DANIEL GONCALVES - TP 2722657 - #42# - INCLUIDO VERSAO DO LAYOUT PARA O REGISTRO 0000. -- 07/07/2012 - ADRIANO RODRIGUES - HOTFIX 01.12.003 - #41# - CORREÇÃO DOS REGISTROS M210 E M610. -- 07/07/2012 - ADRIANO RODRIGUES - HOTFIX 01.12.003 - #40# - TRANSFORMAR OS REGISTRO M200 E M600 PARA UMA UNICA LINHA POR ARQUIVO. -- 06/07/2012 - ALEX BORTOT - TP 2724676 - #39# - ALTERADO A GERAÇÃO DA TABELA TEMPORÁRIA #TEMP_BLOCOP, ALTERADO O VALOR_DOC QUE BUSCAVA DO CAMPO VALOR_CONTABIL PARA O CAMPO BASE_IMPOSTO, POIS NÃO DEVE CONSTAR O IPI. -- 06/07/2012 - ALEX BORTOTO - TP 2723566 - #38# - NA GERAÇÃO DOS REGISTRO C010, C120, C380, C395, C396, C500, C501, C505, M400, M410, M800, M810 COMENTADO NO WHERE O INDICA_ICMS E INDICA_IPI -- 06/07/2012 - WENDEL CRESPIGIO - TP 2586219 - #37# - INCLUSAO DE NOVAS CFOP´S EXCLUIR – 5412 e 6412 -- INCLUIR – 5932, 5556, 6556, 5551, 6551 e 7551 -- 28/06/2012 - ADRIANO RODRIGUES - TP 2653057 - #36# - ALTERADO OS CAMPOS DESC_VISAO_CLASSIF PARA VARCHAR(255) -- 28/06/2012 - ALEX BORTOTO - TP 2697367 - #35# - NOS REGISTRO M200, M210, M600 E M610 INCLUIDO LEFT JOIN NAS TABELAS LCF_SUB_ITEM_APURACAOM LCF_SUB_ITEM_MOV -- 28/06/2012 - ALEX BORTOTO - TP 2673459 - #34# - RETIRADO AS CORREÇÕES EFETUADOS NOS REGISTROS P100 E P200 NOS ITENS "#33#, #31#" -- 27/06/2012 - ALEX BORTOTO - TP 2673459 - #33# - ALTERADO A GERAÇÃO DO REGISTRO P100 PARA NÃO CALCULAR O VALOR DO IMPOSTO, POIS ESTÁ APRESENTANDO ERRO DE ARREDONDAMENTO -- 25/06/2012 - ALEX BORTOTO - TP 2668375 - #32# - ALTERADO O REGISTRO P100 E RETIRADO A CONTA CONTÁBIL, CONFORME CONVERSADO COM ADRIANO. iNCLUIDO VALIDAÇÃO PARA GERAR INFORMAÇÃO SOMENTE QUANDO O VALOR DOS CAMPOS 6-7 FOR > 0 -- 21/06/2012 - ALEX BORTOTO - TP 2673459 - #31# - ALTERADO INCLUSÃO DA #TEMP_BLOCOP, INCLUIDO O CAMPO VALOR_IMPOSTO PARA NÃO CALCULAR AO PREENCHER A VARIAVEL @SOMA_TOTAL_BRUTO, POIS ESTAVA APRESENTANDO DIFERENÇA DEVIDO AO CALCULO -- 21/06/2012 - ALEX BORTOTO - TP 2673459 - #30# - ALTERADO O SELECT PARA INCLUIR O "RE" NA TEMP #TEMP_BLOCOP, ALTERADO O WHERE DE EMISSAO PARA RECEBIMENTO -- 20/06/2012 - ALEX BORTOTO - TP 2659990 - #29# - INCLUÍDO NA TEMPORÁRIA #TEMP_012347 OS CAMPOS TIPO_CREDITO_IMCS, TIPO_CREDITO_PIS E TIPO_CREDITO_COFINS PARA GERAÇÃO DO REGISTRO M100 -- 19/06/2012 - ADRIANO RODRIGUES - TP 2654562 - #28# - MELHORIA DE PERFORMANCE NA GERAÇÃO DO ARQUIVO -- 15/06/2012 - DANIEL GONCALVES - TP 2652603 - #27# - RETIRADO A VALIDAÇÃO DE ICMS E IPI PARA OS REGISTROS C100 E C170. -- 15/06/2012 - DANIEL GONCALVES - TP 2652788 - #26# - NA CRIAÇÃO DE TEMP DE APURAÇÃO PARA BLOCO P FEITA A TROCA DE LEFT PARA INNER JOIN COM A TABELA DE LCF_REDUCAO_IMPOSTO. -- 15/06/2012 - ALEX BORTOTO - TP 2654562 - #25# - RETIRADO O SELECT QUE BUSCA O @SK_MATRIZ PARA GERAR DIRETO NO CURSOR, POIS ESTAVA COM LENTIDÃO. -- 13/06/2012 - ADRIANO RODRIGUES - TP 2646777 - #24# - REGISTRO M100 HABILITAR PARA TRAZER APENAS O IMPOSOTO PIS -- 12/06/2012 - ALEX BORTOTO - TP 2643515 - #23# - NO REGISTRO P100 ALTERADO OS CAMPOS 8 E 10, CASO SEJA NEGATIVO LEVADO 0. -- 11/06/2012 - LUCAS SOUZA - TP 2638059 - #22# - TROCAR O CAMPO GT_FINAL NO CURSOR #TEMP_ECF_012347 PARA O TIPO NUMERIC(17,2) -- 11/06/2012 - ADRIANO RODRIGUES - TP 2628188 - #21# - MELHORA NA PERFORMANCE DA GERAÇÃO DO ARQUIVO -- 06/06/2012 - ALEX BORTOTO - TP 2628361 - #20# - ALTERADO OS REGISTRO M410 E M810 E PASSADO O CAMPO "NATUREZA_RECEITA" -- 06/06/2012 - ADRIANO RODRIGUES - TP 2628361 - #19# - INCLUIR O CAMPO NATUREZA RECEITA PARA A TEMPORARIA DO ECF -- 04/06/2012 - ALEX BORTOTO - TP 2619625 - #18# - NO REGISTRO P200 E P210, EFETUADO ALTERAÇÃO PARA GERAR O REGISTRO COM A SOMA DE TODAS AS FILIAIS E SEPARANDO POR CÓDIGO DE RECEITA -- 01/06/2012 - ALEX BORTOTO - TP 2614413 - #17# - NO REGISTRO 0500 RETIRADO A VALIDAÇÃO DO CAMPO "INDICA_DOCUMENTO_NAO_FISCAL", POIS NÃO ESTAVA GERANDO A CONTA DAS NOTAS DO F100 -- 01/06/2012 - ALEX BORTOTO - TP 2614348 - #16# - NO REGISTRO 0190 RETIRADO A VALIDAÇÃO DO CAMPO "INDICA_DOCUMENTO_NAO_FISCAL", POIS NÃO ESTAVA GERANDO A UNIDADE DAS NOTAS DO F100 -- 31/05/2012 - WENDEL CRESPIGIO - TP 2608275 - #15# - ALTERAÇÃO DO VALOR DO CAMPO P200 TEM QUE SER A SOMATÓRIA DO CAMPO 10 DO P100. -- 30/05/2012 - ALEX BORTOTO - TP 2601417 - #14# - CORREÇÃO DA GERAÇÃO DOS REGISTRO M210 E M220 INCLUSÃO DA SOMA DOS VALORES, POIS ESTAVA APRESENTANDO ERRO DE CHAVE. -- 30/05/2012 - ALEX BORTOTO - TP 2601417 - #13# - INCLUSÃO DO DISTINCT NO SELECT DOS REGISTRO M200, M210 E M100 -- 30/05/2012 - ALEX BORTOTO - TP 2601417 - #12# - INCLUSÃO DOS REGISTROS M600 E M610 -- 29/05/2012 - WENDEL CRESPIGIO - TP 2597162 - #11# - CORREÇÃO PARA INDICADOR DE MOVIMENTO DO REGISTRO P001. -- 29/05/2012 - ADRIANO RODRIGUES - TP 2598866 - #10# - CORREÇÃO DO GROUP BY DO REGISTRO D100 -- 02/05/2012 - DANIEL GONCALVES - TP 2487144 - #9# - INCLUSÃO DO CAMPO IND_NAT_FRT NAS TABELAS DE ENTRADA. -- 28/05/2012 - ADRIANO RODRIGUES - TP 2572974 - #9# - INCLUIR O CAMPO CHAVE NFE PARA O REGISTRO D100 -- 25/05/2012 - WENDEL CRESPIGIO - TP 2589511 - #8# - VERIFICAÇÃO DO REGISTRO F100 VALOR_PIS > 0 E VALOR COD_COFINS > 0. -- 18/05/2012 - WENDEL CRESPIGIO - TP 2566373 - #7# - NA GERAÇÃO DO REGISTRO 0145 CASO NAO TRATADO O ISNULL O REGISTRO ERA GERADO NO ARQUIVO COM 3 PONTOS ... OCORRENDO ERRO DE LAYOUT DO ARQUIVO. -- 26/04/2012 - WENDEL CRESPIGIO - TP 2345445 - #6# - INCLUSÃO DO BLOCO P -- 23/04/2012 - DANIEL GONCALVES - TP 2467552 - #5# - ALTERAÇÃO DO TAMANHO DO CAMPO DESC_COMPL DE VARCHAR 40 PARA 255. -- 17/04/2012 - WENDEL CRESPIGIO - TP 2264485 - #4# - INCLUSAO DOS REGISTROS M100 -- 17/04/2012 - WENDEL CRESPIGIO - TP 2264485 - #3# - INCLUSAO DOS REGISTROS M200 -- 06/03/2012 - WENDEL CRESPIGIO - TP 2264485 - #2# - INCLUSAO DOS REGISTROS M210 -- 06/03/2012 - WENDEL CRESPIGIO - TP 2264485 - #1# - INCLUSAO DOS REGISTROS M220 -- 20/03/2012 - LUCAS SOUZA - TP 2369344 - REMOÇÃO DE FILTRO [INDICA_DOCUMENTO_NAO_FISCAL = 0] NA MONTAGEM DA LINHA [0200] -- 14/03/2012 - ALEX BORTOTO - TP 2265669 - INCLUSÃO DO REGISTRO F130 -- 13/03/2012 - ADRIANO RODRIGUES - TP - INCLUIR O ESTABELECIMENTO DO REGISTRO F120 NO 0140 -- 12/03/2012 - ADRIANO RODRIGUES - TP - CORREÇÃO NO F120 COLOCADO ISNULL EM TODOS CAMPOS -- 12/03/2012 - ALEX BORTOTO - TP 2341838 - ALTERADO O CAMPO DESC_ITEM DOS REGISTROS A170 E C170 PARA BUSCAR A DESCRIAÇÃO DA NOTA. -- 12/03/2012 - ADRIANO RODRIGUES - TP - ALTERADO OS CFOPS QUE VÃO PARA EFD PIS/COFINS -- 09/03/2012 - ADRIANO RODRIGUES - CORREÇÃO NO SELECT DOS REGISTROS C180, C181 E C185 -- 09/03/2012 - ALEX BORTOTO - TP 2265669 - INCLUSÃO DO REGISTRO F120 -- 06/03/2012 - WENDEL CRESPIGIO - TP 2335049 - INCLUSAO DOS REGISTROS D600 -- 06/03/2012 - WENDEL CRESPIGIO - TP 2335049 - INCLUSAO DOS REGISTROS D601 -- 06/03/2012 - WENDEL CRESPIGIO - TP 2335049 - INCLUSAO DOS REGISTROS D605 -- 06/03/2012 - WENDEL CRESPIGIO - TP 2335049 - INCLUSAO DOS REGISTROS D609 -- 05/03/2012 - ALEX BORTOTO - TP 1810173 - ALTERADO O REGISTRO C100 PARA TRAZER O CAMPO CHAVE-NFE PARA TODAS AS NOTAS, POIS SEGUNDO ALTERAÇÃO DO LAYOUT A MESMA DEVE SER INFORMADA PARA TODAS AS NOTAS DE MODELO 55 -- 03/03/2012 - ALEX BORTOTO - TP 1810173 - ALTERADO O REGISTRO F100, NO CAMPO INDICA_OPERACAO FOI ALTERADO DE ACORDO COM O LAYOUT -- 02/03/2012 - ALEX BORTOTO - TP 1810173 - ALTERADO O REGISTRO C190, ESTAVA BUSCANDO A INFORMAÇÃO PELO ST_PIS, ALTERADO PARA ST_COFINS -- 02/03/2012 - ALEX BORTOTO - TP 1810173 - NA CRIAÇÃO DA TABELA #TEMP_ECF_012347 RETIRADO O JOIN COM A TABELA LCF_REDUCAO_MAPA_RESUMO POIS ESTAVA TRIPLICANDO OS ITENS -- 29/02/2012 - ALEX BORTOTO - TP 1810173 - REFEITO O SELECT DOS REGISTROS M400, M410, M800 E M810 -- 29/02/2012 - ALEX BORTOTO - TP 1810173 - ALTERADO O REGISTRO C400 PARA LEVAR O MAX(ECF) POIS ESTAVA APRESENTANDO ERRO DE DUPLICIDADE DE CHAVE NA VALIDAÇÃO, CORRIGIDO A CHAVE DOS RESGISTROS POSTERIORES -- 29/02/2012 - ALEX BORTOTO - TP 1810173 - ALTERADO OS REGISTRO C481, C485, C491 E C495 PARA RECALCULAR O VALOR DO PIS E COFINS, POIS ESTAVA GERANDO O VALOR INCORRETO NO ARQUIVO. -- 28/02/2012 - ALEX BORTOTO - TP 1810173 - NA GERAÇÃO DO REGISTRO C181 E C185 INCLUIDO PARA LEVAR SOMENTE O VALOR DO PIS E COFINS -- 23/02/2012 - ADRIANO RODRIGUES - TP 2303354 - INCLUIR O CAMPO LX_ORIGEM_ITEM NO CODIGO DO ITEM APENAS PARA O QUE FOR DIFERENTE DE PRODUTOS -- 22/02/2012 - ALEX BORTOTO - TP 2282513 - ALTERADO O REGISTRO C100 E INCLUÍDO A CHAVE DA NFE PARA NOTAS CANCELADAS. -- 22/02/2012 - ALEX BORTOTO - TP 1810173 - ALTERADO O REGISTRO 0190 E INCLUIDO O DISTINC PARA NÃO DUPLICAR AS UNIDADES -- 14/02/2012 - ALEX BORTOTO - TP 1810173 - ALTERADO O REGISTRO C400 QUE LEVAM O TERMINAL, PELO CAMPO ECF -- 14/02/2012 - ALEX BORTOTO - TP 1810173 - ALTERADO O REGISTRO D500, D501, D505 E D509 E INCLUIDO A VALIDAÇÃO A.IND_OPER = 0 PARA TRAZER SOMENTE ENTRADAS -- 01/02/2012 - ADRIANO RODRIGUES - TP 2244966 - INCLUIR AS UNIDADES DA TEMPORARIA DOS ECFS PARA O REGISTRO 0190 -- 30/01/2012 - ADRIANO RODRIGUES - TP 2219169 - LEVAR APENAS NOTAS FISCAIS DE SAIDA PARA OS REGISTROS D200, D201, D205 E D209 -- 11/01/2012 - ADRIANO RODRIGUES - 2196612 - NOS COMANDOS COM A FUNÇÃO FX_LF_BUSCA_INF_COMPLEMENTAR TIRAR OS VALORES DE '...' PARA '' -- 21/12/2011 - ADRIANO RODRIGUES - 2148498 - BUSCAR O VALOR CONTABIL PARA O CAMPO VALOR_DOC POR IMPOSTO NÃO APENAS DO ICMS E ISS -- 21/12/2011 - ADRIANO RODRIGUES - 2148498 - BUSCAR O CÓDIGO DA BASE DE CALCULO POR IMPOSTO NÃO APENAS DO ICMS -- 16/12/2011 - ALEX BORTOTO - TP 2123780 - INCLUIDO A TABELA TEMPORARIA #TEMP_NOTAS_APROPRIACAO_PIS_COFINS ONDE TRÁS SOMENTE AS NOTAS QUE TENHA VALOR DE PIS OU COFINS, TABELA UTILIZADA PARA GERAR A #TEMP_012347 NÃO GERANDO NOTAS SEM PIS OU COFINS. -- 16/12/2011 - ALEX BORTOTO - TP 2123768 - ALTERADO A GERAÇÃO DO REGISTRO C100, SÓ GERA A CHAVE DA NF QUANDO A NOTA FOR DE FATURAMENTO OU PRÓPRIA. -- 13/12/2011 - ALEX BORTOTO - TP 2109105 - ALTERADO O REGISTRO D105, RETIRADO O 0 FIXO PARA O CAMPO NATUREZA FRETE E INCLUIDO O CAMPO IND_FRETE. -- 12/12/2011 - ALEX BORTOTO - TP 2109140 - ALTERADO O REGISTRO 0200, CONFORME CONVERSADO COM O JOÃO, PASSADO O MIN PARA O CAMPO TIPO_ITEM, POIS ESTAVA DUPLICANDO A INFORMAÇÃO. -- 12/12/2011 - ALEX BORTOTO - TP 2109105 - ALTERADO O REGISTRO D101, RETIRADO O 0 FIXO PARA O CAMPO NATUREZA FRETE E INCLUIDO O CAMPO IND_FRETE. -- 10/11/2011 - ALEX BORTOTO - TP 2036831 - ALTERADO O REGISTRO C120 E INCLUIDO PARA TRAZER SOMENTE NOTAS COM IND_OPER = '0', CFOPS INICIADOS POR 3 E ST_PIS OU ST_COFINS ENTRE 50 E 56 -- 09/11/2011 - ALEX BORTOTO - TP 2036831 - ALTERADO O REGISTRO C120 E INCLUIDO OS MODELOS FISCAIS 1B, 04 E 55 -- 31/10/2011 - ALEX BORTOTO - TP 2010918 - NA TABELA TEMPORÁRIA #TEMP_012347 ALTERADO O JOIN COM A TABELA LCF_UNIDADE PARA BUSCAR A UNIDADE DO ITEM NA NOTA. -- 26/10/2011 - ALEX BORTOTO - TP 2010575 - NO REGISTRO D200 COMENTADO NO GROUP BY OS CAMPOS A.COD_ESTAB E A.COD_PART, POIS ESTAVA DUPLICANDO A INFORMAÇÃO. -- - NOS REGISTROS D201 E D205 COMENTADO NO GROUP BY OS CAMPOS A.COD_ESTAB, A.COD_PART A.SERIE , POIS ESTAVA DUPLICANDO A INFORMAÇÃO. -- 28/09/2011 - ALEX BORTOTO - TP 1900718 - CORRIGIDO A CHAVE DOS REGISTROS 0500 E 0600, OS MESMOS NÃO SÃO GERADOS POR ESTABELECIMENTO. -- 26/09/2011 - ALEX BORTOTO - TP 1900718 - CORRIGIDO A CHAVE DOS REGISTROS 0500 E 0600 -- 23/09/2011 - ALEX BORTOTO - TP 1890433 - ALTERADO OS REGISTROS D010, D100, D200 E D500 E INCLUIDO NA VALIDAÇÃO DO INDICA_ICMS <> '' O INDICA_PIS E O INDICA_COFINS. -- 22/09/2011 - ALEX BORTOTO - TP 1928232 - ALTERADO O INSERT NA TABELA #TEMP_ECF_012347 PARA INCLUIR AS INFORMAÇÕES DE GERAÇÃO DO REGISTRO 0140. -- - REFEITO O SELECT DOS REGISTROS 0140 E C010, POIS NÃO TRAZIA A INFORMAÇÃO DA LOJA QUANDO A MESMA NÃO TEM NOTA DE FATURAMENTO OU ENTRADA -- 22/09/2011 - ALEX BORTOTO - TP 1927973 - INCLUIDO CAMPO PJ_PF_ESTAB, PJ_PF_PART NA TABELA #TEMP_012347. -- - ALTERADO OS REGISTROS C191 E C195, SE O CLIENTE FOR EX E PF LEVA '99999999999' SE FOR EX E PJ LEVA '99999999999999' -- 22/09/2011 - ALEX BORTOTO - TP 1900718 - INCLUIDO O CAMPO TIPO_OPERACAO PARA VERIFICAR SE NO REGISTRO C180, C181 E C185 O TIPO_OPERACAO É IGUAL A V, POIS SÓ DEVE LEVAR INFORMAÇÕES DE VENDA. -- - NA TABELA TEMPORÁRIA #TEMP_012347 ALTERADO O TAMANHO DO CAMPO ST_ICMS PARA 4 CARACTERES. -- 13/09/2011 - ALEX BORTOTO - NOS REGISTROS C180, C181 E C185 CORRIGIDO PARA TRAZER OS CFOPS >= 5 -- 05/09/2011 - ALEX BORTOTO - REFEITO O CAMPO CHAVE DOS BLOCOS "D", "F", "M" E "1" -- - NOS REGISTROS D200, D201 E D205 RETIRADO DO GROUP BY DO CAMPO "NUM_DOC" PARA TRAZER O AGRUPAMENTO POR DATA, ONDE DEVE CONSTAR O DOCUMENTO INICIAL E FINAL POR DIA. -- - NOS REGISTROS D201 E D205 INCLUIDO O CAMPO DATA_DOC NO GROUP BY -- - NOS REGISTROS C180, C181 E C185 INCLUIDO VALIDAÇÃO PARA TRAZER SOMENTE REGISTROS DE VENDA, COMO INFORMADO NO LAYOUT. -- 02/08/2011 - ALEX BORTOTO - NO REGISTRO C380, CORRIGIDO SELECT PARA TRAZER O AGRUPAMENTO POR DATA, ONDE DEVE CONSTAR O DOCUMENTO INICIAL E FINAL POR DIA. -- - NOS REGISTRO C381, C385 E C400, CORRIGIDO GROUP BY, POIS ESTAVA DUPLICANDO A INFORMAÇÃO -- 01/09/2011 - ALEX BORTOTO - REFEITO OS CAMPOS CHAVES DOS BLOCOS 0, A E C. -- - NOS REGISTRO C481, C485, C491, C495 INCLIDO WHERE PARA TRAZER SOMENTE CUPONS COM VALOR > 0 -- 29/08/2011 - ALEX BORTOTO - NOS REGISTROS C395 E C396, INCLUIDO VALIDAÇÃO PARA GERAR INFORMAÇÃO SOMENTE DOS REGISTRO QUE TENHAM CFOP QUE INICIEM POR 1, 2 OU 3 -- 28/07/2011 - DEBORAH - INCLUIDO CAMPO SITUACAO_TRIBUTARIA DA TABELA LCF_REDUCAO_IMPOSTO -- 27/06/2011 - ADRIANO RODRIGUES - ALTERAR ## PARA # NAS TABELAS TEMPORÁRIAS -- 02/06/2011 - ADRIANO RODRIGUES - INCLUIR UMA SITUAÇÃO TRIBUTÁRIA FIXA PARA AS NOTAS DE BENEFICIAMENTO -- 27/05/2011 - ADRIANO RODRIGUES - ACERTO NAS ORDENS DOS REGISTROS DO BLOCO C -- 24/05/2011 - ADRIANO RODRIGUES - SEPARAR EM UMA NOVA TABELA OS NUMEROS DE PROCESSOS -- 23/05/2011 - ADRIANO RODRIGUES - CORREÇÃO NA GERAÇÃO DO REGISTRO D500 -- 20/05/2011 - ADRIANO RODRIGUES - TIRAR DO WHERE A CONDIÇÃO COM A DATA_INCLUSAO DA TABELA LCF_TERCEIRO SET NOCOUNT ON DECLARE @ERRNO INTEGER, @ERRMSG VARCHAR(100), @GERA_POR_RATEIO BIT, @DATA_PRIMEIRO_MOV CHAR(8), @SK_MATRIZ_CONTABIL_BALANCETE INT, @SK_MATRIZ INT, @IDCUR_ARQUIVO INT, @ALIQUOTA_INTERNA NUMERIC(10, 2), @PERFIL VARCHAR(30), @VERSAO_PVA VARCHAR(20) /*#134#*/, @UFAUX CHAR(2), @INCLUIRORIGEMITEM BIT, @SPED_FISCAL_TIPO_OPERACAO INT, @COD_ESTABELECIMENTO_CUR VARCHAR(25), @CODIGOMATRIZ CHAR(6), @BLOCO VARCHAR(8), @REGISTRO VARCHAR(10), @DATA_INI DATETIME, @DATA_FIM DATETIME, @PASTA VARCHAR(250), @ARQUIVO VARCHAR(250), @PADRAO VARCHAR(20), @GERAEXCEL BIT, @PASTAEXCEL VARCHAR(250), @CODIGOMATRIZ_ANT CHAR(6), @DATA_INI_ANT DATETIME, @DATA_FIM_ANT DATETIME, @SOMA_TOTAL_BRUTO NUMERIC(19,2), @SOMA_TOTAL NUMERIC(19,2), --#55# @VERSAO_LAYOUT VARCHAR(3), @REGIME_CUMULATIVO CHAR(1), @DISPENSADO_ECD BIT /*#226#*/, @ID_VISAO_CONTABIL INT /*#234#*/, @REC_TOTAL_BLOCO_A NUMERIC(19,2), /*#255#*/ @REC_NRB_BLOCO_A NUMERIC(19,2), /*#255#*/ @REC_TOTAL_BLOCO_C NUMERIC(19,2), /*#255#*/ @REC_NRB_BLOCO_C NUMERIC(19,2), /*#255#*/ @REC_TOTAL_BLOCO_D NUMERIC(19,2), /*#255#*/ @REC_NRB_BLOCO_D NUMERIC(19,2), /*#255#*/ @REC_TOTAL_BLOCO_F NUMERIC(19,2), /*#255#*/ @REC_NRB_BLOCO_F NUMERIC(19,2), /*#255#*/ @REC_TOTAL_PERIODO NUMERIC(19,2), /*#255#*/ @REC_TOTAL_NRB_PERIODO NUMERIC(19,2), /*#255#*/ @INDESCRITURACAO TINYINT, /*#255#*/ @NATUREZA_RETENCAO CHAR(2), /*#259#*/ @INDICADOR_DECLARANTE CHAR(1); /*#259#*/ SELECT @CODIGOMATRIZ_ANT = ''; SELECT @DATA_INI_ANT = CAST('' AS DATETIME); SELECT @DATA_FIM_ANT = CAST('' AS DATETIME); --------------------------------------------------------------------------------------------------------------------------------------------- -- VERIFICAR SE EXISTE A TABELA TEMPORÁRIA NO BANCO DE DADOS PARA CONTINUAR IF (SELECT OBJECT_ID('TEMPDB..#EFD_CONTRIBUICOES')) IS NULL BEGIN --IF ( SELECT OBJECT_ID('TEMPDB..##EFD_CONTRIBUICOES') ) IS NULL --BEGIN SELECT @ERRNO = 30002, @ERRMSG = 'TABELA TEMPORÁRIA NÃO ENCONTRADA' GOTO ERROR --END --ELSE --BEGIN -- DECLARE CUR_SPED_PIS_COFINS CURSOR LOCAL FAST_FORWARD FOR -- SELECT CODIGO, BLOCO = RIGHT(REPLICATE('0', 8) + RTRIM(LTRIM(BLOCO)), 8), A.REGISTRO, DATAINICIAL, DATAFINAL, PASTATEXTO, ARQUIVOTEXTO, CODIFICACAO, -- GERAEXCEL, PASTAEXCEL -- FROM ##EFD_CONTRIBUICOES A -- ORDER BY A.CODIGO, A.ORDEM --END END ELSE BEGIN DECLARE CUR_SPED_PIS_COFINS CURSOR LOCAL FAST_FORWARD FOR SELECT CODIGO, BLOCO = RIGHT(REPLICATE('0', 8) + RTRIM(LTRIM(BLOCO)), 8), A.REGISTRO, DATAINICIAL, DATAFINAL, PASTATEXTO, ARQUIVOTEXTO, CODIFICACAO, GERAEXCEL, PASTAEXCEL, SK_MATRIZ_CONTABIL FROM #EFD_CONTRIBUICOES A --#25# JOIN ( SELECT MAX(SK_MATRIZ_CONTABIL) SK_MATRIZ_CONTABIL, BK_COD_MATRIZ_CONTABIL FROM W_LCF_MATRIZ_CONTABIL WHERE LX_ORIGEM_TERCEIRO = 1 GROUP BY BK_COD_MATRIZ_CONTABIL ) b ON A.CODIGO = B.BK_COD_MATRIZ_CONTABIL ORDER BY A.CODIGO, A.ORDEM END --CRIA TABELA TEMPORÁRIA PARA GRAVAR AS CONTAS UTILIZADAS CREATE TABLE #LCF_CONTA ( ID_CONTA INT, BK_CONTA VARCHAR(20) ) --------------------------------------------------------------------------------------------------------------------------------------------- -- CURSOR DE RETORNO IF (SELECT OBJECT_ID('TEMPDB..#CUR_ARQUIVO')) IS NOT NULL DROP TABLE #CUR_ARQUIVO CREATE TABLE #CUR_ARQUIVO ( ID INT IDENTITY(1, 1), PASTA VARCHAR(250) COLLATE DATABASE_DEFAULT, ARQUIVO VARCHAR(250) COLLATE DATABASE_DEFAULT, CODIFICACAO VARCHAR(20) COLLATE DATABASE_DEFAULT, GERAEXCEL BIT, PASTAEXCEL VARCHAR(250) COLLATE DATABASE_DEFAULT ) IF (SELECT OBJECT_ID('TEMPDB..#CUR_LINHA')) IS NOT NULL DROP TABLE #CUR_LINHA CREATE TABLE #CUR_LINHA ( IDCUR_ARQUIVO INT, REGISTRO VARCHAR(10) COLLATE DATABASE_DEFAULT, CHAVE VARCHAR(250) COLLATE DATABASE_DEFAULT, LINHA VARCHAR(4000) COLLATE DATABASE_DEFAULT ) --------------------------------------------------------------------------------------------------------------------------------------------- -- ABERTURA DO CURSOR COM OS REGISTROS SELECIONADOS OPEN CUR_SPED_PIS_COFINS FETCH NEXT FROM CUR_SPED_PIS_COFINS INTO @CODIGOMATRIZ, @BLOCO, @REGISTRO, @DATA_INI, @DATA_FIM, @PASTA, @ARQUIVO, @PADRAO, @GERAEXCEL, @PASTAEXCEL, @SK_MATRIZ WHILE @@FETCH_STATUS = 0 BEGIN --------------------------------------------------------------------------------------------------------------------------------------------- SELECT @IDCUR_ARQUIVO = A.ID FROM #CUR_ARQUIVO AS A WHERE ISNULL(A.PASTA, '') = ISNULL(@PASTA, '') AND ISNULL(A.ARQUIVO, '') = ISNULL(@ARQUIVO, '') AND ISNULL(A.CODIFICACAO, '') = ISNULL(@PADRAO, '') AND ISNULL(A.GERAEXCEL, 0) = ISNULL(@GERAEXCEL, 0) AND ISNULL(A.PASTAEXCEL, '') = ISNULL(@PASTAEXCEL, '') --#25# --SELECT TOP 1 = SK_MATRIZ_CONTABIL --FROM W_LCF_MATRIZ_CONTABIL --WHERE BK_COD_MATRIZ_CONTABIL = @CODIGOMATRIZ -- AND -- --DATA_INCLUSAO <= @DATA_FIM AND -- LX_ORIGEM_TERCEIRO = 1 --ORDER BY DATA_INCLUSAO DESC --------------------------------------------------------------------------------------------------------------------------------------------- -- CURSOR BUSCA A ALIQUOTA INTERNA SELECT @UFAUX = C.UF FROM LCF_TERCEIRO AS A INNER JOIN LCF_LX_MUNICIPIO AS B ON A.ID_MUNICIPIO = B.ID_MUNICIPIO INNER JOIN LCF_LX_UF AS C ON B.ID_UF = C.ID_UF WHERE A.SK_TERCEIRO = @SK_MATRIZ SELECT @ALIQUOTA_INTERNA = ICMS_SAIDA FROM UNIDADES_FEDERACAO_ICMS WHERE UF = @UFAUX AND UF_DESTINO = @UFAUX SELECT @INCLUIRORIGEMITEM = CASE WHEN ISNULL(VALOR_ATUAL, '') = '.T.' THEN 1 ELSE 0 END FROM PARAMETROS WHERE PARAMETRO = 'SPED_INCLUIR_ORIGEM_ITEM' --------------------------------------------------------------------------------------------------------------------------------------------- --#134# - BUSCO VERSÂo DO PVA UTILIZADO SET @VERSAO_PVA = CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMBVERSAO_PVA', @DATA_INI), '2.08'))) = '' THEN '2.08' ELSE RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMBVERSAO_PVA', @DATA_INI), '2.08'))) END /*#226#*/ SELECT @DISPENSADO_ECD = RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CHK_DISPENSADO_ECD', @DATA_INI), 0))); /*#234#*/ SET @ID_VISAO_CONTABIL = CASE WHEN ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TVVISAOCONTABIL', @DATA_INI), 0) = '...' THEN 0 ELSE ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TVVISAOCONTABIL', @DATA_INI), 0) END /*#259#*/ SET @NATUREZA_RETENCAO = ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_NATUREZA_RETENCAO', @DATA_INI), ''); SET @INDICADOR_DECLARANTE = ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_INDICADOR_DECLARANTE', @DATA_INI), ''); /*#259#*/ --------------------------------------------------------------------------------------------------------------------------------------------- -- INCLUIR OS ARQUIVOS VINDOS DA TELA PARA SER GERADO IF NOT EXISTS(SELECT 1 FROM #CUR_ARQUIVO AS A WHERE ISNULL(A.PASTA, '') = ISNULL(@PASTA, '') AND ISNULL(A.ARQUIVO, '') = ISNULL(@ARQUIVO, '') AND ISNULL(A.CODIFICACAO, '') = ISNULL(@PADRAO, '') AND ISNULL(A.GERAEXCEL, 0) = ISNULL(@GERAEXCEL, 0) AND ISNULL(A.PASTAEXCEL, '') = ISNULL(@PASTAEXCEL, '')) BEGIN INSERT INTO #CUR_ARQUIVO (PASTA, ARQUIVO, CODIFICACAO, GERAEXCEL, PASTAEXCEL) VALUES ( @PASTA, @ARQUIVO, @PADRAO, @GERAEXCEL, @PASTAEXCEL ) SELECT @IDCUR_ARQUIVO = @@IDENTITY END ELSE BEGIN SELECT @IDCUR_ARQUIVO = A.ID FROM #CUR_ARQUIVO AS A WHERE ISNULL(A.PASTA, '') = ISNULL(@PASTA, '') AND ISNULL(A.ARQUIVO, '') = ISNULL(@ARQUIVO, '') AND ISNULL(A.CODIFICACAO, '') = ISNULL(@PADRAO, '') AND ISNULL(A.GERAEXCEL, 0) = ISNULL(@GERAEXCEL, 0) AND ISNULL(A.PASTAEXCEL, '') = ISNULL(@PASTAEXCEL, '') END --------------------------------------------------------------------------------------------------------------------------------------- -- MONTAGEM DOS TEMPORÁRIOS IF @CODIGOMATRIZ_ANT <> @CODIGOMATRIZ OR @DATA_INI_ANT <> @DATA_INI OR @DATA_FIM_ANT <> @DATA_FIM BEGIN IF (SELECT OBJECT_ID('TEMPDB..#TEMP_NOTAS_APROPRIACAO_PIS_COFINS')) IS NOT NULL EXEC('DROP TABLE #TEMP_NOTAS_APROPRIACAO_PIS_COFINS') CREATE TABLE #TEMP_NOTAS_APROPRIACAO_PIS_COFINS ( ENTRADA_SAIDA CHAR(1) COLLATE DATABASE_DEFAULT, ID_NOTA INT ) INSERT INTO #TEMP_NOTAS_APROPRIACAO_PIS_COFINS (ENTRADA_SAIDA, ID_NOTA) SELECT DISTINCT ENTRADA_SAIDA, ID_NOTA FROM (--ENTRADA SELECT DISTINCT 'E' AS ENTRADA_SAIDA, A.ID_NOTA FROM LCF_NOTA_ENTRADA A JOIN (SELECT DISTINCT B.ID_NOTA FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO IN /*#72#*/ (5, 6, 17, 18) /*( 5, 6 )*/ AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM AND B.VALOR_IMPOSTO > 0) AS ENTRADA ON A.ID_NOTA = ENTRADA.ID_NOTA --SAIDA UNION ALL SELECT DISTINCT 'S' AS ENTRADA_SAIDA, A.ID_NOTA FROM LCF_NOTA_SAIDA A JOIN (SELECT DISTINCT B.ID_NOTA FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_ITEM AS B ON A.ID_NOTA = B.ID_NOTA INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS D ON D.ID_NOTA = B.ID_NOTA -- #258# AND D.ID_ITEM=B.ID_ITEM WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM AND ( B.CFOP IN ( '5101', '5102', '5103', '5104', '5105', '5106', '5109', '5110', '5111', '5112', '5113', '5114', '5115', '5116', '5117', '5118', '5119', '5120', '5122', '5123', '5124', '5125', '5201', '5202', '5205', '5206', '5207', '5210', '5251', '5252', '5253', '5254', '5255', '5256', '5257', '5258', '5301', '5302', '5303', '5304', '5305', '5306', '5307', '5351', '5352', '5353', '5354', '5355', '5356', '5357', '5360', '5401', '5402', '5403', '5405', '5406', '5410', '5411', '5413', -- '5412', #37# '5651', '5652', '5653', '5654', '5655', '5656', '5660', '5661', '5662', '5922', '5933', '6101','6102', --#117# '6103', '6104', '6105', '6106', '6107', '6108', '6109', '6110', '6111', '6112', '6113', '6114', '6115', '6116', '6117', '6118', '6119', '6120', '6122', '6123', '6124', '6125', '6201', '6202', '6205', '6206', '6207', '6210', '6251', '6252', '6253', '6254', '6255', '6256', '6257', '6258', '6301', '6302', '6303', '6304', '6305', '6306', '6307', '6351', '6352', '6353', '6354', '6355', '6356', '6357', '6401', '6402', '6403', '6404', '6410', '6411', --'6412', #37# '5932', '5556', '6556', '5551', --#37# '6551', '7551', '6413', '6651', '6652', '6653', '6654', '6655', '6656', '6660', '6661', '6662', '6932', '6922', '6933', '7101', '7102', --#117# '7105', '7106', '7127', '7201', '7202', '7205', '7206', '7207', '7210', '7211', '7251', '7301', '7358', '7501', '7651', '7654' /*'5910', '6910'*/ ) /*#228#*//*#260#*/ OR (B.CFOP = '5927' AND D.VALOR_IMPOSTO > 0) -- #258# OR B.CFOP > '9000' ) ) AS SAIDA ON A.ID_NOTA = SAIDA.ID_NOTA LEFT JOIN DBO.LCF_SERIE AS S /*#212#*/ ON A.SK_SERIE = S.SK_SERIE /*#212#*/ LEFT JOIN DBO.LCF_LX_SITUACAO_NOTA AS L /*#212#*/ ON L.ID_LX_SITUACAO_NOTA = A.ID_LX_SITUACAO_NOTA /*#212#*/ WHERE NOT (S.LX_MODELO_SAIDA = '55' AND L.COD_SITUACAO_SPED IN ('02', '03', '04', '05')) /*#212#*/ AND NOT (S.LX_MODELO_SAIDA = '65' AND L.COD_SITUACAO_SPED IN ('02', '03', '04', '05')) /*#212#*/ ) AS A CREATE INDEX XIE1#FILIAIS_TEMP ON #TEMP_NOTAS_APROPRIACAO_PIS_COFINS(ID_NOTA, ENTRADA_SAIDA) WITH FILLFACTOR = 100 ON [PRIMARY] /*#158# - CURSOR DE DOCUMENTOS FISCAIS SAT*/ IF (SELECT OBJECT_ID('TEMPDB..#TEMP_012347_SAT')) IS NOT NULL DROP TABLE #TEMP_012347_SAT CREATE TABLE #TEMP_012347_SAT ( SK_MATRIZ_FISCAL INT, NUMERO_SERIE NUMERIC(9), NUMERO_CFE NUMERIC(6), LX_MODELO_SAIDA VARCHAR(3) COLLATE DATABASE_DEFAULT, DATA_EMISSAO DATETIME, COD_ITEM VARCHAR(60) COLLATE DATABASE_DEFAULT, VALOR_ITEM NUMERIC(9,2), CFOP CHAR(4) COLLATE DATABASE_DEFAULT, ID_IMPOSTO INT, SITUACAO_TRIBUTARIA CHAR(5) COLLATE DATABASE_DEFAULT, BASE_IMPOSTO NUMERIC(9,2), TAXA_IMPOSTO NUMERIC(8,5), VALOR_IMPOSTO NUMERIC(9,2), CNPJ_ESTAB VARCHAR(14) COLLATE DATABASE_DEFAULT, -- CNPJ #159# VALOR_DESCONTO NUMERIC(9,2), /*#164#*/ VALOR_CANCELADO NUMERIC(9,2), /*#174#*/ DESCRICAO_ITEM VARCHAR(80) COLLATE DATABASE_DEFAULT,/*#169#*/ COD_NCM VARCHAR(10) COLLATE DATABASE_DEFAULT,/*#169#*/ UNIDADE VARCHAR(5) COLLATE DATABASE_DEFAULT,/*#169#*/ DESC_UNIDADE VARCHAR(40) COLLATE DATABASE_DEFAULT,/*#172#*/ -- DESC_UNIDADE COD_GENERO_SPED CHAR(2) COLLATE DATABASE_DEFAULT,/*#169#*/ TIPO_ITEM CHAR(2) COLLATE DATABASE_DEFAULT,/*#169#*/ EX_NCM VARCHAR(10) COLLATE DATABASE_DEFAULT,/*#169#*/ COD_SERVICO_TIPO_SPED VARCHAR(5) COLLATE DATABASE_DEFAULT,/*#169#*/ ALIQ_ITERNA NUMERIC(8, 5), /*#169#*/ NATUREZA_RECEITA CHAR(3) COLLATE DATABASE_DEFAULT, /*#178#*/ CONTA_CONTABIL VARCHAR(20) COLLATE DATABASE_DEFAULT, /*#223#*/ DESC_CONTA_CONTABIL VARCHAR(60) COLLATE DATABASE_DEFAULT, /*#223#*//*#270#*/ COD_NATUREZA_CONTA_CONTABIL VARCHAR(2) COLLATE DATABASE_DEFAULT, /*#223#*/ TIPO_CONTA_CONTABIL CHAR(1) COLLATE DATABASE_DEFAULT, /*#223#*/ NIVEL_CONTA_CONTABIL VARCHAR(5) COLLATE DATABASE_DEFAULT, /*#223#*/ COD_PLANO_CONTA_REF VARCHAR(60) COLLATE DATABASE_DEFAULT, /*#223#*/ CNPJ_ESTAB_CONTA_CONTABIL VARCHAR(14) COLLATE DATABASE_DEFAULT, /*#223#*/ VALOR_ENCARGOS NUMERIC(9,2), ITEM_IMPRESSAO SMALLINT, /*#239#*/ SUB_ITEM_TAMANHO SMALLINT /*#239#*/ /*#236#*/, BASE_EXCLUSAO NUMERIC(16, 2) /*#241#*/, TAXA_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_ICMS_EXCLUSAO NUMERIC(16, 2), /*#241#*/ ID_CFE INT /*#281#*/ ); /*#158# - INSERT DE DOCUMENTOS FISCAIS - SAT*/ INSERT #TEMP_012347_SAT ( SK_MATRIZ_FISCAL, --#224#CNPJ_ESTAB, --#159# NUMERO_SERIE, NUMERO_CFE, LX_MODELO_SAIDA, DATA_EMISSAO, COD_ITEM, VALOR_ITEM, CFOP, ID_IMPOSTO, SITUACAO_TRIBUTARIA, BASE_IMPOSTO, TAXA_IMPOSTO, CNPJ_ESTAB, /*#224#*/ VALOR_IMPOSTO, VALOR_DESCONTO, /*#164#*/ VALOR_CANCELADO, /*#174#*/ DESCRICAO_ITEM,/*#169#*/ COD_NCM,/*#169#*/ UNIDADE,/*#169#*/ DESC_UNIDADE, /*#172#*/ TIPO_ITEM,/*#169#*/ EX_NCM,/*#169#*/ COD_GENERO_SPED,/*#169#*/ COD_SERVICO_TIPO_SPED,/*#169#*/ ALIQ_ITERNA,/*#169#*/ NATUREZA_RECEITA, /*#178#*/ CONTA_CONTABIL, /*#223#*/ DESC_CONTA_CONTABIL, /*#223#*/ COD_NATUREZA_CONTA_CONTABIL, /*#223#*/ TIPO_CONTA_CONTABIL, /*#223#*/ NIVEL_CONTA_CONTABIL, /*#223#*/ COD_PLANO_CONTA_REF, /*#223#*/ CNPJ_ESTAB_CONTA_CONTABIL, /*#223#*/ VALOR_ENCARGOS, /*#236#*/ ITEM_IMPRESSAO, /*#239*/ SUB_ITEM_TAMANHO /*#239*/, BASE_EXCLUSAO /*#241#*/, TAXA_EXCLUSAO /*#241#*/, VALOR_EXCLUSAO /*#241#*/, VALOR_ICMS_EXCLUSAO, /*#241#*/ ID_CFE /*#281#*/) SELECT CFE.SK_MATRIZ_FISCAL, --#224#FILIAL.CNPJ, --#159# EQUIPAMENTO.NUMERO_SERIE, CFE.NUMERO_CFE, SERIE.LX_MODELO_SAIDA, DATA_EMISSAO = CAST(FLOOR(CAST(CFE.DATA_EMISSAO AS FLOAT)) AS DATETIME), ISNULL(PRODUTO.BK_COD_ITEM, PRODUTO.COD_ITEM_INVENTARIO), --#174#SUM(CASE WHEN CFE.NOTA_CANCELADA = 1 THEN 0 ELSE ITEM.VALOR_ITEM END) AS VALOR_ITEM, /*#165#*/ /*#167#*/ --#225#SUM(ITEM.VALOR_ITEM) AS VALOR_ITEM, /*#165#*/ /*#167#*/ ITEM.VALOR_ITEM, /*#225#*/ ITEM.CFOP, IMPOSTO.ID_IMPOSTO, IMPOSTO.SITUACAO_TRIBUTARIA, SUM(CASE WHEN CFE.NOTA_CANCELADA = 1 THEN 0 ELSE IMPOSTO.BASE_IMPOSTO END) AS BASE_IMPOSTO, /*#165#*/ /*#167#*/ IMPOSTO.TAXA_IMPOSTO, FILIAL.CNPJ, /*#224#*/ SUM(CASE WHEN CFE.NOTA_CANCELADA = 1 THEN 0 ELSE IMPOSTO.VALOR_IMPOSTO END) AS VALOR_IMPOSTO, /*#165#*/ /*#167#*/ --#237#SUM(CASE WHEN CFE.NOTA_CANCELADA = 1 THEN 0 ELSE ITEM.DESCONTO_ITEM END) AS DESCONTO_ITEM, /*#164#*/ /*#165#*/ /*#167#*/ /*237#*/ SUM(CASE WHEN CFE.NOTA_CANCELADA = 1 THEN 0 ELSE ITEM.VALOR_DESCONTOS END) AS DESCONTO_ITEM, /*#164#*/ /*#165#*/ /*#167#*/ SUM(CASE WHEN CFE.NOTA_CANCELADA = 1 AND IMPOSTO.ID_IMPOSTO = 5 THEN ITEM.VALOR_ITEM ELSE 0 END) AS CANCELAMENTO_ITEM, /*#174#*/ RTRIM(LTRIM(ISNULL(PRODUTO.DESC_ITEM,''))), RTRIM(LTRIM(ISNULL(LEFT(NCM.COD_NCM, 8),''))), /*#215#*/ RTRIM(LTRIM(ISNULL(UNIDADE.UNIDADE,''))), RTRIM(LTRIM(ISNULL(UNIDADE.DESC_UNIDADE,''))), /*#172#*/ RTRIM(LTRIM(ISNULL(ITEM_TIPO.COD_TIPO_SPED,''))), --CASE WHEN ISNULL(ICMS.EXCECAO_CLASSIF_FISCAL,'') = '' THEN NULL ELSE ICMS.EXCECAO_CLASSIF_FISCAL END AS EX_NCM, CASE WHEN LEN(NCM.COD_NCM) = 10 THEN RIGHT(NCM.COD_NCM, 2) ELSE CAST('' AS CHAR(2)) END AS EX_NCM, /*#246#*/ RTRIM(LTRIM(ISNULL(GENERO.COD_GENERO_SPED,''))), RTRIM(LTRIM(ISNULL(SERVICO.COD_SERVICO_TIPO_SPED,''))), CASE WHEN Q.ICMS_ENTRADA = 0 THEN Q.ICMS_SAIDA ELSE Q.ICMS_ENTRADA END ALIQ_ITERNA, IMPOSTO.NATUREZA_RECEITA, /*#178#*/ RTRIM(LTRIM(ISNULL(AA.BK_CLASSIFICACAO, ''))), /*#223#*/ AA.DESC_VISAO_CLASSIF, /*#223#*/ AA.COD_NATUREZA_CONTA, /*#223#*/ CASE /*#223#*/ WHEN AA.INDICA_SINTETICA = 1 THEN 'S' /*#223#*/ ELSE 'A' /*#223#*/ END, /*#223#*/ AB.NIVEL_CONTA, /*#223#*/ '', /*#223#*/ '', /*#223#*/ SUM(CASE WHEN CFE.NOTA_CANCELADA = 1 THEN 0 ELSE ITEM.VALOR_ENCARGOS END) AS VALOR_ENCARGOS, /*#236#*/ ITEM.ITEM_IMPRESSAO, /*#239#*/ ITEM.SUB_ITEM_TAMANHO /*#239#*/, BASE_EXCLUSAO = ISNULL(IMPOSTO.BASE_IMPOSTO_EXCLUSAO, 0) /*#241#*/, TAXA_EXCLUSAO = ISNULL(IMPOSTO.TAXA_IMPOSTO_EXCLUSAO, 0) /*#241#*/, VALOR_EXCLUSAO = ISNULL(IMPOSTO.VALOR_IMPOSTO_EXCLUSAO, 0) /*#241#*/, VALOR_ICMS_EXCLUSAO = ISNULL(IMPOSTO.VALOR_ICMS_EXCLUSAO, 0), /*#241#*/ CFE.ID_CFE /*#281#*/ FROM LCF_CFE CFE (NOLOCK) INNER JOIN LCF_CFE_ITEM ITEM (NOLOCK) ON CFE.ID_CFE = ITEM.ID_CFE INNER JOIN LCF_ITEM PRODUTO (NOLOCK) ON PRODUTO.SK_ITEM = ITEM.SK_ITEM INNER JOIN LCF_CFE_IMPOSTO IMPOSTO (NOLOCK) ON IMPOSTO.ID_CFE_ITEM = ITEM.ID_CFE_ITEM AND ITEM.ID_CFE=IMPOSTO.ID_CFE AND ITEM.ID_LOJA_CF_SAT=IMPOSTO.ID_LOJA_CF_SAT --#282# LEFT JOIN LCF_TERCEIRO TERCEIRO (NOLOCK) ON TERCEIRO.SK_TERCEIRO = CFE.SK_TERCEIRO LEFT JOIN LCF_TERCEIRO AS FILIAL (NOLOCK) ON CFE.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO /*#169#*/ --LEFT JOIN DBO.FX_LCF_TERCEIRO_LOG(NULL, '20190228') AS FILIAL_LOG ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO /*#169#*/ /*#246#*/ --LEFT JOIN LCF_LX_MUNICIPIO AS E ON ISNULL(FILIAL_LOG.ID_MUNICIPIO, FILIAL.ID_MUNICIPIO) = E.ID_MUNICIPIO /*#169#*/ /*#246#*/ --LEFT JOIN LCF_LX_UF AS F ON E.ID_UF = F.ID_UF /*#169#*/ /*#246#*/ INNER JOIN W_LCF_LX_MUNICIPIO (NOLOCK) AS F ON FILIAL.ID_MUNICIPIO = F.ID_MUNICIPIO /*#246#*/ LEFT JOIN UNIDADES_FEDERACAO_ICMS (NOLOCK) AS Q ON F.UF = Q.UF AND F.UF = Q.UF_DESTINO INNER JOIN LCF_SERIE SERIE (NOLOCK) ON CFE.SK_SERIE = SERIE.SK_SERIE INNER JOIN LCF_LX_SITUACAO_NOTA SITUACAO (NOLOCK) ON SITUACAO.ID_LX_SITUACAO_NOTA = CFE.ID_LX_SITUACAO_NOTA INNER JOIN LCF_CFE_EQUIPAMENTO EQUIPAMENTO (NOLOCK) ON EQUIPAMENTO.ID_CFE_EQUIPAMENTO = CFE.ID_CFE_EQUIPAMENTO LEFT JOIN LCF_LX_NCM NCM (NOLOCK) ON PRODUTO.ID_NCM = NCM.ID_NCM /*#169#*/ LEFT JOIN LCF_UNIDADE UNIDADE (NOLOCK) ON PRODUTO.ID_UNIDADE = UNIDADE.ID_UNIDADE /*#169#*/ LEFT JOIN LCF_LX_ITEM_TIPO ITEM_TIPO (NOLOCK) ON PRODUTO.ID_TIPO_ITEM = ITEM_TIPO.ID_TIPO_ITEM /*#169#*/ LEFT JOIN LCF_LX_ITEM_GENERO GENERO (NOLOCK) ON GENERO.ID_GENERO_ITEM = PRODUTO.ID_GENERO_ITEM /*#169#*/ LEFT JOIN LCF_LX_TIPO_SERVICO SERVICO (NOLOCK) ON SERVICO.ID_SERVICO_TIPO = PRODUTO.ID_SERVICO_TIPO /*#169#*/ /* LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, SITUACAO_TRIBUTARIA = ISNULL(RTRIM(LTRIM(I.TRIBUT_ORIGEM)) + RTRIM(LTRIM(I.TRIBUT_ICMS)), B.SITUACAO_TRIBUTARIA), B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_ICMS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_ITEM AS I ON A.ID_NOTA = I.ID_NOTA INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON I.ID_NOTA = B.ID_NOTA AND I.ID_ITEM = B.ID_ITEM WHERE B.ID_IMPOSTO = 1 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, I.TRIBUT_ORIGEM, I.TRIBUT_ICMS, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS ICMS /*#169#*/ ON ITEM.ID_CFE = ICMS.ID_NOTA AND ITEM.ID_CFE_ITEM = ICMS.ID_ITEM */ /*#223#*/ LEFT JOIN LCF_CONTA AS Y (NOLOCK) ON ITEM.ID_CONTA = Y.ID_CONTA LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL /*#234#*/ LEFT JOIN LCF_VISAO_CLASSIF AS AA (NOLOCK) ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB (NOLOCK) ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND CFE.DATA_EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY CFE.SK_MATRIZ_FISCAL, FILIAL.CNPJ, --#159# EQUIPAMENTO.NUMERO_SERIE, CFE.NUMERO_CFE, SERIE.LX_MODELO_SAIDA, CFE.DATA_EMISSAO, ISNULL(PRODUTO.BK_COD_ITEM, PRODUTO.COD_ITEM_INVENTARIO), ITEM.CFOP, ITEM.VALOR_ITEM, /*#225#*/ IMPOSTO.ID_IMPOSTO, IMPOSTO.SITUACAO_TRIBUTARIA, IMPOSTO.TAXA_IMPOSTO, PRODUTO.DESC_ITEM, /*#169#*/ NCM.COD_NCM, /*#169#*/ UNIDADE.UNIDADE, /*#169#*/ UNIDADE.DESC_UNIDADE, /*#172#*/ GENERO.COD_GENERO_SPED, /*#169#*/ ITEM_TIPO.COD_TIPO_SPED, /*#169#*/ SERVICO.COD_SERVICO_TIPO_SPED, /*#169#*/ --ICMS.EXCECAO_CLASSIF_FISCAL, /*#169#*/ CASE WHEN LEN(NCM.COD_NCM) = 10 THEN RIGHT(NCM.COD_NCM, 2) ELSE CAST('' AS CHAR(2)) END, /*#246#*/ Q.ICMS_SAIDA, /*#169#*/ Q.ICMS_ENTRADA, /*#169#*/ IMPOSTO.NATUREZA_RECEITA, /*#178#*/ RTRIM(LTRIM(ISNULL(AA.BK_CLASSIFICACAO, ''))), /*#223#*/ AA.DESC_VISAO_CLASSIF, /*#223#*/ AA.COD_NATUREZA_CONTA, /*#223#*/ CASE /*#223#*/ WHEN AA.INDICA_SINTETICA = 1 THEN 'S' /*#223#*/ ELSE 'A' /*#223#*/ END, /*#223#*/ AB.NIVEL_CONTA, /*#223#*/ ITEM.ITEM_IMPRESSAO, /*#239#*/ ITEM.SUB_ITEM_TAMANHO /*#239#*/, ISNULL(IMPOSTO.BASE_IMPOSTO_EXCLUSAO, 0) /*#241#*/, ISNULL(IMPOSTO.TAXA_IMPOSTO_EXCLUSAO, 0) /*#241#*/, ISNULL(IMPOSTO.VALOR_IMPOSTO_EXCLUSAO, 0) /*#241#*/, ISNULL(IMPOSTO.VALOR_ICMS_EXCLUSAO, 0), CFE.ID_CFE; /*#281#*/ ----------------------------------------------------------------------------------------------------- /*#171#*/ IF (SELECT OBJECT_ID('TEMPDB..#FX_LCF_TERCEIRO_LOG')) IS NOT NULL BEGIN DROP TABLE #FX_LCF_TERCEIRO_LOG END SELECT * INTO #FX_LCF_TERCEIRO_LOG --FROM DBO.FX_LCF_TERCEIRO_LOG (NULL, @DATA_FIM) -- #268# FROM DBO.FX_LCF_TERCEIRO_LOG (NULL, @DATA_FIM,@DATA_INI) --#268# CREATE INDEX #FX_LCF_TERCEIRO_LOG ON #FX_LCF_TERCEIRO_LOG (SK_TERCEIRO) INCLUDE (RAZAO_SOCIAL, IE, IM, ID_MUNICIPIO, ENDERECO, NUMERO, COMPLEMENTO, BAIRRO) IF (SELECT OBJECT_ID('TEMPDB..#TEMP_012347')) IS NOT NULL DROP TABLE #TEMP_012347 CREATE TABLE #TEMP_012347 ( SK_MATRIZ_FISCAL INT,-- SK_MATRIZ_FISCAL (CHAVE) ID_NOTA INT,-- ID_NOTA (CHAVE) NOTA_CANCELADA BIT,-- NOTA_CANCELADA (CHAVE) ENTRADA_SAIDA CHAR(1), NOTA_COMPLEMENTAR BIT,-- NOTA_COMPLEMENTAR LX_MODELO VARCHAR(3) COLLATE DATABASE_DEFAULT,-- LX_MODELO_ENTRADA / LX_MODELO_SAIDA INDICA_DOCUMENTO_NAO_FISCAL BIT,-- INDICA_DOCUMENTO_NAO_FISCAL SK_ESTAB INT,-- SK_TERCEIRO COD_ESTAB VARCHAR(25) COLLATE DATABASE_DEFAULT,-- BK_COD_TERCEIRO NOME_ESTAB VARCHAR(90) COLLATE DATABASE_DEFAULT,-- RAZAO_SOCIAL CNPJ_ESTAB VARCHAR(14) COLLATE DATABASE_DEFAULT,-- CNPJ UF_ESTAB CHAR(2) COLLATE DATABASE_DEFAULT,-- UF IE_ESTAB VARCHAR(19) COLLATE DATABASE_DEFAULT,-- IE COD_MUN_ESTAB VARCHAR(10) COLLATE DATABASE_DEFAULT,-- COD_MUNICIPIO_IBGE IM_ESTAB VARCHAR(14) COLLATE DATABASE_DEFAULT,-- IM SUFRAMA_ESTAB CHAR(9) COLLATE DATABASE_DEFAULT,-- COD_SUFRAMA PJ_PF_ESTAB BIT,-- PJ_PF INDICA_APURACAO_IPI BIT,-- INDICA_IPI_DECENDIAL SK_PART INT,-- SK_TERCEIRO COD_PART VARCHAR(25) COLLATE DATABASE_DEFAULT,-- BK_COD_TERCEIRO NOME_PART VARCHAR(90) COLLATE DATABASE_DEFAULT,-- RAZAO_SOCIAL UF_PART CHAR(2) COLLATE DATABASE_DEFAULT,-- UF COD_PAIS_PART VARCHAR(5) COLLATE DATABASE_DEFAULT,-- COD_PAIS_BC CNPJ_PART VARCHAR(14) COLLATE DATABASE_DEFAULT,-- CNPJ CPF_PART VARCHAR(11) COLLATE DATABASE_DEFAULT,-- CPF IE_PART VARCHAR(19) COLLATE DATABASE_DEFAULT,-- IE COD_MUN_PART VARCHAR(10) COLLATE DATABASE_DEFAULT,-- COD_MUNICIPIO_IBGE SUFRAMA_PART CHAR(9) COLLATE DATABASE_DEFAULT,-- COD_SUFRAMA PJ_PF_PART BIT,-- PJ_PF END_PART VARCHAR(90) COLLATE DATABASE_DEFAULT,-- ENDERECO --#53# --NUMERO_PART VARCHAR(6) COLLATE DATABASE_DEFAULT,-- NUMERO NUMERO_PART VARCHAR(10) COLLATE DATABASE_DEFAULT,-- NUMERO COMPLEMENTO_PART VARCHAR(90) COLLATE DATABASE_DEFAULT,-- COMPLEMENTO BAIRRO_PART VARCHAR(25) COLLATE DATABASE_DEFAULT,-- BAIRRO UNIDADE VARCHAR(5) COLLATE DATABASE_DEFAULT,-- UNIDADE DESC_UNIDADE VARCHAR(40) COLLATE DATABASE_DEFAULT,-- DESC_UNIDADE SK_ITEM INT,-- SK_ITEM BK_COD_ITEM VARCHAR(50) COLLATE DATABASE_DEFAULT,-- BK_COD_ITEM COD_ITEM VARCHAR(60) COLLATE DATABASE_DEFAULT,-- '' DESC_ITEM VARCHAR(255) COLLATE DATABASE_DEFAULT,-- DESC_ITEM DESC_COMPL VARCHAR(255) COLLATE DATABASE_DEFAULT,-- #5# DESC_COMPL COD_BARRA VARCHAR(30) COLLATE DATABASE_DEFAULT,-- '' COD_ANT_ITEM VARCHAR(60) COLLATE DATABASE_DEFAULT,-- '' TIPO_ITEM VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_TIPO_SPED COD_NCM VARCHAR(10) COLLATE DATABASE_DEFAULT,-- COD_NCM EX_NCM VARCHAR(5) COLLATE DATABASE_DEFAULT,-- EXCECAO_CLASSIF_FISCAL COD_GENERO VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_GENERO_SPED COD_LST VARCHAR(5) COLLATE DATABASE_DEFAULT,-- COD_SERVICO_TIPO_SPED COD_CLASS VARCHAR(4) COLLATE DATABASE_DEFAULT, /*#180#*/ LX_ORIGEM_ITEM TINYINT,-- LX_ORIGEM_ITEM QTDE_ITEM NUMERIC(19, 5),-- QTDE_ITEM INDICA_MOVIMENTACAO_FISICA BIT,-- INDICA_MOVIMENTACAO_FISICA ALIQ_ICMS_INTERNA NUMERIC(8, 5),-- ICMS_SAIDA OU ICMS_ENTRADA DATA_INCLUSAO_ITEM DATETIME,-- DATA_INCLUSAO COD_NATUREZA VARCHAR(15) COLLATE DATABASE_DEFAULT,-- COD_NATUREZA DESC_NATUREZA VARCHAR(50) COLLATE DATABASE_DEFAULT,-- DESC_NATUREZA COD_CENTRO_CUSTO VARCHAR(15) COLLATE DATABASE_DEFAULT,-- BK_CENTRO_CUSTO DESC_CENTRO_CUSTO VARCHAR(40) COLLATE DATABASE_DEFAULT,-- DESC_CENTRO_CUSTO COD_CONTA_CONTABIL VARCHAR(20) COLLATE DATABASE_DEFAULT,-- BK_CLASSIFICACAO DESC_CONTA_CONTABIL VARCHAR(60) COLLATE DATABASE_DEFAULT,-- DESC_VISAO_CLASSIF #36# /*#270#*/ COD_NATUREZA_CONTA_CONTABIL VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_NATUREZA_CONTA TIPO_CONTA_CONTABIL CHAR(1) COLLATE DATABASE_DEFAULT,-- '' NIVEL_CONTA_CONTABIL VARCHAR(5) COLLATE DATABASE_DEFAULT, -- NIVEL_CONTA COD_PLANO_CONTA_REF VARCHAR(60) COLLATE DATABASE_DEFAULT,-- '' CNPJ_ESTAB_CONTA_CONTABIL VARCHAR(14) COLLATE DATABASE_DEFAULT,-- '' IND_OPER CHAR(1) COLLATE DATABASE_DEFAULT,-- '' IND_EMIT CHAR(1) COLLATE DATABASE_DEFAULT,-- '' IND_FRETE CHAR(1) COLLATE DATABASE_DEFAULT,-- '' COD_SIT CHAR(2) COLLATE DATABASE_DEFAULT,-- '' SERIE VARCHAR(20) COLLATE DATABASE_DEFAULT,-- SERIE_NF_ENTRADA / SERIE_NF SUBSERIE VARCHAR(20) COLLATE DATABASE_DEFAULT,-- '' NUM_DOC VARCHAR(60) COLLATE DATABASE_DEFAULT,-- NF_ENTRADA / NF_SAIDA NUM_DOC_FINAL VARCHAR(60) COLLATE DATABASE_DEFAULT,-- NF_ENTRADA / NF_SAIDA CHAVE_NFE VARCHAR(60) COLLATE DATABASE_DEFAULT,-- CHAVE_NFE DATA_DOC DATETIME,-- RECEBIMENTO / EMISSAO DATA_ENT_SAI DATETIME,-- '' VALOR_ITEM NUMERIC(19, 2),-- VALOR_ITEM #127# VALOR_DOC NUMERIC(19, 2),-- VALOR_CONTABIL VALOR_FRETE NUMERIC(19, 2),-- FRETE VALOR_SEGURO NUMERIC(19, 2),-- SEGURO VALOR_OUTRAS_DESPESAS NUMERIC(19, 2),-- 0 IND_PGTO CHAR(1) COLLATE DATABASE_DEFAULT,-- '' VALOR_DESCONTO NUMERIC(19, 2),-- DESCONTO CFOP VARCHAR(5) COLLATE DATABASE_DEFAULT,-- CFOP INDICA_ICMS BIT,-- 0 COD_CONT_ICMS VARCHAR(2) COLLATE DATABASE_DEFAULT, -- COD_CONTRIBUICAO_SOCIAL_APURADA COD_BC_CREDITO_ICMS VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_BC_CREDITO --ST_ICMS CHAR(3) COLLATE DATABASE_DEFAULT, -- SITUACAO_TRIBUTARIA TIPO_CREDITO_ICMS VARCHAR(10) COLLATE DATABASE_DEFAULT, --#29# ST_ICMS CHAR(6) COLLATE DATABASE_DEFAULT,-- SITUACAO_TRIBUTARIA VALOR_CONTABIL_ICMS NUMERIC(19, 2),-- VALOR_CONTABIL BASE_ICMS NUMERIC(19, 2),-- BASE_IMPOSTO ALIQUOTA_ICMS NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_ICMS NUMERIC(19, 2),-- VALOR_IMPOSTO VALOR_ICMS_ISENTO NUMERIC(19, 2),-- VALOR_ISENTO VALOR_ICMS_OUTROS NUMERIC(19, 2),-- VALOR_OUTROS NATUREZA_RECEITA_ICMS CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA INDICA_ICMS_ST BIT,-- 0 COD_CONT_ICMS_ST VARCHAR(2) COLLATE DATABASE_DEFAULT, -- COD_CONTRIBUICAO_SOCIAL_APURADA COD_BC_CREDITO_ICMS_ST VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_BC_CREDITO TIPO_CREDITO_ICMS_ST VARCHAR(10) COLLATE DATABASE_DEFAULT, --#29# ST_ICMS_ST CHAR(3) COLLATE DATABASE_DEFAULT,-- SITUACAO_TRIBUTARIA VALOR_CONTABIL_ICMS_ST NUMERIC(19, 2),-- VALOR_CONTABIL BASE_ICMS_ST NUMERIC(19, 2),-- BASE_IMPOSTO ALIQUOTA_ICMS_ST NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_ICMS_ST NUMERIC(19, 2),-- VALOR_IMPOSTO VALOR_ICMS_ST_ISENTO NUMERIC(19, 2),-- VALOR_ISENTO VALOR_ICMS_ST_OUTROS NUMERIC(19, 2),-- VALOR_OUTROS NATUREZA_RECEITA_ICMS_ST CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA INDICA_IPI BIT,-- 0 COD_CONT_IPI VARCHAR(2) COLLATE DATABASE_DEFAULT, -- COD_CONTRIBUICAO_SOCIAL_APURADA COD_BC_CREDITO_IPI VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_BC_CREDITO TIPO_CREDITO_IPI VARCHAR(10) COLLATE DATABASE_DEFAULT, --#29# ST_IPI CHAR(3) COLLATE DATABASE_DEFAULT,-- SITUACAO_TRIBUTARIA VALOR_CONTABIL_IPI NUMERIC(19, 2),-- VALOR_CONTABIL BASE_IPI NUMERIC(19, 2),-- BASE_IMPOSTO ALIQUOTA_IPI NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_IPI NUMERIC(19, 2),-- VALOR_IMPOSTO VALOR_IPI_ISENTO NUMERIC(19, 2),-- VALOR_ISENTO VALOR_IPI_OUTROS NUMERIC(19, 2),-- VALOR_OUTROS NATUREZA_RECEITA_IPI CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA INDICA_PIS BIT,-- 0 COD_CONT_PIS VARCHAR(2) COLLATE DATABASE_DEFAULT, -- COD_CONTRIBUICAO_SOCIAL_APURADA COD_BC_CREDITO_PIS VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_BC_CREDITO TIPO_CREDITO_PIS VARCHAR(10) COLLATE DATABASE_DEFAULT, --#29# ST_PIS CHAR(3) COLLATE DATABASE_DEFAULT,-- SITUACAO_TRIBUTARIA VALOR_CONTABIL_PIS NUMERIC(19, 2),-- VALOR_CONTABIL BASE_PIS NUMERIC(19, 2),-- BASE_IMPOSTO ALIQUOTA_PIS NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_PIS NUMERIC(19, 2),-- VALOR_IMPOSTO VALOR_PIS_ISENTO NUMERIC(19, 2),-- VALOR_ISENTO VALOR_PIS_OUTROS NUMERIC(19, 2),-- VALOR_OUTROS NATUREZA_RECEITA_PIS CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA INDICA_COFINS BIT,-- 0 COD_CONT_COFINS VARCHAR(2) COLLATE DATABASE_DEFAULT, -- COD_CONTRIBUICAO_SOCIAL_APURADA COD_BC_CREDITO_COFINS VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_BC_CREDITO TIPO_CREDITO_COFINS VARCHAR(10) COLLATE DATABASE_DEFAULT, --#29# ST_COFINS CHAR(3) COLLATE DATABASE_DEFAULT,-- SITUACAO_TRIBUTARIA VALOR_CONTABIL_COFINS NUMERIC(19, 2),-- VALOR_CONTABIL BASE_COFINS NUMERIC(19, 2),-- BASE_IMPOSTO ALIQUOTA_COFINS NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_COFINS NUMERIC(19, 2),-- VALOR_IMPOSTO VALOR_COFINS_ISENTO NUMERIC(19, 2),-- VALOR_ISENTO VALOR_COFINS_OUTROS NUMERIC(19, 2),-- VALOR_OUTROS NATUREZA_RECEITA_COFINS CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA INDICA_PIS_RET BIT,-- 0 COD_CONT_PIS_RET VARCHAR(2) COLLATE DATABASE_DEFAULT, -- COD_CONTRIBUICAO_SOCIAL_APURADA COD_BC_CREDITO_PIS_RET VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_BC_CREDITO TIPO_CREDITO_PIS_RET VARCHAR(10) COLLATE DATABASE_DEFAULT, --#29# ST_PIS_RET CHAR(3) COLLATE DATABASE_DEFAULT,-- SITUACAO_TRIBUTARIA VALOR_CONTABIL_PIS_RET NUMERIC(19, 2),-- VALOR_CONTABIL BASE_PIS_RET NUMERIC(19, 2),-- BASE_IMPOSTO ALIQUOTA_PIS_RET NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_PIS_RET NUMERIC(19, 2),-- VALOR_IMPOSTO VALOR_PIS_RET_ISENTO NUMERIC(19, 2),-- VALOR_ISENTO VALOR_PIS_RET_OUTROS NUMERIC(19, 2),-- VALOR_OUTROS NATUREZA_RECEITA_PIS_RET CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA INDICA_COFINS_RET BIT,-- 0 COD_CONT_COFINS_RET VARCHAR(2) COLLATE DATABASE_DEFAULT, -- COD_CONTRIBUICAO_SOCIAL_APURADA COD_BC_CREDITO_COFINS_RET VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_BC_CREDITO TIPO_CREDITO_COFINS_RET VARCHAR(10) COLLATE DATABASE_DEFAULT, --#29# ST_COFINS_RET CHAR(3) COLLATE DATABASE_DEFAULT,-- SITUACAO_TRIBUTARIA VALOR_CONTABIL_COFINS_RET NUMERIC(19, 2),-- VALOR_CONTABIL BASE_COFINS_RET NUMERIC(19, 2),-- BASE_IMPOSTO ALIQUOTA_COFINS_RET NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_COFINS_RET NUMERIC(19, 2),-- VALOR_IMPOSTO VALOR_COFINS_RET_ISENTO NUMERIC(19, 2),-- VALOR_ISENTO VALOR_COFINS_RET_OUTROS NUMERIC(19, 2),-- VALOR_OUTROS NATUREZA_RECEITA_COFINS_RET CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA INDICA_ISS BIT,-- 0 COD_CONT_ISS VARCHAR(2) COLLATE DATABASE_DEFAULT, -- COD_CONTRIBUICAO_SOCIAL_APURADA COD_BC_CREDITO_ISS VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_BC_CREDITO TIPO_CREDITO_ISS VARCHAR(10) COLLATE DATABASE_DEFAULT, --#29# ST_ISS CHAR(3) COLLATE DATABASE_DEFAULT,-- SITUACAO_TRIBUTARIA VALOR_CONTABIL_ISS NUMERIC(19, 2),-- VALOR_CONTABIL BASE_ISS NUMERIC(19, 2),-- BASE_IMPOSTO ALIQUOTA_ISS NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_ISS NUMERIC(19, 2),-- VALOR_IMPOSTO VALOR_ISS_ISENTO NUMERIC(19, 2),-- VALOR_ISENTO VALOR_ISS_OUTROS NUMERIC(19, 2),-- VALOR_OUTROS NATUREZA_RECEITA_ISS CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA NUM_IMPORTACAO VARCHAR(15) COLLATE DATABASE_DEFAULT,-- NR_DOCUMENTO #244# INDICA_SIMPLIFICADA BIT,-- INDICA_SIMPLIFICADA NUM_ITEM SMALLINT,-- ID_ITEM --COD_BC_CREDITO VARCHAR(2) COLLATE DATABASE_DEFAULT, -- COD_BC_CREDITO TIPO_OPERACAO CHAR(1) COLLATE DATABASE_DEFAULT, -- TIPO_OPERACAO IND_NAT_FRT TINYINT, -- #9# INDICA_ISS_R BIT,-- #51# COD_CONT_ISS_R VARCHAR(2) COLLATE DATABASE_DEFAULT, -- #51# COD_CONTRIBUICAO_SOCIAL_APURADA COD_BC_CREDITO_ISS_R VARCHAR(2) COLLATE DATABASE_DEFAULT,-- #51# COD_BC_CREDITO TIPO_CREDITO_ISS_R VARCHAR(10) COLLATE DATABASE_DEFAULT, --#51# ST_ISS_R CHAR(3) COLLATE DATABASE_DEFAULT,-- #51# SITUACAO_TRIBUTARIA VALOR_CONTABIL_ISS_R NUMERIC(19, 2),-- #51# VALOR_CONTABIL BASE_ISS_R NUMERIC(19, 2),-- #51# BASE_IMPOSTO ALIQUOTA_ISS_R NUMERIC(5, 2),-- #51# TAXA_IMPOSTO VALOR_ISS_R NUMERIC(19, 2),-- #51# VALOR_IMPOSTO VALOR_ISS_R_ISENTO NUMERIC(19, 2),-- #51# VALOR_ISENTO VALOR_ISS_R_OUTROS NUMERIC(19, 2),-- #51# VALOR_OUTROS NATUREZA_RECEITA_ISS_R CHAR(3) COLLATE DATABASE_DEFAULT,-- #51# NATUREZA_RECEITA ID_OBS CHAR(6) COLLATE DATABASE_DEFAULT,-- ID_OBS OBS VARCHAR(1000)COLLATE DATABASE_DEFAULT, -- OBS #99# ID_OBS_COMPLEMENTAR CHAR(6) COLLATE DATABASE_DEFAULT, /*#184#*/ OBS_COMPLEMENTAR VARCHAR(1000) COLLATE DATABASE_DEFAULT, /*#184#*/ BK_SERIE VARCHAR(7)COLLATE DATABASE_DEFAULT, BASE_PIS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, TAXA_PIS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_PIS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_ICMS_PIS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, BASE_COFINS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, TAXA_COFINS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_COFINS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO NUMERIC(16, 2) /*#241#*/ , TIPO_DOC_IMPORTACAO VARCHAR(100) COLLATE DATABASE_DEFAULT /*#249#*/ ); ------------------------------------------------------------------------------------------------------------------------------------------------------ -- NOTAS FISCAIS DE ENTRADA ------------------------------------------------------------------------------------------------------------------------------------------------------ INSERT INTO #TEMP_012347 (SK_MATRIZ_FISCAL, ID_NOTA, NOTA_CANCELADA, ENTRADA_SAIDA, --## NOTA_COMPLEMENTAR, LX_MODELO, INDICA_DOCUMENTO_NAO_FISCAL, SK_ESTAB, COD_ESTAB, NOME_ESTAB, CNPJ_ESTAB, UF_ESTAB, IE_ESTAB, COD_MUN_ESTAB, IM_ESTAB, SUFRAMA_ESTAB, PJ_PF_ESTAB, INDICA_APURACAO_IPI, SK_PART, COD_PART, NOME_PART, COD_PAIS_PART, UF_PART, CNPJ_PART, CPF_PART, IE_PART, COD_MUN_PART, SUFRAMA_PART, PJ_PF_PART, END_PART, NUMERO_PART, COMPLEMENTO_PART, BAIRRO_PART, UNIDADE, DESC_UNIDADE, SK_ITEM, BK_COD_ITEM, COD_ITEM, DESC_ITEM, DESC_COMPL, COD_BARRA, COD_ANT_ITEM, TIPO_ITEM, COD_NCM, EX_NCM, COD_GENERO, COD_LST, COD_CLASS, /*#180#*/ LX_ORIGEM_ITEM, QTDE_ITEM, INDICA_MOVIMENTACAO_FISICA, ALIQ_ICMS_INTERNA, DATA_INCLUSAO_ITEM, COD_NATUREZA, DESC_NATUREZA, COD_CENTRO_CUSTO, DESC_CENTRO_CUSTO, COD_CONTA_CONTABIL, DESC_CONTA_CONTABIL, COD_NATUREZA_CONTA_CONTABIL, TIPO_CONTA_CONTABIL, NIVEL_CONTA_CONTABIL, COD_PLANO_CONTA_REF, CNPJ_ESTAB_CONTA_CONTABIL, IND_OPER, IND_EMIT, IND_FRETE, COD_SIT, SERIE, SUBSERIE, NUM_DOC, NUM_DOC_FINAL, CHAVE_NFE, DATA_DOC, DATA_ENT_SAI, VALOR_ITEM, /*#127#*/ VALOR_DOC, /*#190#*/ VALOR_FRETE, VALOR_SEGURO, VALOR_OUTRAS_DESPESAS, /*#190#*/ IND_PGTO, VALOR_DESCONTO, CFOP, INDICA_ICMS, COD_CONT_ICMS, COD_BC_CREDITO_ICMS, TIPO_CREDITO_ICMS, ST_ICMS, VALOR_CONTABIL_ICMS, BASE_ICMS, ALIQUOTA_ICMS, VALOR_ICMS, VALOR_ICMS_ISENTO, VALOR_ICMS_OUTROS, NATUREZA_RECEITA_ICMS, INDICA_ICMS_ST, COD_CONT_ICMS_ST, COD_BC_CREDITO_ICMS_ST, TIPO_CREDITO_ICMS_ST, ST_ICMS_ST, VALOR_CONTABIL_ICMS_ST, BASE_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST, VALOR_ICMS_ST_ISENTO, VALOR_ICMS_ST_OUTROS, NATUREZA_RECEITA_ICMS_ST, INDICA_IPI, COD_CONT_IPI, COD_BC_CREDITO_IPI, TIPO_CREDITO_IPI, ST_IPI, VALOR_CONTABIL_IPI, BASE_IPI, ALIQUOTA_IPI, VALOR_IPI, VALOR_IPI_ISENTO, VALOR_IPI_OUTROS, NATUREZA_RECEITA_IPI, INDICA_PIS, COD_CONT_PIS, COD_BC_CREDITO_PIS, TIPO_CREDITO_PIS, ST_PIS, VALOR_CONTABIL_PIS, BASE_PIS, ALIQUOTA_PIS, VALOR_PIS, VALOR_PIS_ISENTO, VALOR_PIS_OUTROS, NATUREZA_RECEITA_PIS, INDICA_COFINS, COD_CONT_COFINS, COD_BC_CREDITO_COFINS, TIPO_CREDITO_COFINS, ST_COFINS, VALOR_CONTABIL_COFINS, BASE_COFINS, ALIQUOTA_COFINS, VALOR_COFINS, VALOR_COFINS_ISENTO, VALOR_COFINS_OUTROS, NATUREZA_RECEITA_COFINS, INDICA_PIS_RET, COD_CONT_PIS_RET, COD_BC_CREDITO_PIS_RET, TIPO_CREDITO_PIS_RET, ST_PIS_RET, VALOR_CONTABIL_PIS_RET, BASE_PIS_RET, ALIQUOTA_PIS_RET, VALOR_PIS_RET, VALOR_PIS_RET_ISENTO, VALOR_PIS_RET_OUTROS, NATUREZA_RECEITA_PIS_RET, INDICA_COFINS_RET, COD_CONT_COFINS_RET, COD_BC_CREDITO_COFINS_RET, TIPO_CREDITO_COFINS_RET, ST_COFINS_RET, VALOR_CONTABIL_COFINS_RET, BASE_COFINS_RET, ALIQUOTA_COFINS_RET, VALOR_COFINS_RET, VALOR_COFINS_RET_ISENTO, VALOR_COFINS_RET_OUTROS, NATUREZA_RECEITA_COFINS_RET, INDICA_ISS, COD_CONT_ISS, COD_BC_CREDITO_ISS, TIPO_CREDITO_ISS, ST_ISS, VALOR_CONTABIL_ISS, BASE_ISS, ALIQUOTA_ISS, VALOR_ISS, VALOR_ISS_ISENTO, VALOR_ISS_OUTROS, NATUREZA_RECEITA_ISS, NUM_IMPORTACAO, INDICA_SIMPLIFICADA, NUM_ITEM,/*COD_BC_CREDITO, */ TIPO_OPERACAO, IND_NAT_FRT, INDICA_ISS_R,-- #51# COD_CONT_ISS_R,-- #51# COD_BC_CREDITO_ISS_R,-- #51# TIPO_CREDITO_ISS_R,-- #51# ST_ISS_R,-- #51# VALOR_CONTABIL_ISS_R,-- #51# BASE_ISS_R,-- #51# ALIQUOTA_ISS_R,-- #51# VALOR_ISS_R,-- #51# VALOR_ISS_R_ISENTO,-- #51# VALOR_ISS_R_OUTROS,-- #51# NATUREZA_RECEITA_ISS_R, ID_OBS, OBS,-- #51# ID_OBS_COMPLEMENTAR, /*#184#*/ OBS_COMPLEMENTAR, /*#184#*/ BK_SERIE, BASE_PIS_EXCLUSAO /*#241#*/, TAXA_PIS_EXCLUSAO /*#241#*/, VALOR_PIS_EXCLUSAO /*#241#*/, VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, BASE_COFINS_EXCLUSAO /*#241#*/, TAXA_COFINS_EXCLUSAO /*#241#*/, VALOR_COFINS_EXCLUSAO /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/ , TIPO_DOC_IMPORTACAO /*#249#*/ ) SELECT DISTINCT /*#143#*/ C.SK_MATRIZ_FISCAL, C.ID_NOTA, C.NOTA_CANCELADA, ENTRADA_SAIDA = 'E', --## C.NOTA_COMPLEMENTAR, V.LX_MODELO_ENTRADA, --#119# --SM.INDICA_DOCUMENTO_NAO_FISCAL, ISNULL(SM.INDICA_DOCUMENTO_NAO_FISCAL,0), FILIAL.SK_TERCEIRO, FILIAL.BK_COD_TERCEIRO, ISNULL(FILIAL_LOG.RAZAO_SOCIAL, FILIAL.RAZAO_SOCIAL), /*#133#*/ FILIAL.CNPJ, F.UF, ISNULL(FILIAL_LOG.IE, FILIAL.IE), /*#133#*/ E.COD_MUNICIPIO_IBGE, ISNULL(FILIAL_LOG.IM, FILIAL.IM), /*#133#*/ FILIAL.COD_SUFRAMA, FILIAL.PJ_PF, FILIAL.INDICA_IPI_DECENDIAL, TERC.SK_TERCEIRO, TERC.BK_COD_TERCEIRO, ISNULL(TERC_LOG.RAZAO_SOCIAL, TERC.RAZAO_SOCIAL), /*#133#*/ J.COD_PAIS_BC, I.UF, TERC.CNPJ, TERC.CPF, ISNULL(TERC_LOG.IE, TERC.IE), /*#133#*/ H.COD_MUNICIPIO_IBGE, TERC.COD_SUFRAMA, TERC.PJ_PF, ISNULL(TERC_LOG.ENDERECO, TERC.ENDERECO), /*#133#*/ ISNULL(TERC_LOG.NUMERO, TERC.NUMERO), /*#133#*/ ISNULL(TERC_LOG.COMPLEMENTO, TERC.COMPLEMENTO), /*#133#*/ ISNULL(TERC_LOG.BAIRRO, TERC.BAIRRO), /*#133#*/ K.UNIDADE, K.DESC_UNIDADE, L.SK_ITEM, L.BK_COD_ITEM, LEFT(CASE WHEN @INCLUIRORIGEMITEM = 1 AND L.LX_ORIGEM_ITEM > 1 THEN RTRIM(LTRIM(ISNULL(STR(L.LX_ORIGEM_ITEM), ''))) ELSE '' --#272#END + ISNULL(RTRIM(LTRIM(L.COD_ITEM_INVENTARIO)), RTRIM(LTRIM(L.BK_COD_ITEM))), 60), END + ISNULL(RTRIM(LTRIM(L.BK_COD_ITEM)), RTRIM(LTRIM(L.COD_ITEM_INVENTARIO))), 60), /*#272#*/ L.DESC_ITEM, B.DESC_ITEM_NF, '', '', M.COD_TIPO_SPED, LEFT(N.COD_NCM, 8), /*#215#*/ CASE WHEN ISNULL(ICMS.EXCECAO_CLASSIF_FISCAL,'') = '' THEN NULL ELSE ICMS.EXCECAO_CLASSIF_FISCAL END, /*#116#*/ O.COD_GENERO_SPED, P.COD_SERVICO_TIPO_SPED, P2.COD_SERVICO_TIPO_SPED, /*#180#*/ L.LX_ORIGEM_ITEM, B.QTDE_ITEM, B.INDICA_MOVIMENTACAO_FISICA, CASE WHEN Q.ICMS_ENTRADA = 0 THEN Q.ICMS_SAIDA ELSE Q.ICMS_ENTRADA END, --#151# L.DATA_INCLUSAO, R.COD_NATUREZA, R.DESC_NATUREZA, T.BK_CENTRO_CUSTO, T.DESC_CENTRO_CUSTO, AA.BK_CLASSIFICACAO, AA.DESC_VISAO_CLASSIF, AA.COD_NATUREZA_CONTA, CASE WHEN AA.INDICA_SINTETICA = 1 THEN 'S' ELSE 'A' END, AB.NIVEL_CONTA, '', '', '0', CASE WHEN C.NF_PROPRIA_EMITIDA = 1 THEN '0' ELSE '1' END, CASE C.FRETE_A_PAGAR WHEN 3 THEN 0 WHEN 4 THEN 1 ELSE C.FRETE_A_PAGAR END, /*#234#*/ U.COD_SITUACAO_SPED, /*#205#*/ --CASE WHEN V.LX_MODELO_ENTRADA = '55' AND C.NF_PROPRIA_EMITIDA = 1 THEN V.SERIE_ENTRADA ELSE V.BK_SERIE END, /*#156#*/ CASE WHEN V.LX_MODELO_ENTRADA = '55' AND C.NF_PROPRIA_EMITIDA = 1 THEN RTRIM(LTRIM(ISNULL(V.SERIE_ENTRADA, '000'))) ELSE CASE WHEN V.LX_MODELO_ENTRADA = '55' AND C.NF_PROPRIA_EMITIDA = 0 AND RTRIM(LTRIM(ISNULL(V.BK_SERIE, '000'))) <> SUBSTRING(C.CHAVE_NFE, 23,3) THEN SUBSTRING(C.CHAVE_NFE, 23,3) ELSE RTRIM(LTRIM(ISNULL(V.BK_SERIE, '000'))) END END, /*#205#*/ V.SUBSERIE_ENTRADA, C.NF_ENTRADA, NULL, C.CHAVE_NFE, C.EMISSAO, C.RECEBIMENTO, B.VALOR_BRUTO_ITEM, /*#127#*/ CASE WHEN ISNULL(ICMS.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(ICMS_ST.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(IPI.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(PIS.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(COFINS.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(PIS_R.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(COFINS_R.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(ISS.VALOR_CONTABIL, 0) = 0 THEN 0 ELSE ISS.VALOR_CONTABIL END ELSE COFINS_R.VALOR_CONTABIL END ELSE PIS_R.VALOR_CONTABIL END ELSE COFINS.VALOR_CONTABIL END ELSE PIS.VALOR_CONTABIL END ELSE IPI.VALOR_CONTABIL END ELSE ICMS_ST.VALOR_CONTABIL END ELSE ICMS.VALOR_CONTABIL END, /*#190#*/ B.FRETE, B.SEGURO, B.ENCARGO, /*#190#*/ PARCELA.IND_PGTO, B.DESCONTO, B.CFOP, ICMS.INDICA_ICMS, ICMS.COD_CONTRIBUICAO_SOCIAL_APURADA, ICMS.COD_BC_CREDITO, ICMS.TIPO_CREDITO, ICMS.SITUACAO_TRIBUTARIA, ISNULL(ICMS.VALOR_CONTABIL, 0), ISNULL(ICMS.BASE_IMPOSTO, 0), ISNULL(ICMS.TAXA_IMPOSTO, 0) + ISNULL(FECP.TAXA_IMPOSTO, 0), /*#233#*/ ISNULL(ICMS.VALOR_IMPOSTO, 0) + ISNULL(FECP.VALOR_IMPOSTO, 0), /*#233#*/ ISNULL(ICMS.VALOR_ISENTO, 0), ISNULL(ICMS.VALOR_OUTROS, 0), ICMS.NATUREZA_RECEITA, ICMS_ST.INDICA_ICMS_ST, ICMS_ST.COD_CONTRIBUICAO_SOCIAL_APURADA, ICMS_ST.COD_BC_CREDITO, ICMS_ST.TIPO_CREDITO, ICMS_ST.SITUACAO_TRIBUTARIA, ISNULL(ICMS_ST.VALOR_CONTABIL, 0), ISNULL(ICMS_ST.BASE_IMPOSTO, 0), ISNULL(ICMS_ST.TAXA_IMPOSTO, 0) + ISNULL(FECP_ST.TAXA_IMPOSTO, 0), /*#233#*/ ISNULL(ICMS_ST.VALOR_IMPOSTO, 0) + ISNULL(FECP_ST.VALOR_IMPOSTO, 0), /*#233#*/ ISNULL(ICMS_ST.VALOR_ISENTO, 0), ISNULL(ICMS_ST.VALOR_OUTROS, 0), ICMS_ST.NATUREZA_RECEITA, IPI.INDICA_IPI, IPI.COD_CONTRIBUICAO_SOCIAL_APURADA, IPI.COD_BC_CREDITO, IPI.TIPO_CREDITO, IPI.SITUACAO_TRIBUTARIA, ISNULL(IPI.VALOR_CONTABIL, 0), ISNULL(IPI.BASE_IMPOSTO, 0), ISNULL(IPI.TAXA_IMPOSTO, 0), ISNULL(IPI.VALOR_IMPOSTO, 0), ISNULL(IPI.VALOR_ISENTO, 0), ISNULL(IPI.VALOR_OUTROS, 0), IPI.NATUREZA_RECEITA, ISNULL(PIS.INDICA_PIS, 1), PIS.COD_CONTRIBUICAO_SOCIAL_APURADA, PIS.COD_BC_CREDITO, PIS.TIPO_CREDITO, CASE WHEN PIS.INDICA_PIS IS NULL THEN '98' ELSE PIS.SITUACAO_TRIBUTARIA END, ISNULL(PIS.VALOR_CONTABIL, 0), ISNULL(PIS.BASE_IMPOSTO, 0), ISNULL(PIS.TAXA_IMPOSTO, 0), ISNULL(PIS.VALOR_IMPOSTO, 0), ISNULL(PIS.VALOR_ISENTO, 0), ISNULL(PIS.VALOR_OUTROS, 0), PIS.NATUREZA_RECEITA, ISNULL(COFINS.INDICA_COFINS, 1), COFINS.COD_CONTRIBUICAO_SOCIAL_APURADA, COFINS.COD_BC_CREDITO, COFINS.TIPO_CREDITO, CASE WHEN COFINS.INDICA_COFINS IS NULL THEN '98' ELSE COFINS.SITUACAO_TRIBUTARIA END, ISNULL(COFINS.VALOR_CONTABIL, 0), ISNULL(COFINS.BASE_IMPOSTO, 0), ISNULL(COFINS.TAXA_IMPOSTO, 0), ISNULL(COFINS.VALOR_IMPOSTO, 0), ISNULL(COFINS.VALOR_ISENTO, 0), ISNULL(COFINS.VALOR_OUTROS, 0), COFINS.NATUREZA_RECEITA, PIS_R.INDICA_PIS_R, PIS_R.COD_CONTRIBUICAO_SOCIAL_APURADA, PIS_R.COD_BC_CREDITO, PIS_R.TIPO_CREDITO, PIS_R.SITUACAO_TRIBUTARIA, ISNULL(PIS_R.VALOR_CONTABIL, 0), ISNULL(PIS_R.BASE_IMPOSTO, 0), ISNULL(PIS_R.TAXA_IMPOSTO, 0), ISNULL(PIS_R.VALOR_IMPOSTO, 0), ISNULL(PIS_R.VALOR_ISENTO, 0), ISNULL(PIS_R.VALOR_OUTROS, 0), PIS_R.NATUREZA_RECEITA, COFINS_R.INDICA_COFINS_R, COFINS_R.COD_CONTRIBUICAO_SOCIAL_APURADA, COFINS_R.COD_BC_CREDITO, COFINS_R.TIPO_CREDITO, COFINS_R.SITUACAO_TRIBUTARIA, ISNULL(COFINS_R.VALOR_CONTABIL, 0), ISNULL(COFINS_R.BASE_IMPOSTO, 0), ISNULL(COFINS_R.TAXA_IMPOSTO, 0), ISNULL(COFINS_R.VALOR_IMPOSTO, 0), ISNULL(COFINS_R.VALOR_ISENTO, 0), ISNULL(COFINS_R.VALOR_OUTROS, 0), COFINS_R.NATUREZA_RECEITA, ISS.INDICA_ISS, ISS.COD_CONTRIBUICAO_SOCIAL_APURADA, ISS.COD_BC_CREDITO, ISS.TIPO_CREDITO, ISS.SITUACAO_TRIBUTARIA, ISNULL(ISS.VALOR_CONTABIL, 0), ISNULL(ISS.BASE_IMPOSTO, 0), ISNULL(ISS.TAXA_IMPOSTO, 0), ISNULL(ISS.VALOR_IMPOSTO, 0), ISNULL(ISS.VALOR_ISENTO, 0), ISNULL(ISS.VALOR_OUTROS, 0), ISS.NATUREZA_RECEITA, X.NR_DOCUMENTO, X.INDICA_SIMPLIFICADA, B.ID_ITEM,/*ICMS.COD_BC_CREDITO, */ LCFOP.TIPO_OPERACAO, C.IND_NAT_FRT, ISS_R.INDICA_ISS_R, ISS_R.COD_CONTRIBUICAO_SOCIAL_APURADA, ISS_R.COD_BC_CREDITO, ISS_R.TIPO_CREDITO, ISS_R.SITUACAO_TRIBUTARIA, ISNULL(ISS_R.VALOR_CONTABIL, 0), ISNULL(ISS_R.BASE_IMPOSTO, 0), ISNULL(ISS_R.TAXA_IMPOSTO, 0), ISNULL(ISS_R.VALOR_IMPOSTO, 0), ISNULL(ISS_R.VALOR_ISENTO, 0), ISNULL(ISS_R.VALOR_OUTROS, 0), ISS_R.NATUREZA_RECEITA, OBS.ID_OBS, OBS.OBS, OBS_COMPLEMENTAR.ID_OBS, /*#184#*/ OBS_COMPLEMENTAR.OBS, /*#184#*/ V.BK_SERIE, BASE_PIS_EXCLUSAO = CAST(0.00 AS NUMERIC(16, 2)) /*#241#*/, TAXA_PIS_EXCLUSAO = CAST(0.00 AS NUMERIC(5, 2)) /*#241#*/, VALOR_PIS_EXCLUSAO = CAST(0.00 AS NUMERIC(16, 2)) /*#241#*/, VALOR_ICMS_PIS_EXCLUSAO = CAST(0.00 AS NUMERIC(16, 2)) /*#241#*/, BASE_COFINS_EXCLUSAO = CAST(0.00 AS NUMERIC(16, 2)) /*#241#*/, TAXA_COFINS_EXCLUSAO = CAST(0.00 AS NUMERIC(5, 2)) /*#241#*/, VALOR_COFINS_EXCLUSAO = CAST(0.00 AS NUMERIC(16, 2)) /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO = CAST(0.00 AS NUMERIC(16, 2)) /*#241#*/ , X.TIPO_DOC_IMPORTACAO /*#248#*/ FROM LCF_NOTA_ENTRADA_ITEM AS B INNER JOIN #TEMP_NOTAS_APROPRIACAO_PIS_COFINS NPC ON B.ID_NOTA = NPC.ID_NOTA AND NPC.ENTRADA_SAIDA = 'E' INNER JOIN LCF_NOTA_ENTRADA AS C ON B.ID_NOTA = C.ID_NOTA LEFT JOIN LCF_OBS AS OBS --#97# ON C.ID_OBS = OBS.ID_OBS /*#184#*/ LEFT JOIN DBO.LCF_OBS_COMPLEMENTAR AS OBS_COMPLEMENTAR ON C.ID_OBS_COMPLEMENTAR = OBS_COMPLEMENTAR.ID_OBS INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG /*#171#*/ ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO /*#133#*/ LEFT JOIN LCF_LX_MUNICIPIO AS E ON ISNULL(FILIAL_LOG.ID_MUNICIPIO, FILIAL.ID_MUNICIPIO) = E.ID_MUNICIPIO LEFT JOIN LCF_LX_UF AS F ON E.ID_UF = F.ID_UF LEFT JOIN LCF_LX_PAIS AS G ON F.ID_PAIS = G.ID_PAIS LEFT JOIN LCF_TERCEIRO AS TERC ON C.SK_TERCEIRO = TERC.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS TERC_LOG /*#171#*/ ON TERC.SK_TERCEIRO = TERC_LOG.SK_TERCEIRO /*#133#*/ LEFT JOIN LCF_LX_MUNICIPIO AS H ON ISNULL(TERC_LOG.ID_MUNICIPIO, TERC.ID_MUNICIPIO) = H.ID_MUNICIPIO LEFT JOIN LCF_LX_UF AS I ON H.ID_UF = I.ID_UF LEFT JOIN LCF_LX_PAIS AS J ON I.ID_PAIS = J.ID_PAIS LEFT JOIN LCF_ITEM AS L ON B.SK_ITEM = L.SK_ITEM /*#115#*/ LEFT JOIN LCF_UNIDADE AS K ON L.ID_UNIDADE = K.ID_UNIDADE --LEFT JOIN LCF_UNIDADE AS K --ON B.ID_UNIDADE = K.ID_UNIDADE LEFT JOIN LCF_LX_ITEM_TIPO AS M ON L.ID_TIPO_ITEM = M.ID_TIPO_ITEM LEFT JOIN LCF_LX_NCM AS N ON L.ID_NCM = N.ID_NCM LEFT JOIN LCF_LX_ITEM_GENERO AS O ON L.ID_GENERO_ITEM = O.ID_GENERO_ITEM LEFT JOIN LCF_LX_TIPO_SERVICO AS P ON L.ID_SERVICO_TIPO = P.ID_SERVICO_TIPO AND P.TABELA_SPED = 'LEI COMPLEMENTAR 116/03' /*#180#*/ /*#180#*/ LEFT JOIN DBO.LCF_LX_TIPO_SERVICO AS P2 ON L.ID_SERVICO_TIPO = P2.ID_SERVICO_TIPO AND P2.TABELA_SPED = '4.4.1' --#151# LEFT JOIN UNIDADES_FEDERACAO_ICMS AS Q ON F.UF = Q.UF AND F.UF = Q.UF_DESTINO LEFT JOIN LCF_NATUREZA AS R ON C.ID_NATUREZA = R.ID_NATUREZA --#131# LEFT JOIN LCF_LANCAMENTO AS LCF_LC ON C.BK_LANCAMENTO = LCF_LC.BK_LANCAMENTO LEFT JOIN LCF_LANCAMENTO_ITEM AS S ON LCF_LC.ID_LANCAMENTO = S.ID_LANCAMENTO AND C.BK_ITEM = S.BK_ITEM /*#238#*/ --#131# LEFT JOIN LCF_CENTRO_CUSTO AS T ON S.ID_CENTRO_CUSTO = T.ID_CENTRO_CUSTO LEFT JOIN LCF_LX_SITUACAO_NOTA AS U ON C.ID_LX_SITUACAO_NOTA = U.ID_LX_SITUACAO_NOTA LEFT JOIN LCF_SERIE AS V ON C.SK_SERIE = V.SK_SERIE LEFT JOIN LCF_LX_SERIE_MODELO AS SM ON V.LX_MODELO_ENTRADA = SM.LX_MODELO_SERIE LEFT JOIN LCF_NOTA_ENTRADA_IMPORTACAO AS X ON C.ID_NOTA = X.ID_NOTA LEFT JOIN LCF_CONTA AS Y ON B.ID_CONTA = Y.ID_CONTA LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL /*#234#*/ LEFT JOIN LCF_VISAO_CLASSIF AS AA ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF LEFT JOIN (SELECT A.ID_NOTA, IND_PGTO = CASE /*#60#*/ WHEN MAX(B.VENCIMENTO) IS NULL THEN '9' /*--#56# WHEN MAX(B.VENCIMENTO) IS NULL THEN CASE WHEN @DATA_INI < '20120701' THEN '9' ELSE '2' END --WHEN MAX(B.VENCIMENTO) IS NULL THEN '9'*/ WHEN COUNT(*) = 1 AND DATEADD(DAY, -7, MIN(B.VENCIMENTO)) <= A.EMISSAO AND DATEADD(DAY, 7, MAX(B.VENCIMENTO)) >= A.EMISSAO THEN '0' ELSE '1' END FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN LCF_NOTA_ENTRADA_PARCELA AS B ON A.ID_NOTA = B.ID_NOTA WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY A.ID_NOTA, A.EMISSAO) AS PARCELA ON C.ID_NOTA = PARCELA.ID_NOTA LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, --#233#SITUACAO_TRIBUTARIA = ISNULL(RTRIM(LTRIM(I.TRIBUT_ORIGEM)) + RTRIM(LTRIM(I.TRIBUT_ICMS)), B.SITUACAO_TRIBUTARIA), SITUACAO_TRIBUTARIA = RTRIM(LTRIM(I.TRIBUT_ORIGEM)) + RTRIM(LTRIM(I.TRIBUT_ICMS)), /*#233#*/ B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_ICMS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_ITEM AS I ON A.ID_NOTA = I.ID_NOTA INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON I.ID_NOTA = B.ID_NOTA AND I.ID_ITEM = B.ID_ITEM WHERE B.ID_IMPOSTO = 1 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, RTRIM(LTRIM(I.TRIBUT_ORIGEM)) + RTRIM(LTRIM(I.TRIBUT_ICMS)), /*#233#*/ --#233#B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS ICMS ON B.ID_NOTA = ICMS.ID_NOTA AND B.ID_ITEM = ICMS.ID_ITEM /*#233#*/ LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO, INDICA_ICMS = 1, VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO) FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_NOTA_ENTRADA_ITEM AS I ON A.ID_NOTA = I.ID_NOTA INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON I.ID_NOTA = B.ID_NOTA AND I.ID_ITEM = B.ID_ITEM WHERE B.ID_IMPOSTO = 42 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO) AS FECP ON B.ID_NOTA = FECP.ID_NOTA AND B.ID_ITEM = FECP.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_PIS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 5 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS PIS ON B.ID_NOTA = PIS.ID_NOTA AND B.ID_ITEM = PIS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_COFINS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 6 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS COFINS ON B.ID_NOTA = COFINS.ID_NOTA AND B.ID_ITEM = COFINS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_PIS_R = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 17 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS PIS_R ON B.ID_NOTA = PIS_R.ID_NOTA AND B.ID_ITEM = PIS_R.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_COFINS_R = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 18 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS COFINS_R ON B.ID_NOTA = COFINS_R.ID_NOTA AND B.ID_ITEM = COFINS_R.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_ISS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 14 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS ISS ON B.ID_NOTA = ISS.ID_NOTA AND B.ID_ITEM = ISS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_ISS_R = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 22 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS ISS_R -- #51# ON B.ID_NOTA = ISS_R.ID_NOTA AND B.ID_ITEM = ISS_R.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_IPI = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 2 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS IPI ON B.ID_NOTA = IPI.ID_NOTA AND B.ID_ITEM = IPI.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_ICMS_ST = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO IN (12, 13) AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS ICMS_ST ON B.ID_NOTA = ICMS_ST.ID_NOTA AND B.ID_ITEM = ICMS_ST.ID_ITEM /*#233#*/ LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO, VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO) FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO IN (76, 77) AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO) AS FECP_ST ON B.ID_NOTA = FECP_ST.ID_NOTA AND B.ID_ITEM = FECP_ST.ID_ITEM INNER JOIN LCF_LX_CFOP LCFOP ON B.CFOP = LCFOP.CFOP WHERE C.NOTA_CANCELADA = 0 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM --------------------------------------------------------------------------------------------------------------------------------------- -- NOTAS FISCAIS DE SAIDA INSERT INTO #TEMP_012347 (SK_MATRIZ_FISCAL, ID_NOTA, NOTA_CANCELADA, ENTRADA_SAIDA, --## NOTA_COMPLEMENTAR, LX_MODELO, INDICA_DOCUMENTO_NAO_FISCAL, SK_ESTAB, COD_ESTAB, NOME_ESTAB, CNPJ_ESTAB, UF_ESTAB, IE_ESTAB, COD_MUN_ESTAB, IM_ESTAB, SUFRAMA_ESTAB, PJ_PF_ESTAB, INDICA_APURACAO_IPI, SK_PART, COD_PART, NOME_PART, COD_PAIS_PART, UF_PART, CNPJ_PART, CPF_PART, IE_PART, COD_MUN_PART, SUFRAMA_PART, PJ_PF_PART, END_PART, NUMERO_PART, COMPLEMENTO_PART, BAIRRO_PART, UNIDADE, DESC_UNIDADE, SK_ITEM, BK_COD_ITEM, COD_ITEM, DESC_ITEM, DESC_COMPL, COD_BARRA, COD_ANT_ITEM, TIPO_ITEM, COD_NCM, EX_NCM, COD_GENERO, COD_LST, COD_CLASS, /*#180#*/ LX_ORIGEM_ITEM, QTDE_ITEM, INDICA_MOVIMENTACAO_FISICA, ALIQ_ICMS_INTERNA, DATA_INCLUSAO_ITEM, COD_NATUREZA, DESC_NATUREZA, COD_CENTRO_CUSTO, DESC_CENTRO_CUSTO, COD_CONTA_CONTABIL, DESC_CONTA_CONTABIL, COD_NATUREZA_CONTA_CONTABIL, TIPO_CONTA_CONTABIL, NIVEL_CONTA_CONTABIL, COD_PLANO_CONTA_REF, CNPJ_ESTAB_CONTA_CONTABIL, IND_OPER, IND_EMIT, IND_FRETE, COD_SIT, SERIE, SUBSERIE, NUM_DOC, NUM_DOC_FINAL, CHAVE_NFE, DATA_DOC, DATA_ENT_SAI, VALOR_ITEM, /*#127#*/ VALOR_DOC, /*#190#*/ VALOR_FRETE, VALOR_SEGURO, VALOR_OUTRAS_DESPESAS, /*#190#*/ IND_PGTO, VALOR_DESCONTO, CFOP, INDICA_ICMS, COD_CONT_ICMS, COD_BC_CREDITO_ICMS, TIPO_CREDITO_ICMS, ST_ICMS, VALOR_CONTABIL_ICMS, BASE_ICMS, ALIQUOTA_ICMS, VALOR_ICMS, VALOR_ICMS_ISENTO, VALOR_ICMS_OUTROS, NATUREZA_RECEITA_ICMS, INDICA_ICMS_ST, COD_CONT_ICMS_ST, COD_BC_CREDITO_ICMS_ST, TIPO_CREDITO_ICMS_ST, ST_ICMS_ST, VALOR_CONTABIL_ICMS_ST, BASE_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST, VALOR_ICMS_ST_ISENTO, VALOR_ICMS_ST_OUTROS, NATUREZA_RECEITA_ICMS_ST, INDICA_IPI, COD_CONT_IPI, COD_BC_CREDITO_IPI, TIPO_CREDITO_IPI, ST_IPI, VALOR_CONTABIL_IPI, BASE_IPI, ALIQUOTA_IPI, VALOR_IPI, VALOR_IPI_ISENTO, VALOR_IPI_OUTROS, NATUREZA_RECEITA_IPI, INDICA_PIS, COD_CONT_PIS, COD_BC_CREDITO_PIS, TIPO_CREDITO_PIS, ST_PIS, VALOR_CONTABIL_PIS, BASE_PIS, ALIQUOTA_PIS, VALOR_PIS, VALOR_PIS_ISENTO, VALOR_PIS_OUTROS, NATUREZA_RECEITA_PIS, INDICA_COFINS, COD_CONT_COFINS, COD_BC_CREDITO_COFINS, TIPO_CREDITO_COFINS, ST_COFINS, VALOR_CONTABIL_COFINS, BASE_COFINS, ALIQUOTA_COFINS, VALOR_COFINS, VALOR_COFINS_ISENTO, VALOR_COFINS_OUTROS, NATUREZA_RECEITA_COFINS, INDICA_PIS_RET, COD_CONT_PIS_RET, COD_BC_CREDITO_PIS_RET, TIPO_CREDITO_PIS_RET, ST_PIS_RET, VALOR_CONTABIL_PIS_RET, BASE_PIS_RET, ALIQUOTA_PIS_RET, VALOR_PIS_RET, VALOR_PIS_RET_ISENTO, VALOR_PIS_RET_OUTROS, NATUREZA_RECEITA_PIS_RET, INDICA_COFINS_RET, COD_CONT_COFINS_RET, COD_BC_CREDITO_COFINS_RET, TIPO_CREDITO_COFINS_RET, ST_COFINS_RET, VALOR_CONTABIL_COFINS_RET, BASE_COFINS_RET, ALIQUOTA_COFINS_RET, VALOR_COFINS_RET, VALOR_COFINS_RET_ISENTO, VALOR_COFINS_RET_OUTROS, NATUREZA_RECEITA_COFINS_RET, INDICA_ISS, COD_CONT_ISS, COD_BC_CREDITO_ISS, TIPO_CREDITO_ISS, ST_ISS, VALOR_CONTABIL_ISS, BASE_ISS, ALIQUOTA_ISS, VALOR_ISS, VALOR_ISS_ISENTO, VALOR_ISS_OUTROS, NATUREZA_RECEITA_ISS, NUM_IMPORTACAO, INDICA_SIMPLIFICADA, NUM_ITEM,/*COD_BC_CREDITO, */ TIPO_OPERACAO, IND_NAT_FRT, INDICA_ISS_R,--#51# COD_CONT_ISS_R,--#51# COD_BC_CREDITO_ISS_R,--#51# TIPO_CREDITO_ISS_R,--#51# ST_ISS_R,--#51# VALOR_CONTABIL_ISS_R,--#51# BASE_ISS_R,--#51# ALIQUOTA_ISS_R,--#51# VALOR_ISS_R,--#51# VALOR_ISS_R_ISENTO,--#51# VALOR_ISS_R_OUTROS,--#51# NATUREZA_RECEITA_ISS_R, ID_OBS, OBS,--#51# ID_OBS_COMPLEMENTAR, /*#184#*/ OBS_COMPLEMENTAR, /*#184#*/ BK_SERIE, BASE_PIS_EXCLUSAO /*#241#*/, TAXA_PIS_EXCLUSAO /*#241#*/, VALOR_PIS_EXCLUSAO /*#241#*/, VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, BASE_COFINS_EXCLUSAO /*#241#*/, TAXA_COFINS_EXCLUSAO /*#241#*/, VALOR_COFINS_EXCLUSAO /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/) SELECT C.SK_MATRIZ_FISCAL, C.ID_NOTA, C.NOTA_CANCELADA, ENTRADA_SAIDA = 'S', --## C.NOTA_COMPLEMENTAR, V.LX_MODELO_SAIDA, --#119# --SM.INDICA_DOCUMENTO_NAO_FISCAL, ISNULL(SM.INDICA_DOCUMENTO_NAO_FISCAL,0), FILIAL.SK_TERCEIRO, FILIAL.BK_COD_TERCEIRO, ISNULL(FILIAL_LOG.RAZAO_SOCIAL, FILIAL.RAZAO_SOCIAL), /*#133#*/ FILIAL.CNPJ, F.UF, ISNULL(FILIAL_LOG.IE, FILIAL.IE), /*#133#*/ E.COD_MUNICIPIO_IBGE, ISNULL(FILIAL_LOG.IM, FILIAL.IM), /*#133#*/ FILIAL.COD_SUFRAMA, FILIAL.PJ_PF, FILIAL.INDICA_IPI_DECENDIAL, TERC.SK_TERCEIRO, TERC.BK_COD_TERCEIRO, ISNULL(TERC_LOG.RAZAO_SOCIAL, TERC.RAZAO_SOCIAL), /*#133#*/ J.COD_PAIS_BC, I.UF, TERC.CNPJ, TERC.CPF, ISNULL(TERC_LOG.IE, TERC.IE), /*#133#*/ H.COD_MUNICIPIO_IBGE, TERC.COD_SUFRAMA, TERC.PJ_PF, ISNULL(TERC_LOG.ENDERECO, TERC.ENDERECO), /*#133#*/ ISNULL(TERC_LOG.NUMERO, TERC.NUMERO), /*#133#*/ ISNULL(TERC_LOG.COMPLEMENTO, TERC.COMPLEMENTO), /*#133#*/ ISNULL(TERC_LOG.BAIRRO, TERC.BAIRRO), /*#133#*/ K.UNIDADE, K.DESC_UNIDADE, L.SK_ITEM, L.BK_COD_ITEM, LEFT(CASE WHEN @INCLUIRORIGEMITEM = 1 AND L.LX_ORIGEM_ITEM > 1 THEN RTRIM(LTRIM(ISNULL(STR(L.LX_ORIGEM_ITEM), ''))) ELSE '' --#272#END + ISNULL(RTRIM(LTRIM(L.COD_ITEM_INVENTARIO)), RTRIM(LTRIM(L.BK_COD_ITEM))), 60), END + ISNULL(RTRIM(LTRIM(L.BK_COD_ITEM)), RTRIM(LTRIM(L.COD_ITEM_INVENTARIO))), 60), /*#272#*/ L.DESC_ITEM, B.DESC_ITEM_NF, NULL, NULL, M.COD_TIPO_SPED, LEFT(N.COD_NCM, 8), /*#215#*/ CASE WHEN ISNULL(ICMS.EXCECAO_CLASSIF_FISCAL,'') = '' THEN NULL ELSE ICMS.EXCECAO_CLASSIF_FISCAL END, /*#136#*/ O.COD_GENERO_SPED, P.COD_SERVICO_TIPO_SPED, P2.COD_SERVICO_TIPO_SPED, /*#180#*/ L.LX_ORIGEM_ITEM, B.QTDE_ITEM, B.INDICA_MOVIMENTACAO_FISICA, CASE WHEN Q.ICMS_SAIDA = 0 THEN Q.ICMS_ENTRADA ELSE Q.ICMS_SAIDA END, --#151# L.DATA_INCLUSAO, R.COD_NATUREZA, R.DESC_NATUREZA, T.BK_CENTRO_CUSTO, T.DESC_CENTRO_CUSTO, AA.BK_CLASSIFICACAO, AA.DESC_VISAO_CLASSIF, AA.COD_NATUREZA_CONTA, CASE WHEN AA.INDICA_SINTETICA = 1 THEN 'S' ELSE 'A' END, AB.NIVEL_CONTA, '', '', '1', '0', CASE C.TIPO_FRETE WHEN 3 THEN 0 WHEN 4 THEN 1 ELSE C.TIPO_FRETE END, /*#234#*/ U.COD_SITUACAO_SPED, CASE WHEN V.LX_MODELO_SAIDA = '55' THEN V.SERIE_SAIDA ELSE V.BK_SERIE END, /*#156#*/ V.SUBSERIE_SAIDA, C.NF_SAIDA, C.NF_SAIDA_FINAL, C.CHAVE_NFE, C.EMISSAO, C.DATA_SAIDA, B.VALOR_BRUTO_ITEM, CASE WHEN ISNULL(ICMS.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(ICMS_ST.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(IPI.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(PIS.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(COFINS.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(PIS_R.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(COFINS_R.VALOR_CONTABIL, 0) = 0 THEN CASE WHEN ISNULL(ISS.VALOR_CONTABIL, 0) = 0 THEN 0 ELSE ISS.VALOR_CONTABIL END ELSE COFINS_R.VALOR_CONTABIL END ELSE PIS_R.VALOR_CONTABIL END ELSE COFINS.VALOR_CONTABIL END ELSE PIS.VALOR_CONTABIL END ELSE IPI.VALOR_CONTABIL END ELSE ICMS_ST.VALOR_CONTABIL END ELSE ICMS.VALOR_CONTABIL END, /*#190#*/ B.FRETE, B.SEGURO, B.ENCARGO, /*#190#*/ PARCELA.IND_PGTO, B.DESCONTO, B.CFOP, ICMS.INDICA_ICMS, ICMS.COD_CONTRIBUICAO_SOCIAL_APURADA, ICMS.COD_BC_CREDITO, ICMS.TIPO_CREDITO, ICMS.SITUACAO_TRIBUTARIA, ISNULL(ICMS.VALOR_CONTABIL, 0), ISNULL(ICMS.BASE_IMPOSTO, 0), ISNULL(ICMS.TAXA_IMPOSTO, 0) + ISNULL(FECP.TAXA_IMPOSTO, 0), /*#233#*/ ISNULL(ICMS.VALOR_IMPOSTO, 0) + ISNULL(FECP.VALOR_IMPOSTO, 0), /*#233#*/ ISNULL(ICMS.VALOR_ISENTO, 0), ISNULL(ICMS.VALOR_OUTROS, 0), ICMS.NATUREZA_RECEITA, ICMS_ST.INDICA_ICMS_ST, ICMS_ST.COD_CONTRIBUICAO_SOCIAL_APURADA, ICMS_ST.COD_BC_CREDITO, ICMS_ST.TIPO_CREDITO, ICMS_ST.SITUACAO_TRIBUTARIA, ISNULL(ICMS_ST.VALOR_CONTABIL, 0), ISNULL(ICMS_ST.BASE_IMPOSTO, 0), ISNULL(ICMS_ST.TAXA_IMPOSTO, 0) + ISNULL(FECP_ST.TAXA_IMPOSTO, 0), /*#233#*/ ISNULL(ICMS_ST.VALOR_IMPOSTO, 0) + ISNULL(FECP_ST.VALOR_IMPOSTO, 0), /*#233#*/ ISNULL(ICMS_ST.VALOR_ISENTO, 0), ISNULL(ICMS_ST.VALOR_OUTROS, 0), ICMS_ST.NATUREZA_RECEITA, IPI.INDICA_IPI, IPI.COD_CONTRIBUICAO_SOCIAL_APURADA, IPI.COD_BC_CREDITO, IPI.TIPO_CREDITO, IPI.SITUACAO_TRIBUTARIA, ISNULL(IPI.VALOR_CONTABIL, 0), ISNULL(IPI.BASE_IMPOSTO, 0), ISNULL(IPI.TAXA_IMPOSTO, 0), ISNULL(IPI.VALOR_IMPOSTO, 0), ISNULL(IPI.VALOR_ISENTO, 0), ISNULL(IPI.VALOR_OUTROS, 0), IPI.NATUREZA_RECEITA, ISNULL(PIS.INDICA_PIS, 1), PIS.COD_CONTRIBUICAO_SOCIAL_APURADA, PIS.COD_BC_CREDITO, PIS.TIPO_CREDITO, CASE WHEN PIS.INDICA_PIS IS NULL THEN '49' ELSE PIS.SITUACAO_TRIBUTARIA END, ISNULL(PIS.VALOR_CONTABIL, 0), ISNULL(PIS.BASE_IMPOSTO, 0), ISNULL(PIS.TAXA_IMPOSTO, 0), ISNULL(PIS.VALOR_IMPOSTO, 0), ISNULL(PIS.VALOR_ISENTO, 0), ISNULL(PIS.VALOR_OUTROS, 0), PIS.NATUREZA_RECEITA, ISNULL(COFINS.INDICA_COFINS, 1), COFINS.COD_CONTRIBUICAO_SOCIAL_APURADA, COFINS.COD_BC_CREDITO, COFINS.TIPO_CREDITO, CASE WHEN COFINS.INDICA_COFINS IS NULL THEN '49' ELSE COFINS.SITUACAO_TRIBUTARIA END, ISNULL(COFINS.VALOR_CONTABIL, 0), ISNULL(COFINS.BASE_IMPOSTO, 0), ISNULL(COFINS.TAXA_IMPOSTO, 0), ISNULL(COFINS.VALOR_IMPOSTO, 0), ISNULL(COFINS.VALOR_ISENTO, 0), ISNULL(COFINS.VALOR_OUTROS, 0), COFINS.NATUREZA_RECEITA, PIS_R.INDICA_PIS_R, PIS_R.COD_CONTRIBUICAO_SOCIAL_APURADA, PIS_R.COD_BC_CREDITO, PIS_R.TIPO_CREDITO, PIS_R.SITUACAO_TRIBUTARIA, ISNULL(PIS_R.VALOR_CONTABIL, 0), ISNULL(PIS_R.BASE_IMPOSTO, 0), ISNULL(PIS_R.TAXA_IMPOSTO, 0), ISNULL(PIS_R.VALOR_IMPOSTO, 0), ISNULL(PIS_R.VALOR_ISENTO, 0), ISNULL(PIS_R.VALOR_OUTROS, 0), PIS_R.NATUREZA_RECEITA, COFINS_R.INDICA_COFINS_R, COFINS_R.COD_CONTRIBUICAO_SOCIAL_APURADA, COFINS_R.COD_BC_CREDITO, COFINS_R.TIPO_CREDITO, COFINS_R.SITUACAO_TRIBUTARIA, ISNULL(COFINS_R.VALOR_CONTABIL, 0), ISNULL(COFINS_R.BASE_IMPOSTO, 0), ISNULL(COFINS_R.TAXA_IMPOSTO, 0), ISNULL(COFINS_R.VALOR_IMPOSTO, 0), ISNULL(COFINS_R.VALOR_ISENTO, 0), ISNULL(COFINS_R.VALOR_OUTROS, 0), COFINS_R.NATUREZA_RECEITA, ISS.INDICA_ISS, ISS.COD_CONTRIBUICAO_SOCIAL_APURADA, ISS.COD_BC_CREDITO, ISS.TIPO_CREDITO, ISS.SITUACAO_TRIBUTARIA, ISNULL(ISS.VALOR_CONTABIL, 0), ISNULL(ISS.BASE_IMPOSTO, 0), ISNULL(ISS.TAXA_IMPOSTO, 0), ISNULL(ISS.VALOR_IMPOSTO, 0), ISNULL(ISS.VALOR_ISENTO, 0), ISNULL(ISS.VALOR_OUTROS, 0), ISS.NATUREZA_RECEITA, NULL, 0, B.ID_ITEM,/*ICMS.COD_BC_CREDITO, */ LCFOP.TIPO_OPERACAO, IND_NAT_FRT = NULL, -- #9# ISS_R.INDICA_ISS_R, -- #51# ISS_R.COD_CONTRIBUICAO_SOCIAL_APURADA,-- #51# ISS_R.COD_BC_CREDITO,-- #51# ISS_R.TIPO_CREDITO,-- #51# ISS_R.SITUACAO_TRIBUTARIA,-- #51# ISNULL(ISS_R.VALOR_CONTABIL, 0),-- #51# ISNULL(ISS_R.BASE_IMPOSTO, 0),-- #51# ISNULL(ISS_R.TAXA_IMPOSTO, 0),-- #51# ISNULL(ISS_R.VALOR_IMPOSTO, 0),-- #51# ISNULL(ISS_R.VALOR_ISENTO, 0),-- #51# ISNULL(ISS_R.VALOR_OUTROS, 0),-- #51# ISS_R.NATUREZA_RECEITA, OBS.ID_OBS, OBS.OBS, -- #51# OBS_COMPLEMENTAR.ID_OBS, /*#184#*/ OBS_COMPLEMENTAR.OBS, /*#184#*/ V.BK_SERIE, BASE_PIS_EXCLUSAO = PIS.BASE_IMPOSTO_EXCLUSAO /*#241#*/, TAXA_PIS_EXCLUSAO = PIS.TAXA_IMPOSTO_EXCLUSAO /*#241#*/, VALOR_PIS_EXCLUSAO = PIS.VALOR_IMPOSTO_EXCLUSAO /*#241#*/, VALOR_ICMS_PIS_EXCLUSAO = PIS.VALOR_ICMS_EXCLUSAO /*#241#*/, BASE_COFINS_EXCLUSAO = COFINS.BASE_IMPOSTO_EXCLUSAO /*#241#*/, TAXA_COFINS_EXCLUSAO = COFINS.TAXA_IMPOSTO_EXCLUSAO /*#241#*/, VALOR_COFINS_EXCLUSAO = COFINS.VALOR_IMPOSTO_EXCLUSAO /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO = COFINS.VALOR_ICMS_EXCLUSAO /*#241#*/ FROM LCF_NOTA_SAIDA_ITEM AS B INNER JOIN #TEMP_NOTAS_APROPRIACAO_PIS_COFINS NPC ON B.ID_NOTA = NPC.ID_NOTA AND NPC.ENTRADA_SAIDA = 'S' INNER JOIN LCF_NOTA_SAIDA AS C ON B.ID_NOTA = C.ID_NOTA LEFT JOIN LCF_OBS OBS --#97# ON OBS.ID_OBS = C.ID_OBS /*#184#*/ LEFT JOIN DBO.LCF_OBS_COMPLEMENTAR AS OBS_COMPLEMENTAR ON C.ID_OBS_COMPLEMENTAR = OBS_COMPLEMENTAR.ID_OBS INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG /*#171#*/ ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO /*#133#*/ LEFT JOIN LCF_LX_MUNICIPIO AS E ON ISNULL(FILIAL_LOG.ID_MUNICIPIO, FILIAL.ID_MUNICIPIO) = E.ID_MUNICIPIO LEFT JOIN LCF_LX_UF AS F ON E.ID_UF = F.ID_UF LEFT JOIN LCF_LX_PAIS AS G ON F.ID_PAIS = G.ID_PAIS LEFT JOIN LCF_TERCEIRO AS TERC ON C.SK_TERCEIRO = TERC.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS TERC_LOG /*#171#*/ ON TERC.SK_TERCEIRO = TERC_LOG.SK_TERCEIRO /*#133#*/ LEFT JOIN LCF_LX_MUNICIPIO AS H ON ISNULL(TERC_LOG.ID_MUNICIPIO, TERC.ID_MUNICIPIO) = H.ID_MUNICIPIO LEFT JOIN LCF_LX_UF AS I ON H.ID_UF = I.ID_UF LEFT JOIN LCF_LX_PAIS AS J ON I.ID_PAIS = J.ID_PAIS LEFT JOIN LCF_ITEM AS L ON B.SK_ITEM = L.SK_ITEM /*#115#*/ LEFT JOIN LCF_UNIDADE AS K ON L.ID_UNIDADE = K.ID_UNIDADE --LEFT JOIN LCF_UNIDADE AS K --ON B.ID_UNIDADE = K.ID_UNIDADE LEFT JOIN LCF_LX_ITEM_TIPO AS M ON L.ID_TIPO_ITEM = M.ID_TIPO_ITEM LEFT JOIN LCF_LX_NCM AS N ON L.ID_NCM = N.ID_NCM LEFT JOIN LCF_LX_ITEM_GENERO AS O ON L.ID_GENERO_ITEM = O.ID_GENERO_ITEM LEFT JOIN LCF_LX_TIPO_SERVICO AS P ON L.ID_SERVICO_TIPO = P.ID_SERVICO_TIPO AND P.TABELA_SPED = 'LEI COMPLEMENTAR 116/03' /*#180#*/ /*#180#*/ LEFT JOIN DBO.LCF_LX_TIPO_SERVICO AS P2 ON L.ID_SERVICO_TIPO = P2.ID_SERVICO_TIPO AND P2.TABELA_SPED = '4.4.1' LEFT JOIN UNIDADES_FEDERACAO_ICMS AS Q ON F.UF = Q.UF AND F.UF = Q.UF_DESTINO LEFT JOIN LCF_NATUREZA AS R ON C.ID_NATUREZA = R.ID_NATUREZA --#131# LEFT JOIN LCF_LANCAMENTO AS LCF_LC ON C.BK_LANCAMENTO = LCF_LC.BK_LANCAMENTO LEFT JOIN LCF_LANCAMENTO_ITEM AS S ON LCF_LC.ID_LANCAMENTO = S.ID_LANCAMENTO AND C.BK_ITEM = S.BK_ITEM /*#238#*/ --#131# LEFT JOIN LCF_CENTRO_CUSTO AS T ON S.ID_CENTRO_CUSTO = T.ID_CENTRO_CUSTO LEFT JOIN LCF_LX_SITUACAO_NOTA AS U ON C.ID_LX_SITUACAO_NOTA = U.ID_LX_SITUACAO_NOTA LEFT JOIN LCF_SERIE AS V ON C.SK_SERIE = V.SK_SERIE LEFT JOIN LCF_LX_SERIE_MODELO AS SM ON V.LX_MODELO_SAIDA = SM.LX_MODELO_SERIE LEFT JOIN LCF_CONTA AS Y ON B.ID_CONTA = Y.ID_CONTA LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL /*#234#*/ LEFT JOIN LCF_VISAO_CLASSIF AS AA ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF LEFT JOIN (SELECT A.ID_NOTA, IND_PGTO = CASE /*#60#*/ WHEN MAX(B.VENCIMENTO) IS NULL THEN '9' /*--#56# WHEN MAX(B.VENCIMENTO) IS NULL THEN CASE WHEN @DATA_INI < '20120701' THEN '9' ELSE '2' END --WHEN MAX(B.VENCIMENTO) IS NULL THEN '9'*/ WHEN COUNT(*) = 1 AND DATEADD(DAY, -7, MIN(B.VENCIMENTO)) <= A.EMISSAO AND DATEADD(DAY, 7, MAX(B.VENCIMENTO)) >= A.EMISSAO THEN '0' ELSE '1' END FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE LEFT JOIN LCF_NOTA_SAIDA_PARCELA AS B ON A.ID_NOTA = B.ID_NOTA WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY A.ID_NOTA, A.EMISSAO) AS PARCELA ON C.ID_NOTA = PARCELA.ID_NOTA LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, --#233#SITUACAO_TRIBUTARIA = ISNULL(RTRIM(LTRIM(I.TRIBUT_ORIGEM)) + RTRIM(LTRIM(I.TRIBUT_ICMS)), B.SITUACAO_TRIBUTARIA), SITUACAO_TRIBUTARIA = RTRIM(LTRIM(I.TRIBUT_ORIGEM)) + RTRIM(LTRIM(I.TRIBUT_ICMS)), B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_ICMS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), /*#233#*/ BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), /*#233#*/ VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), /*#233#*/ VALOR_OUTROS = SUM(B.VALOR_OUTROS), /*#233#*/ B.TIPO_CREDITO FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_ITEM AS I ON A.ID_NOTA = I.ID_NOTA INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON I.ID_NOTA = B.ID_NOTA AND I.ID_ITEM = B.ID_ITEM WHERE B.ID_IMPOSTO = 1 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, RTRIM(LTRIM(I.TRIBUT_ORIGEM)) + RTRIM(LTRIM(I.TRIBUT_ICMS)), /*#233#*/ --#233#B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS ICMS ON B.ID_NOTA = ICMS.ID_NOTA AND B.ID_ITEM = ICMS.ID_ITEM /*#233#*/ LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO, INDICA_ICMS = 1, VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO) FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_NOTA_SAIDA_ITEM AS I ON A.ID_NOTA = I.ID_NOTA INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON I.ID_NOTA = B.ID_NOTA AND I.ID_ITEM = B.ID_ITEM WHERE B.ID_IMPOSTO = 42 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO) AS FECP ON B.ID_NOTA = FECP.ID_NOTA AND B.ID_ITEM = FECP.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_PIS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO, BASE_IMPOSTO_EXCLUSAO = SUM(B.BASE_IMPOSTO_EXCLUSAO) /*#241#*/, TAXA_IMPOSTO_EXCLUSAO = B.TAXA_IMPOSTO_EXCLUSAO /*#241#*/, VALOR_IMPOSTO_EXCLUSAO = SUM(B.VALOR_IMPOSTO_EXCLUSAO) /*#241#*/, VALOR_ICMS_EXCLUSAO = SUM(B.VALOR_ICMS_EXCLUSAO) /*#241#*/ FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 5 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO, B.TAXA_IMPOSTO_EXCLUSAO /*#241#*/) AS PIS ON B.ID_NOTA = PIS.ID_NOTA AND B.ID_ITEM = PIS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_COFINS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO, BASE_IMPOSTO_EXCLUSAO = SUM(B.BASE_IMPOSTO_EXCLUSAO) /*#241#*/, TAXA_IMPOSTO_EXCLUSAO = B.TAXA_IMPOSTO_EXCLUSAO /*#241#*/, VALOR_IMPOSTO_EXCLUSAO = SUM(B.VALOR_IMPOSTO_EXCLUSAO) /*#241#*/, VALOR_ICMS_EXCLUSAO = SUM(B.VALOR_ICMS_EXCLUSAO) /*#241#*/ FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 6 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO, B.TAXA_IMPOSTO_EXCLUSAO /*#241#*/) AS COFINS ON B.ID_NOTA = COFINS.ID_NOTA AND B.ID_ITEM = COFINS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_PIS_R = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 17 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS PIS_R ON B.ID_NOTA = PIS_R.ID_NOTA AND B.ID_ITEM = PIS_R.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_COFINS_R = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 18 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS COFINS_R ON B.ID_NOTA = COFINS_R.ID_NOTA AND B.ID_ITEM = COFINS_R.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_ISS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 14 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS ISS ON B.ID_NOTA = ISS.ID_NOTA AND B.ID_ITEM = ISS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_ISS_R = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 22 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS ISS_R -- #51# ON B.ID_NOTA = ISS_R.ID_NOTA AND B.ID_ITEM = ISS_R.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_IPI = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 2 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS IPI ON B.ID_NOTA = IPI.ID_NOTA AND B.ID_ITEM = IPI.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, INDICA_ICMS_ST = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS), B.TIPO_CREDITO FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO IN (12, 13) AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.COD_BC_CREDITO, B.COD_CONTRIBUICAO_SOCIAL_APURADA, B.TIPO_CREDITO) AS ICMS_ST ON B.ID_NOTA = ICMS_ST.ID_NOTA AND B.ID_ITEM = ICMS_ST.ID_ITEM /*#233#*/ LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO, VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO) FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO IN (76, 77) AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO) AS FECP_ST ON B.ID_NOTA = FECP_ST.ID_NOTA AND B.ID_ITEM = FECP_ST.ID_ITEM INNER JOIN LCF_LX_CFOP LCFOP ON B.CFOP = LCFOP.CFOP WHERE C.NOTA_CANCELADA = 0 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM; --------------------------------------------------------------------------------------------------------------------------------------- -- NOTAS FISCAIS DE ENTRADAS CANCELADAS INSERT INTO #TEMP_012347 (SK_MATRIZ_FISCAL, ID_NOTA, NOTA_CANCELADA, ENTRADA_SAIDA, --## IND_OPER, IND_EMIT, COD_SIT, SERIE, SUBSERIE, NUM_DOC, COD_ESTAB, PJ_PF_ESTAB, COD_PART, PJ_PF_PART, IND_NAT_FRT, -- #9# LX_MODELO, --#92# CNPJ_ESTAB, --#92# ID_OBS, --#92# ID_OBS_COMPLEMENTAR, /*#184#*/ CHAVE_NFE, --#92# INDICA_DOCUMENTO_NAO_FISCAL, BK_SERIE ) --#119# SELECT C.SK_MATRIZ_FISCAL, C.ID_NOTA, C.NOTA_CANCELADA, ENTRADA_SAIDA = 'E', --## '0', CASE WHEN C.NF_PROPRIA_EMITIDA = 1 THEN '0' ELSE '1' END, U.COD_SITUACAO_SPED, /*#205#*/ --CASE WHEN V.LX_MODELO_ENTRADA = '55' AND C.NF_PROPRIA_EMITIDA = 1 THEN V.SERIE_ENTRADA ELSE V.BK_SERIE END, /*#156#*/ CASE WHEN V.LX_MODELO_ENTRADA = '55' AND C.NF_PROPRIA_EMITIDA = 1 THEN RTRIM(LTRIM(ISNULL(V.SERIE_ENTRADA, '000'))) ELSE CASE WHEN V.LX_MODELO_ENTRADA = '55' AND C.NF_PROPRIA_EMITIDA = 0 AND RTRIM(LTRIM(ISNULL(V.BK_SERIE, '000'))) <> SUBSTRING(C.CHAVE_NFE, 23,3) THEN SUBSTRING(C.CHAVE_NFE, 23,3) ELSE RTRIM(LTRIM(ISNULL(V.BK_SERIE, '000'))) END END, /*#205#*/ V.SUBSERIE_ENTRADA, C.NF_ENTRADA, FILIAL.BK_COD_TERCEIRO, FILIAL.PJ_PF, TERC.BK_COD_TERCEIRO, TERC.PJ_PF, IND_NAT_FRT = NULL, -- #9# V.LX_MODELO_ENTRADA, --#92# FILIAL.CNPJ, --#92# OBS.ID_OBS, --#92# OBS_COMPLEMENTAR.ID_OBS, /*#184#*/ C.CHAVE_NFE, --#92# 0, --#119# V.BK_SERIE FROM LCF_NOTA_ENTRADA AS C INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_TERCEIRO AS TERC ON C.SK_TERCEIRO = TERC.SK_TERCEIRO LEFT JOIN LCF_LX_SITUACAO_NOTA AS U ON C.ID_LX_SITUACAO_NOTA = U.ID_LX_SITUACAO_NOTA LEFT JOIN LCF_SERIE AS V ON C.SK_SERIE = V.SK_SERIE LEFT JOIN LCF_OBS AS OBS --#92# ON C.ID_OBS = OBS.ID_OBS --#92# /*#184#*/ LEFT JOIN DBO.LCF_OBS_COMPLEMENTAR AS OBS_COMPLEMENTAR ON C.ID_OBS_COMPLEMENTAR = OBS_COMPLEMENTAR.ID_OBS LEFT JOIN DBO.LCF_SERIE AS S /*#212#*/ ON c.SK_SERIE = S.SK_SERIE /*#212#*/ LEFT JOIN DBO.LCF_LX_SITUACAO_NOTA AS L /*#212#*/ ON L.ID_LX_SITUACAO_NOTA = C.ID_LX_SITUACAO_NOTA /*#212#*/ WHERE C.NOTA_CANCELADA = 1 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM --#221#AND NOT (S.LX_MODELO_SAIDA = '55' AND L.COD_SITUACAO_SPED IN ('02', '03', '04', '05')) /*#212#*/ --#221#AND NOT (S.LX_MODELO_SAIDA = '65' AND L.COD_SITUACAO_SPED IN ('02', '03', '04', '05')) /*#212#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- NOTAS FISCAIS DE SAIDAS CANCELADAS INSERT INTO #TEMP_012347 (SK_MATRIZ_FISCAL, ID_NOTA, NOTA_CANCELADA, ENTRADA_SAIDA, --## IND_OPER, IND_EMIT, COD_SIT, SERIE, SUBSERIE, NUM_DOC, COD_ESTAB, PJ_PF_ESTAB, COD_PART, PJ_PF_PART, IND_NAT_FRT, -- #9# LX_MODELO, --#92# CNPJ_ESTAB, --#92# ID_OBS, --#92# ID_OBS_COMPLEMENTAR, /*#184#*/ CHAVE_NFE, --#92# INDICA_DOCUMENTO_NAO_FISCAL, BK_SERIE) --#119# SELECT C.SK_MATRIZ_FISCAL, C.ID_NOTA, C.NOTA_CANCELADA, ENTRADA_SAIDA = 'S', --## '1', '0', U.COD_SITUACAO_SPED, CASE WHEN V.LX_MODELO_SAIDA = '55' THEN V.SERIE_SAIDA ELSE V.BK_SERIE END, /*#156#*/ V.SUBSERIE_SAIDA, C.NF_SAIDA, FILIAL.BK_COD_TERCEIRO, FILIAL.PJ_PF, TERC.BK_COD_TERCEIRO, TERC.PJ_PF, IND_NAT_FRT = NULL, -- #9# V.LX_MODELO_SAIDA, --#92# FILIAL.CNPJ, --#92# OBS.ID_OBS, --#92# OBS_COMPLEMENTAR.ID_OBS, /*#184#*/ C.CHAVE_NFE, --#92# 0, --#119# V.BK_SERIE FROM LCF_NOTA_SAIDA AS C INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_TERCEIRO AS TERC ON C.SK_TERCEIRO = TERC.SK_TERCEIRO LEFT JOIN LCF_LX_SITUACAO_NOTA AS U ON C.ID_LX_SITUACAO_NOTA = U.ID_LX_SITUACAO_NOTA LEFT JOIN LCF_SERIE AS V ON C.SK_SERIE = V.SK_SERIE LEFT JOIN LCF_OBS AS OBS --#92# ON C.ID_OBS = OBS.ID_OBS --#92# /*#184#*/ LEFT JOIN DBO.LCF_OBS_COMPLEMENTAR AS OBS_COMPLEMENTAR ON C.ID_OBS_COMPLEMENTAR = OBS_COMPLEMENTAR.ID_OBS LEFT JOIN DBO.LCF_SERIE AS S /*#212#*/ ON c.SK_SERIE = S.SK_SERIE /*#212#*/ LEFT JOIN DBO.LCF_LX_SITUACAO_NOTA AS L /*#212#*/ ON L.ID_LX_SITUACAO_NOTA = C.ID_LX_SITUACAO_NOTA /*#212#*/ WHERE C.NOTA_CANCELADA = 1 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM --#221#AND NOT (S.LX_MODELO_SAIDA = '55' AND L.COD_SITUACAO_SPED IN ('02', '03', '04', '05')) /*#212#*/ --#221#AND NOT (S.LX_MODELO_SAIDA = '65' AND L.COD_SITUACAO_SPED IN ('02', '03', '04', '05')) /*#212#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- PROCESSO IF (SELECT OBJECT_ID('TEMPDB..#TEMP_PROCESSO_012347')) IS NOT NULL DROP TABLE #TEMP_PROCESSO_012347 CREATE TABLE #TEMP_PROCESSO_012347 ( SK_MATRIZ_FISCAL INT,-- SK_MATRIZ_FISCAL (CHAVE) ID_NOTA INT,-- ID_NOTA (CHAVE) IND_OPER CHAR(1) COLLATE DATABASE_DEFAULT,-- '' CNPJ_ESTAB VARCHAR(14) COLLATE DATABASE_DEFAULT,-- CNPJ COD_ESTAB VARCHAR(25) COLLATE DATABASE_DEFAULT,-- BK_COD_TERCEIRO COD_PART VARCHAR(25) COLLATE DATABASE_DEFAULT,-- BK_COD_TERCEIRO SERIE VARCHAR(20) COLLATE DATABASE_DEFAULT,-- SERIE_NF_ENTRADA / SERIE_NF NUM_DOC VARCHAR(60) COLLATE DATABASE_DEFAULT,-- NF_ENTRADA / NF_SAIDA LX_MODELO VARCHAR(3) COLLATE DATABASE_DEFAULT,-- LX_MODELO_ENTRADA / LX_MODELO_SAIDA INDICA_DOCUMENTO_NAO_FISCAL BIT,-- INDICA_DOCUMENTO_NAO_FISCAL CFOP VARCHAR(5) COLLATE DATABASE_DEFAULT,-- CFOP INDICA_ICMS BIT,-- 0 INDICA_IPI BIT,-- 0 INDICA_ISS BIT,-- 0 INDICA_PIS BIT,-- 0 INDICA_COFINS BIT,-- 0 ST_PIS CHAR(3) COLLATE DATABASE_DEFAULT,-- SITUACAO_TRIBUTARIA COD_ITEM VARCHAR(60) COLLATE DATABASE_DEFAULT,-- '' COD_NCM VARCHAR(10) COLLATE DATABASE_DEFAULT,-- COD_NCM EX_NCM VARCHAR(5) COLLATE DATABASE_DEFAULT,-- EXCECAO_CLASSIF_FISCAL NUM_PROC VARCHAR(30) COLLATE DATABASE_DEFAULT,-- NR_PROCESSO IND_PROC CHAR(1) COLLATE DATABASE_DEFAULT, -- TIPO_PROCESSO BK_SERIE VARCHAR(7) COLLATE DATABASE_DEFAULT, ID_LCF_PROCESSO INT, /*#265#*/ ENTRADA_SAIDA CHAR(1) COLLATE DATABASE_DEFAULT, /*#265#*/ TIPO_OPERACAO CHAR(1) COLLATE DATABASE_DEFAULT /*#267#*/ ) --------------------------------------------------------------------------------------------------------------------------------------- -- PROCESSO - NOTAS DE ENTRADA INSERT INTO #TEMP_PROCESSO_012347 (SK_MATRIZ_FISCAL, ID_NOTA, IND_OPER, CNPJ_ESTAB, COD_ESTAB, COD_PART, SERIE, NUM_DOC, LX_MODELO, INDICA_DOCUMENTO_NAO_FISCAL, CFOP, INDICA_ICMS, INDICA_IPI, INDICA_ISS, INDICA_PIS, INDICA_COFINS, ST_PIS, COD_ITEM, COD_NCM, EX_NCM, NUM_PROC, IND_PROC, BK_SERIE, ID_LCF_PROCESSO, /*#265#*/ ENTRADA_SAIDA, TIPO_OPERACAO) /*#267#*/ SELECT C.SK_MATRIZ_FISCAL, C.ID_NOTA, '0', FILIAL.CNPJ, FILIAL.BK_COD_TERCEIRO, TERC.BK_COD_TERCEIRO, /*#205#*/ --CASE WHEN V.LX_MODELO_ENTRADA = '55' AND C.NF_PROPRIA_EMITIDA = 1 THEN V.SERIE_ENTRADA ELSE V.BK_SERIE END, /*#156#*/ CASE WHEN V.LX_MODELO_ENTRADA = '55' AND C.NF_PROPRIA_EMITIDA = 1 THEN RTRIM(LTRIM(ISNULL(V.SERIE_ENTRADA, '000'))) ELSE CASE WHEN V.LX_MODELO_ENTRADA = '55' AND C.NF_PROPRIA_EMITIDA = 0 AND RTRIM(LTRIM(ISNULL(V.BK_SERIE, '000'))) <> SUBSTRING(C.CHAVE_NFE, 23,3) THEN SUBSTRING(C.CHAVE_NFE, 23,3) ELSE RTRIM(LTRIM(ISNULL(V.BK_SERIE, '000'))) END END, /*#205#*/ RIGHT(C.NF_ENTRADA,15), V.LX_MODELO_ENTRADA, --#119# --SM.INDICA_DOCUMENTO_NAO_FISCAL, ISNULL(SM.INDICA_DOCUMENTO_NAO_FISCAL,0), B.CFOP, ICMS.INDICA_ICMS, IPI.INDICA_IPI, ISS.INDICA_ISS, PIS.INDICA_PIS, COFINS.INDICA_COFINS, PIS.SITUACAO_TRIBUTARIA, LEFT(CASE WHEN @INCLUIRORIGEMITEM = 1 AND L.LX_ORIGEM_ITEM > 1 THEN RTRIM(LTRIM(ISNULL(STR(L.LX_ORIGEM_ITEM), ''))) ELSE '' --#272#END + ISNULL(RTRIM(LTRIM(L.COD_ITEM_INVENTARIO)), RTRIM(LTRIM(L.BK_COD_ITEM))), 60), END + ISNULL(RTRIM(LTRIM(L.BK_COD_ITEM)), RTRIM(LTRIM(L.COD_ITEM_INVENTARIO))), 60), /*#272#*/ LEFT(N.COD_NCM, 8), /*#215#*/ ICMS.EXCECAO_CLASSIF_FISCAL, W.NUMERO_PROCESSO, /*#263#*/ W.TIPO_PROCESSO, V.BK_SERIE, W.ID_LCF_PROCESSO, /*#265#*/ NPC.ENTRADA_SAIDA, /*#265#*/ LCFOP.TIPO_OPERACAO /*#267#*/ FROM LCF_NOTA_ENTRADA_ITEM AS B INNER JOIN #TEMP_NOTAS_APROPRIACAO_PIS_COFINS NPC ON B.ID_NOTA = NPC.ID_NOTA AND NPC.ENTRADA_SAIDA = 'E' INNER JOIN LCF_NOTA_ENTRADA AS C ON B.ID_NOTA = C.ID_NOTA INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_TERCEIRO AS TERC ON C.SK_TERCEIRO = TERC.SK_TERCEIRO INNER JOIN LCF_ITEM AS L ON B.SK_ITEM = L.SK_ITEM INNER JOIN LCF_LX_NCM AS N ON L.ID_NCM = N.ID_NCM --#263#INNER JOIN LCF_NOTA_PROCESSO AS W --#263# ON C.ID_NOTA = W.ID_NOTA_ENTRADA INNER JOIN LCF_PROCESSOS AS W /*#263#*/ ON W.ID_LCF_PROCESSO = FILIAL.ID_LCF_PROCESSO /*#263#*/ INNER JOIN LCF_SERIE AS V ON C.SK_SERIE = V.SK_SERIE INNER JOIN LCF_LX_SERIE_MODELO AS SM ON V.LX_MODELO_ENTRADA = SM.LX_MODELO_SERIE LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, SITUACAO_TRIBUTARIA = ISNULL(RTRIM(LTRIM(I.TRIBUT_ORIGEM)) + RTRIM(LTRIM(I.TRIBUT_ICMS)), B.SITUACAO_TRIBUTARIA), B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO, INDICA_ICMS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_ITEM AS I ON A.ID_NOTA = I.ID_NOTA INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON I.ID_NOTA = B.ID_NOTA AND I.ID_ITEM = B.ID_ITEM WHERE B.ID_IMPOSTO = 1 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, I.TRIBUT_ORIGEM, I.TRIBUT_ICMS, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO) AS ICMS ON B.ID_NOTA = ICMS.ID_NOTA AND B.ID_ITEM = ICMS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, INDICA_PIS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 5 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA) AS PIS ON B.ID_NOTA = PIS.ID_NOTA AND B.ID_ITEM = PIS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, INDICA_COFINS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 6 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA) AS COFINS ON B.ID_NOTA = COFINS.ID_NOTA AND B.ID_ITEM = COFINS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, INDICA_ISS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 14 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA) AS ISS ON B.ID_NOTA = ISS.ID_NOTA AND B.ID_ITEM = ISS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, INDICA_IPI = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 2 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA) AS IPI ON B.ID_NOTA = IPI.ID_NOTA AND B.ID_ITEM = IPI.ID_ITEM INNER JOIN LCF_LX_CFOP LCFOP ON B.CFOP = LCFOP.CFOP /*#267#*/ WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM; /*#263#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- PROCESSO - NOTAS DE SAÍDA INSERT INTO #TEMP_PROCESSO_012347 (SK_MATRIZ_FISCAL, ID_NOTA, IND_OPER, CNPJ_ESTAB, COD_ESTAB, COD_PART, SERIE, NUM_DOC, LX_MODELO, INDICA_DOCUMENTO_NAO_FISCAL, CFOP, INDICA_ICMS, INDICA_IPI, INDICA_ISS, INDICA_PIS, INDICA_COFINS, ST_PIS, COD_ITEM, COD_NCM, EX_NCM, NUM_PROC, IND_PROC, BK_SERIE, ID_LCF_PROCESSO, /*#265#*/ ENTRADA_SAIDA, TIPO_OPERACAO) /*#267#*/ SELECT C.SK_MATRIZ_FISCAL, C.ID_NOTA, '1', FILIAL.CNPJ, FILIAL.BK_COD_TERCEIRO, TERC.BK_COD_TERCEIRO, CASE WHEN V.LX_MODELO_SAIDA = '55' THEN V.SERIE_SAIDA ELSE V.BK_SERIE END, /*#156#*/ RIGHT(C.NF_SAIDA,15), V.LX_MODELO_SAIDA, --#119# --SM.INDICA_DOCUMENTO_NAO_FISCAL, ISNULL(SM.INDICA_DOCUMENTO_NAO_FISCAL,0), B.CFOP, ICMS.INDICA_ICMS, IPI.INDICA_IPI, ISS.INDICA_ISS, PIS.INDICA_PIS, COFINS.INDICA_COFINS, PIS.SITUACAO_TRIBUTARIA, LEFT(CASE WHEN @INCLUIRORIGEMITEM = 1 AND L.LX_ORIGEM_ITEM > 1 THEN RTRIM(LTRIM(ISNULL(STR(L.LX_ORIGEM_ITEM), ''))) ELSE '' --#272#END + ISNULL(RTRIM(LTRIM(L.COD_ITEM_INVENTARIO)), RTRIM(LTRIM(L.BK_COD_ITEM))), 60), END + ISNULL(RTRIM(LTRIM(L.BK_COD_ITEM)), RTRIM(LTRIM(L.COD_ITEM_INVENTARIO))), 60), /*#272#*/ LEFT(N.COD_NCM, 8), /*#215#*/ ICMS.EXCECAO_CLASSIF_FISCAL, W.NUMERO_PROCESSO, /*#263#*/ W.TIPO_PROCESSO, V.BK_SERIE, W.ID_LCF_PROCESSO, /*#265#*/ NPC.ENTRADA_SAIDA, /*#265#*/ LCFOP.TIPO_OPERACAO /*#267#*/ FROM LCF_NOTA_SAIDA_ITEM AS B INNER JOIN #TEMP_NOTAS_APROPRIACAO_PIS_COFINS NPC ON B.ID_NOTA = NPC.ID_NOTA AND NPC.ENTRADA_SAIDA = 'S' INNER JOIN LCF_NOTA_SAIDA AS C ON B.ID_NOTA = C.ID_NOTA INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_TERCEIRO AS TERC ON C.SK_TERCEIRO = TERC.SK_TERCEIRO INNER JOIN LCF_ITEM AS L ON B.SK_ITEM = L.SK_ITEM INNER JOIN LCF_LX_NCM AS N ON L.ID_NCM = N.ID_NCM --#263#INNER JOIN LCF_NOTA_PROCESSO AS W --#263# ON C.ID_NOTA = W.ID_NOTA_SAIDA INNER JOIN LCF_PROCESSOS AS W /*#263#*/ ON W.ID_LCF_PROCESSO = FILIAL.ID_LCF_PROCESSO /*#263#*/ INNER JOIN LCF_SERIE AS V ON C.SK_SERIE = V.SK_SERIE INNER JOIN LCF_LX_SERIE_MODELO AS SM ON V.LX_MODELO_SAIDA = SM.LX_MODELO_SERIE LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, SITUACAO_TRIBUTARIA = ISNULL(RTRIM(LTRIM(I.TRIBUT_ORIGEM)) + RTRIM(LTRIM(I.TRIBUT_ICMS)), B.SITUACAO_TRIBUTARIA), B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO, INDICA_ICMS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_ITEM AS I ON A.ID_NOTA = I.ID_NOTA INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON I.ID_NOTA = B.ID_NOTA AND I.ID_ITEM = B.ID_ITEM WHERE B.ID_IMPOSTO = 1 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, I.TRIBUT_ORIGEM, I.TRIBUT_ICMS, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, B.EXCECAO_CLASSIF_FISCAL, B.COD_BC_CREDITO) AS ICMS ON B.ID_NOTA = ICMS.ID_NOTA AND B.ID_ITEM = ICMS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, INDICA_PIS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 5 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA) AS PIS ON B.ID_NOTA = PIS.ID_NOTA AND B.ID_ITEM = PIS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, INDICA_COFINS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 6 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA) AS COFINS ON B.ID_NOTA = COFINS.ID_NOTA AND B.ID_ITEM = COFINS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, INDICA_ISS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 14 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA) AS ISS ON B.ID_NOTA = ISS.ID_NOTA AND B.ID_ITEM = ISS.ID_ITEM LEFT JOIN (SELECT B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA, INDICA_IPI = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(B.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(B.VALOR_IMPOSTO), VALOR_ISENTO = SUM(B.VALOR_ISENTO), VALOR_OUTROS = SUM(B.VALOR_OUTROS) FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_SERIE AS C ON A.SK_SERIE = C.SK_SERIE INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON A.ID_NOTA = B.ID_NOTA WHERE B.ID_IMPOSTO = 2 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.SITUACAO_TRIBUTARIA, B.TAXA_IMPOSTO, B.NATUREZA_RECEITA) AS IPI ON B.ID_NOTA = IPI.ID_NOTA AND B.ID_ITEM = IPI.ID_ITEM INNER JOIN LCF_LX_CFOP LCFOP ON B.CFOP = LCFOP.CFOP /*#267#*/ WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM; /*#263#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- ECF IF (SELECT OBJECT_ID('TEMPDB..#TEMP_ECF_012347')) IS NOT NULL DROP TABLE #TEMP_ECF_012347 CREATE TABLE #TEMP_ECF_012347 ( SK_MATRIZ_FISCAL INT,-- SK_MATRIZ_FISCAL (CHAVE) COD_ESTAB VARCHAR(25) COLLATE DATABASE_DEFAULT,-- BK_COD_TERCEIRO NOME_ESTAB VARCHAR(90) COLLATE DATABASE_DEFAULT,-- RAZAO_SOCIAL CNPJ_ESTAB VARCHAR(14) COLLATE DATABASE_DEFAULT,-- CNPJ UF_ESTAB CHAR(2) COLLATE DATABASE_DEFAULT,-- UF IE_ESTAB VARCHAR(19) COLLATE DATABASE_DEFAULT,-- IE COD_MUN_ESTAB VARCHAR(10) COLLATE DATABASE_DEFAULT,-- COD_MUNICIPIO_IBGE IM_ESTAB VARCHAR(14) COLLATE DATABASE_DEFAULT,-- IM SUFRAMA_ESTAB CHAR(9) COLLATE DATABASE_DEFAULT,-- COD_SUFRAMA ID_REDUCAO INT,-- ID_REDUCAO (CHAVE) ID_ECF INT,-- ID_ECF (CHAVE) LX_MODELO VARCHAR(3) COLLATE DATABASE_DEFAULT,-- '2D' MODELO_ECF VARCHAR(50) COLLATE DATABASE_DEFAULT,-- MODELO SERIE_FAB_ECF VARCHAR(50) COLLATE DATABASE_DEFAULT,-- NR_SERIE TERMINAL VARCHAR(3) COLLATE DATABASE_DEFAULT,-- TERMINAL DATA_REDUCAO_Z DATETIME,-- DATA_FISCAL CRO INT,-- CRO CRZ INT,-- CRZ COO_FINAL INT,-- COO_FINAL --#22# --GT_FINAL CHAR(10),-- GT_FINAL GT_FINAL NUMERIC(17,2),-- GT_FINAL VALOR_BRUTO NUMERIC(16, 2),-- VENDA_BRUTA CFOP VARCHAR(4) COLLATE DATABASE_DEFAULT,-- CODIGO_FISCAL_OPERACAO COD_ITEM VARCHAR(60) COLLATE DATABASE_DEFAULT,-- '' DESC_ITEM VARCHAR(250) COLLATE DATABASE_DEFAULT,-- DESC_ITEM /*#248#*/ COD_BARRA VARCHAR(30) COLLATE DATABASE_DEFAULT,-- '' COD_ANT_ITEM VARCHAR(60) COLLATE DATABASE_DEFAULT,-- '' TIPO_ITEM VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_TIPO_SPED COD_NCM VARCHAR(10) COLLATE DATABASE_DEFAULT,-- COD_NCM EX_NCM VARCHAR(5) COLLATE DATABASE_DEFAULT,-- EXCECAO_CLASSIF_FISCAL COD_GENERO VARCHAR(2) COLLATE DATABASE_DEFAULT,-- COD_GENERO_SPED COD_LST VARCHAR(5) COLLATE DATABASE_DEFAULT,-- COD_SERVICO_TIPO_SPED COD_CLASS VARCHAR(4) COLLATE DATABASE_DEFAULT, /*#180#*/ LX_ORIGEM_ITEM TINYINT,-- LX_ORIGEM_ITEM ALIQ_ICMS_INTERNA NUMERIC(8, 5),-- ICMS_SAIDA OU ICMS_ENTRADA UNIDADE VARCHAR(5) COLLATE DATABASE_DEFAULT,-- UNIDADE DESC_UNIDADE VARCHAR(40) COLLATE DATABASE_DEFAULT,-- DESC_UNIDADE QTDE_ITEM NUMERIC(9, 3),-- QTDE VALOR_ITEM NUMERIC(16, 2),-- VALOR_ITEM INDICA_ICMS BIT,-- 0 ST_ICMS CHAR(3) COLLATE DATABASE_DEFAULT,-- '' VALOR_CONTABIL_ICMS NUMERIC(16, 2),-- VALOR_CONTABIL BASE_ICMS NUMERIC(16, 2),-- BASE_IMPOSTO ALIQUOTA_ICMS NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_ICMS NUMERIC(16, 2),-- VALOR_IMPOSTO VALOR_ICMS_ISENTO NUMERIC(16, 2),-- VALOR_ISENTO VALOR_ICMS_OUTROS NUMERIC(16, 2),-- VALOR_OUTROS NATUREZA_RECEITA_ICMS CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA INDICA_PIS BIT,-- 0 ST_PIS CHAR(3) COLLATE DATABASE_DEFAULT,-- '' VALOR_CONTABIL_PIS NUMERIC(16, 2),-- VALOR_CONTABIL BASE_PIS NUMERIC(16, 2),-- BASE_IMPOSTO ALIQUOTA_PIS NUMERIC(5, 2),-- TAXA_IMPOSTO VALOR_PIS NUMERIC(16, 2),-- VALOR_IMPOSTO VALOR_PIS_ISENTO NUMERIC(16, 2),-- VALOR_ISENTO VALOR_PIS_OUTROS NUMERIC(16, 2),-- VALOR_OUTROS NATUREZA_RECEITA_PIS CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA INDICA_COFINS BIT,-- 0 ST_COFINS CHAR(3) COLLATE DATABASE_DEFAULT,-- '' VALOR_CONTABIL_COFINS NUMERIC(16, 2),-- VALOR_CONTABIL BASE_COFINS NUMERIC(16, 2),-- BASE_IMPOSTO ALIQUOTA_COFINS NUMERIC(5, 2), -- TAXA_IMPOSTO VALOR_COFINS NUMERIC(16, 2),-- VALOR_IMPOSTO VALOR_COFINS_ISENTO NUMERIC(16, 2),-- VALOR_ISENTO VALOR_COFINS_OUTROS NUMERIC(16, 2),-- VALOR_OUTROS NATUREZA_RECEITA_COFINS CHAR(3) COLLATE DATABASE_DEFAULT,-- NATUREZA_RECEITA ECF SMALLINT, CONTA_CONTABIL VARCHAR(20) COLLATE DATABASE_DEFAULT, /*#223#*/ DESC_CONTA_CONTABIL VARCHAR(60) COLLATE DATABASE_DEFAULT, /*#223#*//*#270#*/ COD_NATUREZA_CONTA_CONTABIL VARCHAR(2) COLLATE DATABASE_DEFAULT, /*#223#*/ TIPO_CONTA_CONTABIL CHAR(1) COLLATE DATABASE_DEFAULT, /*#223#*/ NIVEL_CONTA_CONTABIL VARCHAR(5) COLLATE DATABASE_DEFAULT, /*#223#*/ COD_PLANO_CONTA_REF VARCHAR(60) COLLATE DATABASE_DEFAULT, /*#223#*/ CNPJ_ESTAB_CONTA_CONTABIL VARCHAR(14) COLLATE DATABASE_DEFAULT /*#223#*/, BASE_PIS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, TAXA_PIS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_PIS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_ICMS_PIS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, BASE_COFINS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, TAXA_COFINS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_COFINS_EXCLUSAO NUMERIC(16, 2) /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO NUMERIC(16, 2) /*#241#*/ ); --------------------------------------------------------------------------------------------------------------------------------------- INSERT INTO #TEMP_ECF_012347 (SK_MATRIZ_FISCAL, COD_ESTAB, NOME_ESTAB, CNPJ_ESTAB, UF_ESTAB, IE_ESTAB, COD_MUN_ESTAB, IM_ESTAB, SUFRAMA_ESTAB, ID_REDUCAO, ID_ECF, LX_MODELO, MODELO_ECF, SERIE_FAB_ECF, TERMINAL, DATA_REDUCAO_Z, CRO, CRZ, COO_FINAL, GT_FINAL, VALOR_BRUTO, CFOP, COD_ITEM, DESC_ITEM, COD_BARRA, COD_ANT_ITEM, TIPO_ITEM, COD_NCM, EX_NCM, COD_GENERO, COD_LST, COD_CLASS, /*#180#*/ LX_ORIGEM_ITEM, ALIQ_ICMS_INTERNA, UNIDADE, DESC_UNIDADE, QTDE_ITEM, VALOR_ITEM, INDICA_ICMS, ST_ICMS, VALOR_CONTABIL_ICMS, BASE_ICMS, ALIQUOTA_ICMS, VALOR_ICMS, VALOR_ICMS_ISENTO, VALOR_ICMS_OUTROS, NATUREZA_RECEITA_ICMS, --#19# INDICA_PIS, ST_PIS, VALOR_CONTABIL_PIS, BASE_PIS, ALIQUOTA_PIS, VALOR_PIS, VALOR_PIS_ISENTO, VALOR_PIS_OUTROS, NATUREZA_RECEITA_PIS, --#19# INDICA_COFINS, ST_COFINS, VALOR_CONTABIL_COFINS, BASE_COFINS, ALIQUOTA_COFINS, VALOR_COFINS, VALOR_COFINS_ISENTO, VALOR_COFINS_OUTROS, NATUREZA_RECEITA_COFINS, --#19# ECF, CONTA_CONTABIL, /*#223#*/ DESC_CONTA_CONTABIL, /*#223#*/ COD_NATUREZA_CONTA_CONTABIL, /*#223#*/ TIPO_CONTA_CONTABIL, /*#223#*/ NIVEL_CONTA_CONTABIL, /*#223#*/ COD_PLANO_CONTA_REF, /*#223#*/ CNPJ_ESTAB_CONTA_CONTABIL /*#223#*/, BASE_PIS_EXCLUSAO /*#241#*/, TAXA_PIS_EXCLUSAO /*#241#*/, VALOR_PIS_EXCLUSAO /*#241#*/, VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, BASE_COFINS_EXCLUSAO /*#241#*/, TAXA_COFINS_EXCLUSAO /*#241#*/, VALOR_COFINS_EXCLUSAO /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/) SELECT C.SK_MATRIZ_FISCAL, FILIAL.BK_COD_TERCEIRO, ISNULL(FILIAL_LOG.RAZAO_SOCIAL, FILIAL.RAZAO_SOCIAL), /*#133#*/ FILIAL.CNPJ, LUF.UF, ISNULL(FILIAL_LOG.IE, FILIAL.IE), /*#133#*/ LM.COD_MUNICIPIO_IBGE, ISNULL(FILIAL_LOG.IM, FILIAL.IM), /*#133#*/ FILIAL.COD_SUFRAMA, C.ID_REDUCAO, C.ID_ECF, '2D', D.MODELO, D.NR_SERIE, D.TERMINAL, C.DATA_FISCAL, C.CRO, C.CRZ, C.COO_FINAL, C.GT_FINAL, C.VENDA_BRUTA, B.CODIGO_FISCAL_OPERACAO, LEFT(CASE WHEN @INCLUIRORIGEMITEM = 1 AND F.LX_ORIGEM_ITEM > 1 THEN RTRIM(LTRIM(ISNULL(STR(F.LX_ORIGEM_ITEM), ''))) ELSE '' --#272#END + ISNULL(RTRIM(LTRIM(F.COD_ITEM_INVENTARIO)), RTRIM(LTRIM(F.BK_COD_ITEM))), 60), END + ISNULL(RTRIM(LTRIM(F.BK_COD_ITEM)), RTRIM(LTRIM(F.COD_ITEM_INVENTARIO))), 60), /*#272#*/ F.DESC_ITEM, '', '', M.COD_TIPO_SPED, LEFT(N.COD_NCM, 8), /*#215#*/ '', O.COD_GENERO_SPED, P.COD_SERVICO_TIPO_SPED, P2.COD_SERVICO_TIPO_SPED, /*#180#*/ F.LX_ORIGEM_ITEM, 0, K.UNIDADE, K.DESC_UNIDADE, B.QTDE, B.VALOR_ITEM, ICMS.INDICA_ICMS, ICMS.SITUACAO_TRIBUTARIA, ISNULL(ICMS.VALOR_CONTABIL, 0), ISNULL(ICMS.BASE_IMPOSTO, 0), ISNULL(ICMS.TAXA_IMPOSTO, 0), ISNULL(ICMS.VALOR_IMPOSTO, 0), ISNULL(ICMS.VALOR_ISENTO, 0), ISNULL(ICMS.VALOR_OUTROS, 0), ICMS.NATUREZA_RECEITA, --#19# ISNULL(PIS.INDICA_PIS, 1), CASE WHEN PIS.INDICA_PIS IS NULL THEN '49' ELSE PIS.SITUACAO_TRIBUTARIA END, ISNULL(PIS.VALOR_CONTABIL, 0), ISNULL(PIS.BASE_IMPOSTO, 0), ISNULL(PIS.TAXA_IMPOSTO, 0), ISNULL(PIS.VALOR_IMPOSTO, 0), ISNULL(PIS.VALOR_ISENTO, 0), ISNULL(PIS.VALOR_OUTROS, 0), PIS.NATUREZA_RECEITA, --#19# ISNULL(COFINS.INDICA_COFINS, 1), CASE WHEN COFINS.SITUACAO_TRIBUTARIA IS NULL THEN '49' ELSE COFINS.SITUACAO_TRIBUTARIA END, ISNULL(COFINS.VALOR_CONTABIL, 0), ISNULL(COFINS.BASE_IMPOSTO, 0), ISNULL(COFINS.TAXA_IMPOSTO, 0), ISNULL(COFINS.VALOR_IMPOSTO, 0), ISNULL(COFINS.VALOR_ISENTO, 0), ISNULL(COFINS.VALOR_OUTROS, 0), COFINS.NATUREZA_RECEITA, --#19# D.ECF, RTRIM(LTRIM(ISNULL(AA.BK_CLASSIFICACAO, ''))), /*#223#*/ AA.DESC_VISAO_CLASSIF, /*#223#*/ AA.COD_NATUREZA_CONTA, /*#223#*/ CASE /*#223#*/ WHEN AA.INDICA_SINTETICA = 1 THEN 'S' /*#223#*/ ELSE 'A' /*#223#*/ END, /*#223#*/ AB.NIVEL_CONTA, /*#223#*/ '', /*#223#*/ '' /*#223#*/, BASE_PIS_EXCLUSAO = ISNULL(PIS.BASE_PIS_EXCLUSAO, 0) /*#241#*/, TAXA_PIS_EXCLUSAO = ISNULL(PIS.TAXA_PIS_EXCLUSAO, 0) /*#241#*/, VALOR_PIS_EXCLUSAO = ISNULL(PIS.VALOR_PIS_EXCLUSAO, 0) /*#241#*/, VALOR_ICMS_PIS_EXCLUSAO = ISNULL(PIS.VALOR_ICMS_PIS_EXCLUSAO, 0) /*#241#*/, BASE_COFINS_EXCLUSAO = ISNULL(COFINS.BASE_COFINS_EXCLUSAO, 0) /*#241#*/, TAXA_COFINS_EXCLUSAO = ISNULL(COFINS.TAXA_COFINS_EXCLUSAO, 0) /*#241#*/, VALOR_COFINS_EXCLUSAO = ISNULL(COFINS.VALOR_COFINS_EXCLUSAO, 0) /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO = ISNULL(COFINS.VALOR_ICMS_COFINS_EXCLUSAO, 0) /*#241#*/ FROM LCF_REDUCAO_ITEM AS B INNER JOIN LCF_REDUCAO_CUPOM AS CUPOM ON B.ID_REDUCAO = CUPOM.ID_REDUCAO AND B.ID_CUPOM = CUPOM.ID_CUPOM INNER JOIN LCF_REDUCAO AS C ON CUPOM.ID_REDUCAO = C.ID_REDUCAO INNER JOIN LCF_ECF AS D ON C.ID_ECF = D.ID_ECF --INNER JOIN LCF_REDUCAO_MAPA_RESUMO AS E ON C.ID_REDUCAO = E.ID_REDUCAO INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG /*#171#*/ ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO /*#133#*/ LEFT JOIN LCF_LX_MUNICIPIO AS LM ON ISNULL(FILIAL_LOG.ID_MUNICIPIO, FILIAL.ID_MUNICIPIO) = LM.ID_MUNICIPIO LEFT JOIN LCF_LX_UF AS LUF ON LM.ID_UF = LUF.ID_UF LEFT JOIN LCF_LX_PAIS AS G ON LUF.ID_PAIS = G.ID_PAIS INNER JOIN LCF_ITEM AS F ON B.SK_ITEM = F.SK_ITEM LEFT JOIN LCF_UNIDADE AS K ON F.ID_UNIDADE = K.ID_UNIDADE LEFT JOIN LCF_LX_ITEM_TIPO AS M ON F.ID_TIPO_ITEM = M.ID_TIPO_ITEM LEFT JOIN LCF_LX_NCM AS N ON F.ID_NCM = N.ID_NCM LEFT JOIN LCF_LX_ITEM_GENERO AS O ON F.ID_GENERO_ITEM = O.ID_GENERO_ITEM LEFT JOIN LCF_LX_TIPO_SERVICO AS P ON F.ID_SERVICO_TIPO = P.ID_SERVICO_TIPO AND P.TABELA_SPED = 'LEI COMPLEMENTAR 116/03' /*#180#*/ /*#180#*/ LEFT JOIN DBO.LCF_LX_TIPO_SERVICO AS P2 ON F.ID_SERVICO_TIPO = P2.ID_SERVICO_TIPO AND P2.TABELA_SPED = '4.4.1' LEFT JOIN (SELECT A.ID_REDUCAO, A.ID_CUPOM, A.ID_ITEM, SITUACAO_TRIBUTARIA = ISNULL(A.SITUACAO_TRIBUTARIA, '01'), A.NATUREZA_RECEITA, --#19# A.TAXA_IMPOSTO, INDICA_ICMS = 1, VALOR_CONTABIL = SUM(A.VALOR_CONTABIL), --#DANIEL# BASE_IMPOSTO = SUM(A.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(A.VALOR_IMPOSTO), VALOR_ISENTO = SUM(A.VALOR_ISENTO), VALOR_OUTROS = SUM(A.VALOR_OUTROS) FROM LCF_REDUCAO_IMPOSTO AS A INNER JOIN LCF_REDUCAO AS B ON A.ID_REDUCAO = B.ID_REDUCAO INNER JOIN LCF_TERCEIRO AS FILIAL ON B.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO WHERE A.ID_IMPOSTO = 1 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND B.DATA_FISCAL BETWEEN @DATA_INI AND @DATA_FIM GROUP BY A.ID_REDUCAO, A.ID_CUPOM, A.ID_ITEM, A.TAXA_IMPOSTO, ISNULL(A.SITUACAO_TRIBUTARIA, '01'), A.COD_CONTRIBUICAO_SOCIAL_APURADA, A.TIPO_CREDITO, A.NATUREZA_RECEITA, A.EXCECAO_CLASSIF_FISCAL) AS ICMS ON B.ID_REDUCAO = ICMS.ID_REDUCAO AND B.ID_CUPOM = ICMS.ID_CUPOM AND B.ID_ITEM = ICMS.ID_ITEM LEFT JOIN (SELECT A.ID_REDUCAO, A.ID_CUPOM, A.ID_ITEM, --#113#SITUACAO_TRIBUTARIA = ISNULL(A.SITUACAO_TRIBUTARIA, '01'), SITUACAO_TRIBUTARIA = CASE WHEN A.SITUACAO_TRIBUTARIA = '' THEN '01' ELSE ISNULL(A.SITUACAO_TRIBUTARIA, '01')END, A.NATUREZA_RECEITA, --#19# A.TAXA_IMPOSTO, INDICA_PIS = 1, VALOR_CONTABIL = SUM(A.VALOR_CONTABIL), -- #DANIEL# BASE_IMPOSTO = SUM(A.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(A.VALOR_IMPOSTO), VALOR_ISENTO = SUM(A.VALOR_ISENTO), VALOR_OUTROS = SUM(A.VALOR_OUTROS), BASE_PIS_EXCLUSAO = SUM(A.BASE_IMPOSTO_EXCLUSAO) /*#241#*/, TAXA_PIS_EXCLUSAO = A.TAXA_IMPOSTO_EXCLUSAO /*#241#*/, VALOR_PIS_EXCLUSAO = SUM(A.VALOR_IMPOSTO_EXCLUSAO) /*#241#*/, VALOR_ICMS_PIS_EXCLUSAO = SUM(A.VALOR_ICMS_EXCLUSAO) /*#241#*/ FROM LCF_REDUCAO_IMPOSTO AS A INNER JOIN LCF_REDUCAO AS B ON A.ID_REDUCAO = B.ID_REDUCAO INNER JOIN LCF_TERCEIRO AS FILIAL ON B.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO WHERE A.ID_IMPOSTO = 5 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND B.DATA_FISCAL BETWEEN @DATA_INI AND @DATA_FIM GROUP BY A.ID_REDUCAO, A.ID_CUPOM, A.ID_ITEM, A.TAXA_IMPOSTO, --ISNULL(A.SITUACAO_TRIBUTARIA, '01'), --#113# A.SITUACAO_TRIBUTARIA, A.COD_CONTRIBUICAO_SOCIAL_APURADA, A.TIPO_CREDITO, A.NATUREZA_RECEITA, A.EXCECAO_CLASSIF_FISCAL, A.TAXA_IMPOSTO_EXCLUSAO /*#241#*/) AS PIS ON B.ID_REDUCAO = PIS.ID_REDUCAO AND B.ID_CUPOM = PIS.ID_CUPOM AND B.ID_ITEM = PIS.ID_ITEM LEFT JOIN (SELECT A.ID_REDUCAO, A.ID_CUPOM, A.ID_ITEM, --#113#SITUACAO_TRIBUTARIA = ISNULL(A.SITUACAO_TRIBUTARIA, '01'), SITUACAO_TRIBUTARIA = CASE WHEN A.SITUACAO_TRIBUTARIA = '' THEN '01' ELSE ISNULL(A.SITUACAO_TRIBUTARIA, '01')END, A.NATUREZA_RECEITA, --#19# A.TAXA_IMPOSTO, INDICA_COFINS = 1, VALOR_CONTABIL = SUM(A.VALOR_CONTABIL), --#DANIEL# BASE_IMPOSTO = SUM(A.BASE_IMPOSTO), VALOR_IMPOSTO = SUM(A.VALOR_IMPOSTO), VALOR_ISENTO = SUM(A.VALOR_ISENTO), VALOR_OUTROS = SUM(A.VALOR_OUTROS), BASE_COFINS_EXCLUSAO = SUM(A.BASE_IMPOSTO_EXCLUSAO) /*#241#*/, TAXA_COFINS_EXCLUSAO = A.TAXA_IMPOSTO_EXCLUSAO /*#241#*/, VALOR_COFINS_EXCLUSAO = SUM(A.VALOR_IMPOSTO_EXCLUSAO) /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO = SUM(A.VALOR_ICMS_EXCLUSAO) /*#241#*/ FROM LCF_REDUCAO_IMPOSTO AS A INNER JOIN LCF_REDUCAO AS B ON A.ID_REDUCAO = B.ID_REDUCAO INNER JOIN LCF_TERCEIRO AS FILIAL ON B.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO WHERE A.ID_IMPOSTO = 6 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND B.DATA_FISCAL BETWEEN @DATA_INI AND @DATA_FIM GROUP BY A.ID_REDUCAO, A.ID_CUPOM, A.ID_ITEM, A.TAXA_IMPOSTO, A.SITUACAO_TRIBUTARIA,--#113# A.COD_CONTRIBUICAO_SOCIAL_APURADA, A.TIPO_CREDITO, A.NATUREZA_RECEITA, A.EXCECAO_CLASSIF_FISCAL, A.TAXA_IMPOSTO_EXCLUSAO /*#241#*/) AS COFINS ON B.ID_REDUCAO = COFINS.ID_REDUCAO AND B.ID_CUPOM = COFINS.ID_CUPOM AND B.ID_ITEM = COFINS.ID_ITEM /*#223#*/ LEFT JOIN LCF_CONTA AS Y ON B.ID_CONTA = Y.ID_CONTA LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL /*#234#*/ LEFT JOIN LCF_VISAO_CLASSIF AS AA ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.DATA_FISCAL BETWEEN @DATA_INI AND @DATA_FIM; IF (SELECT OBJECT_ID('TEMPDB..#TEMP_MOV_PERIODO_IMPOSTO')) IS NOT NULL DROP TABLE #TEMP_MOV_PERIODO_IMPOSTO CREATE TABLE #TEMP_MOV_PERIODO_IMPOSTO ( SK_MATRIZ_FISCAL INT, COD_ESTAB VARCHAR(25) COLLATE DATABASE_DEFAULT, NOME_ESTAB VARCHAR(90) COLLATE DATABASE_DEFAULT, CNPJ_ESTAB VARCHAR(14) COLLATE DATABASE_DEFAULT, UF_ESTAB CHAR(2) COLLATE DATABASE_DEFAULT, -- UF IE_ESTAB VARCHAR(19) COLLATE DATABASE_DEFAULT,-- IE COD_MUN_ESTAB VARCHAR(10) COLLATE DATABASE_DEFAULT,-- COD_MUNICIPIO_IBGE IM_ESTAB VARCHAR(14) COLLATE DATABASE_DEFAULT,-- IM SUFRAMA_ESTAB CHAR(9) COLLATE DATABASE_DEFAULT, -- COD_SUFRAMA PJ_PF_ESTAB BIT, -- PJ_PF INDICA_APURACAO_IPI BIT, -- INDICA_IPI_DECENDIAL COD_BC_CREDITO VARCHAR(2) COLLATE DATABASE_DEFAULT, IDENT_IMOB VARCHAR(2) COLLATE DATABASE_DEFAULT, ORIGEM_CREDITO CHAR(1) COLLATE DATABASE_DEFAULT, IDENT_UTILIZACAO_IMOB CHAR(1) COLLATE DATABASE_DEFAULT, VALOR_DEPRECIACAO NUMERIC(19, 2), CST_PIS VARCHAR(2) COLLATE DATABASE_DEFAULT, VALOR_BASE_PIS NUMERIC(19, 2), ALIQUOTA_PIS NUMERIC(5, 2), VALOR_PIS NUMERIC(19, 2), CST_COFINS VARCHAR(2) COLLATE DATABASE_DEFAULT, VALOR_BASE_COFINS NUMERIC(19, 2), ALIQUOTA_COFINS NUMERIC(5, 2), VALOR_COFINS NUMERIC(19, 2), GERACAO_CREDITO_PIS_COFINS CHAR(1) COLLATE DATABASE_DEFAULT, IND_NR_PARC CHAR(1) COLLATE DATABASE_DEFAULT, MES_ANO_AQUISICAO VARCHAR(6) COLLATE DATABASE_DEFAULT, CONTA_CONTABIL VARCHAR(20) COLLATE DATABASE_DEFAULT, /*#223#*/ DESC_CONTA_CONTABIL VARCHAR(60) COLLATE DATABASE_DEFAULT, /*#223#*//*#270#*/ COD_NATUREZA_CONTA_CONTABIL VARCHAR(2) COLLATE DATABASE_DEFAULT, /*#223#*/ TIPO_CONTA_CONTABIL CHAR(1) COLLATE DATABASE_DEFAULT, /*#223#*/ NIVEL_CONTA_CONTABIL VARCHAR(5) COLLATE DATABASE_DEFAULT, /*#223#*/ COD_PLANO_CONTA_REF VARCHAR(60) COLLATE DATABASE_DEFAULT, /*#223#*/ CNPJ_ESTAB_CONTA_CONTABIL VARCHAR(14) COLLATE DATABASE_DEFAULT /*#223#*/ ); INSERT INTO #TEMP_MOV_PERIODO_IMPOSTO (SK_MATRIZ_FISCAL, COD_ESTAB, NOME_ESTAB, CNPJ_ESTAB, UF_ESTAB, IE_ESTAB, COD_MUN_ESTAB, IM_ESTAB, SUFRAMA_ESTAB, PJ_PF_ESTAB, INDICA_APURACAO_IPI, COD_BC_CREDITO, IDENT_IMOB, ORIGEM_CREDITO, IDENT_UTILIZACAO_IMOB, VALOR_DEPRECIACAO, CST_PIS, VALOR_BASE_PIS, ALIQUOTA_PIS, VALOR_PIS, CST_COFINS, VALOR_BASE_COFINS, ALIQUOTA_COFINS, VALOR_COFINS, GERACAO_CREDITO_PIS_COFINS, IND_NR_PARC, A.MES_ANO_AQUISICAO, CONTA_CONTABIL, /*#223#*/ DESC_CONTA_CONTABIL, /*#223#*/ COD_NATUREZA_CONTA_CONTABIL, /*#223#*/ TIPO_CONTA_CONTABIL, /*#223#*/ NIVEL_CONTA_CONTABIL, /*#223#*/ COD_PLANO_CONTA_REF, /*#223#*/ CNPJ_ESTAB_CONTA_CONTABIL /*#223#*/) SELECT FILIAL.SK_TERCEIRO, FILIAL.BK_COD_TERCEIRO, ISNULL(FILIAL_LOG.RAZAO_SOCIAL, FILIAL.RAZAO_SOCIAL), /*#133#*/ FILIAL.CNPJ, F.UF, ISNULL(FILIAL_LOG.IE, FILIAL.IE), /*#133#*/ E.COD_MUNICIPIO_IBGE, ISNULL(FILIAL_LOG.IM, FILIAL.IM), /*#133#*/ FILIAL.COD_SUFRAMA, FILIAL.PJ_PF, FILIAL.INDICA_IPI_DECENDIAL, COD_BC_CREDITO, IDENT_IMOB, ORIGEM_CREDITO, IDENT_UTILIZACAO_IMOB, VALOR_DEPRECIACAO, CST_PIS, VALOR_BASE_PIS, ALIQUOTA_PIS, /*VALOR_PIS,#105#*/ ((VALOR_BASE_PIS*ALIQUOTA_PIS)/100) as VALOR_PIS, CST_COFINS, VALOR_BASE_COFINS, ALIQUOTA_COFINS, /*VALOR_COFINS,#105#*/ ((VALOR_BASE_COFINS*ALIQUOTA_COFINS)/100) as VALOR_COFINS, GERACAO_CREDITO_PIS_COFINS, IND_NR_PARC, A.MES_ANO_AQUISICAO, RTRIM(LTRIM(ISNULL(AA.BK_CLASSIFICACAO, ''))) AS CONTA_CONTABIL, /*#223#*/ AA.DESC_VISAO_CLASSIF, /*#223#*/ AA.COD_NATUREZA_CONTA, /*#223#*/ CASE /*#223#*/ WHEN AA.INDICA_SINTETICA = 1 THEN 'S' /*#223#*/ ELSE 'A' /*#223#*/ END, /*#223#*/ AB.NIVEL_CONTA, /*#223#*/ '', /*#223#*/ '' /*#223#*/ FROM DBO.LCF_ATIVO_MOVIMENTO_PERIODO_IMPOSTO AS A INNER JOIN DBO.LCF_CAD_ATIVO B ON A.ID_CAD_ATIVO = B.ID_CAD_ATIVO INNER JOIN DBO.LCF_TERCEIRO FILIAL ON B.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG /*#171#*/ ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO /*#133#*/ LEFT JOIN DBO.LCF_LX_MUNICIPIO AS E ON ISNULL(FILIAL_LOG.ID_MUNICIPIO, FILIAL.ID_MUNICIPIO) = E.ID_MUNICIPIO LEFT JOIN DBO.LCF_LX_UF AS F ON E.ID_UF = F.ID_UF /*#223#*/ LEFT JOIN LCF_CONTA AS Y ON Y.ID_CONTA = B.ID_CONTA_CONTABIL LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL /*#234#*/ LEFT JOIN LCF_VISAO_CLASSIF AS AA ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF WHERE CONVERT(CHAR(6), @DATA_INI, 112) = A.PERIODO_ANO_MES AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ /*#152#*/ SELECT @CODIGOMATRIZ_ANT = @CODIGOMATRIZ, @DATA_INI_ANT = @DATA_INI, @DATA_FIM_ANT = @DATA_FIM; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- CRIAÇÃO DE TEMP DE APURAÇÃO PARA BLOCO M --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- IF (SELECT OBJECT_ID('TEMPDB..#TEMP_APURA_BLOCOM')) IS NOT NULL BEGIN DROP TABLE #TEMP_APURA_BLOCOM END SELECT LA.ID_APURACAO ,LA.SK_MATRIZ_FISCAL,ID_IMPOSTO,LA.DATA_INICIAL,LA.DATA_FINAL,UF_APURACAO,LAI.ID_ITEM, CFOP, VALOR_ITEM,LAI.ID_SUB_ITEM,LAI.LX_COD_APURACAO,BK_SUB_ITEM,COD_AJ_NF_SPED,COD_AJ_APURACAO_SPED, DESC_SUB_ITEM,SUB_ITEM_APURACAO, LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA, LSIA.COD_BC_CREDITO, TIPO_AJUSTE_PIS_COFINS, TIPO_CREDITO,LSIM.ID_SUB_ITEM_MOV,LSIM.BK_LANCAMENTO,LSIM.BK_ITEM ,VALOR_MOV,DATA_MOV,BASE_MOV,TAXA_MOV, ID_SUB_ITEM_MOV_NF,ID_NOTA_ENTRADA,ID_NOTA_SAIDA,SK_ITEM,VALOR_IMPOSTO,LNE.ID_NOTA AS ID_NOTA_ENT, LNE.SK_TERCEIRO,LNE.SK_TRANSPORTADOR AS SK_TRANSPORTADOR_ENTRADA,NF_SAIDA,NF_SAIDA_FINAL,LNE.EMISSAO AS EMISSAO_ENTRADA, CNPJ_CPF_INFORMATIVO,DATA_SAIDA,LNE.NOTA_CANCELADA AS NOTA_CANCELADA_ENTRADA,LNE.DATA_CANCELAMENTO,LNE.VALOR_CANCELADO, TIPO_FRETE,LNE.NOTA_COMPLEMENTAR AS NOTA_COMPLEMENTAR_ENTRADA,LNE.TIPO_PGTO,TERMINAL,LNS.ORIGEM_DOCUMENTO,LNS.CHAVE_NFE, VOLUMES,LNS.SK_SERIE,LNS.AIDF,LNS.ID_NATUREZA,LNS.ID_LX_SITUACAO_NOTA,LNS.BK_LANCAMENTO as BK_LANCAMENTO_SAIDA, LNS.BK_ITEM AS BK_ITEM_SAIDA,LNS.PESO_BRUTO_TOTAL,LNS.PESO_LIQUIDO_TOTAL,LNS.ID_OBS,LNS.ID_NOTA, LNS.SK_TERCEIRO AS SK_TERCEIRO_SAIDA,LNS.SK_TRANSPORTADOR,NF_ENTRADA,LNS.EMISSAO,RECEBIMENTO,LNS.NOTA_CANCELADA, NUMERO_MENSAL,LNS.NOTA_COMPLEMENTAR, FRETE_A_PAGAR,NF_PROPRIA_EMITIDA INTO #TEMP_APURA_BLOCOM FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE LA.ID_IMPOSTO IN /*#72#*/ (5, 6, 17, 18) /*( 5,6 )*/ AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- CRIAÇÃO DE TEMP DE APURAÇÃO PARA BLOCO P --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- IF (SELECT OBJECT_ID('TEMPDB..#TEMP_BLOCOP')) IS NOT NULL BEGIN DROP TABLE #TEMP_BLOCOP END -- #21# SELECT A.TIPO, A.CNPJ_ESTAB, A.VALOR_DOC, A.CODIGO_CONTRIBUICAO_RECEITA_BRUTA, A.ALIQUOTA_CP_INSS, A.COD_CONTA_CONTABIL, VALOR_IMPOSTO = CONVERT(NUMERIC(19,2), A.VALOR_DOC * (A.ALIQUOTA_CP_INSS / 100)), --#31# A.SK_MATRIZ_FISCAL, /*#223#*/ A.CONTA_CONTABIL, A.DESC_CONTA_CONTABIL, A.COD_NATUREZA_CONTA_CONTABIL, A.TIPO_CONTA_CONTABIL, A.NIVEL_CONTA_CONTABIL, A.COD_PLANO_CONTA_REF, A.CNPJ_ESTAB_CONTA_CONTABIL INTO #TEMP_BLOCOP FROM ( SELECT 'RS' AS TIPO, FILIAL.CNPJ AS CNPJ_ESTAB, --CP_INSS.VALOR_CONTABIL AS VALOR_DOC, CP_INSS.BASE_IMPOSTO AS VALOR_DOC, N.CODIGO_CONTRIBUICAO_RECEITA_BRUTA AS CODIGO_CONTRIBUICAO_RECEITA_BRUTA, CP_INSS.TAXA_IMPOSTO AS ALIQUOTA_CP_INSS, AA.BK_CLASSIFICACAO AS COD_CONTA_CONTABIL, FILIAL.SK_TERCEIRO AS SK_MATRIZ_FISCAL, RTRIM(LTRIM(ISNULL(AA.BK_CLASSIFICACAO, CAST('' AS VARCHAR(20))))) AS CONTA_CONTABIL, /*#223#*/ AA.DESC_VISAO_CLASSIF AS DESC_CONTA_CONTABIL, /*#223#*/ AA.COD_NATUREZA_CONTA AS COD_NATUREZA_CONTA_CONTABIL, /*#223#*/ CASE /*#223#*/ WHEN AA.INDICA_SINTETICA = 1 THEN 'S' /*#223#*/ ELSE 'A' /*#223#*/ END AS TIPO_CONTA_CONTABIL, /*#223#*/ AB.NIVEL_CONTA AS NIVEL_CONTA_CONTABIL, /*#223#*/ '' AS COD_PLANO_CONTA_REF, /*#223#*/ '' AS CNPJ_ESTAB_CONTA_CONTABIL /*#223#*/ FROM LCF_NOTA_SAIDA_ITEM AS B INNER JOIN LCF_NOTA_SAIDA AS C ON B.ID_NOTA = C.ID_NOTA INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN LCF_ITEM AS L ON B.SK_ITEM = L.SK_ITEM LEFT JOIN LCF_LX_NCM AS N ON L.ID_NCM = N.ID_NCM LEFT JOIN LCF_CONTA AS Y ON B.ID_CONTA = Y.ID_CONTA LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL /*#234#*/ LEFT JOIN LCF_VISAO_CLASSIF AS AA ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF INNER JOIN (SELECT B.ID_NOTA, -- #26# B.ID_ITEM, B.TAXA_IMPOSTO, INDICA_CP_INSS = 1, --VALOR_CONTABIL = SUM(B.VALOR_CONTABIL) #38# BASE_IMPOSTO = SUM(B.BASE_IMPOSTO) FROM LCF_NOTA_SAIDA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_NOTA_SAIDA_ITEM AS I ON A.ID_NOTA = I.ID_NOTA INNER JOIN LCF_NOTA_SAIDA_IMPOSTO AS B ON I.ID_NOTA = B.ID_NOTA AND I.ID_ITEM = B.ID_ITEM WHERE B.ID_IMPOSTO = 62 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND A.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO) AS CP_INSS ON B.ID_NOTA = CP_INSS.ID_NOTA AND B.ID_ITEM = CP_INSS.ID_ITEM WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM UNION ALL SELECT 'RE' AS TIPO, FILIAL.CNPJ AS CNPJ_ESTAB, --CP_INSS.VALOR_CONTABIL AS VALOR_DOC, #38# CP_INSS.BASE_IMPOSTO AS VALOR_DOC, N.CODIGO_CONTRIBUICAO_RECEITA_BRUTA AS CODIGO_CONTRIBUICAO_RECEITA_BRUTA, CP_INSS.TAXA_IMPOSTO AS ALIQUOTA_CP_INSS, AA.BK_CLASSIFICACAO AS COD_CONTA_CONTABIL, FILIAL.SK_TERCEIRO AS SK_MATRIZ_FISCAL, RTRIM(LTRIM(ISNULL(AA.BK_CLASSIFICACAO, CAST('' AS VARCHAR(20))))) AS CONTA_CONTABIL, /*#223#*/ AA.DESC_VISAO_CLASSIF AS DESC_CONTA_CONTABIL, /*#223#*/ AA.COD_NATUREZA_CONTA AS COD_NATUREZA_CONTA_CONTABIL, /*#223#*/ CASE /*#223#*/ WHEN AA.INDICA_SINTETICA = 1 THEN 'S' /*#223#*/ ELSE 'A' /*#223#*/ END AS TIPO_CONTA_CONTABIL, /*#223#*/ AB.NIVEL_CONTA AS NIVEL_CONTA_CONTABIL, /*#223#*/ '' AS COD_PLANO_CONTA_REF, /*#223#*/ '' AS CNPJ_ESTAB_CONTA_CONTABIL /*#223#*/ FROM LCF_NOTA_ENTRADA_ITEM AS B INNER JOIN LCF_NOTA_ENTRADA AS C ON B.ID_NOTA = C.ID_NOTA INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN LCF_ITEM AS L ON B.SK_ITEM = L.SK_ITEM LEFT JOIN LCF_LX_NCM AS N ON L.ID_NCM = N.ID_NCM LEFT JOIN LCF_CONTA AS Y ON B.ID_CONTA = Y.ID_CONTA LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL /*#234#*/ LEFT JOIN LCF_VISAO_CLASSIF AS AA ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF INNER JOIN (SELECT B.ID_NOTA,-- #26# B.ID_ITEM, B.TAXA_IMPOSTO, INDICA_CP_INSS = 1, --VALOR_CONTABIL = SUM(B.VALOR_CONTABIL) #38# BASE_IMPOSTO = SUM(B.BASE_IMPOSTO) FROM LCF_NOTA_ENTRADA AS A INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_NOTA_ENTRADA_ITEM AS I ON A.ID_NOTA = I.ID_NOTA INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO AS B ON I.ID_NOTA = B.ID_NOTA AND I.ID_ITEM = B.ID_ITEM WHERE B.ID_IMPOSTO = 62 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ --AND A.EMISSAO BETWEEN @DATA_INI #30# AND A.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_NOTA, B.ID_ITEM, B.TAXA_IMPOSTO) AS CP_INSS ON B.ID_NOTA = CP_INSS.ID_NOTA AND B.ID_ITEM = CP_INSS.ID_ITEM WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM AND B.CFOP IN (SELECT CFOP FROM LCF_LX_CFOP WHERE LEFT(CFOP, 1) IN ('1', '2', '3') AND TIPO_OPERACAO = 'D') UNION ALL SELECT 'LS' AS TIPO, FILIAL.CNPJ AS CNPJ_ESTAB, --CP_INSS.VALOR_CONTABIL AS VALOR_DOC, #46# CP_INSS.BASE_IMPOSTO AS VALOR_DOC , N.CODIGO_CONTRIBUICAO_RECEITA_BRUTA AS CODIGO_CONTRIBUICAO_RECEITA_BRUTA, CP_INSS.TAXA_IMPOSTO AS ALIQUOTA_CP_INSS, CAST('' AS VARCHAR(20)) AS COD_CONTA_CONTABIL, FILIAL.SK_TERCEIRO AS SK_MATRIZ_FISCAL, RTRIM(LTRIM(ISNULL(AA.BK_CLASSIFICACAO, CAST('' AS VARCHAR(20))))) AS CONTA_CONTABIL, /*#223#*/ AA.DESC_VISAO_CLASSIF AS DESC_CONTA_CONTABIL, /*#223#*/ AA.COD_NATUREZA_CONTA AS COD_NATUREZA_CONTA_CONTABIL, /*#223#*/ CASE /*#223#*/ WHEN AA.INDICA_SINTETICA = 1 THEN 'S' /*#223#*/ ELSE 'A' /*#223#*/ END AS TIPO_CONTA_CONTABIL, /*#223#*/ AB.NIVEL_CONTA AS NIVEL_CONTA_CONTABIL, /*#223#*/ '' AS COD_PLANO_CONTA_REF, /*#223#*/ '' AS CNPJ_ESTAB_CONTA_CONTABIL /*#223#*/ FROM LCF_REDUCAO_ITEM AS B INNER JOIN LCF_REDUCAO AS C ON B.ID_REDUCAO = C.ID_REDUCAO INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_ITEM AS F ON B.SK_ITEM = F.SK_ITEM LEFT JOIN LCF_LX_NCM AS N ON F.ID_NCM = N.ID_NCM INNER JOIN (SELECT A.ID_REDUCAO,-- #26# A.ID_CUPOM, A.ID_ITEM, A.TAXA_IMPOSTO, INDICA_CP_INSS = 1, VALOR_CONTABIL = SUM(B.VALOR_CONTABIL), BASE_IMPOSTO = SUM(A.BASE_IMPOSTO) -- #46# FROM LCF_REDUCAO_IMPOSTO AS A INNER JOIN LCF_REDUCAO AS B ON A.ID_REDUCAO = B.ID_REDUCAO INNER JOIN LCF_TERCEIRO AS FILIAL ON B.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO WHERE A.ID_IMPOSTO = 62 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND B.DATA_FISCAL BETWEEN @DATA_INI AND @DATA_FIM GROUP BY A.ID_REDUCAO, A.ID_CUPOM, A.ID_ITEM, A.TAXA_IMPOSTO) AS CP_INSS --#46# ON B.ID_REDUCAO = CP_INSS.ID_REDUCAO AND B.ID_CUPOM = CP_INSS.ID_CUPOM AND B.ID_ITEM = CP_INSS.ID_ITEM LEFT JOIN LCF_CONTA AS Y ON B.ID_CONTA = Y.ID_CONTA LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL /*#234#*/ LEFT JOIN LCF_VISAO_CLASSIF AS AA ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND C.DATA_FISCAL BETWEEN @DATA_INI AND @DATA_FIM /*#207#*/ UNION ALL SELECT 'LS' AS TIPO, FILIAL.CNPJ AS CNPJ_ESTAB, CP_INSS.BASE_IMPOSTO AS VALOR_DOC , N.CODIGO_CONTRIBUICAO_RECEITA_BRUTA AS CODIGO_CONTRIBUICAO_RECEITA_BRUTA, CP_INSS.TAXA_IMPOSTO AS ALIQUOTA_CP_INSS, CAST('' AS VARCHAR(20)) AS COD_CONTA_CONTABIL, FILIAL.SK_TERCEIRO AS SK_MATRIZ_FISCAL, RTRIM(LTRIM(ISNULL(AA.BK_CLASSIFICACAO, CAST('' AS VARCHAR(20))))) AS CONTA_CONTABIL, /*#223#*/ AA.DESC_VISAO_CLASSIF AS DESC_CONTA_CONTABIL, /*#223#*/ AA.COD_NATUREZA_CONTA AS COD_NATUREZA_CONTA_CONTABIL, /*#223#*/ CASE /*#223#*/ WHEN AA.INDICA_SINTETICA = 1 THEN 'S' /*#223#*/ ELSE 'A' /*#223#*/ END AS TIPO_CONTA_CONTABIL, /*#223#*/ AB.NIVEL_CONTA AS NIVEL_CONTA_CONTABIL, /*#223#*/ '' AS COD_PLANO_CONTA_REF, /*#223#*/ '' AS CNPJ_ESTAB_CONTA_CONTABIL /*#223#*/ FROM LCF_CFE_ITEM AS B INNER JOIN LCF_CFE AS C ON B.ID_CFE = C.ID_CFE INNER JOIN LCF_TERCEIRO AS FILIAL ON C.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_ITEM AS F ON B.SK_ITEM = F.SK_ITEM LEFT JOIN LCF_LX_NCM AS N ON F.ID_NCM = N.ID_NCM INNER JOIN (SELECT B.ID_CFE, A.ID_CFE_ITEM, A.TAXA_IMPOSTO, INDICA_CP_INSS = 1, BASE_IMPOSTO = SUM(A.BASE_IMPOSTO) FROM LCF_CFE_IMPOSTO AS A INNER JOIN LCF_CFE_ITEM AS C ON A.ID_CFE_ITEM = C.ID_CFE_ITEM INNER JOIN LCF_CFE AS B ON C.ID_CFE = B.ID_CFE INNER JOIN LCF_TERCEIRO AS FILIAL ON B.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO WHERE A.ID_IMPOSTO = 62 AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND CAST(CONVERT(CHAR(8),B.DATA_SAIDA ,112) AS DATETIME) BETWEEN @DATA_INI AND @DATA_FIM GROUP BY B.ID_CFE, A.ID_CFE_ITEM, A.TAXA_IMPOSTO) AS CP_INSS ON B.ID_CFE = CP_INSS.ID_CFE AND B.ID_CFE_ITEM = CP_INSS.ID_CFE_ITEM LEFT JOIN LCF_CONTA AS Y ON B.ID_CONTA = Y.ID_CONTA LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL /*#234#*/ LEFT JOIN LCF_VISAO_CLASSIF AS AA ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF WHERE FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND CAST(CONVERT(CHAR(8),C.DATA_SAIDA ,112) AS DATETIME) BETWEEN @DATA_INI AND @DATA_FIM /*#207#*/ ) AS A -- FIM BLOCO P ---------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- --BLOCO_IMPOSTOS IF (SELECT OBJECT_ID('TEMPDB..#IMPOSTO_BLOCOP')) IS NOT NULL BEGIN DROP TABLE #IMPOSTO_BLOCOP END /*#73#*/ SELECT ISNULL(F.CGC_CPF, '') AS CNPJ_ESTAB, ISNULL(K.CODIGO_ARRECADACAO, J.CODIGO_ARRECADACAO) COD_RECEITA, E.SUB_ITEM_APURACAO, ISNULL(H.NF_ENTRADA, I.NF_SAIDA) AS NUM_DOC, ISNULL(H.RECEBIMENTO, I.EMISSAO) AS DATA, SUM(CASE WHEN E.LX_CODIGO_APURACAO IN ('002','003') THEN C.VALOR_IMPOSTO END) AS VALOR_IMPOSTO_ACRESCIMO , SUM(CASE WHEN E.LX_CODIGO_APURACAO IN ('006','007') THEN C.VALOR_IMPOSTO END) AS VALOR_IMPOSTO_REDUCAO INTO #IMPOSTO_BLOCOP FROM CTB_LANCAMENTO (NOLOCK) A JOIN CTB_LANCAMENTO_ITEM (NOLOCK) B ON A.EMPRESA = B.EMPRESA AND A.LANCAMENTO = B.LANCAMENTO JOIN CTB_IMPOSTO_LANCAMENTO (NOLOCK) C ON B.EMPRESA = C.EMPRESA AND B.LANCAMENTO = C.LANCAMENTO AND B.ITEM = C.ITEM LEFT JOIN CTB_IMPOSTO_LANCAMENTO_NF (NOLOCK) D ON C.EMPRESA = D.EMPRESA AND C.LANCAMENTO = D.LANCAMENTO AND C.ITEM = D.ITEM JOIN LF_SUB_ITEM_APURACAO (NOLOCK) E ON C.ID_SUB_ITEM_APURACAO = E.ID_SUB_ITEM_APURACAO JOIN FILIAIS (NOLOCK) F ON A.COD_FILIAL = F.COD_FILIAL JOIN FILIAIS (NOLOCK) G ON F.MATRIZ = G.FILIAL LEFT JOIN ENTRADAS (NOLOCK) H ON D.NF_ENTRADA = H.NF_ENTRADA AND D.SERIE_NF_ENTRADA = H.SERIE_NF_ENTRADA AND D.NOME_CLIFOR = H.NOME_CLIFOR LEFT JOIN FATURAMENTO (NOLOCK) I ON D.NF_SAIDA = I.NF_SAIDA AND D.SERIE_NF = I.SERIE_NF AND D.FILIAL = I.FILIAL LEFT JOIN ( SELECT DISTINCT A.ID_EXCECAO_IMPOSTO, A.NF_SAIDA, A.SERIE_NF, A.FILIAL, D.CODIGO_ARRECADACAO FROM FATURAMENTO_ITEM (NOLOCK) A JOIN FATURAMENTO_IMPOSTO (NOLOCK) B ON A.NF_SAIDA = B.NF_SAIDA AND A.SERIE_NF = B.SERIE_NF AND A.FILIAL = B.FILIAL JOIN FATURAMENTO (NOLOCK) C ON B.NF_SAIDA = C.NF_SAIDA AND B.SERIE_NF = C.SERIE_NF AND B.FILIAL = C.FILIAL JOIN CTB_EXCECAO_IMPOSTO_ITEM (NOLOCK) D ON A.ID_EXCECAO_IMPOSTO = D.ID_EXCECAO_IMPOSTO AND B.ID_IMPOSTO = D.ID_IMPOSTO WHERE A.ID_EXCECAO_IMPOSTO IS NOT NULL AND B.ID_IMPOSTO = '62' AND C.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM ) J ON I.NF_SAIDA = J.NF_SAIDA AND I.SERIE_NF = J.SERIE_NF AND I.FILIAL = J.FILIAL LEFT JOIN ( SELECT DISTINCT A.ID_EXCECAO_IMPOSTO, A.NF_ENTRADA, A.SERIE_NF_ENTRADA, A.NOME_CLIFOR, D.CODIGO_ARRECADACAO FROM ENTRADAS_ITEM (NOLOCK) A JOIN ENTRADAS_IMPOSTO (NOLOCK) B ON A.NF_ENTRADA = B.NF_ENTRADA AND A.SERIE_NF_ENTRADA = B.SERIE_NF_ENTRADA AND A.NOME_CLIFOR = B.NOME_CLIFOR JOIN ENTRADAS (NOLOCK) C ON B.NF_ENTRADA = C.NF_ENTRADA AND B.SERIE_NF_ENTRADA = C.SERIE_NF_ENTRADA AND B.NOME_CLIFOR = C.NOME_CLIFOR JOIN CTB_EXCECAO_IMPOSTO_ITEM (NOLOCK) D ON A.ID_EXCECAO_IMPOSTO = D.ID_EXCECAO_IMPOSTO AND B.ID_IMPOSTO = D.ID_IMPOSTO WHERE A.ID_EXCECAO_IMPOSTO IS NOT NULL AND B.ID_IMPOSTO = '62' AND C.EMISSAO BETWEEN @DATA_INI AND @DATA_FIM ) K ON H.NF_ENTRADA = K.NF_ENTRADA AND H.SERIE_NF_ENTRADA = K.SERIE_NF_ENTRADA AND H.NOME_CLIFOR = K.NOME_CLIFOR WHERE G.COD_FILIAL = @CODIGOMATRIZ AND A.DATA_LANCAMENTO >= @DATA_INI AND A.DATA_LANCAMENTO <= @DATA_FIM AND C.ID_IMPOSTO = 62 GROUP BY ISNULL(F.CGC_CPF, ''), ISNULL(K.CODIGO_ARRECADACAO, J.CODIGO_ARRECADACAO), E.SUB_ITEM_APURACAO, ISNULL(H.NF_ENTRADA, I.NF_SAIDA), ISNULL(H.RECEBIMENTO, I.EMISSAO) --SELECT @SOMA_TOTAL_BRUTO = --SUM(CASE WHEN A.TIPO IN ('RS', 'LS') THEN sum(A.VALOR_DOC ELSE 0.00 END) #15# --#31# --SELECT @SOMA_TOTAL_BRUTO = RTRIM(LTRIM(CAST(((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) AS NUMERIC (19,2)))) -- FROM #TEMP_BLOCOP AS A --GROUP BY A.ALIQUOTA_CP_INSS --#34# --SELECT @SOMA_TOTAL_BRUTO = RTRIM(LTRIM(CAST(((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_IMPOSTO,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_IMPOSTO,0) ELSE 0.00 END))) AS NUMERIC (19,2)))) -- FROM #TEMP_BLOCOP AS A --GROUP BY A.ALIQUOTA_CP_INSS --#62# --SELECT @SOMA_TOTAL_BRUTO = RTRIM(LTRIM(CAST(((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) AS NUMERIC (19,2)))) -- FROM #TEMP_BLOCOP AS A --GROUP BY A.ALIQUOTA_CP_INSS SELECT @SOMA_TOTAL_BRUTO = SUM(CONVERT(NUMERIC(14,2),VALOR_BASE_CALCULO_PREVIDENCIARIA)) FROM ( SELECT RTRIM(LTRIM(CAST(CASE WHEN ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) < 0 THEN 0 ELSE ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) END AS NUMERIC (19,2)))) VALOR_BASE_CALCULO_PREVIDENCIARIA FROM #TEMP_BLOCOP AS A WHERE A.ALIQUOTA_CP_INSS IS NOT NULL AND A.ALIQUOTA_CP_INSS > 0 GROUP BY A.CNPJ_ESTAB,CODIGO_CONTRIBUICAO_RECEITA_BRUTA,A.ALIQUOTA_CP_INSS,A.ALIQUOTA_CP_INSS ) AS A --#55# SELECT @SOMA_TOTAL = RTRIM(LTRIM(CAST(@SOMA_TOTAL_BRUTO - ISNULL(VALOR_IMPOSTO_REDUCAO,0) + ISNULL(VALOR_IMPOSTO_ACRESCIMO,0)AS NUMERIC (19,2)))) FROM #IMPOSTO_BLOCOP END -- #28# - ALTERADO ESTA LINHA PARA BAIXO SELECT @VERSAO_LAYOUT = RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_VERSAO', @DATA_INI), '003'))) SELECT @REGIME_CUMULATIVO = RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_REGIME_CUMULATIVO', @DATA_INI), ''))) --#57# SELECT @REGIME_CUMULATIVO = CASE WHEN @REGIME_CUMULATIVO = '0' THEN '' ELSE @REGIME_CUMULATIVO END --SELECT @REGIME_CUMULATIVO = RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_REGIME_CUMULATIVO', @DATA_INI), ''))) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0000: ABERTURA DO ARQUIVO DIGITAL E IDENTIFICAÇÃO DA PESSOA JURÍDICA IF @REGISTRO = '0000' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_0_' + @REGISTRO, @ARQUIVO + '_B0_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_VERSAO', @DATA_INI), ''))) + '|' + -- CÓDIGO DA VERSÃO #42# CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_TIPO_ESCRITURACAO', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_TIPO_ESCRITURACAO', @DATA_INI), ''))), 1) END + '|' + -- TIPO ESCRITURAÇÃO CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_SITUACAO_ESPECIAL', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_SITUACAO_ESPECIAL', @DATA_INI), ''))), 1) END + '|' + -- IND_SIT_ESP CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_RECIBO_ANTERIOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_RECIBO_ANTERIOR', @DATA_INI), ''))), 41) END + '|' + -- NÚMERO RECIBO DA ESCRITURAÇÃO ANTERIOR LEFT(RTRIM(LTRIM(REPLACE(CONVERT(CHAR(10), @DATA_INI, 103), '/', ''))), 8) + '|' + -- DATA INICIAL LEFT(RTRIM(LTRIM(REPLACE(CONVERT(CHAR(10), @DATA_FIM, 103), '/', ''))), 8) + '|' + -- DATA FINAL --LEFT(RTRIM(LTRIM(ISNULL(A.RAZAO_SOCIAL, ' '))), 100) + '|' + -- NOME PESSOA JURIDICA LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_REPLACE_CARACTER_ESPECIAL_SPED(A.RAZAO_SOCIAL, '´`^~"#¨=§{}[]ªº;', DEFAULT), ' '))), 100) + '|' + -- NOME PESSOA JURIDICA #223# /*#230#*/ LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ISNULL(A.CNPJ, '0'), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(A.UF, ''))), 2) + '|' + -- UF LEFT(RTRIM(LTRIM(ISNULL(A.COD_MUNICIPIO_IBGE, ''))), 7) + '|' + -- CÓDIGO MUNICIPIO LEFT(RTRIM(LTRIM(ISNULL(A.COD_SUFRAMA, ''))), 9) + '|' + -- SUFRAMA CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_NATUREZA_PJ', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_NATUREZA_PJ', @DATA_INI), ''))), 2) END + '|' + -- IND_NAT_PJ CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_ATIVIDADE_PREPONDERANTE', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_ATIVIDADE_PREPONDERANTE', @DATA_INI), ''))), 1) END + '|' -- IND_ATIV FROM W_LCF_MATRIZ_CONTABIL A WHERE A.SK_MATRIZ_CONTABIL = @SK_MATRIZ; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0000 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0001: ABERTURA DO BLOCO 0 IF @REGISTRO = '0001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_0_' + @REGISTRO, @ARQUIVO + '_B0_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(A.REGISTRO, 1) = '0') > 0 THEN '0' ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0001 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0100: DADOS DO CONTABILISTA IF @REGISTRO = '0100' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_0_' + @REGISTRO, @ARQUIVO + '_B0_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NOME_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NOME_CONTADOR', @DATA_INI), ''))), 100) END + '|' + -- NOME CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CPF_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CPF_CONTADOR', @DATA_INI), ''))), 11) END + '|' + -- CPF CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CRC_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CRC_CONTADOR', @DATA_INI), ''))), 15) END + '|' + -- CRC CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CNPJ_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CNPJ_CONTADOR', @DATA_INI), ''))), 14) END + '|' + -- CNPJ ESTABELECIMENTO CONTADOR CASE WHEN RTRIM(LTRIM(REPLACE(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CEP_CONTADOR', @DATA_INI), ''), '-', ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(REPLACE(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CEP_CONTADOR', @DATA_INI), ''), '-', ''))), 8) END + '|' + -- CEP CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_ENDERECO_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_ENDERECO_CONTADOR', @DATA_INI), ''))), 60) END + '|' + -- ENDERECO CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NUMERO_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NUMERO_CONTADOR', @DATA_INI), ''))), 255) END + '|' + -- NUMERO CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_COMPLEMENTO_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_COMPLEMENTO_CONTADOR', @DATA_INI), ''))), 60) END + '|' + -- COMPLEMENTO CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_BAIRRO_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_BAIRRO_CONTADOR', @DATA_INI), ''))), 60) END + '|' + -- BAIRRO CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_TELEFONE_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_TELEFONE_CONTADOR', @DATA_INI), ''))), 10) END + '|' + -- TELEFONE CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_FAX_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_FAX_CONTADOR', @DATA_INI), ''))), 10) END + '|' + -- FAX CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_EMAIL_CONTADOR', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_EMAIL_CONTADOR', @DATA_INI), ''))), 255) END + '|' + -- EMAIL CASE /*WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('14',@CODIGOMATRIZ, 'TX_COD_MUNICIPIO_IBGE', @DATA_INI), ''))) = '...' THEN ''*/ WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28',@CODIGOMATRIZ, 'TX_COD_MUNICIPIO_IBGE', @DATA_INI), ''))) = '...' THEN '' -- #247# /*ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('14', @CODIGOMATRIZ, 'TX_COD_MUNICIPIO_IBGE', @DATA_INI), ''))), 7)*/ ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_COD_MUNICIPIO_IBGE', @DATA_INI), ''))), 7) --#247# END + '|' -- COD_MUNICIPIO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0100 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0110: REGIMES DE APURAÇÃO DA CONTRIBUIÇÃO SOCIAL E DE APROPRIAÇÃO DE CRÉDITO IF @REGISTRO = '0110' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_0_' + @REGISTRO, @ARQUIVO + '_B0_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_INCIDENCIA_TRIBUTARIA', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_INCIDENCIA_TRIBUTARIA', @DATA_INI), ''))), 1) END + '|' + -- INCIDÊNCIA TRIBUTÁRIA CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_METODO_APROPRIACAO', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_METODO_APROPRIACAO', @DATA_INI), ''))), 1) END + '|' + -- INDICADOR DE MÉTODO DE APROPRIAÇÃO DE CRÉDITOS COMUNS CASE WHEN RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_CONTRIBUICAO_APURADA', @DATA_INI), ''))) = '...' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_CONTRIBUICAO_APURADA', @DATA_INI), ''))), 1) END + '|' + -- TIPO CONTRIBUIÇÃO APURADA CASE WHEN CAST(RTRIM(LTRIM(@VERSAO_LAYOUT)) AS INT) >= 3 AND @DATA_INI >= '20120701' THEN RTRIM(LTRIM(@REGIME_CUMULATIVO)) + '|' ELSE '' END -- #43# INDICA REGIME ACUMULATIVO #235# FROM W_LCF_MATRIZ_CONTABIL A WHERE A.SK_MATRIZ_CONTABIL = @SK_MATRIZ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0110 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0111: TABELA DE RECEITA BRUTA MENSAL PARA FINS DE RATEIO DE CRÉDITOS COMUNS IF @REGISTRO = '0111' AND LEFT(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_METODO_APROPRIACAO', @DATA_INI), ''))), 1) = '2' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_0_' + @REGISTRO, @ARQUIVO + '_B0_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NC_TRIB_MERCADO_INT', @DATA_INI), 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- RECEITA BRUTA NÃO-CUMULATIVA -TRIBUTADA NO MERCADO INTERNO REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NC_NAO_TRIB_MERCADO_INT', @DATA_INI), 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- RECEITA BRUTA NÃO-CUMULATIVA ?NÃO TRIBUTADA NO MERCADO INTERNO REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NC_EXPORTACAO', @DATA_INI), 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- RECEITA BRUTA NÃO-CUMULATIVA - EXPORTAÇÃO REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CUMULATIVA', @DATA_INI), 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- RECEITA BRUTA CUMULATIVA REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NC_TRIB_MERCADO_INT', @DATA_INI), 0) AS NUMERIC(19, 2)) + CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NC_NAO_TRIB_MERCADO_INT', @DATA_INI), 0) AS NUMERIC(19, 2)) + CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28',@CODIGOMATRIZ, 'TX_NC_EXPORTACAO', @DATA_INI), 0) AS NUMERIC(19, 2)) + CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_CUMULATIVA', @DATA_INI), 0) AS NUMERIC(19, 2))AS VARCHAR(20)))), '.',',') + '|' -- RECEITA BRUTA TOTAL IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END /*#223#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0120: IDENTIFICAÇÃO DE EFD CONTRIBUIÇÕES SEM DADOS A ESCRITURAR IF @REGISTRO = '0120' AND REPLACE(@VERSAO_PVA, '.', '') >= '214' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_B0_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO A.MES_REFER + '|' + -- MES_REFER A.INF_COMP + '|' -- INF_COMP FROM (SELECT MES_REFER = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.R0120.COLPERIODO' THEN RTRIM(LTRIM(RIGHT(A.VALOR_OBJETO, 2))) + RTRIM(LTRIM(LEFT(A.VALOR_OBJETO, 4))) ELSE '' END), INF_COMP = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.R0120.COLMOTSIT' THEN RTRIM(LTRIM(A.VALOR_OBJETO)) ELSE '' END) FROM DBO.LF_INF_COMPLEMENTAR AS A (NOLOCK) WHERE A.NOME_OBJETO LIKE '%.R0120%' AND A.ID_INTEGRACAO_GOVERNO = '28' AND A.COD_FILIAL = @CODIGOMATRIZ AND A.DATA_INICIAL BETWEEN @DATA_INI AND @DATA_FIM GROUP BY SUBSTRING(A.NOME_OBJETO, 1, CHARINDEX('.COL', A.NOME_OBJETO)), A.COD_FILIAL, A.DATA_INICIAL) AS A ORDER BY A.MES_REFER; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0140: TABELA DE CADASTRO DE ESTABELECIMENTO --#155# /*#170#*/ IF @REGISTRO = '0140' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT IDCUR_ARQUIVO, REGISTRO, CHAVE, MIN(LINHA) /*#218#*/ FROM ( /*#200#*/ SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.SK_MATRIZ_FISCAL AS VARCHAR(20)), ''))), 60) + '|' + -- CÓDIGO ESTABELECIMENTO /*#209#*/ LEFT(RTRIM(LTRIM(A.RAZAO_SOCIAL)), 100) + '|' + -- NOME ESTABELECIMENTO LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ISNULL(A.CNPJ,''), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(A.UF, ''))), 2) + '|' + -- UF LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(A.IE, '.', ''), '-', ''), '/', ''))), 14) + '|' + -- IE LEFT(RTRIM(LTRIM(ISNULL(A.COD_MUNICIPIO_IBGE, ''))), 7) + '|' + -- CÓDIGO MUNICIPIO LEFT(RTRIM(LTRIM(ISNULL(A.IM, ' '))), 255) + '|' + -- IM /*#204#*/ LEFT(RTRIM(LTRIM(ISNULL(A.COD_SUFRAMA, ' '))), 9) + '|' -- SUFRAMA /*#206#*/ FROM DBO.W_LCF_MATRIZ_FISCAL A WHERE A.SK_MATRIZ_FISCAL = @SK_MATRIZ /*#211#*/ /*#206#*/ UNION ALL /*#200#*/ SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + ISNULL(A.CNPJ_ESTAB, '') + '_1_' + @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(FILIAL.CNPJ, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(ISNULL(A.SK_ESTAB,A.SK_MATRIZ_FISCAL) AS VARCHAR(20)), ''))), 60) + '|' + -- CÓDIGO ESTABELECIMENTO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''))), 100) + '|' + -- NOME ESTABELECIMENTO --LEFT(RTRIM(LTRIM(ISNULL(ISNULL(A.NOME_ESTAB,ISNULL(FILIAL_LOG.RAZAO_SOCIAL,FILIAL.RAZAO_SOCIAL)), ''))), 100) + '|' + -- NOME ESTABELECIMENTO #148# LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ISNULL(FILIAL.CNPJ,''), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(F.UF, ''))), 2) + '|' + -- UF LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- IE LEFT(RTRIM(LTRIM(ISNULL(E.COD_MUNICIPIO_IBGE, ''))), 7) + '|' + -- CÓDIGO MUNICIPIO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''))), 255) + '|' + -- IM #133# LEFT(RTRIM(LTRIM(ISNULL(FILIAL.COD_SUFRAMA, ' '))), 9) + '|' -- SUFRAMA FROM #TEMP_012347 AS A INNER JOIN LCF_TERCEIRO FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO --#148# /*#171#*/ LEFT JOIN LCF_LX_MUNICIPIO AS E ON ISNULL(FILIAL.ID_MUNICIPIO, FILIAL_LOG.ID_MUNICIPIO) = E.ID_MUNICIPIO /*#133#*/ LEFT JOIN LCF_LX_UF AS F ON E.ID_UF = F.ID_UF GROUP BY ISNULL(A.SK_ESTAB,A.SK_MATRIZ_FISCAL), COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''), ISNULL(FILIAL.CNPJ, ''), F.UF, COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), E.COD_MUNICIPIO_IBGE, COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''), /*#133#*/ FILIAL.COD_SUFRAMA --#159# UNION ALL SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(FILIAL.CNPJ, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.SK_MATRIZ_FISCAL AS VARCHAR(20)), ''))), 60) + '|' + -- CÓDIGO ESTABELECIMENTO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''))), 100) + '|' + -- NOME ESTABELECIMENTO LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ISNULL(FILIAL.CNPJ,''), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(F.UF, ''))), 2) + '|' + -- UF LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- IE LEFT(RTRIM(LTRIM(ISNULL(E.COD_MUNICIPIO_IBGE, ''))), 7) + '|' + -- CÓDIGO MUNICIPIO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''))), 255) + '|' + -- IM #133# LEFT(RTRIM(LTRIM(ISNULL(FILIAL.COD_SUFRAMA, ' '))), 9) + '|' -- SUFRAMA FROM #TEMP_012347_SAT AS A INNER JOIN LCF_TERCEIRO FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO --#148# /*#171#*/ LEFT JOIN LCF_LX_MUNICIPIO AS E ON ISNULL(FILIAL.ID_MUNICIPIO, FILIAL_LOG.ID_MUNICIPIO) = E.ID_MUNICIPIO /*#133#*/ LEFT JOIN LCF_LX_UF AS F ON E.ID_UF = F.ID_UF GROUP BY A.SK_MATRIZ_FISCAL, COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''), ISNULL(FILIAL.CNPJ, ''), F.UF, COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), E.COD_MUNICIPIO_IBGE, COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''), FILIAL.COD_SUFRAMA /*#163#*/ UNION ALL SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.SK_MATRIZ_FISCAL AS VARCHAR(20)), ''))), 60) + '|' + -- CÓDIGO ESTABELECIMENTO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''))), 100) + '|' + -- NOME ESTABELECIMENTO LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ISNULL(FILIAL.CNPJ, ''), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(F.UF, ''))), 2) + '|' + -- UF LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- IE LEFT(RTRIM(LTRIM(ISNULL(E.COD_MUNICIPIO_IBGE, ''))), 7) + '|' + -- CÓDIGO MUNICIPIO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''))), 255) + '|' + -- IM LEFT(RTRIM(LTRIM(ISNULL(FILIAL.COD_SUFRAMA, ''))), 9) + '|' -- SUFRAMA FROM #TEMP_ECF_012347 AS A INNER JOIN DBO.LCF_TERCEIRO AS FILIAL (NOLOCK) ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO LEFT JOIN DBO.LCF_LX_MUNICIPIO AS E (NOLOCK) ON ISNULL(FILIAL.ID_MUNICIPIO, FILIAL_LOG.ID_MUNICIPIO) = E.ID_MUNICIPIO LEFT JOIN DBO.LCF_LX_UF AS F (NOLOCK) ON E.ID_UF = F.ID_UF GROUP BY A.SK_MATRIZ_FISCAL, COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''), ISNULL(FILIAL.CNPJ, ''), F.UF, COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), E.COD_MUNICIPIO_IBGE, COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''), FILIAL.COD_SUFRAMA, A.CNPJ_ESTAB --#122# UNION ALL SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + ISNULL(A.CNPJ_ESTAB, '') + '_1_' + @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(FILIAL.CNPJ, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.SK_MATRIZ_FISCAL AS VARCHAR(20)), ''))), 60) + '|' + -- CÓDIGO ESTABELECIMENTO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''))), 100) + '|' + -- NOME ESTABELECIMENTO LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ISNULL(FILIAL.CNPJ, ''), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(F.UF, ''))), 2) + '|' + -- UF -- #89# LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- IE --LEFT(RTRIM(LTRIM(ISNULL(FILIAL_LOG.IE, FILIAL.IE))), 14) + '|' + -- IE LEFT(RTRIM(LTRIM(ISNULL(E.COD_MUNICIPIO_IBGE, ''))), 7) + '|' + -- CÓDIGO MUNICIPIO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''))), 255) + '|' + -- IM #93# #133# LEFT(RTRIM(LTRIM(ISNULL(FILIAL.COD_SUFRAMA, ''))), 9) + '|' -- SUFRAMA FROM #TEMP_BLOCOP AS A INNER JOIN LCF_TERCEIRO FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG --#148# /*#171#*/ ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO --#148# /*#133#*/ LEFT JOIN LCF_LX_MUNICIPIO AS E ON ISNULL(FILIAL.ID_MUNICIPIO,FILIAL_LOG.ID_MUNICIPIO) = E.ID_MUNICIPIO LEFT JOIN LCF_LX_UF AS F ON E.ID_UF = F.ID_UF GROUP BY A.SK_MATRIZ_FISCAL, COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''), FILIAL.CNPJ, F.UF, -- FILIAL_LOG.IE, --#90# COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), --#96# E.COD_MUNICIPIO_IBGE, --FILIAL_LOG.IM, --#93# COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''), /*#133#*/ FILIAL.COD_SUFRAMA /*#177#*/ UNION ALL SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(FILIAL.CNPJ, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(FILIAL.SK_TERCEIRO AS VARCHAR(20)), ''))), 60) + '|' + -- CÓDIGO ESTABELECIMENTO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''))), 100) + '|' + -- NOME ESTABELECIMENTO LEFT(RTRIM(LTRIM(ISNULL(FILIAL.CNPJ, ''))), 14) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(F.UF, ''))), 2) + '|' + -- UF LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- IE LEFT(RTRIM(LTRIM(ISNULL(E.COD_MUNICIPIO_IBGE, ''))), 7) + '|' + -- CÓDIGO MUNICIPIO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''))), 255) + '|' + -- IM #93# #133# LEFT(RTRIM(LTRIM(ISNULL(FILIAL.COD_SUFRAMA, ''))), 9) + '|' -- SUFRAMA FROM DBO.LF_INF_COMPLEMENTAR AS A ( NOLOCK ) INNER JOIN #EFD_CONTRIBUICOES AS EFD ON EFD.CODIGO = A.COD_FILIAL --#203#AND ( A.DATA_INICIAL BETWEEN EFD.DATAINICIAL AND EFD.DATAFINAL ) AND A.DATA_INICIAL = EFD.DATAINICIAL INNER JOIN LCF_TERCEIRO AS FILIAL (NOLOCK) /*#185#*/ ON (SELECT MAX(RTRIM(LTRIM(A.VALOR_OBJETO))+'_'+A.COD_FILIAL) /*#234#*/ FROM DBO.LF_INF_COMPLEMENTAR AS A WHERE A.ID_INTEGRACAO_GOVERNO = '28' AND A.NOME_OBJETO LIKE '%C010.COLCNPJFILIAL' AND A.COD_FILIAL = @CODIGOMATRIZ AND A.DATA_INICIAL BETWEEN @DATA_INI AND @DATA_FIM) = RTRIM(LTRIM(FILIAL.CNPJ))+'_'+FILIAL.BK_COD_TERCEIRO /*#234#*/ AND FILIAL.LX_ORIGEM_TERCEIRO = 1 AND FILIAL.SK_MATRIZ_CONTABIL IS NOT NULL LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO LEFT JOIN LCF_LX_MUNICIPIO AS E ON ISNULL(FILIAL.ID_MUNICIPIO,FILIAL_LOG.ID_MUNICIPIO) = E.ID_MUNICIPIO LEFT JOIN LCF_LX_UF AS F ON E.ID_UF = F.ID_UF WHERE A.NOME_OBJETO LIKE '%C010.COLCNPJFILIAL' AND A.ID_INTEGRACAO_GOVERNO = '28' AND A.COD_FILIAL = @CODIGOMATRIZ AND A.DATA_INICIAL BETWEEN @DATA_INI AND @DATA_FIM /*#185#*/ --#196#AND A.NOME_OBJETO NOT LIKE '%.F600.%' --#196#AND A.NOME_OBJETO NOT LIKE '%.F700.%' GROUP BY FILIAL.SK_TERCEIRO, COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''), FILIAL.CNPJ, F.UF, COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), E.COD_MUNICIPIO_IBGE, COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''), FILIAL.COD_SUFRAMA /*#177#*/ /*#199#*/ UNION ALL SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(FILIAL.CNPJ, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(FILIAL.SK_TERCEIRO AS VARCHAR(20)), ''))), 60) + '|' + -- CÓDIGO ESTABELECIMENTO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''))), 100) + '|' + -- NOME ESTABELECIMENTO LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ISNULL(FILIAL.CNPJ, ''), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(F.UF, ''))), 2) + '|' + -- UF LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), '.', ''), '-', ''), '/', ''))), 14) + '|' + -- IE LEFT(RTRIM(LTRIM(ISNULL(E.COD_MUNICIPIO_IBGE, ''))), 7) + '|' + -- CÓDIGO MUNICIPIO LEFT(RTRIM(LTRIM(COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''))), 255) + '|' + -- IM #93# #133# LEFT(RTRIM(LTRIM(ISNULL(FILIAL.COD_SUFRAMA, ''))), 9) + '|' -- SUFRAMA FROM ( SELECT DISTINCT FILIAL.CNPJ AS CNPJ_ESTAB FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM WHERE SIAP.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM UNION ALL SELECT DISTINCT FILIAL.CNPJ AS CNPJ_ESTAB FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM INNER JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV INNER JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA INNER JOIN LCF_NOTA_SAIDA_IMPOSTO LNSI ON LNSI.ID_NOTA = LNS.ID_NOTA AND LNSI.ID_IMPOSTO IN (5,6) INNER JOIN LCF_TERCEIRO AS TERCEIRO ON LNS.SK_TERCEIRO = TERCEIRO.SK_TERCEIRO INNER JOIN LCF_OBS_COMPLEMENTAR OBS ON OBS.ID_OBS = LNS.ID_OBS_COMPLEMENTAR WHERE LA.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM UNION ALL SELECT DISTINCT FILIAL.CNPJ AS CNPJ_ESTAB FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM INNER JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV INNER JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO LNEI ON LNEI.ID_NOTA = LNE.ID_NOTA AND LNEI.ID_IMPOSTO IN (5,6) INNER JOIN LCF_TERCEIRO AS TERCEIRO ON LNE.SK_TERCEIRO = TERCEIRO.SK_TERCEIRO INNER JOIN LCF_OBS_COMPLEMENTAR OBS ON OBS.ID_OBS = LNE.ID_OBS_COMPLEMENTAR WHERE LA.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM ) A INNER JOIN LCF_TERCEIRO FILIAL ON A.CNPJ_ESTAB = FILIAL.CNPJ AND FILIAL.LX_ORIGEM_TERCEIRO = 1 AND FILIAL.SK_MATRIZ_CONTABIL IS NOT NULL LEFT JOIN #FX_LCF_TERCEIRO_LOG AS FILIAL_LOG ON FILIAL.SK_TERCEIRO = FILIAL_LOG.SK_TERCEIRO LEFT JOIN LCF_LX_MUNICIPIO AS E ON ISNULL(FILIAL.ID_MUNICIPIO,FILIAL_LOG.ID_MUNICIPIO) = E.ID_MUNICIPIO LEFT JOIN LCF_LX_UF AS F ON E.ID_UF = F.ID_UF WHERE ISNULL(A.CNPJ_ESTAB,'') <> '' GROUP BY FILIAL.SK_TERCEIRO, COALESCE(FILIAL.RAZAO_SOCIAL, FILIAL_LOG.RAZAO_SOCIAL,''), FILIAL.CNPJ, F.UF, COALESCE(FILIAL.IE,FILIAL_LOG.IE, '0'), E.COD_MUNICIPIO_IBGE, COALESCE(FILIAL.IM, FILIAL_LOG.IM , ''), FILIAL.COD_SUFRAMA /*#199#*/ ) AS A GROUP BY IDCUR_ARQUIVO, REGISTRO, CHAVE; /*#218#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0140 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --#6# REGISTRO 0145: CORRESPONDENTE À CONTRIBUIÇÃO PREVIDENCIÁRIA SOBRE A RECEITA BRUTA IF @REGISTRO = '0145' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT distinct @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, '|'+ @REGISTRO + '|' + -- REGISTRO '1' + '|' + -- Código indicador da incidência tributária no período:1 – Contribuição Previdenciária apurada no período, exclusivamente com base na Receita Bruta;2 – Contribuição Previdenciária apurada no período, com base na Receita Bruta e com base nas Remunerações pagas, na forma dos nos incisos I e III do art. 22 da Lei no 8.212, de 1991. /*#7#*/ REPLACE(RTRIM(LTRIM(CAST(SUM(CASE WHEN ISNULL(A.TIPO,'') IN ('RS', 'LS') THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA RECEITA BRUTA Total da Pessoa Jurídica no Período REPLACE(RTRIM(LTRIM(CAST(SUM(CASE WHEN ISNULL(A.TIPO,'') IN ('RS', 'LS') THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) AS VARCHAR(20)))), '.', ',') + '|' + -- Valor da Receita Bruta da(s) Atividade(s) Sujeita(s) à Contribuição Previdenciária sobre a Receita Bruta '0' + '|' + -- Valor da Receita Bruta da(s) Atividade(s) Sujeita(s) à Contribuição Previdenciária sobre a Remuneração (Incisos I e III do art. 22 da Lei nº 8.212, de 1991) NÃO OBRIGATORIO '' + '|' -- Informação complementar from #TEMP_BLOCOP A /*#63#*/ WHERE A.VALOR_DOC > 0 AND ISNULL(A.TIPO,'') IN ('RS', 'LS', 'RE' /*#201#*/) --/*#201# --GROUP BY A.CNPJ_ESTAB GROUP BY A.CNPJ_ESTAB,CODIGO_CONTRIBUICAO_RECEITA_BRUTA,A.ALIQUOTA_CP_INSS,A.ALIQUOTA_CP_INSS HAVING ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) > 0 --#201#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0150: TABELA DE CADASTRO DO PARTICIPANTE IF @REGISTRO = '0150' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + ISNULL(A.CNPJ_ESTAB, '') + '_1_' + @REGISTRO, @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '|' + -- CODIGO PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.NOME_PART, ''))), 100) + '|' + -- NOME LEFT(RTRIM(LTRIM(ISNULL(A.COD_PAIS_PART, ''))), 5) + '|' + -- CODIGO PAIS LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' THEN '' ELSE ISNULL(A.CNPJ_PART, '') END, '.', ''), '/', ''), '-', ''))), 14) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' THEN '' ELSE ISNULL(A.CPF_PART, '') END, '.', ''), '/', ''), '-', ''))), 11) + '|' + -- CPF LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' OR A.IE_PART IN ( 'ISENTO', 'ISENTA' ) THEN '' ELSE ISNULL(A.IE_PART, '') END, '.', ''), '/', ''), '-', ''))), 14) + '|' + -- INSCRICAO ESTADUAL LEFT(RTRIM(LTRIM(CASE WHEN A.UF_PART = 'EX' THEN '' ELSE ISNULL(A.COD_MUN_PART, '') END)), 7) + '|' + -- CODIGO MUNICIPIO LEFT(RTRIM(LTRIM(ISNULL(A.SUFRAMA_PART, ''))), 9) + '|' + -- CODIGO SUFRAMA LEFT(RTRIM(LTRIM(ISNULL(A.END_PART, ''))), 60) + '|' + -- ENDERECO LEFT(RTRIM(LTRIM(ISNULL(A.NUMERO_PART, ''))), 255) + '|' + -- NUMERO LEFT(RTRIM(LTRIM(ISNULL(A.COMPLEMENTO_PART, ''))), 60) + '|' + -- COMPLEMENTO LEFT(RTRIM(LTRIM(ISNULL(A.BAIRRO_PART, ''))), 60) + '|' -- BAIRRO FROM #TEMP_012347 AS A WHERE A.NOTA_CANCELADA = 0 --AND --A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --#125# AND (ISNULL(LTRIM(RTRIM(A.COD_PAIS_PART)),'') <> '' ) /*#208#*/ AND ( ISNULL(LTRIM(RTRIM(A.COD_PAIS_PART)),'') <> '1058' OR ( ISNULL(LTRIM(RTRIM(A.COD_PAIS_PART)),'') = '1058' AND ( ISNULL(A.CNPJ_PART,'')<>'' OR ISNULL(A.CPF_PART,'')<>'' ) ) ) GROUP BY ISNULL(A.CNPJ_ESTAB, ''), LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60), LEFT(RTRIM(LTRIM(ISNULL(A.NOME_PART, ''))), 100), LEFT(RTRIM(LTRIM(ISNULL(A.COD_PAIS_PART, ''))), 5), LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' THEN '' ELSE ISNULL(A.CNPJ_PART, '') END, '.', ''), '/', ''), '-', ''))), 14), LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' THEN '' ELSE ISNULL(A.CPF_PART, '') END, '.', ''), '/', ''), '-', ''))), 11), LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' OR A.IE_PART IN ( 'ISENTO', 'ISENTA' ) THEN '' ELSE ISNULL(A.IE_PART, '') END, '.', ''), '/', ''), '-', ''))), 14), LEFT(RTRIM(LTRIM(CASE WHEN A.UF_PART = 'EX' THEN '' ELSE ISNULL(A.COD_MUN_PART, '') END)), 7), LEFT(RTRIM(LTRIM(ISNULL(A.SUFRAMA_PART, ''))), 9), LEFT(RTRIM(LTRIM(ISNULL(A.END_PART, ''))), 60), LEFT(RTRIM(LTRIM(ISNULL(A.NUMERO_PART, ''))), 255), LEFT(RTRIM(LTRIM(ISNULL(A.COMPLEMENTO_PART, ''))), 60), --#84# LEFT(RTRIM(LTRIM(ISNULL(A.BAIRRO_PART, ''))), 60) IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0150 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0190: IDENTIFICAÇÃO DAS UNIDADES DE MEDIDA IF @REGISTRO = '0190' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT * FROM (SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + ISNULL(A.CNPJ_ESTAB, '') + '_1_' + @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.UNIDADE, ''))), 6) + '|' + -- CODIGO DA UNIDADE DE MEDIDA LEFT(RTRIM(LTRIM(ISNULL(A.DESC_UNIDADE, ''))), 255) + '|' -- DESCRIÇÃO DA UNIDADE FROM #TEMP_012347 AS A WHERE A.NOTA_CANCELADA = 0 --#16# AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --#257#AND A.LX_MODELO <> '65' /*#253#*/ AND A.LX_MODELO NOT IN ('65', '66') /*#257#*/ GROUP BY A.CNPJ_ESTAB, A.UNIDADE, A.DESC_UNIDADE UNION ALL SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + ISNULL(A.CNPJ_ESTAB, '') + '_1_' + @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.UNIDADE, ''))), 6) + '|' + -- CODIGO DA UNIDADE DE MEDIDA LEFT(RTRIM(LTRIM(ISNULL(A.DESC_UNIDADE, ''))), 255) + '|' -- DESCRIÇÃO DA UNIDADE FROM #TEMP_ECF_012347 AS A --#257#WHERE A.LX_MODELO <> '65' /*#253#*/ WHERE A.LX_MODELO NOT IN ('65', '66') /*#257#*/ GROUP BY A.CNPJ_ESTAB, A.UNIDADE, A.DESC_UNIDADE --#172# UNION ALL SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.UNIDADE, ''))), 6) + '|' + -- CODIGO DA UNIDADE DE MEDIDA LEFT(RTRIM(LTRIM(ISNULL(A.DESC_UNIDADE, ''))), 255) + '|' -- DESCRIÇÃO DA UNIDADE FROM #TEMP_012347_SAT AS A --#257#WHERE A.LX_MODELO_SAIDA <> '65' /*#253#*/ WHERE A.LX_MODELO_SAIDA NOT IN ('65', '66') /*#257#*/ GROUP BY A.CNPJ_ESTAB, A.UNIDADE, A.DESC_UNIDADE) AS A IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0190 --#129#--------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0200: TABELA DE IDENTIFICAÇÃO DO ITEM (PRODUTOS E SERVIÇOS) -- #153# IF @REGISTRO = '0200' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM --LEFT(RTRIM(LTRIM(ISNULL(A.DESC_ITEM, ''))), 255) + '|' + -- DESCRIÇÃO DO ITEM --#54# LEFT(RTRIM(LTRIM(ISNULL(REPLACE(REPLACE(A.DESC_ITEM, CHAR(10), ''), CHAR(13), ''), ''))), 255) + '|' + -- DESCRIÇÃO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.COD_BARRA, ''))), 255) + '|' + -- CODIGO DE BARRA LEFT(RTRIM(LTRIM(ISNULL(A.COD_ANT_ITEM, ''))), 60) + '|' + -- CODIGO ANTERIOR DO ITEM EM RELAÇÃO A ULTIMA INFORMAÇÃO APRESENTADA LEFT(RTRIM(LTRIM(ISNULL(A.UNIDADE, ''))), 6) + '|' + -- UNIDADE --LEFT(RTRIM(LTRIM(ISNULL(A.TIPO_ITEM, ''))), 2) + '|' + -- TIPO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(MIN(A.TIPO_ITEM), ''))), 2) + '|' + -- TIPO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + '|' + -- NCM LEFT(RTRIM(LTRIM(ISNULL(MAX(A.EX_NCM), ''))), 3) + '|' + -- CODIGO EX CONFORME A TIPI #146# LEFT(RTRIM(LTRIM(ISNULL(A.COD_GENERO, ''))), 2) + '|' + -- CODIGO DO GENERO DO ITEM --#161# CASE WHEN @DATA_INI >= '20150501' THEN LEFT(RTRIM(LTRIM(ISNULL(A.COD_LST, ''))), 5) ELSE LEFT(RTRIM(LTRIM(ISNULL(A.COD_LST, ''))), 4) END + '|' + -- CODIGO DO SERVIÇO REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(MAX(A.ALIQ_ICMS_INTERNA), 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- ALIQUOTA DE ICMS NAS TRANSACOES INTERNAS FROM (SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '_' + @REGISTRO, A.COD_ITEM, A.DESC_ITEM, A.COD_BARRA, A.COD_ANT_ITEM, A.UNIDADE, A.TIPO_ITEM, A.COD_NCM, A.EX_NCM, A.COD_GENERO, A.COD_LST, A.ALIQ_ICMS_INTERNA, A.CNPJ_ESTAB FROM #TEMP_012347 AS A WHERE A.NOTA_CANCELADA = 0 --#257#AND A.LX_MODELO <> '65' /*#253#*/ AND A.LX_MODELO NOT IN ('65', '66') /*#257#*/ UNION SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '_' + @REGISTRO, A.COD_ITEM, A.DESC_ITEM, A.COD_BARRA, A.COD_ANT_ITEM, A.UNIDADE, A.TIPO_ITEM, A.COD_NCM, A.EX_NCM, A.COD_GENERO, A.COD_LST, A.ALIQ_ICMS_INTERNA, A.CNPJ_ESTAB FROM #TEMP_ECF_012347 AS A --WHERE A.LX_MODELO <> '65' /*#253#*/ WHERE A.LX_MODELO NOT IN ('65', '66') /*#257#*/ UNION SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, /*#169#*/ REGISTRO = @REGISTRO, /*#169#*/ CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '_' + @REGISTRO, /*#169#*/ A.COD_ITEM, /*#169#*/ A.DESCRICAO_ITEM, /*#169#*/ '' AS COD_BARRA, /*#169#*/ '' AS COD_ANT_ITEM, /*#169#*/ A.UNIDADE, /*#169#*/ A.TIPO_ITEM, /*#169#*/ A.COD_NCM, /*#169#*/ A.EX_NCM, /*#169#*/ A.COD_GENERO_SPED, /*#169#*/ A.COD_SERVICO_TIPO_SPED, /*#169#*/ A.ALIQ_ITERNA, /*#169#*/ A.CNPJ_ESTAB /*#169#*/ FROM #TEMP_012347_SAT AS A /*#169#*/ --#257#WHERE A.LX_MODELO_SAIDA <> '65' /*#253#*/ WHERE A.LX_MODELO_SAIDA NOT IN ('65', '66') /*#257#*/ ) AS A GROUP BY ISNULL(A.CNPJ_ESTAB, ''), LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60), LEFT(RTRIM(LTRIM(ISNULL(REPLACE(REPLACE(A.DESC_ITEM, CHAR(10), ''), CHAR(13), ''), ''))), 255), LEFT(RTRIM(LTRIM(ISNULL(A.COD_BARRA, ''))), 255), LEFT(RTRIM(LTRIM(ISNULL(A.COD_ANT_ITEM, ''))), 60), LEFT(RTRIM(LTRIM(ISNULL(A.UNIDADE, ''))), 6), --LEFT(RTRIM(LTRIM(ISNULL(A.TIPO_ITEM, ''))), 2), LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8), --LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3), #146# LEFT(RTRIM(LTRIM(ISNULL(A.COD_GENERO, ''))), 2), --#162#LEFT(RTRIM(LTRIM(ISNULL(A.COD_LST, ''))), 4) CASE WHEN @DATA_INI >= '20150501' THEN LEFT(RTRIM(LTRIM(ISNULL(A.COD_LST, ''))), 5) ELSE LEFT(RTRIM(LTRIM(ISNULL(A.COD_LST, ''))), 4) END IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0200 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0205: ALTERAÇÃO DO ITEM IF @REGISTRO = '0205' BEGIN DECLARE @BK_COD_ITEM VARCHAR(50), @COD_ITEM VARCHAR(60), @DESC_ITEM VARCHAR(40), @TIPO_ITEM VARCHAR(2), @CNPJ_ESTAB VARCHAR(14), @DESC_ITEM_EX VARCHAR(40), @DATA_INCLUSAO_EX DATETIME DECLARE CUR_ITENS CURSOR LOCAL FAST_FORWARD FOR SELECT DISTINCT A.BK_COD_ITEM, A.COD_ITEM, A.DESC_ITEM, A.TIPO_ITEM, A.CNPJ_ESTAB FROM #TEMP_012347 AS A WHERE A.DATA_INCLUSAO_ITEM = @DATA_INI AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 OPEN CUR_ITENS FETCH NEXT FROM CUR_ITENS INTO @BK_COD_ITEM, @COD_ITEM, @DESC_ITEM, @TIPO_ITEM, @CNPJ_ESTAB WHILE @@FETCH_STATUS = 0 BEGIN SET @DESC_ITEM_EX = NULL SET @DATA_INCLUSAO_EX = NULL SELECT TOP 1 @DESC_ITEM_EX = DESC_ITEM, @DATA_INCLUSAO_EX = DATA_INCLUSAO FROM LCF_ITEM AS A LEFT JOIN LCF_LX_ITEM_TIPO AS B ON A.ID_TIPO_ITEM = B.ID_TIPO_ITEM WHERE A.BK_COD_ITEM = @BK_COD_ITEM AND B.COD_TIPO_SPED = @TIPO_ITEM AND A.DATA_INCLUSAO < @DATA_INI ORDER BY A.DATA_INCLUSAO DESC IF @DESC_ITEM_EX <> @DESC_ITEM INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + ISNULL(@CNPJ_ESTAB, '') + '_2_' + LEFT(RTRIM(LTRIM(ISNULL(@COD_ITEM, ''))), 60) + '_' + @REGISTRO, @ARQUIVO + '_B0_' + ISNULL(@CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(@COD_ITEM, ''))), 60) + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(@DESC_ITEM_EX, ''))), 255) + '|' + -- DESCRIÇÃO ANTERIOR RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), @DATA_INCLUSAO_EX, 103), '/', ''), ''))) + '|' + -- DATA INICIAL RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), CAST(@DATA_INI AS DATETIME) - 1, 103), '/', ''), ''))) + '|' + -- DATA FINAL LEFT(RTRIM(LTRIM(ISNULL(@COD_ITEM, ''))), 60) + '|' -- CÓDIGO ANTERIOR FETCH NEXT FROM CUR_ITENS INTO @BK_COD_ITEM, @COD_ITEM, @DESC_ITEM, @TIPO_ITEM, @CNPJ_ESTAB END CLOSE CUR_ITENS DEALLOCATE CUR_ITENS IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0205 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0206: CÓDIGO DE PRODUTO CONFORME TABELA ANP (COMBUSTÍVEIS) --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0208: CÓDIGO DE GRUPOS POR MARCA COMERCIAL ? REFRI (BEBIDAS FRIAS) --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0400: TABELA DE NATUREZA DA OPERAÇÃO/PRESTAÇÃO IF @REGISTRO = '0400' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + ISNULL(A.CNPJ_ESTAB, '') + '_3_' + @REGISTRO, @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.COD_NATUREZA, ''))), 10) + '|' + -- CODIGO DA NATUREZA LEFT(RTRIM(LTRIM(ISNULL(A.DESC_NATUREZA, ''))), 255) + '|' -- DESCRICAO DA NATUREZA FROM #TEMP_012347 AS A WHERE A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.COD_NATUREZA, A.DESC_NATUREZA IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0400 --------------------------------------------------------------------------------------------------------------------------------------- --#87# -- REGISTRO 0450: TABELA DE INFORMAÇÃO COMPLEMENTAR DO DOCUMENTO FISCAL /*#184#*/ IF @REGISTRO = '0450' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(CAST(ID_OBS_COMPLEMENTAR AS CHAR(6)))), 6) + '_' + @BLOCO + '_' + @REGISTRO, --#94# LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(CAST(A.ID_OBS_COMPLEMENTAR AS CHAR(6)))), 6) + '|' + -- COD_INF LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(LEFT(A.OBS_COMPLEMENTAR, 255), CHAR(13), ' '), CHAR(10), ' '), CHAR(9), ' '))) + '|' -- TXT_COMPL FROM #TEMP_012347 AS A WHERE A.NOTA_CANCELADA = 0 AND A.LX_MODELO IN ( '01', '1B', '04', '06', '28', '29', '07', '08', '8B', '09', '10', '11', '21', '22','26', '27', '55','57', '67' /*#223#*/, '59', '65', '03', '90', '91' /*#223#*/ ) --#120# #202# --OR ( A.LX_MODELO = '55') #100# AND A.ID_OBS_COMPLEMENTAR IS NOT NULL AND LTRIM(RTRIM(REPLACE(REPLACE(A.OBS_COMPLEMENTAR, CHAR(13), ''), CHAR(10), ''))) <> '' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0450 --------------------------------------------------------------------------------------------------------------------------------------- --REGISTRO 0500: PLANO DE CONTAS CONTÁBEIS IF @REGISTRO = '0500' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_9_' + @REGISTRO, --@ARQUIVO + '_B0_' + @BLOCO + '_9_' + @REGISTRO, --@ARQUIVO + '_B0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + @REGISTRO, @ARQUIVO + '_B0_A_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO --LEFT(ISNULL(CONVERT(CHAR(10), @DATA_INI, 112), ''), 8) + '|' + -- DATA INCLUSÃO/ALTERAÇÃO --#102# LEFT(REPLACE(ISNULL(CONVERT(CHAR(10), @DATA_INI, 103), ''),'/',''), 8) + '|' + -- DATA INCLUSÃO/ALTERAÇÃO LEFT(RTRIM(LTRIM(ISNULL(A.COD_NATUREZA_CONTA_CONTABIL, ''))), 2) + '|' + -- NATUREZA LEFT(RTRIM(LTRIM(ISNULL(A.TIPO_CONTA_CONTABIL, ''))), 1) + '|' + -- INDICADOR TIPO CONTA LEFT(RTRIM(LTRIM(REPLACE(ISNULL(A.NIVEL_CONTA_CONTABIL, ''), 'N', ''))), 5) + '|' + -- NIVEL CONTA LEFT(RTRIM(LTRIM(ISNULL(A.CONTA_CONTABIL, ''))), 60) + '|' + -- CODIGO CONTA LEFT(RTRIM(LTRIM(ISNULL(A.DESC_CONTA_CONTABIL, ''))), 60) + '|' + -- NOME CONTA LEFT(RTRIM(LTRIM(ISNULL(A.COD_PLANO_CONTA_REF, ''))), 60) + '|' + -- CONTA REF LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB_CONTA_CONTABIL, ''))), 14) + '|' -- CNPJ ESTABELECIMENTO FROM ( /*#226#*/ SELECT CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('09' AS VARCHAR(2)) ELSE A.COD_NATUREZA_CONTA_CONTABIL END AS COD_NATUREZA_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('A' AS CHAR(1)) ELSE A.TIPO_CONTA_CONTABIL END AS TIPO_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('4' AS VARCHAR(5)) ELSE A.NIVEL_CONTA_CONTABIL END AS NIVEL_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensada' AS VARCHAR(20)) ELSE A.COD_CONTA_CONTABIL END AS CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensa de ECD -IN RFB nº 1.774/2017' AS VARCHAR(50)) ELSE A.DESC_CONTA_CONTABIL END AS DESC_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('' AS VARCHAR(60)) ELSE A.COD_PLANO_CONTA_REF END AS COD_PLANO_CONTA_REF, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('' AS VARCHAR(14)) ELSE A.CNPJ_ESTAB_CONTA_CONTABIL END AS CNPJ_ESTAB_CONTA_CONTABIL FROM #TEMP_012347 AS A WHERE (ISNULL(A.COD_CONTA_CONTABIL, '') <> '' OR @DISPENSADO_ECD = 1) AND A.NOTA_CANCELADA = 0 --#17# AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 /*#223#*/ UNION ALL SELECT CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('09' AS VARCHAR(2)) ELSE A.COD_NATUREZA_CONTA_CONTABIL END AS COD_NATUREZA_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('A' AS CHAR(1)) ELSE A.TIPO_CONTA_CONTABIL END AS TIPO_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('4' AS VARCHAR(5)) ELSE A.NIVEL_CONTA_CONTABIL END AS NIVEL_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensada' AS VARCHAR(20)) ELSE A.CONTA_CONTABIL END AS CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensa de ECD -IN RFB nº 1.774/2017' AS VARCHAR(50)) ELSE A.DESC_CONTA_CONTABIL END AS DESC_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('' AS VARCHAR(60)) ELSE A.COD_PLANO_CONTA_REF END AS COD_PLANO_CONTA_REF, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('' AS VARCHAR(14)) ELSE A.CNPJ_ESTAB_CONTA_CONTABIL END AS CNPJ_ESTAB_CONTA_CONTABIL FROM #TEMP_012347_SAT AS A WHERE (ISNULL(A.CONTA_CONTABIL, '') <> '' OR @DISPENSADO_ECD = 1) UNION ALL SELECT CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('09' AS VARCHAR(2)) ELSE A.COD_NATUREZA_CONTA_CONTABIL END AS COD_NATUREZA_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('A' AS CHAR(1)) ELSE A.TIPO_CONTA_CONTABIL END AS TIPO_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('4' AS VARCHAR(5)) ELSE A.NIVEL_CONTA_CONTABIL END AS NIVEL_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensada' AS VARCHAR(20)) ELSE A.CONTA_CONTABIL END AS CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensa de ECD -IN RFB nº 1.774/2017' AS VARCHAR(50)) ELSE A.DESC_CONTA_CONTABIL END AS DESC_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('' AS VARCHAR(60)) ELSE A.COD_PLANO_CONTA_REF END AS COD_PLANO_CONTA_REF, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('' AS VARCHAR(14)) ELSE A.CNPJ_ESTAB_CONTA_CONTABIL END AS CNPJ_ESTAB_CONTA_CONTABIL FROM #TEMP_ECF_012347 AS A WHERE (ISNULL(A.CONTA_CONTABIL, '') <> '' OR @DISPENSADO_ECD = 1) UNION ALL SELECT CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('09' AS VARCHAR(2)) ELSE A.COD_NATUREZA_CONTA_CONTABIL END AS COD_NATUREZA_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('A' AS CHAR(1)) ELSE A.TIPO_CONTA_CONTABIL END AS TIPO_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('4' AS VARCHAR(5)) ELSE A.NIVEL_CONTA_CONTABIL END AS NIVEL_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensada' AS VARCHAR(20)) ELSE A.CONTA_CONTABIL END AS CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensa de ECD -IN RFB nº 1.774/2017' AS VARCHAR(50)) ELSE A.DESC_CONTA_CONTABIL END AS DESC_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('' AS VARCHAR(60)) ELSE A.COD_PLANO_CONTA_REF END AS COD_PLANO_CONTA_REF, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('' AS VARCHAR(14)) ELSE A.CNPJ_ESTAB_CONTA_CONTABIL END AS CNPJ_ESTAB_CONTA_CONTABIL FROM #TEMP_MOV_PERIODO_IMPOSTO AS A WHERE (ISNULL(A.CONTA_CONTABIL, '') <> '' OR @DISPENSADO_ECD = 1) /*#244#*/ UNION ALL SELECT CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('09' AS VARCHAR(2)) ELSE RTRIM(AA.COD_NATUREZA_CONTA) END AS COD_NATUREZA_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('A' AS CHAR(1)) ELSE CASE WHEN AA.INDICA_SINTETICA = 1 THEN 'S' ELSE 'A' END END AS TIPO_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('4' AS VARCHAR(5)) ELSE RTRIM(AB.NIVEL_CONTA) END AS NIVEL_CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensada' AS VARCHAR(20)) ELSE RTRIM(LTRIM(ISNULL(AA.BK_CLASSIFICACAO, ''))) END AS CONTA_CONTABIL, CASE WHEN @DISPENSADO_ECD = 1 THEN CAST('Dispensa de ECD -IN RFB nº 1.774/2017' AS VARCHAR(50)) ELSE RTRIM(AA.DESC_VISAO_CLASSIF) END AS DESC_CONTA_CONTABIL, '' AS COD_PLANO_CONTA_REF, '' AS CNPJ_ESTAB_CONTA_CONTABIL FROM DBO.LCF_PIS_COFINS AS P (NOLOCK) JOIN DBO.LCF_PIS_COFINS_AJUSTE AS PA (NOLOCK) ON PA.ID_LCF_PIS_COFINS = P.ID_LCF_PIS_COFINS JOIN DBO.LCF_TERCEIRO AS T (NOLOCK) ON P.SK_MATRIZ_FISCAL = T.SK_TERCEIRO LEFT JOIN DBO.LCF_CONTA AS Y (NOLOCK) ON PA.CONTA_CONTABIL = Y.BK_CONTA LEFT JOIN (SELECT A.ID_VISAO, A.ID_CONTA, MIN(A.ID_VISAO_CLASSIF) AS ID_VISAO_CLASSIF FROM LCF_VISAO_CONTA AS A GROUP BY A.ID_VISAO, A.ID_CONTA) AS Z ON Y.ID_CONTA = Z.ID_CONTA AND Z.ID_VISAO = @ID_VISAO_CONTABIL LEFT JOIN LCF_VISAO_CLASSIF AS AA ON Z.ID_VISAO = AA.ID_VISAO AND Z.ID_VISAO_CLASSIF = AA.ID_VISAO_CLASSIF LEFT JOIN W_LCF_VISAO_NIVEL AS AB ON AB.ID_VISAO = Z.ID_VISAO AND AB.ID_VISAO_CLASSIF = Z.ID_VISAO_CLASSIF WHERE T.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND P.DATA_INICIAL = @DATA_INI AND P.DATA_FINAL = @DATA_FIM ) AS A IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0500 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0600: CENTRO DE CUSTOS IF @REGISTRO = '0600' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_9_' + @REGISTRO, --@ARQUIVO + '_B0_' + @BLOCO + '_9_' + @REGISTRO, --@ARQUIVO + '_B0_0_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + @REGISTRO, @ARQUIVO + '_B0_B_' + '_' + @BLOCO + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(REPLACE(CONVERT(CHAR(10), @DATA_INI, 103), '/', ''))), 8) + '|' + -- DATA INCLUSAO/ALTERACAO LEFT(RTRIM(LTRIM(ISNULL(A.COD_CENTRO_CUSTO, ''))), 60) + '|' + -- CODIGO CENTRO DE CUSTO LEFT(RTRIM(LTRIM(ISNULL(A.DESC_CENTRO_CUSTO, ''))), 60) + '|' -- NOME CENTRO DE CUSTO FROM #TEMP_012347 AS A WHERE ISNULL(A.COD_CENTRO_CUSTO, '') <> '' AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.COD_CENTRO_CUSTO, A.DESC_CENTRO_CUSTO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0600 /*#255*/ /* 0900 - Composição das Receitas do Período - Receita Bruta e Demais Receitas*/ IF @REGISTRO = '0900' AND CAST(RTRIM(LTRIM(@VERSAO_LAYOUT)) AS INT) >= 5 /*#256#*/ BEGIN SELECT @REC_NRB_BLOCO_A = CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_PARC_REC_BLOCO_A', @DATA_INI), '0.00') AS NUMERIC(19,2)); SELECT @REC_NRB_BLOCO_C = CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_PARC_REC_BLOCO_C', @DATA_INI), '0.00') AS NUMERIC(19,2)); SELECT @REC_NRB_BLOCO_D = CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_PARC_REC_BLOCO_D', @DATA_INI), '0.00') AS NUMERIC(19,2)); SELECT @REC_NRB_BLOCO_F = CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_PARC_REC_BLOCO_F', @DATA_INI), '0.00') AS NUMERIC(19,2)); SELECT @REC_TOTAL_BLOCO_A = SUM(ISNULL(A.VALOR_DOC, 0)) FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '03', '90', '91') AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0; --AND ISNULL(CAST(A.ST_COFINS AS VARCHAR(2)), '06') IN ('01', '02', '03', '04', '05', '06', '07', '08', '09'); SELECT TOP 1 @INDESCRITURACAO = CAST(A.IND_ESCRI AS tinyint) FROM (SELECT IND_ESCRI = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.C010.COLINDESCRITURACAO' THEN RTRIM(LTRIM(A.VALOR_OBJETO)) ELSE '' END) FROM DBO.LF_INF_COMPLEMENTAR AS A (NOLOCK) WHERE A.NOME_OBJETO LIKE '%.C010%' AND A.ID_INTEGRACAO_GOVERNO = '28' AND A.COD_FILIAL = @CODIGOMATRIZ AND A.DATA_INICIAL BETWEEN @DATA_INI AND @DATA_FIM ) AS A; IF @INDESCRITURACAO = 1 BEGIN SELECT @REC_TOTAL_BLOCO_C = SUM(ISNULL(A.VALOR, 0)) FROM ( /*C175*/ SELECT A.VALOR_ITEM AS VALOR FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ('65') AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 UNION ALL /*C185*/ SELECT A.VALOR_DOC AS VALOR FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ('55', CASE WHEN REPLACE(@VERSAO_PVA, '.', '') IN ('208') THEN '65' ELSE '' END) AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_IPI, '') <> '' OR ISNULL(A.INDICA_COFINS, '') <> '' ) AND TIPO_OPERACAO = 'V' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 UNION ALL /*C385*/ SELECT A.VALOR_DOC AS VALOR FROM #TEMP_012347 AS A WHERE A.LX_MODELO = '02' AND A.NOTA_CANCELADA = 0 AND ISNULL(A.INDICA_COFINS, '') <> '' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 UNION ALL /*C495*/ SELECT A.VALOR_ITEM AS VALOR FROM #TEMP_ECF_012347 AS A WHERE A.VALOR_ITEM > 0 UNION ALL /*C870*/ SELECT ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_ITEM ELSE 0 END,0) AS VALOR FROM #TEMP_012347_SAT LEFT JOIN LCF_TERCEIRO MF ON MF.SK_TERCEIRO = SK_MATRIZ_FISCAL WHERE ID_IMPOSTO IN (5,6) ) AS A END; ELSE BEGIN SELECT @REC_TOTAL_BLOCO_C = SUM(ISNULL(A.VALOR, 0)) FROM ( /*C170*/ SELECT A.VALOR_ITEM AS VALOR FROM #TEMP_012347 AS A WHERE (A.LX_MODELO IN ( '01', '1B', '04' ) OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 UNION ALL /*C175*/ SELECT A.VALOR_ITEM AS VALOR FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ('65') AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 UNION ALL /*C385*/ SELECT A.VALOR_DOC AS VALOR FROM #TEMP_012347 AS A WHERE A.LX_MODELO = '02' AND A.NOTA_CANCELADA = 0 AND ISNULL(A.INDICA_COFINS, '') <> '' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 UNION ALL /*C485*/ /*C870*/ SELECT ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_ITEM ELSE 0 END,0) AS VALOR FROM #TEMP_012347_SAT LEFT JOIN LCF_TERCEIRO MF ON MF.SK_TERCEIRO = SK_MATRIZ_FISCAL WHERE ID_IMPOSTO IN (5,6) ) AS A END; SELECT @REC_TOTAL_BLOCO_D = SUM(ISNULL(A.VALOR_DOC, 0)) FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '21', '22', '26', '27', '57', '67') AND A.NOTA_CANCELADA = 0 AND A.IND_OPER = '1' AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_COFINS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.ENTRADA_SAIDA = 'S'; --AND ISNULL(CAST(A.ST_COFINS AS VARCHAR(2)), '06') IN ('01', '02', '03', '04', '05', '06', '07', '08', '09'); SELECT @REC_TOTAL_BLOCO_F = 0; IF (SELECT OBJECT_ID('TEMPDB..#F500')) IS NOT NULL SELECT @REC_TOTAL_BLOCO_F = ISNULL(SUM(A.VALOR_DOC),0) FROM #F500 AS A; --WHERE ISNULL(CAST(A.ST_COFINS AS VARCHAR(2)), '06') IN ('01', '02', '03', '04', '05', '06', '07', '08', '09') IF (SELECT OBJECT_ID('TEMPDB..#F550')) IS NOT NULL SELECT @REC_TOTAL_BLOCO_F = @REC_TOTAL_BLOCO_F + ISNULL(SUM(A.VALOR_DOC),0) FROM #F550 AS A; --WHERE ISNULL(CAST(A.ST_COFINS AS VARCHAR(2)), '06') IN ('01', '02', '03', '04', '05', '06', '07', '08', '09') SELECT @REC_TOTAL_PERIODO = (@REC_TOTAL_BLOCO_A + @REC_TOTAL_BLOCO_C + @REC_TOTAL_BLOCO_D + ISNULL(@REC_TOTAL_BLOCO_F, 0)), @REC_TOTAL_NRB_PERIODO = (@REC_NRB_BLOCO_A + @REC_NRB_BLOCO_C + @REC_NRB_BLOCO_D + @REC_NRB_BLOCO_F) INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_B0_B_' + '_' + @BLOCO + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_TOTAL_BLOCO_A, 0) AS VARCHAR(20)))), '.', ',') + '|' + -- REC_TOTAL_BLOCO_A REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_NRB_BLOCO_A , 0) AS VARCHAR(20)))), '.', ',') + '|' + -- REC_NRB_BLOCO_A REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_TOTAL_BLOCO_C, 0) AS VARCHAR(20)))), '.', ',') + '|' + -- REC_TOTAL_BLOCO_C REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_NRB_BLOCO_C , 0) AS VARCHAR(20)))), '.', ',') + '|' + -- REC_NRB_BLOCO_C REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_TOTAL_BLOCO_D, 0) AS VARCHAR(20)))), '.', ',') + '|' + -- REC_TOTAL_BLOCO_D REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_NRB_BLOCO_D , 0) AS VARCHAR(20)))), '.', ',') + '|' + -- REC_NRB_BLOCO_D REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_TOTAL_BLOCO_F, 0) AS VARCHAR(20)))), '.', ',') + '|' + -- REC_TOTAL_BLOCO_F REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_NRB_BLOCO_F , 0) AS VARCHAR(20)))), '.', ',') + '|' + -- REC_NRB_BLOCO_F '0,00' + '|' + -- REC_TOTAL_BLOCO_I '0,00' + '|' + -- REC_NRB_BLOCO_I '0,00' + '|' + -- REC_TOTAL_BLOCO_1 '0,00' + '|' + -- REC_NRB_BLOCO_1 REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_TOTAL_PERIODO, 0) AS VARCHAR(20)))), '.', ',') + '|' + -- REC_TOTAL_PERIODO REPLACE(RTRIM(LTRIM(CAST(ISNULL(@REC_TOTAL_NRB_PERIODO, 0) AS VARCHAR(20)))), '.', ',') + '|' -- REC_TOTAL_NRB_PERIODO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001; SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO; GOTO ERROR; END; GOTO PROXIMO; END; /*#255*/ --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 0990: ENCERRAMENTO DO BLOCO 0 IF @REGISTRO = '0990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_9_' + @REGISTRO, @ARQUIVO + '_B0_Z_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(CAST((SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = '0') + 1 AS VARCHAR(10)))) + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 0990 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO A001: ABERTURA DO BLOCO A IF @REGISTRO = 'A001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_ _' + @REGISTRO, @ARQUIVO + '_BA_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(A.REGISTRO, 1) = 'A') > 0 THEN '0' ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM A001 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO A010: IDENTIFICAÇÃO DO ESTABELECIMENTO IF @REGISTRO = 'A010' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_ _' + @REGISTRO, @ARQUIVO + '_BA_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' -- CNPJ ESTABELECIMENTO FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') -- #58# AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM A010 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO A100: DOCUMENTO - NOTA FISCAL DE SERVIÇO IF @REGISTRO = 'A100' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE, LINHA FROM (SELECT --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_100_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BA_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_' + @BLOCO + '_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART,''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.IND_OPER, ''))), 1) + '|' + -- TIPO DE OPERAÇÃO LEFT(RTRIM(LTRIM(ISNULL(A.IND_EMIT, ''))), 1) + '|' + -- INDICADOR DO EMITENTE LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '|' + -- CODIGO DO PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) + '|' + -- CODIGO DA SITUAÇÃO DO DOCUMENTO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '|' + -- SERIE #156# LEFT(RTRIM(LTRIM(ISNULL(A.SUBSERIE, ''))), 20) + '|' + -- SUBSERIE RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '|' + -- NUMERO NF LEFT(RTRIM(LTRIM(ISNULL(A.CHAVE_NFE, ''))), 60) + '|' + -- CHAVE DA NFE LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- DATA DOC LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_ENT_SAI, 103), '/', ''), ''))), 8) + '|' + -- DATA EXE SERV REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DOC /*#66#*/ LEFT(RTRIM(LTRIM(ISNULL(A.IND_PGTO, ''))), 1) + '|' + -- TIPO DE PAGAMENTO /*/*#60#*/ CASE WHEN LEFT(RTRIM(LTRIM(ISNULL(A.IND_PGTO, ''))), 1) = '9' AND @DATA_INI >= '20120701' THEN '2' ELSE LEFT(RTRIM(LTRIM(ISNULL(A.IND_PGTO, ''))), 1) END + '|' + -- TIPO DE PAGAMENTO /*LEFT(RTRIM(LTRIM(ISNULL(A.IND_PGTO, ''))), 1) + '|' + -- TIPO DE PAGAMENTO*/*/ REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- DESCONTO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS_RET, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS RET REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS_RET, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS RET REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ISS, A.VALOR_ISS_R)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR DO ISS FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.IND_OPER, A.IND_EMIT, A.COD_SIT, A.SUBSERIE, A.CHAVE_NFE, A.DATA_DOC, A.DATA_ENT_SAI, A.IND_PGTO --A.BK_SERIE #156# UNION ALL SELECT --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_100_' + --LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + --LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BA_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_' + @BLOCO + '_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART,''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.IND_OPER, ''))), 1) + '|' + -- TIPO DE OPERAÇÃO LEFT(RTRIM(LTRIM(ISNULL(A.IND_EMIT, ''))), 1) + '|' + -- INDICADOR DO EMITENTE '' + '|' + -- CODIGO DO PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) + '|' + -- CODIGO DA SITUAÇÃO DO DOCUMENTO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '|' + -- SERIE #156# LEFT(RTRIM(LTRIM(ISNULL(A.SUBSERIE, ''))), 20) + '|' + -- SUBSERIE RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '|' + -- NUMERO NF #77# '' + '|' + -- CHAVE DA NFE '' + '|' + -- EMISSAO '' + '|' + -- RECEBIMENTO '' + '|' + -- VALOR TOTAL '' + '|' + -- TIPO DE PAGAMENTO '' + '|' + -- DESCONTO '' + '|' + -- BASE PIS '' + '|' + -- VALOR DO PIS '' + '|' + -- BASE COFINS '' + '|' + -- VALOR DO COFINS '' + '|' + -- PIS ST '' + '|' + -- COFINS ST '' + '|' -- VALOR DO ISS FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NOTA_CANCELADA = 1 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.IND_OPER, A.IND_EMIT, A.COD_SIT, A.SUBSERIE --A.BK_SERIE #156# ) AS A; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END /*#202#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO A110: COMPLEMENTO DO DOCUMENTO - INFORMAÇÃO COMPLEMENTAR DA NF IF @REGISTRO = 'A110' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE, LINHA FROM (SELECT CHAVE = @ARQUIVO + '_BA_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_' + @BLOCO + '_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART,''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(CONVERT(VARCHAR(20), A.ID_OBS_COMPLEMENTAR))), 6) + '|' + -- COD_INF LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(LEFT(A.OBS_COMPLEMENTAR, 255), CHAR(13) + CHAR(10), ' '), CHAR(13), ''), CHAR(10), ''))) + '|' -- TXT_COMPL FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.ID_OBS_COMPLEMENTAR IS NOT NULL GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ID_OBS_COMPLEMENTAR, A.OBS_COMPLEMENTAR) AS A; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO A111: PROCESSO REFERENCIADO IF @REGISTRO = 'A111' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_100_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BA_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_' + @BLOCO + '_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(CAST(A.NUM_PROC AS VARCHAR(15)), ''))) + '|' + -- NUMERO PROCESSO RTRIM(LTRIM(ISNULL(CAST(A.IND_PROC AS VARCHAR(1)), ''))) + '|' -- INDICADOR PROCESSO FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.NUM_PROC, A.IND_PROC --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM A111 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO A120: INFORMAÇÃO COMPLEMENTAR - OPERAÇÕES DE IMPORTAÇÃO IF @REGISTRO = 'A120' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_100_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BA_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_' + @BLOCO + '_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO -- VALOR TOTAL DO SERVIÇO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE DO PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN MAX(COALESCE(ANT_PIS.BAIXA, APU_PIS.BAIXA)) IS NOT NULL THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- DATA PAGAMENTO PIS /*#143#*/ CASE WHEN MAX(COALESCE(ANT_PIS.BAIXA, APU_PIS.BAIXA)) IS NOT NULL THEN LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MAX(COALESCE(ANT_PIS.BAIXA, APU_PIS.BAIXA)), 103), '/', ''), ''))), 8) ELSE '' END + '|' + -- BASE DO COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN MAX(COALESCE(ANT_COFINS.BAIXA, APU_COFINS.BAIXA)) IS NOT NULL THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- DATA PAGAMENTO COFINS /*#143#*/ CASE WHEN MAX(COALESCE(ANT_COFINS.BAIXA, APU_COFINS.BAIXA)) IS NOT NULL THEN LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MAX(COALESCE(ANT_COFINS.BAIXA, APU_COFINS.BAIXA)), 103), '/', ''), ''))), 8) ELSE '' END + '|' + -- LOCAL EXECUÇÃO DO SERVIÇO '0' + '|' FROM #TEMP_012347 AS A /*#143# - VERIFICA SE PIS FOI PAGO ANTECIPADAMENTE*/ LEFT JOIN ( SELECT LCF.ID_NOTA, BAIXA = M.DATA_PAGAMENTO, DADOS.ID_IMPOSTO FROM LCF_NOTA_ENTRADA LCF INNER JOIN CTB_A_PAGAR_FATURA AS FAT ON LCF.BK_LANCAMENTO = FAT.LANCAMENTO INNER JOIN CTB_A_PAGAR_PARCELA AS PARC ON FAT.EMPRESA = PARC.EMPRESA AND FAT.LANCAMENTO = PARC.LANCAMENTO AND FAT.ITEM = PARC.ITEM INNER JOIN LF_DADOS_ARRECADACAO AS DADOS ON FAT.ID_DADOS_ARRECADACAO = DADOS.ID_DADOS_ARRECADACAO INNER JOIN FILIAIS AS FIL ON FAT.COD_FILIAL = FIL.COD_FILIAL INNER JOIN CADASTRO_CLI_FOR AS CLI ON FAT.COD_CLIFOR_SACADO = CLI.COD_CLIFOR INNER JOIN LF_CALENDARIO_FISCAL AS CALEND ON CALEND.ID_IMPOSTO = 5 AND CALEND.DATA_INICIAL <= FAT.EMISSAO AND CALEND.DATA_FINAL >= FAT.EMISSAO LEFT JOIN DBO.CTB_A_PAGAR_MOV AS M (NOLOCK) ON PARC.EMPRESA = M.EMPRESA AND PARC.LANCAMENTO = M.LANCAMENTO_MOV AND PARC.ITEM = M.ITEM_MOV AND PARC.ID_PARCELA = M.ID_PARCELA WHERE LCF.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY LCF.ID_NOTA, M.DATA_PAGAMENTO, DADOS.ID_IMPOSTO ) AS ANT_PIS ON ANT_PIS.ID_NOTA = A.ID_NOTA AND ANT_PIS.ID_IMPOSTO = 5 /*#143# - CASO NÃO EXISTA PAGAMENTO ANTECIPADO DE PIS, É UTILIZADA A DATA DE PAGAMENTO DA APURAÇÂO DO PERÍODO*/ LEFT JOIN (SELECT B.SK_MATRIZ_FISCAL, B.DATA_INICIAL, B.DATA_FINAL, BAIXA = MAX(C.BAIXA) FROM LCF_APURACAO B LEFT JOIN LCF_APURACAO_VENCIMENTOS C ON C.ID_APURACAO = B.ID_APURACAO WHERE B.ID_IMPOSTO = 5 GROUP BY B.SK_MATRIZ_FISCAL, B.DATA_INICIAL, B.DATA_FINAL) AS APU_PIS ON APU_PIS.SK_MATRIZ_FISCAL = A.SK_MATRIZ_FISCAL AND A.DATA_DOC/*#144#*/ BETWEEN APU_PIS.DATA_INICIAL AND APU_PIS.DATA_FINAL AND ANT_PIS.ID_NOTA IS NULL /*#143# - VERIFICA SE COFINS FOI PAGO ANTECIPADAMENTE*/ LEFT JOIN ( SELECT LCF.ID_NOTA, BAIXA = M.DATA_PAGAMENTO, DADOS.ID_IMPOSTO FROM LCF_NOTA_ENTRADA LCF INNER JOIN CTB_A_PAGAR_FATURA AS FAT ON LCF.BK_LANCAMENTO = FAT.LANCAMENTO INNER JOIN CTB_A_PAGAR_PARCELA AS PARC ON FAT.EMPRESA = PARC.EMPRESA AND FAT.LANCAMENTO = PARC.LANCAMENTO AND FAT.ITEM = PARC.ITEM INNER JOIN LF_DADOS_ARRECADACAO AS DADOS ON FAT.ID_DADOS_ARRECADACAO = DADOS.ID_DADOS_ARRECADACAO INNER JOIN FILIAIS AS FIL ON FAT.COD_FILIAL = FIL.COD_FILIAL INNER JOIN CADASTRO_CLI_FOR AS CLI ON FAT.COD_CLIFOR_SACADO = CLI.COD_CLIFOR INNER JOIN LF_CALENDARIO_FISCAL AS CALEND ON CALEND.ID_IMPOSTO = 6 AND CALEND.DATA_INICIAL <= FAT.EMISSAO AND CALEND.DATA_FINAL >= FAT.EMISSAO LEFT JOIN DBO.CTB_A_PAGAR_MOV AS M (NOLOCK) ON PARC.EMPRESA = M.EMPRESA AND PARC.LANCAMENTO = M.LANCAMENTO_MOV AND PARC.ITEM = M.ITEM_MOV AND PARC.ID_PARCELA = M.ID_PARCELA WHERE LCF.RECEBIMENTO BETWEEN @DATA_INI AND @DATA_FIM GROUP BY LCF.ID_NOTA, M.DATA_PAGAMENTO, DADOS.ID_IMPOSTO ) AS ANT_COFINS ON ANT_COFINS.ID_NOTA = A.ID_NOTA AND ANT_COFINS.ID_IMPOSTO = 6 /*#143# - CASO NÃO EXISTA PAGAMENTO ANTECIPADO DE COFINS, É UTILIZADA A DATA DE PAGAMENTO DA APURAÇÂO DO PERÍODO*/ LEFT JOIN (SELECT B.SK_MATRIZ_FISCAL, B.DATA_INICIAL, B.DATA_FINAL, BAIXA = MAX(C.BAIXA) FROM LCF_APURACAO B LEFT JOIN LCF_APURACAO_VENCIMENTOS C ON C.ID_APURACAO = B.ID_APURACAO WHERE B.ID_IMPOSTO = 6 GROUP BY B.SK_MATRIZ_FISCAL, B.DATA_INICIAL, B.DATA_FINAL) AS APU_COFINS ON APU_COFINS.SK_MATRIZ_FISCAL = A.SK_MATRIZ_FISCAL AND A.DATA_DOC/*#144#*/ BETWEEN APU_COFINS.DATA_INICIAL AND APU_COFINS.DATA_FINAL AND ANT_COFINS.ID_NOTA IS NULL WHERE A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NUM_IMPORTACAO IS NOT NULL AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM A120 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO A170: COMPLEMENTO DO DOCUMENTO - ITENS DO DOCUMENTO IF @REGISTRO = 'A170' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_100_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BA_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_' + @BLOCO + '_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(CAST(A.NUM_ITEM AS VARCHAR(3)), ''))) + '|' + -- NUMERO ITEM RTRIM(LTRIM(ISNULL(CAST(A.COD_ITEM AS VARCHAR(60)), ''))) + '|' + -- CODIGO ITEM --RTRIM(LTRIM(ISNULL(CAST(A.DESC_ITEM AS VARCHAR(255)), ''))) + '|' + -- DESCRIÇÃO ITEM RTRIM(LTRIM(ISNULL(CAST(A.DESC_COMPL AS VARCHAR(255)), ''))) + '|' + -- DESCRIÇÃO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ITEM /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DESCONTO CASE WHEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) + ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(/*#266#*/IIF(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) > ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0), ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0), ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0))/*#266#*/) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DESCONTO RTRIM(LTRIM(ISNULL(ISNULL(CAST(A.COD_BC_CREDITO_PIS AS VARCHAR(2)), CAST(A.COD_BC_CREDITO_COFINS AS VARCHAR(2))), ''))) + '|' + -- CÓDIGO BC CRÉDITO CASE WHEN (A.ENTRADA_SAIDA = 'S') THEN '' ELSE CASE WHEN A.NUM_IMPORTACAO IS NOT NULL THEN '1' ELSE '0' END END + '|' + -- ORIGEM DO CRÉDITO RTRIM(LTRIM(ISNULL(CAST(A.ST_PIS AS VARCHAR(2)), '06'))) + '|' + -- SITUAÇÃO TRIBUTÁRIA PIS (06 - INDICA QUE A ALIQUOTA É ZERO) /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE CALCULO DO PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE CALCULO DO PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO PIS CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_PIS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA DO PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO PIS RTRIM(LTRIM(ISNULL(CAST(A.ST_COFINS AS VARCHAR(2)), '06'))) + '|' + -- SITUAÇÃO TRIBUTÁRIA COFINS (06 - INDICA QUE A ALIQUOTA É ZERO) /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE CALCULO DO COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE CALCULO DO COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO COFINS CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA DO COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' + -- CONTA CONTABIL #226# RTRIM(LTRIM(ISNULL(CAST(A.COD_CENTRO_CUSTO AS VARCHAR(60)), ''))) + '|' -- CENTRO DE CUSTO FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.NUM_ITEM, A.COD_ITEM, A.DESC_COMPL, A.COD_BC_CREDITO_PIS, A.COD_BC_CREDITO_COFINS, A.NUM_IMPORTACAO, A.ST_PIS, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/, A.ST_COFINS, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/, A.COD_CONTA_CONTABIL, A.COD_CENTRO_CUSTO, A.ENTRADA_SAIDA; --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM A170 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO A990: ENCERRAMENTO DO BLOCO 0 IF @REGISTRO = 'A990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_ _' + @REGISTRO, @ARQUIVO + '_BA_Z_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(CAST((SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'A') + 1 AS VARCHAR(10)))) + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM A990 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C001: ABERTURA DO BLOCO C IF @REGISTRO = 'C001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BC_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'C') > 0 THEN '0' ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C001 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C010: IDENTIFICAÇÃO DO ESTABELECIMENTO IF @REGISTRO = 'C010' BEGIN /*#216# /*#213#*/ DECLARE @IND_ESCRI CHAR(1) /*#214# SELECT @IND_ESCRI = RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_IND_ESCRI', @DATA_INI), ''))) SET @IND_ESCRI = CASE WHEN @IND_ESCRI IN ('...','') THEN '2' ELSE @IND_ESCRI END */ SET @IND_ESCRI = '2' */ /*#216#*/ IF (SELECT OBJECT_ID('TEMPDB..#TMP_IND_ESCRI')) IS NOT NULL BEGIN DROP TABLE #TMP_IND_ESCRI; END /*#223#*/ SELECT DISTINCT A.COD_FILIAL, A.CNPJ_FILIAL, A.IND_ESCRI INTO #TMP_IND_ESCRI FROM (SELECT CNPJ_FILIAL = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.C010.COLCNPJFILIAL' THEN RTRIM(LTRIM(A.VALOR_OBJETO)) ELSE '' END), IND_ESCRI = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.C010.COLINDESCRITURACAO' THEN RTRIM(LTRIM(A.VALOR_OBJETO)) ELSE '' END), A.COD_FILIAL FROM DBO.LF_INF_COMPLEMENTAR AS A (NOLOCK) JOIN DBO.LCF_TERCEIRO AS FILIAL (NOLOCK) ON (SELECT MAX(RTRIM(LTRIM(A.VALOR_OBJETO))) FROM DBO.LF_INF_COMPLEMENTAR AS A WHERE A.ID_INTEGRACAO_GOVERNO = '28' AND A.NOME_OBJETO LIKE '%C010.COLCNPJFILIAL' AND A.COD_FILIAL = @CODIGOMATRIZ AND A.DATA_INICIAL BETWEEN @DATA_INI AND @DATA_FIM) = RTRIM(LTRIM(FILIAL.CNPJ)) AND FILIAL.LX_ORIGEM_TERCEIRO = 1 AND FILIAL.SK_MATRIZ_CONTABIL IS NOT NULL WHERE A.NOME_OBJETO LIKE '%.C010%' AND A.ID_INTEGRACAO_GOVERNO = '28' AND A.COD_FILIAL = @CODIGOMATRIZ AND A.DATA_INICIAL BETWEEN @DATA_INI AND @DATA_FIM GROUP BY SUBSTRING(A.NOME_OBJETO, 1, CHARINDEX('.COL', A.NOME_OBJETO)), A.COD_FILIAL) AS A; /* /*#216#*/ SELECT INF.COD_FILIAL, SUBSTRING(INF.NOME_OBJETO, 1, 6) AS ID_INF, MAX(CASE WHEN INF.NOME_OBJETO LIKE '%C010.COLCNPJFILIAL' THEN INF.VALOR_OBJETO ELSE '' END) AS CNPJ_FILIAL, MAX(CASE WHEN INF.NOME_OBJETO LIKE '%C010.COLINDESCRITURACAO' THEN INF.VALOR_OBJETO ELSE '' END) AS IND_ESCRI INTO #TMP_IND_ESCRI FROM DBO.LF_INF_COMPLEMENTAR AS INF WHERE INF.ID_INTEGRACAO_GOVERNO = 28 AND INF.COD_FILIAL = @CODIGOMATRIZ AND INF.DATA_INICIAL = @DATA_INI AND INF.NOME_OBJETO LIKE '%C010%' GROUP BY INF.COD_FILIAL, SUBSTRING(NOME_OBJETO, 1, 6) ORDER BY INF.COD_FILIAL, SUBSTRING(NOME_OBJETO, 1, 6); /*#216#*/ */ INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) --SELECT @IDCUR_ARQUIVO, -- @REGISTRO, -- --@ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_ _' + @REGISTRO, -- @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, -- '|' + @REGISTRO + '|' + -- REGISTRO -- LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' + -- CNPJ -- '2' + '|' -- IND_ESCRI --FROM #TEMP_012347 AS A --WHERE A.LX_MODELO IN ('01', '1B', '02', '2B', '2D', '2E', '04', '06', '28', '29', '55') AND -- (ISNULL(A.INDICA_ICMS, '') <> '' OR -- ISNULL(A.INDICA_IPI, '') <> '') --GROUP BY A.CNPJ_ESTAB SELECT DISTINCT * FROM (SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_ _' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' + -- CNPJ LTRIM(RTRIM(IND_ESCRI.IND_ESCRI)) + '|' -- IND_ESCRI /*#216#*/ /*#216# /*#213#*/ --'2' + '|' -- IND_ESCRI @IND_ESCRI + '|' -- IND_ESCRI #216#*/ FROM #TEMP_012347 AS A JOIN #TMP_IND_ESCRI AS IND_ESCRI /*#216#*/ ON A.CNPJ_ESTAB = IND_ESCRI.CNPJ_FILIAL /*#216#*/ WHERE A.LX_MODELO IN ( '01', '1B', '02', '2B', '2D', '2E', '04', '06', '28', '29', '55', '59', '65', '66') --#120# #255# --AND ( ISNULL(A.INDICA_ICMS, '') <> '' -- OR ISNULL(A.INDICA_IPI, '') <> '' ) #38# AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, IND_ESCRI.IND_ESCRI /*#216#*/ UNION ALL --#159# SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_ _' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' + -- CNPJ LTRIM(RTRIM(IND_ESCRI.IND_ESCRI)) + '|' -- IND_ESCRI /*#216#*/ /*#216# /*#213#*/ --'2' + '|' -- IND_ESCRI @IND_ESCRI + '|' -- IND_ESCRI #216#*/ FROM #TEMP_012347_SAT AS A JOIN #TMP_IND_ESCRI AS IND_ESCRI /*#216#*/ ON A.CNPJ_ESTAB = IND_ESCRI.CNPJ_FILIAL /*#216#*/ GROUP BY A.CNPJ_ESTAB, IND_ESCRI.IND_ESCRI /*#216#*/ UNION ALL SELECT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_ _' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' + -- CNPJ LTRIM(RTRIM(IND_ESCRI.IND_ESCRI)) + '|' -- IND_ESCRI /*#216#*/ /*#216# /*#213#*/ --'2' + '|' -- IND_ESCRI @IND_ESCRI + '|' -- IND_ESCRI #216#*/ FROM #TEMP_ECF_012347 AS A JOIN #TMP_IND_ESCRI AS IND_ESCRI /*#216#*/ ON A.CNPJ_ESTAB = IND_ESCRI.CNPJ_FILIAL /*#216#*/ GROUP BY A.CNPJ_ESTAB, IND_ESCRI.IND_ESCRI /*#216#*/) AS A; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C010 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C100: DOCUMENTO - NOTA FISCAL (CÓDIGO 01), NOTA FISCAL AVULSA (CÓDIGO 1B), NOTA FISCAL DE PRODUTOR (CÓDIGO 04) E NF-E (CÓDIGO 55) IF @REGISTRO = 'C100' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE, LINHA FROM (SELECT --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_100_' + --LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + --LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.IND_OPER, ''))), 1) + '|' + -- TIPO OPERAÇÃO /* #249# */ -- LEFT(RTRIM(LTRIM(ISNULL(A.IND_EMIT, ''))), 1) + '|' + -- INDICADOR DE EMITENTE CASE WHEN RTRIM(LTRIM(ISNULL(A.SERIE, '000'))) IN ( '890', '899' ) THEN '1' ELSE LEFT(RTRIM(LTRIM(ISNULL(A.IND_EMIT, ''))), 1) END + '|' + -- INDICADOR DE EMITENTE /* #249# */ CASE WHEN A.LX_MODELO = '65' THEN '' ELSE LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) END + '|' + -- CÓDIGO DO PARTICIPANTE /*#138#*/ LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- CÓDIGO DO MODELO -- #249# -- Início -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) + '|' + -- CÓDIGO DA SITUAÇÃO /*CASE WHEN RTRIM(LTRIM(ISNULL(A.SERIE, '000'))) in ( '890', '899' )*/ CASE WHEN RTRIM(LTRIM(ISNULL(A.SERIE, '000'))) BETWEEN '890' AND '899' /*#264#*/ THEN '08' ELSE LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) END + '|' + -- CÓDIGO DA SITUAÇÃO -- #249# -- Final LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, CASE WHEN A.LX_MODELO IN ('55', '65') THEN '000' ELSE '' END))), 3) + '|' + -- SÉRIE #156# /*#262#*/ RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 9) + '|' + -- NÚMERO DO DOCUMENTO #77# /*#212#*/ LEFT(RTRIM(LTRIM(ISNULL(CASE WHEN A.COD_SIT = '05' THEN '' ELSE A.CHAVE_NFE END, ''))), 44) + '|' + -- CHAVE NFE /*LEFT(RTRIM(LTRIM(ISNULL(A.CHAVE_NFE, ''))), 44) + '|' + -- CHAVE NFE*/ --CASE WHEN A.IND_OPER = 1 THEN LEFT(RTRIM(LTRIM(ISNULL(A.CHAVE_NFE, ''))), 44) ELSE -- CASE WHEN A.IND_EMIT = 0 THEN LEFT(RTRIM(LTRIM(ISNULL(A.CHAVE_NFE, ''))), 44) ELSE '' END END + '|' + -- CHAVE NFE LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- DATA DA EMISSÃO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_ENT_SAI, 103), '/', ''), ''))), 8) + '|' + -- DATA DE ENTRADA E SAIDA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO DOCUMENTO FISCAL /*#66#*/ CASE WHEN LEFT(RTRIM(LTRIM(ISNULL(A.IND_PGTO, ''))), 1) = '9' AND @DATA_INI >= '20120701' THEN '2' ELSE LEFT(RTRIM(LTRIM(ISNULL(A.IND_PGTO, ''))), 1) END + '|' + -- TIPO DE PAGAMENTO /*LEFT(RTRIM(LTRIM(ISNULL(A.IND_PGTO, ''))), 1) + '|' + -- INDICADOR DO TIPO DE PAGAMENTO*/ REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DE DESCONTO '' + '|' + -- ABATIMENTO NÃO TRIBUTADO --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) - SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL MERCADORIAS E SERVIÇOS #127# REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL MERCADORIAS E SERVIÇOS #128# LEFT(RTRIM(LTRIM(ISNULL(A.IND_FRETE, ''))), 1) + '|' + -- INDICADOR DO TIPO DE FRETE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_FRETE, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR FRETE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_SEGURO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR SEGURO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_OUTRAS_DESPESAS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR OUTRAS DESPESAS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE ICMS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ICMS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_ICMS_ST, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE ICMS ST REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS_ST, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ICMS ST REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_IPI, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR IPI REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR COFINS '' + '|' + -- VALOR PIS ST '' + '|' -- VALOR COFINS ST FROM #TEMP_012347 AS A WHERE /*A.LX_MODELO IN ( '01', '1B', '04', '55' )#132*/ /*A.LX_MODELO IN ( '01', '1B', '04', '55', CASE WHEN /*#134#*/ @VERSAO_PVA >= ('2.08') THEN '65' ELSE '' END)/*#137#*/*/ (A.LX_MODELO IN ( '01', '1B', '04', CASE WHEN REPLACE(@VERSAO_PVA, '.', '') >= '208' THEN '65' ELSE '' END ) OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.NOTA_CANCELADA = 0 --AND ( ISNULL(A.INDICA_ICMS, '') <> '' --#27# -- OR ISNULL(A.INDICA_IPI, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.IND_OPER, A.IND_EMIT, A.LX_MODELO, A.COD_SIT, A.CHAVE_NFE, A.DATA_DOC, A.DATA_ENT_SAI, A.IND_PGTO, A.IND_FRETE --A.BK_SERIE #156# UNION ALL SELECT --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_100_' + --LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + --LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.IND_OPER, ''))), 1) + '|' + -- TIPO OPERAÇÃO /*#139#*/ /* #249# */ -- '0' + '|' + -- INDICADOR DO EMITENTE CASE WHEN RTRIM(LTRIM(ISNULL(A.SERIE, '000'))) IN ( '890', '899' ) THEN '1' ELSE '0' END + '|' + -- INDICADOR DE EMITENTE /* #249# */ '' + '|' + -- CODIGO DO PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- CÓDIGO DO MODELO -- #249# -- Início -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) + '|' + -- CÓDIGO DA SITUAÇÃO CASE WHEN RTRIM(LTRIM(ISNULL(A.SERIE, '000'))) in ( '890', '899' ) THEN '08' ELSE LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) END + '|' + -- CÓDIGO DA SITUAÇÃO -- #249# -- Final LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, CASE WHEN A.LX_MODELO IN ('55', '65') THEN '000' ELSE '' END))), 3) + '|' + -- SÉRIE #156# /*#262#*/ RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 9) + '|' + -- NÚMERO DO DOCUMENTO #77# /*#212#*/ LEFT(RTRIM(LTRIM(ISNULL(CASE WHEN A.COD_SIT = '05' THEN '' ELSE A.CHAVE_NFE END, ''))), 44) + '|' + -- CHAVE NFE /*LEFT(RTRIM(LTRIM(ISNULL(A.CHAVE_NFE, ''))), 44) + '|' + -- CHAVE NFE*/ '' + '|' + -- DATA DA EMISSÃO '' + '|' + -- DATA DE ENTRADA E SAIDA '' + '|' + -- VALOR TOTAL DO DOCUMENTO FISCAL --#95# '' + '|' + -- INDICADOR DO TIPO DE PAGAMENTO '' + '|' + -- VALOR DE DESCONTO '' + '|' + -- ABATIMENTO NÃO TRIBUTADO '' + '|' + -- VALOR TOTAL MERCADORIAS E SERVIÇOS '' + '|' + -- INDICADOR DO TIPO DE FRETE '' + '|' + -- VALOR FRETE '' + '|' + -- VALOR SEGURO '' + '|' + -- VALOR OUTRAS DESPESAS '' + '|' + -- BASE ICMS '' + '|' + -- VALOR ICMS '' + '|' + -- BASE ICMS ST '' + '|' + -- VALOR ICMS ST '' + '|' + -- VALOR IPI '' + '|' + -- VALOR PIS '' + '|' + -- VALOR COFINS '' + '|' + -- VALOR PIS ST '' + '|' -- VALOR COFINS ST FROM #TEMP_012347 AS A WHERE /*A.LX_MODELO IN ( '01', '1B', '04', '55' )#132*/ /*A.LX_MODELO IN ( '01', '1B', '04', '55', CASE WHEN /*#134#*/@VERSAO_PVA >= ('2.08') THEN '65' ELSE '' END)/*#137#*/*/ (A.LX_MODELO IN ( '01', '1B', '04', CASE WHEN REPLACE(@VERSAO_PVA, '.', '') >= '208' THEN '65' ELSE '' END ) OR (A.LX_MODELO = '55' AND ISNULL(A.CFOP,'') NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168# #182#*/ AND A.NOTA_CANCELADA = 1 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.LX_MODELO, A.COD_SIT, A.CHAVE_NFE, A.IND_OPER /*#139#*/ --A.BK_SERIE #156# ) AS A IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C100 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C110: COMPLEMENTO DO DOCUMENTO - INFORMAÇÃO COMPLEMENTAR DA NOTA FISCAL (CÓDIGOS 01, 1B, 04 E 55) -- #87# /*#184#*/ IF @REGISTRO = 'C110' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(CAST(A.ID_OBS_COMPLEMENTAR AS CHAR(6)))), 6) + '|' + -- COD_INF LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(LEFT(A.OBS_COMPLEMENTAR, 255), CHAR(13) + CHAR(10), ' '), CHAR(13), ''), CHAR(10), ''))) + '|' -- TXT_COMPL FROM #TEMP_012347 A WHERE A.NOTA_CANCELADA = 0 /*AND A.LX_MODELO IN ('01','1B','04','55')*/ AND (A.LX_MODELO IN ( '01', '1B', '04' ) OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.ID_OBS_COMPLEMENTAR IS NOT NULL AND LTRIM(RTRIM(REPLACE(REPLACE(A.OBS_COMPLEMENTAR, CHAR(13), ''), CHAR(10), ''))) <> '' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C111: PROCESSO REFERENCIADO IF @REGISTRO = 'C111' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_100_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_PROC, ''))), 20) + '|' + -- NUMERO PROCESSO LEFT(RTRIM(LTRIM(ISNULL(A.IND_PROC, ''))), 1) + '|' -- INDICADOR PROCESSO FROM #TEMP_PROCESSO_012347 AS A WHERE /*A.LX_MODELO IN ( '01', '1B', '04', '55' )*/ (A.LX_MODELO IN ( '01', '1B', '04' ) OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.NUM_PROC, A.IND_PROC --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C111 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C120: COMPLEMENTO DO DOCUMENTO - OPERAÇÕES DE IMPORTAÇÃO (CÓDIGO 01) IF @REGISTRO = 'C120' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_100_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO -- #249# -- -- LEFT(RTRIM(LTRIM(ISNULL(A.INDICA_SIMPLIFICADA, ''))), 1) + '|' + -- DOCUMENTO DE IMPORTAÇÃO CASE WHEN A.LX_MODELO = '01' then SUBSTRING(RTRIM(LTRIM(ISNULL(A.TIPO_DOC_IMPORTACAO, ''))), 1, 1) ELSE LEFT(RTRIM(LTRIM(ISNULL(A.INDICA_SIMPLIFICADA, ''))), 1) END + '|' + -- DOCUMENTO DE IMPORTAÇÃO -- #249# -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_IMPORTACAO, ''))), CASE WHEN CAST(REPLACE(@VERSAO_LAYOUT, '.', '') AS INT) < 310 THEN 10 ELSE 15 END /*#244#*/) + '|' + -- NÚMERO DO DOCUMENTO DE IMPORTAÇÃO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS '' + '|' -- NÚMERO ATO CONCESSÓRIO DO REGIME DRAWBACK FROM #TEMP_012347 AS A WHERE --A.LX_MODELO = '01' AND /*A.LX_MODELO IN ( '01', '1B', '04', '55' )*/ (A.LX_MODELO IN ( '01', '1B', '04' ) OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.NUM_IMPORTACAO IS NOT NULL AND A.NOTA_CANCELADA = 0 --AND ( ISNULL(A.INDICA_ICMS, '') <> '' --OR ISNULL(A.INDICA_IPI, '') <> '' ) #38# AND A.IND_OPER = '0' AND ( A.ST_PIS IN ( 50, 51, 52, 53, 54, 55, 56 ) OR A.ST_COFINS IN ( 50, 51, 52, 53, 54, 55, 56 ) ) AND LEFT(A.CFOP, 1) = '3' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.INDICA_SIMPLIFICADA, A.NUM_IMPORTACAO --A.BK_SERIE #156# , A.LX_MODELO /*#249#*/ , A.TIPO_DOC_IMPORTACAO /*#249#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C120 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C170: COMPLEMENTO DO DOCUMENTO - ITENS DO DOCUMENTO (CÓDIGOS 01, 1B, 04 E 55) IF @REGISTRO = 'C170' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_100_' + --LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + --LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.NUM_ITEM AS VARCHAR(3)), ''))), 3) + '|' + -- NUMERO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM --LEFT(RTRIM(LTRIM(ISNULL(A.DESC_ITEM, ''))), 255) + '|' + -- DESCRIÇÃO DO ITEM --LEFT(RTRIM(LTRIM(ISNULL(REPLACE(REPLACE(A.DESC_ITEM,CHAR(10),''),CHAR(13),''), ''))), 255) + '|' + -- DESCRIÇÃO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(REPLACE(REPLACE(A.DESC_COMPL, CHAR(10), ''), CHAR(13), ''), ''))), 255) + '|' + -- DESCRIÇÃO DO ITEM CASE WHEN A.NOTA_COMPLEMENTAR = 1 AND A.QTDE_ITEM = 0 THEN '1,00' ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.QTDE_ITEM, 0)) AS NUMERIC(19, 5)) AS VARCHAR(20)))), '.', ',') END + '|' + -- QUANTIDADE DO ITEM #85# --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.QTDE_ITEM, 0)) AS NUMERIC(19, 5)) AS VARCHAR(20)))), '.', ',') + '|' + -- QUANTIDADE DO ITEM #85# LEFT(RTRIM(LTRIM(ISNULL(A.UNIDADE, ''))), 6) + '|' + -- UNIDADE DO ITEM --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) - SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO ITEM #127# REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO ITEM #128# /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DESCONTO CASE WHEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) + ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(/*#266#*/IIF(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) > ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0), ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0), ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0))/*#266#*/) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DESCONTO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.INDICA_MOVIMENTACAO_FISICA AS VARCHAR(1)), ''))), 1) + '|' + -- MOVIMENTAÇÃO FISICA LEFT(RTRIM(LTRIM(ISNULL(A.ST_ICMS, ''))), 3) + '|' + -- SITUAÇÃO TRIBUTARIA ICMS LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP LEFT(RTRIM(LTRIM(ISNULL(A.COD_NATUREZA, ''))), 10) + '|' + -- CÓDIGO DA NATUREZA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE CALCULO ICMS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.ALIQUOTA_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA ICMS /*#233#*/ REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ICMS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_ICMS_ST, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE CALCULO ICMS ST REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.ALIQUOTA_ICMS_ST, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA ICMS ST /*#233#*/ REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS_ST, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ICMS ST LEFT(RTRIM(LTRIM(ISNULL(CAST(A.INDICA_APURACAO_IPI AS VARCHAR(1)), ''))), 1) + '|' + -- INDICADOR APURAÇÃO IPI LEFT(RTRIM(LTRIM(ISNULL(CAST(A.ST_IPI AS VARCHAR(2)), ''))), 2) + '|' + -- SITUAÇÃO TRIBUTÁRIA IPI '' + '|' + -- ENQUADRAMENTO LEGAL DO IPI REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_IPI, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE DO IPI REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_IPI, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO IPI REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_IPI, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO IPI LEFT(RTRIM(LTRIM(ISNULL(CAST(A.ST_PIS AS VARCHAR(2)), ''))), 2) + '|' + -- SITUAÇÃO TRIBUTÁRIA PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE DO PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE DO PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO PIS CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_PIS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA DO PIS '' + '|' + -- QUANTIDADE - BASE DE CALCULO DO PIS '' + '|' + -- ALÍQUOTA DO PIS(EM REAIS) QUANTIDADE /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO PIS LEFT(RTRIM(LTRIM(ISNULL(CAST(A.ST_COFINS AS VARCHAR(2)), ''))), 2) + '|' + -- SITUAÇÃO TRIBUTÁRIA COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE DO COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE DO COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO COFINS CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA DO COFINS '' + '|' + -- QUANTIDADE - BASE DE CALCULO DO COFINS '' + '|' + -- ALÍQUOTA DO COFINS(EM REAIS) QUANTIDADE /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' -- CONTA CONTÁBIL #226# FROM #TEMP_012347 AS A WHERE /*A.LX_MODELO IN ( '01', '1B', '04', '55' )*/ (A.LX_MODELO IN ( '01', '1B', '04' ) OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.NOTA_CANCELADA = 0 --AND ( ISNULL(A.INDICA_ICMS, '') <> '' #27# -- OR ISNULL(A.INDICA_IPI, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.NUM_ITEM, A.COD_ITEM, A.DESC_COMPL, A.UNIDADE, A.INDICA_MOVIMENTACAO_FISICA, A.ST_ICMS, A.CFOP, A.COD_NATUREZA, --#233#A.ALIQUOTA_ICMS, --#233#A.ALIQUOTA_ICMS_ST, A.INDICA_APURACAO_IPI, A.ST_IPI, A.ALIQUOTA_IPI, A.ST_PIS, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/, A.ST_COFINS, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/, A.COD_CONTA_CONTABIL, A.NOTA_COMPLEMENTAR, A.QTDE_ITEM; --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C170 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C175: REGISTRO ANALÍTICO DO DOCUMENTO (CÓDIGO 65) #132# IF @REGISTRO = 'C175' AND REPLACE(@VERSAO_PVA, '.', '') >= '209' /*#134#*/ /*#175#*/ BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA OPERAÇÃO /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DESCONTO CASE WHEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) + ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(/*#266#*/IIF(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) > ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0), ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0), ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0))/*#266#*/) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DESCONTO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.ST_PIS AS VARCHAR(2)), ''))), 2) + '|' + -- SITUAÇÃO TRIBUTÁRIA PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE DO PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE DO PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO PIS CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_PIS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA DO PIS '' + '|' + -- QUANTIDADE - BASE DE CALCULO DO PIS '' + '|' + -- ALÍQUOTA DO PIS(EM REAIS) QUANTIDADE /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO PIS LEFT(RTRIM(LTRIM(ISNULL(CAST(A.ST_COFINS AS VARCHAR(2)), ''))), 2) + '|' + -- SITUAÇÃO TRIBUTÁRIA COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE DO COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE DO COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO COFINS CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA DO COFINS '' + '|' + -- QUANTIDADE - BASE DE CALCULO DO COFINS '' + '|' + -- ALÍQUOTA DO COFINS(EM REAIS) QUANTIDADE /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO COFINS --#225#LEFT(RTRIM(LTRIM(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), ''))), 60) + '|' + -- CONTA CONTÁBIL CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' + -- CONTA CONTÁBIL /*#225#*/ #226# '' + '|' -- INFORMAÇÃO COMPLEMENTAR FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ('65') AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ST_PIS, A.ST_COFINS, A.CFOP, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/; --A.COD_CONTA_CONTABIL /*#225#*/ --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C175 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C180: CONSOLIDAÇÃO DE NOTAS FISCAIS ELETRÕNICAS EMITIDAS PELA PESSOA JURÍDICA (CÓDIGO 55) ? OPERAÇÕES DE VENDAS -- #123# -- #124# -- #136# IF @REGISTRO = 'C180' BEGIN IF @DATA_INI >= '20140101' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_180_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_180_' + LEFT(RTRIM(LTRIM(ISNULL(CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END/*#132#*/, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END, ''))), 2) + '|' + -- CÓDIGO DA NOTA FISCAL ELETRÔNICA /*#132#*/ /*#135#*/ LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA EMISSAO INICIAL LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MAX(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA EMISSAO FINAL LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + '|' + -- CODIGO DO NCM LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '|' + -- CODIGO EX, CONFORME TIPI REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR TOTAL DO ITEM FROM #TEMP_012347 AS A WHERE /*A.LX_MODELO IN ( '55', '59', '65') --#120# *//*#132#*/ A.LX_MODELO IN ( '55', /*'59' #157#*/ CASE WHEN /*#134#*/REPLACE(@VERSAO_PVA, '.', '') IN ('208') THEN '65' ELSE '' END)/*#132#*/ AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_IPI, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' OR ISNULL(A.INDICA_COFINS, '') <> '' ) /*#83#*/ /*#243# AND ( A.BASE_PIS > 0 OR A.BASE_COFINS > 0 ) */ /*AND ( A.VALOR_PIS > 0 OR A.VALOR_COFINS > 0 )*/ AND --LEFT(A.CFOP,1) >= '5' TIPO_OPERACAO = 'V' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END/*#132#*/, A.COD_ITEM, A.COD_NCM, A.EX_NCM IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- GERAR O REGISTRO SÓ COM O LX_MODELO 55 -- #124# IF @DATA_INI <= '20131231' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_180_' + LEFT(RTRIM(LTRIM(ISNULL(CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END/*#132#*/, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO '55' + '|' + -- CÓDIGO DA NOTA FISCAL ELETRÔNICA LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA EMISSAO INICIAL LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MAX(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA EMISSAO FINAL LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + '|' + -- CODIGO DO NCM LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '|' + -- CODIGO EX, CONFORME TIPI REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR TOTAL DO ITEM FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '55', /*'59' #157#*/ CASE WHEN /*#134#*/ REPLACE(@VERSAO_PVA, '.', '') IN ('208') THEN '65' ELSE '' END)/*#132#*/ AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_IPI, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' OR ISNULL(A.INDICA_COFINS, '') <> '' ) AND ( A.BASE_PIS > 0 OR A.BASE_COFINS > 0 ) AND TIPO_OPERACAO = 'V' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.COD_ITEM, A.COD_NCM, A.EX_NCM IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END END -- FIM C180 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C181: DETALHAMENTO DA CONSOLIDAÇÃO ? OPERAÇÕES DE VENDAS ? PIS/PASEP IF @REGISTRO = 'C181' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_180_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_180_' + LEFT(RTRIM(LTRIM(ISNULL(CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END/*#132#*/, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP /*REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM*/ REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM /*#261#*/ /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- DESCONTO CASE WHEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- DESCONTO /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_PIS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA PIS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO PIS '' + '|' + -- ALIQUOTA DO PIS EM REAIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO PIS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #226# FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ('55', /*'59' #157#*/ CASE WHEN /*#134#*/ REPLACE(@VERSAO_PVA, '.', '') IN ('208') THEN '65' ELSE '' END) --#120# AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_IPI, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) AND --ISNULL(A.INDICA_PIS, '') <> '' AND /*#83#*/ --#243#A.BASE_PIS > 0 /*A.VALOR_PIS > 0*/ --#243#AND --LEFT(A.CFOP,1) >= '5' TIPO_OPERACAO = 'V' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END/*#132#*/, A.COD_ITEM, A.COD_NCM, A.EX_NCM, A.ST_PIS, A.CFOP, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C181 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C185: DETALHAMENTO DA CONSOLIDAÇÃO ? OPERAÇÕES DE VENDAS ? COFINS IF @REGISTRO = 'C185' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_180_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_180_' + LEFT(RTRIM(LTRIM(ISNULL(CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END/*#132#*/, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP /*REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM*/ REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM /*#261#*/ /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- DESCONTO CASE WHEN SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- DESCONTO /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA COFINS CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA COFINS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO COFINS '' + '|' + -- ALIQUOTA DO COFINS EM REAIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #226# FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ('55', /*'59' #157#*/ CASE WHEN /*#134#*/ REPLACE(@VERSAO_PVA, '.', '') IN ('208') THEN '65' ELSE '' END) --#120# AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_IPI, '') <> '' OR ISNULL(A.INDICA_COFINS, '') <> '' ) AND --ISNULL(A.INDICA_COFINS, '') <> '' AND /*#83#*/ --#243#A.BASE_COFINS > 0 /*A.VALOR_COFINS > 0*/ --#243#AND --LEFT(A.CFOP,1) >= '5' TIPO_OPERACAO = 'V' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END/*#132#*/, A.COD_ITEM, A.COD_NCM, A.EX_NCM, A.ST_COFINS, A.CFOP, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C185 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C188: PROCESSO REFERENCIADO IF @REGISTRO = 'C188' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_180_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_180_' + LEFT(RTRIM(LTRIM(ISNULL(CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END/*#132#*/, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(CAST(A.NUM_PROC AS VARCHAR(20)), ''))) + '|' + -- NUMERO PROCESSO RTRIM(LTRIM(ISNULL(CAST(A.IND_PROC AS VARCHAR(1)), ''))) + '|' -- INDICADOR PROCESSO FROM #TEMP_PROCESSO_012347 AS A WHERE /*A.LX_MODELO IN ('55', /*'59' #157#*/ '65') --#120#*/ (A.LX_MODELO = '65' OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND TIPO_OPERACAO='V' --#267# GROUP BY A.CNPJ_ESTAB, CASE WHEN A.LX_MODELO IN ('65') THEN '55' ELSE A.LX_MODELO END/*#132#*/, A.COD_ITEM, A.COD_NCM, A.EX_NCM, A.NUM_PROC, A.IND_PROC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C188 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C190: CONSOLIDAÇÃO DE NOTAS FISCAIS ELETRÔNICAS (CÓDIGO 55) ? OPERAÇÕES DE AQUISIÇÃO COM DIREITO A CRÉDITO, E OPERAÇÕES DE DEVOLUÇÃO DE COMPRAS E VENDAS. IF @REGISTRO = 'C190' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_190_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_190_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- CÓDIGO DA NOTA FISCAL ELETRÔNICA LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA EMISSAO INICIAL LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MAX(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA EMISSAO FINAL LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + '|' + -- CODIGO NCM LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '|' + -- CODIGO EX TIPI REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR DO ITEM FROM #TEMP_012347 AS A WHERE A.LX_MODELO = '55' AND ( A.ST_PIS IN ( '49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99' ) OR A.ST_COFINS IN ( '49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99' ) ) AND A.CFOP IN ( '1101', '1102', '1111', '1113', '1116', '1117', '1118', '1120', '1121', '1122', '1124', '1125', '1126', '1128', '1151', '1152', '1153', '1154', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1208', '1209', /*'1251', '1252', '1253', '1254', '1255', '1256', '1257',*/ /*#168#*/ '1301', '1302', '1303', '1304', '1305', '1306', '1351', '1352', '1353', '1354', '1355', '1356', '1360', '1401', '1403', '1406', '1407', '1408', '1409', '1410', '1411', '1414', '1415', '1451', '1452', '1501', '1503', '1504', '1505', '1506', '1551', '1552', '1553', '1554', '1555', '1556', '1557', '1601', '1602', '1603', '1604', '1605', '1651', '1652', '1653', '1658', '1659', '1660', '1661', '1662', '1663', '1664', '1901', '1902', '1903', '1904', '1905', '1906', '1907', '1908', '1909', '1910', '1911', '1912', '1913', '1914', '1915', '1916', '1917', '1918', '1919', '1920', '1921', '1922', '1923', '1924', '1925', '1926', '1931', '1932', '1933', '1934', '1949', '2101', '2102', '2111', '2113', '2116', '2117', '2118', '2120', '2121', '2122', '2124', '2125', '2126', '2128', '2151', '2152', '2153', '2154', '2201', '2202', '2203', '2204', '2205', '2206', '2207', '2208', '2209', '2251', '2252', '2253', '2254', '2255', '2256', '2257', '2301', '2302', '2303', '2304', '2305', '2306', '2351', '2352', '2353', '2354', '2355', '2356', '2401', '2403', '2406', '2407', '2408', '2409', '2410', '2411', '2414', '2415', '2501', '2503', '2504', '2505', '2506', '2551', '2552', '2553', '2554', '2555', '2556', '2557', '2603', '2651', '2652', '2653', '2658', '2659', '2660', '2661', '2662', '2663', '2664', '2901', '2902', '2903', '2904', '2905', '2906', '2907', '2908', '2909', '2910', '2911', '2912', '2913', '2914', '2915', '2916', '2917', '2918', '2919', '2920', '2921', '2922', '2923', '2924', '2925', '2931', '2932', '2933', '2934', '2949', '3101', '3102', '3126', '3127', '3128', '3201', '3202', '3205', '3206', '3207', '3211', '3251', '3301', '3351', '3352', '3353', '3354', '3355', '3556', '3503', '3551', '3553', '3556', '3651', '3652', '3653', '3930', '3949', '5201', '5202', '5206', '5207', '5210', '5410', '5411', '5660', '6201', '6202', '6206', '6207', '6210', '6410', '6411', '6660', '7201', '7202', '7210' ) AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.COD_ITEM, A.COD_NCM, A.EX_NCM IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C190 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C191: DETALHAMENTO DA CONSOLIDAÇÃO ? OPERAÇÕES DE AQUISIÇÃO COM DIREITO A CRÉDITO, E OPERAÇÕES DE DEVOLUÇÃO DE COMPRAS E VENDAS ? PIS/PASEP IF @REGISTRO = 'C191' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_190_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_190_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO --LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' THEN '' ELSE LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' THEN '' /*CASE WHEN A.PJ_PF_PART = 0 THEN REPLICATE('9', 11) ELSE REPLICATE('9', 14) END*/ --#222# ELSE ISNULL(A.CNPJ_PART, ISNULL(A.CPF_PART, '')) END, '.', ''), '/', ''), '-', ''))), 14) + '|' + -- CNPJ/CPF PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- DESCONTO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO PIS '' + '|' + -- ALIQUOTA DO PIS EM REAIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL FROM #TEMP_012347 AS A WHERE A.LX_MODELO = '55' AND A.ST_PIS IN ( '49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99' ) AND A.CFOP IN ( '1101', '1102', '1111', '1113', '1116', '1117', '1118', '1120', '1121', '1122', '1124', '1125', '1126', '1128', '1151', '1152', '1153', '1154', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1208', '1209', /*'1251', '1252', '1253', '1254', '1255', '1256', '1257',*/ /*#168#*/ '1301', '1302', '1303', '1304', '1305', '1306', '1351', '1352', '1353', '1354', '1355', '1356', '1360', '1401', '1403', '1406', '1407', '1408', '1409', '1410', '1411', '1414', '1415', '1451', '1452', '1501', '1503', '1504', '1505', '1506', '1551', '1552', '1553', '1554', '1555', '1556', '1557', '1601', '1602', '1603', '1604', '1605', '1651', '1652', '1653', '1658', '1659', '1660', '1661', '1662', '1663', '1664', '1901', '1902', '1903', '1904', '1905', '1906', '1907', '1908', '1909', '1910', '1911', '1912', '1913', '1914', '1915', '1916', '1917', '1918', '1919', '1920', '1921', '1922', '1923', '1924', '1925', '1926', '1931', '1932', '1933', '1934', '1949', '2101', '2102', '2111', '2113', '2116', '2117', '2118', '2120', '2121', '2122', '2124', '2125', '2126', '2128', '2151', '2152', '2153', '2154', '2201', '2202', '2203', '2204', '2205', '2206', '2207', '2208', '2209', '2251', '2252', '2253', '2254', '2255', '2256', '2257', '2301', '2302', '2303', '2304', '2305', '2306', '2351', '2352', '2353', '2354', '2355', '2356', '2401', '2403', '2406', '2407', '2408', '2409', '2410', '2411', '2414', '2415', '2501', '2503', '2504', '2505', '2506', '2551', '2552', '2553', '2554', '2555', '2556', '2557', '2603', '2651', '2652', '2653', '2658', '2659', '2660', '2661', '2662', '2663', '2664', '2901', '2902', '2903', '2904', '2905', '2906', '2907', '2908', '2909', '2910', '2911', '2912', '2913', '2914', '2915', '2916', '2917', '2918', '2919', '2920', '2921', '2922', '2923', '2924', '2925', '2931', '2932', '2933', '2934', '2949', '3101', '3102', '3126', '3127', '3128', '3201', '3202', '3205', '3206', '3207', '3211', '3251', '3301', '3351', '3352', '3353', '3354', '3355', '3556', '3503', '3551', '3553', '3556', '3651', '3652', '3653', '3930', '3949', '5201', '5202', '5206', '5207', '5210', '5410', '5411', '5660', '6201', '6202', '6206', '6207', '6210', '6410', '6411', '6660', '7201', '7202', '7210' ) AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.COD_ITEM, A.COD_NCM, A.EX_NCM, A.UF_PART, A.CNPJ_PART, A.CPF_PART, A.ST_PIS, A.CFOP, A.ALIQUOTA_PIS, A.COD_CONTA_CONTABIL, A.PJ_PF_PART IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C191 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C195: DETALHAMENTO DA CONSOLIDAÇÃO - OPERAÇÕES DE AQUISIÇÃO COM DIREITO A CRÉDITO, E OPERAÇÕES DE DEVOLUÇÃO DE COMPRAS E VENDAS ? COFINS IF @REGISTRO = 'C195' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_190_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_190_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO --LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' THEN '' ELSE LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(CASE WHEN A.UF_PART = 'EX' THEN '' /*CASE WHEN A.PJ_PF_PART = 0 THEN REPLICATE('9', 11) ELSE REPLICATE('9', 14) END*/ /*#222#*/ ELSE ISNULL(A.CNPJ_PART, ISNULL(A.CPF_PART, '')) END, '.', ''), '/', ''), '-', ''))), 14) + '|' + -- CNPJ/CPF PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- DESCONTO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA COFINS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO COFINS '' + '|' + -- ALIQUOTA DO COFINS EM REAIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL FROM #TEMP_012347 AS A WHERE A.LX_MODELO = '55' AND --A.ST_PIS IN ('49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99') AND A.ST_COFINS IN ( '49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99' ) AND A.CFOP IN ( '1101', '1102', '1111', '1113', '1116', '1117', '1118', '1120', '1121', '1122', '1124', '1125', '1126', '1128', '1151', '1152', '1153', '1154', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1208', '1209', /*'1251', '1252', '1253', '1254', '1255', '1256', '1257',*/ /*#168#*/ '1301', '1302', '1303', '1304', '1305', '1306', '1351', '1352', '1353', '1354', '1355', '1356', '1360', '1401', '1403', '1406', '1407', '1408', '1409', '1410', '1411', '1414', '1415', '1451', '1452', '1501', '1503', '1504', '1505', '1506', '1551', '1552', '1553', '1554', '1555', '1556', '1557', '1601', '1602', '1603', '1604', '1605', '1651', '1652', '1653', '1658', '1659', '1660', '1661', '1662', '1663', '1664', '1901', '1902', '1903', '1904', '1905', '1906', '1907', '1908', '1909', '1910', '1911', '1912', '1913', '1914', '1915', '1916', '1917', '1918', '1919', '1920', '1921', '1922', '1923', '1924', '1925', '1926', '1931', '1932', '1933', '1934', '1949', '2101', '2102', '2111', '2113', '2116', '2117', '2118', '2120', '2121', '2122', '2124', '2125', '2126', '2128', '2151', '2152', '2153', '2154', '2201', '2202', '2203', '2204', '2205', '2206', '2207', '2208', '2209', '2251', '2252', '2253', '2254', '2255', '2256', '2257', '2301', '2302', '2303', '2304', '2305', '2306', '2351', '2352', '2353', '2354', '2355', '2356', '2401', '2403', '2406', '2407', '2408', '2409', '2410', '2411', '2414', '2415', '2501', '2503', '2504', '2505', '2506', '2551', '2552', '2553', '2554', '2555', '2556', '2557', '2603', '2651', '2652', '2653', '2658', '2659', '2660', '2661', '2662', '2663', '2664', '2901', '2902', '2903', '2904', '2905', '2906', '2907', '2908', '2909', '2910', '2911', '2912', '2913', '2914', '2915', '2916', '2917', '2918', '2919', '2920', '2921', '2922', '2923', '2924', '2925', '2931', '2932', '2933', '2934', '2949', '3101', '3102', '3126', '3127', '3128', '3201', '3202', '3205', '3206', '3207', '3211', '3251', '3301', '3351', '3352', '3353', '3354', '3355', '3556', '3503', '3551', '3553', '3556', '3651', '3652', '3653', '3930', '3949', '5201', '5202', '5206', '5207', '5210', '5410', '5411', '5660', '6201', '6202', '6206', '6207', '6210', '6410', '6411', '6660', '7201', '7202', '7210' ) AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.COD_ITEM, A.COD_NCM, A.EX_NCM, A.UF_PART, A.CNPJ_PART, A.CPF_PART, A.ST_COFINS, A.CFOP, A.ALIQUOTA_COFINS, A.COD_CONTA_CONTABIL, A.PJ_PF_PART IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C195 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C198: PROCESSO REFERENCIADO IF @REGISTRO = 'C198' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_190_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_190_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(CAST(A.NUM_PROC AS VARCHAR(20)), ''))) + '|' + -- NUMERO PROCESSO RTRIM(LTRIM(ISNULL(CAST(A.IND_PROC AS VARCHAR(1)), ''))) + '|' -- INDICADOR PROCESSO FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO = '55' AND A.ST_PIS IN ( '49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99' ) AND A.CFOP IN ( '1101', '1102', '1111', '1113', '1116', '1117', '1118', '1120', '1121', '1122', '1124', '1125', '1126', '1128', '1151', '1152', '1153', '1154', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1208', '1209', /*'1251', '1252', '1253', '1254', '1255', '1256', '1257',*/ /*#168#*/ '1301', '1302', '1303', '1304', '1305', '1306', '1351', '1352', '1353', '1354', '1355', '1356', '1360', '1401', '1403', '1406', '1407', '1408', '1409', '1410', '1411', '1414', '1415', '1451', '1452', '1501', '1503', '1504', '1505', '1506', '1551', '1552', '1553', '1554', '1555', '1556', '1557', '1601', '1602', '1603', '1604', '1605', '1651', '1652', '1653', '1658', '1659', '1660', '1661', '1662', '1663', '1664', '1901', '1902', '1903', '1904', '1905', '1906', '1907', '1908', '1909', '1910', '1911', '1912', '1913', '1914', '1915', '1916', '1917', '1918', '1919', '1920', '1921', '1922', '1923', '1924', '1925', '1926', '1931', '1932', '1933', '1934', '1949', '2101', '2102', '2111', '2113', '2116', '2117', '2118', '2120', '2121', '2122', '2124', '2125', '2126', '2128', '2151', '2152', '2153', '2154', '2201', '2202', '2203', '2204', '2205', '2206', '2207', '2208', '2209', '2251', '2252', '2253', '2254', '2255', '2256', '2257', '2301', '2302', '2303', '2304', '2305', '2306', '2351', '2352', '2353', '2354', '2355', '2356', '2401', '2403', '2406', '2407', '2408', '2409', '2410', '2411', '2414', '2415', '2501', '2503', '2504', '2505', '2506', '2551', '2552', '2553', '2554', '2555', '2556', '2557', '2603', '2651', '2652', '2653', '2658', '2659', '2660', '2661', '2662', '2663', '2664', '2901', '2902', '2903', '2904', '2905', '2906', '2907', '2908', '2909', '2910', '2911', '2912', '2913', '2914', '2915', '2916', '2917', '2918', '2919', '2920', '2921', '2922', '2923', '2924', '2925', '2931', '2932', '2933', '2934', '2949', '3101', '3102', '3126', '3127', '3128', '3201', '3202', '3205', '3206', '3207', '3211', '3251', '3301', '3351', '3352', '3353', '3354', '3355', '3556', '3503', '3551', '3553', '3556', '3651', '3652', '3653', '3930', '3949', '5201', '5202', '5206', '5207', '5210', '5410', '5411', '5660', '6201', '6202', '6206', '6207', '6210', '6410', '6411', '6660', '7201', '7202', '7210' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.COD_ITEM, A.COD_NCM, A.EX_NCM, A.NUM_PROC, A.IND_PROC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C198 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C199: COMPLEMENTO DO DOCUMENTO - OPERAÇÕES DE IMPORTAÇÃO (CÓDIGO 55) IF @REGISTRO = 'C199' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_190_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_190_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 8) + LEFT(RTRIM(LTRIM(ISNULL(A.EX_NCM, ''))), 3) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO /*#249#*/ -- LEFT(RTRIM(LTRIM(ISNULL(A.INDICA_SIMPLIFICADA, ''))), 1) + '|' + -- DOCUMENTO DE IMPORTAÇÃO case WHEN RTRIM(LTRIM(ISNULL(A.SERIE, '000'))) in ( '890', '899' ) then LEFT(RTRIM(LTRIM(ISNULL(A.TIPO_DOC_IMPORTACAO, ''))), 1) else LEFT(RTRIM(LTRIM(ISNULL(A.INDICA_SIMPLIFICADA, ''))), 1) END + '|' + -- DOCUMENTO DE IMPORTAÇÃO /*#249#*/ LEFT(RTRIM(LTRIM(ISNULL(A.NUM_IMPORTACAO, ''))), CASE WHEN CAST(REPLACE(@VERSAO_LAYOUT, '.', '') AS INT) < 310 THEN 10 ELSE 15 END /*#244#*/) + '|' + -- NÚMERO DO DOCUMENTO DE IMPORTAÇÃO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS '' + '|' -- NÚMERO ATO CONCESSÓRIO DO REGIME DRAWBACK FROM #TEMP_012347 AS A WHERE A.LX_MODELO = '55' AND A.ST_PIS IN ( '49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99' ) AND A.CFOP IN ( '1101', '1102', '1111', '1113', '1116', '1117', '1118', '1120', '1121', '1122', '1124', '1125', '1126', '1128', '1151', '1152', '1153', '1154', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1208', '1209', /*'1251', '1252', '1253', '1254', '1255', '1256', '1257',*/ /*#168#*/ '1301', '1302', '1303', '1304', '1305', '1306', '1351', '1352', '1353', '1354', '1355', '1356', '1360', '1401', '1403', '1406', '1407', '1408', '1409', '1410', '1411', '1414', '1415', '1451', '1452', '1501', '1503', '1504', '1505', '1506', '1551', '1552', '1553', '1554', '1555', '1556', '1557', '1601', '1602', '1603', '1604', '1605', '1651', '1652', '1653', '1658', '1659', '1660', '1661', '1662', '1663', '1664', '1901', '1902', '1903', '1904', '1905', '1906', '1907', '1908', '1909', '1910', '1911', '1912', '1913', '1914', '1915', '1916', '1917', '1918', '1919', '1920', '1921', '1922', '1923', '1924', '1925', '1926', '1931', '1932', '1933', '1934', '1949', '2101', '2102', '2111', '2113', '2116', '2117', '2118', '2120', '2121', '2122', '2124', '2125', '2126', '2128', '2151', '2152', '2153', '2154', '2201', '2202', '2203', '2204', '2205', '2206', '2207', '2208', '2209', '2251', '2252', '2253', '2254', '2255', '2256', '2257', '2301', '2302', '2303', '2304', '2305', '2306', '2351', '2352', '2353', '2354', '2355', '2356', '2401', '2403', '2406', '2407', '2408', '2409', '2410', '2411', '2414', '2415', '2501', '2503', '2504', '2505', '2506', '2551', '2552', '2553', '2554', '2555', '2556', '2557', '2603', '2651', '2652', '2653', '2658', '2659', '2660', '2661', '2662', '2663', '2664', '2901', '2902', '2903', '2904', '2905', '2906', '2907', '2908', '2909', '2910', '2911', '2912', '2913', '2914', '2915', '2916', '2917', '2918', '2919', '2920', '2921', '2922', '2923', '2924', '2925', '2931', '2932', '2933', '2934', '2949', '3101', '3102', '3126', '3127', '3128', '3201', '3202', '3205', '3206', '3207', '3211', '3251', '3301', '3351', '3352', '3353', '3354', '3355', '3556', '3503', '3551', '3553', '3556', '3651', '3652', '3653', '3930', '3949', '5201', '5202', '5206', '5207', '5210', '5410', '5411', '5660', '6201', '6202', '6206', '6207', '6210', '6410', '6411', '6660', '7201', '7202', '7210' ) AND A.NUM_IMPORTACAO IS NOT NULL AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.COD_ITEM, A.COD_NCM, A.EX_NCM, A.INDICA_SIMPLIFICADA, A.NUM_IMPORTACAO , A.TIPO_DOC_IMPORTACAO /*#249#*/ , A.SERIE /*#249#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C199 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C380: CONSOLIDAÇÃO DE DOCUMENTOS EMITIDOS POR CST (CÓDIGO 02). IF @REGISTRO = 'C380' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_380_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_380_' + LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- CÓDIGO DE VENDA CONSUMIDOR LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA EMISSAO INICIAL LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MAX(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA EMISSAO FINAL --LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 6) + '|' + -- NUMERO NF INICIAL --LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC_FINAL, ''))), 6) + '|' + -- NUMERO NF FINAL --RIGHT(RTRIM(LTRIM(ISNULL(MIN(A.NUM_DOC), ''))), 9) + '|' + -- NUMERO NF INICIAL #77# --RIGHT(RTRIM(LTRIM(ISNULL(MAX(A.NUM_DOC_FINAL), ''))), 9) + '|' + -- NUMERO NF FINAL #77# RIGHT(RTRIM(LTRIM(ISNULL(MIN(A.NUM_DOC), ''))), 6) + '|' + -- NUMERO NF INICIAL #114# RIGHT(RTRIM(LTRIM(ISNULL(MAX(A.NUM_DOC_FINAL), ''))), 6) + '|' + -- NUMERO NF FINAL #114# REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(CASE WHEN A.NOTA_CANCELADA = 0 THEN ISNULL(A.VALOR_DOC, 0) ELSE 0 END) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DOCUMENTOS REGULARES REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(CASE WHEN A.NOTA_CANCELADA = 1 THEN ISNULL(A.VALOR_DOC, 0) ELSE 0 END) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR TOTAL DOCUMENTOS CANCELADOS FROM #TEMP_012347 AS A WHERE A.LX_MODELO = '02' AND A.NOTA_CANCELADA = 0 --AND ( ISNULL(A.INDICA_ICMS, '') <> '' -- OR ISNULL(A.INDICA_IPI, '') <> '' ) #38# AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.LX_MODELO, A.NUM_DOC_FINAL GROUP BY A.CNPJ_ESTAB, A.LX_MODELO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C380 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C381: DETALHAMENTO DA CONSOLIDAÇÃO ? PIS/PASEP IF @REGISTRO = 'C381' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_380_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_380_' + LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_PIS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA PIS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO PIS '' + '|' + -- ALIQUOTA DO PIS EM REAIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO PIS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #226# FROM #TEMP_012347 AS A WHERE A.LX_MODELO = '02' AND A.NOTA_CANCELADA = 0 AND ISNULL(A.INDICA_PIS, '') <> '' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ST_PIS, A.COD_ITEM, A.ALIQUOTA_PIS, A.COD_CONTA_CONTABIL GROUP BY A.CNPJ_ESTAB, A.COD_ITEM, A.ST_PIS, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C381 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C385: DETALHAMENTO DA CONSOLIDAÇÃO ? COFINS IF @REGISTRO = 'C385' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_380_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_380_' + LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA COFINS CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA COFINS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO COFINS '' + '|' + -- ALIQUOTA DO COFINS EM REAIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #226# FROM #TEMP_012347 AS A WHERE A.LX_MODELO = '02' AND A.NOTA_CANCELADA = 0 AND ISNULL(A.INDICA_COFINS, '') <> '' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ST_COFINS, A.COD_ITEM, A.ALIQUOTA_COFINS, A.COD_CONTA_CONTABIL GROUP BY A.CNPJ_ESTAB, A.COD_ITEM, A.ST_COFINS, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C385 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C395: NOTAS FISCAIS DE VENDA A CONSUMIDOR (CÓDIGOS 02, 2D E 2E) ? AQUISIÇÕES/ENTRADAS COM CRÉDITO. IF @REGISTRO = 'C395' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_395_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_395_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- CODIGO DO MODELO DO DOCUMENTO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '|' + -- CODIGO DO PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 3) + '|' + -- SERIE LEFT(RTRIM(LTRIM(ISNULL(A.SUBSERIE, ''))), 3) + '|' + -- SUBSERIE --RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 9) + '|' + -- NUMERO NF #77# RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 6) + '|' + -- NUMERO NF #114# LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- EMISSAO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR TOTAL FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '02', '2D', '2E', '59' ) AND A.NOTA_CANCELADA = 0 -- AND ( ISNULL(A.INDICA_ICMS, '') <> '' -- OR ISNULL(A.INDICA_IPI, '') <> '' ) #38# AND LEFT(A.CFOP, 1) IN ( '1', '2', '3' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.LX_MODELO, A.SUBSERIE, A.DATA_DOC --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C395 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C396: ITENS DO DOCUMENTO (CÓDIGOS 02, 2D E 2E) ? AQUISIÇÕES/ENTRADAS COM CRÉDITO IF @REGISTRO = 'C396' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_395_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_395_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- DESCONTO LEFT(RTRIM(LTRIM(ISNULL(ISNULL(A.COD_BC_CREDITO_PIS, A.COD_BC_CREDITO_COFINS), ''))), 2) + '|' + -- CÓDIGO DA BASE DE CÁLCULO DO CRÉDITO LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA DO COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '02', '2D', '2E'/*#232#, '59' */) AND A.NOTA_COMPLEMENTAR = 0 AND A.NOTA_CANCELADA = 0 --AND ( ISNULL(A.INDICA_ICMS, '') <> '' -- OR ISNULL(A.INDICA_IPI, '') <> '' ) #38# AND LEFT(A.CFOP, 1) IN ( '1', '2', '3' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.COD_ITEM, A.COD_BC_CREDITO_PIS, A.COD_BC_CREDITO_COFINS, A.ST_PIS, A.ALIQUOTA_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.COD_CONTA_CONTABIL --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C396 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C400 - EQUIPAMENTO ECF (CÓDIGO 02 E 2D) IF @REGISTRO = 'C400' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_BC_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_400_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.MODELO_ECF, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.SERIE_FAB_ECF, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.TERMINAL, ''))), 60) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_REDUCAO_Z, 103), '/', ''), ''))), 8) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_400_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.MODELO_ECF, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE_FAB_ECF, ''))), 20) /*+ LEFT(RTRIM(LTRIM(ISNULL(A.TERMINAL, ''))), 60) */ + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- MODELO DO DOCUMENTO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.MODELO_ECF, ''))), 20) + '|' + -- MODELO DO EQUIPAMENTO LEFT(RTRIM(LTRIM(ISNULL(A.SERIE_FAB_ECF, ''))), CASE WHEN REPLACE(@VERSAO_PVA, '.', '') < '214' THEN 20 ELSE 21 END /*#223#*/) + '|' + -- NUMERO DE SERIE --LEFT(RTRIM(LTRIM(ISNULL(A.TERMINAL, ''))), 60) + '|' -- NUMERO DO CAIXA --LEFT(RTRIM(LTRIM(ISNULL(A.ECF, ''))), 60) + '|' -- NUMERO DO CAIXA LEFT(RTRIM(LTRIM(ISNULL(MAX(A.ECF), ''))), 60) + '|' -- NUMERO DO CAIXA FROM #TEMP_ECF_012347 AS A GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.MODELO_ECF, A.SERIE_FAB_ECF--, A.TERMINAL, A.ECF--, A.DATA_REDUCAO_Z IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C400 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C405 - REDUÇÃO Z (CÓDIGO 02 E 2D) IF @REGISTRO = 'C405' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_400_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.MODELO_ECF, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.SERIE_FAB_ECF, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.TERMINAL, ''))), 60) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_REDUCAO_Z, 103), '/', ''), ''))), 8) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_400_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.MODELO_ECF, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE_FAB_ECF, ''))), 20) + /*LEFT(RTRIM(LTRIM(ISNULL(A.TERMINAL, ''))), 60) + */ LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_REDUCAO_Z, 103), '/', ''), ''))), 8) + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_REDUCAO_Z, 103), '/', ''), ''))), 8) + '|' + -- DATA DO MOVIMENTO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.CRO AS VARCHAR(3)), ''))), 3) + '|' + -- REINICIO DE OPERACAO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.CRZ AS VARCHAR(6)), ''))), 6) + '|' + -- REINICIO DE OPERACAO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.COO_FINAL AS VARCHAR(6)), ''))), 6) + '|' + -- REINICIO DE OPERACAO REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.GT_FINAL, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- GRANDE TOTALIZADOR FINAL REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.VALOR_BRUTO, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR DA VENDA BRUTA FROM #TEMP_ECF_012347 AS A GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.MODELO_ECF, A.SERIE_FAB_ECF,/*A.TERMINAL,*/ A.DATA_REDUCAO_Z, A.CRO, A.CRZ, A.COO_FINAL, A.GT_FINAL, A.VALOR_BRUTO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C405 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C481: RESUMO DIÁRIO DE DOCUMENTOS EMITIDOS POR ECF ? PIS/PASEP (CÓDIGOS 02 E 2D) IF @REGISTRO = 'C481' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_400_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.MODELO_ECF, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.SERIE_FAB_ECF, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.TERMINAL, ''))), 60) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_REDUCAO_Z, 103), '/', ''), ''))), 8) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_400_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.MODELO_ECF, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE_FAB_ECF, ''))), 20) + /*LEFT(RTRIM(LTRIM(ISNULL(A.TERMINAL, ''))), 60) +*/ LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_REDUCAO_Z, 103), '/', ''), ''))), 8) + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_PIS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA PIS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO PIS '' + '|' + -- ALIQUOTA DO PIS EM REAIS --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19,2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS * A.ALIQUOTA_PIS / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO * A.TAXA_PIS_EXCLUSAO / 100, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO * A.TAXA_PIS_EXCLUSAO / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS * A.ALIQUOTA_PIS / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR TOTAL DO PIS LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #223# #226# FROM #TEMP_ECF_012347 AS A WHERE A.VALOR_ITEM > 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.MODELO_ECF, A.SERIE_FAB_ECF,/*A.TERMINAL,*/ A.DATA_REDUCAO_Z, A.ST_PIS, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/, A.COD_ITEM HAVING SUM(ISNULL(A.VALOR_ITEM, 0)) > 0; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C481 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C485: RESUMO DIÁRIO DE DOCUMENTOS EMITIDOS POR ECF ? COFINS (CÓDIGOS 02 E 2D) IF @REGISTRO = 'C485' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_400_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.MODELO_ECF, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.SERIE_FAB_ECF, ''))), 20) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.TERMINAL, ''))), 60) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_REDUCAO_Z, 103), '/', ''), ''))), 8) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_400_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + LEFT(RTRIM(LTRIM(ISNULL(A.MODELO_ECF, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE_FAB_ECF, ''))), 20) + /*LEFT(RTRIM(LTRIM(ISNULL(A.TERMINAL, ''))), 60) + */ LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_REDUCAO_Z, 103), '/', ''), ''))), 8) + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA COFINS CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA COFINS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO COFINS '' + '|' + -- ALIQUOTA DO COFINS EM REAIS --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19,2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS * A.ALIQUOTA_COFINS / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO * A.TAXA_COFINS_EXCLUSAO / 100, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO * A.TAXA_COFINS_EXCLUSAO / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS * A.ALIQUOTA_COFINS / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR TOTAL DO COFINS LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #223# #226# FROM #TEMP_ECF_012347 AS A WHERE A.VALOR_ITEM > 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.MODELO_ECF, A.SERIE_FAB_ECF,/*A.TERMINAL,*/ A.DATA_REDUCAO_Z, A.ST_COFINS, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/, A.COD_ITEM; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C485 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C489: PROCESSO REFERENCIADO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C490: CONSOLIDAÇÃO DE DOCUMENTOS EMITIDOS POR ECF (CÓDIGOS 02, 2D E 59) IF @REGISTRO = 'C490' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_490_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_490_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_REDUCAO_Z), 103), '/', ''), ''))), 8) + '|' + -- DATA INICIAL DO DOCUMENTO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MAX(A.DATA_REDUCAO_Z), 103), '/', ''), ''))), 8) + '|' + -- DATA FINAL DO DOCUMENTO LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' -- MODELO DO DOCUMENTO FISCAL FROM #TEMP_ECF_012347 AS A GROUP BY A.CNPJ_ESTAB, A.LX_MODELO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C490 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C491: DETALHAMENTO DA CONSOLIDAÇÃO DE DOCUMENTOS EMITIDOS POR ECF (CÓDIGOS 02 E 2D)? PIS/PASEP IF @REGISTRO = 'C491' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_490_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_490_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ITEM /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_PIS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA PIS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO PIS '' + '|' + -- ALIQUOTA DO PIS EM REAIS --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19,2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS * A.ALIQUOTA_PIS / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO * A.TAXA_PIS_EXCLUSAO / 100, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO * A.TAXA_PIS_EXCLUSAO / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS * A.ALIQUOTA_PIS / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR TOTAL DO PIS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #223# FROM #TEMP_ECF_012347 AS A WHERE A.VALOR_ITEM > 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.COD_ITEM, A.ST_PIS, A.CFOP, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/, A.CONTA_CONTABIL /*#223#*/; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C491 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C495: DETALHAMENTO DA CONSOLIDAÇÃO DE DOCUMENTOS EMITIDOS POR ECF (CÓDIGOS 02 E 2D) ? COFINS IF @REGISTRO = 'C495' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_490_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_490_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ITEM /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA COFINS CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA COFINS '' + '|' + -- QUANTIDADE BASE DE CALCULO DO COFINS '' + '|' + -- ALIQUOTA DO COFINS EM REAIS --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19,2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS * A.ALIQUOTA_COFINS / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO * A.TAXA_COFINS_EXCLUSAO / 100, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO * A.TAXA_COFINS_EXCLUSAO / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS * A.ALIQUOTA_COFINS / 100, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR TOTAL DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #223# FROM #TEMP_ECF_012347 AS A WHERE A.VALOR_ITEM > 0 GROUP BY A.CNPJ_ESTAB, A.LX_MODELO, A.COD_ITEM, A.ST_COFINS, A.CFOP, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/, A.CONTA_CONTABIL /*#223#*/; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C495 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C499: PROCESSO REFERENCIADO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C500: NOTA FISCAL/CONTA DE ENERGIA ELÉTRICA (CÓDIGO 06) E NOTA FISCAL CONSUMO FORNECIMENTO DE GÁS (CÓDIGO 28) /*#184#*/ IF @REGISTRO = 'C500' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_500_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '|' + -- CODIGO DO PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- MODELO DO DOCUMENTO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) + '|' + -- CODIGO DA SITUACAO DO DOCUMENTO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 4) + '|' + -- SERIE LEFT(RTRIM(LTRIM(ISNULL(A.SUBSERIE, ''))), 3) + '|' + -- SUBSERIE RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 9) + '|' + -- NOTA #77# LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- EMISSAO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_ENT_SAI, 103), '/', ''), ''))), 8) + '|' + -- RECEBIMENTO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA NOTA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ICMS CASE WHEN ISNULL(CAST(A.ID_OBS_COMPLEMENTAR AS CHAR(6)), '') = '' THEN '' ELSE RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(ISNULL(CAST(A.ID_OBS_COMPLEMENTAR AS CHAR(6)), ''))), 6) END + '|' + -- INFORMAÇÃO COMPLEMENTAR #98# --RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(CAST(A.ID_OBS AS CHAR(6)))), 6) + '|' + -- COD_INF + '|' + -- INFORMAÇÃO COMPLEMENTAR REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR COFINS /*#255#*/ CASE WHEN CAST(RTRIM(LTRIM(@VERSAO_LAYOUT)) AS INT) >= 6 THEN LEFT(RTRIM(LTRIM(ISNULL(A.CHAVE_NFE, ''))), 60) + '|' -- CHAVE DA NFE ELSE '' END /*#255#*/ FROM #TEMP_012347 AS A WHERE (A.LX_MODELO IN ( '06', '28', '29', '66' /*#255#*/ ) OR (A.LX_MODELO = '55' AND A.CFOP IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.LX_MODELO, A.COD_SIT, A.SUBSERIE, A.DATA_DOC, A.DATA_ENT_SAI, A.ID_OBS_COMPLEMENTAR, --A.BK_SERIE #156# LEFT(RTRIM(LTRIM(ISNULL(A.CHAVE_NFE, ''))), 60); /*#255#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C500 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C501: COMPLEMENTO DA OPERAÇÃO (CÓDIGOS 06, 28 E 29) ? PIS/PASEP IF @REGISTRO = 'C501' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_500_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ITENS LEFT(RTRIM(LTRIM(ISNULL(A.COD_BC_CREDITO_PIS, ''))), 2) + '|' + -- CÓDIGO BASE DE CÁLCULO DO CRÉDITO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR PIS --#231#LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '|' -- CONTA CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #231# FROM #TEMP_012347 AS A WHERE (A.LX_MODELO IN ( '06', '28', '29', '66' /*#255#*/ ) OR (A.LX_MODELO = '55' AND A.CFOP IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.NOTA_CANCELADA = 0 --AND ( ISNULL(A.INDICA_ICMS, '') <> '' -- OR ISNULL(A.INDICA_IPI, '') <> '' ) #38# AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ST_PIS, A.COD_BC_CREDITO_PIS, A.ALIQUOTA_PIS, A.COD_CONTA_CONTABIL --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C501 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C505: COMPLEMENTO DA OPERAÇÃO (CÓDIGOS 06, 28 E 29) ? COFINS IF @REGISTRO = 'C505' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_500_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ITENS LEFT(RTRIM(LTRIM(ISNULL(A.COD_BC_CREDITO_COFINS, ''))), 2) + '|' + -- CÓDIGO BASE DE CÁLCULO DO CRÉDITO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR COFINS --#231#LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '|' -- CONTA CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #231# FROM #TEMP_012347 AS A WHERE (A.LX_MODELO IN ( '06', '28', '29', '66' /*#255#*/ ) OR (A.LX_MODELO = '55' AND A.CFOP IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.NOTA_CANCELADA = 0 --AND ( ISNULL(A.INDICA_ICMS, '') <> '' -- OR ISNULL(A.INDICA_IPI, '') <> '' ) #38# AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ST_COFINS, A.COD_BC_CREDITO_COFINS, A.ALIQUOTA_COFINS, A.COD_CONTA_CONTABIL --A.BK_SERIE #156# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C505 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C509: PROCESSO REFERENCIADO IF @REGISTRO = 'C509' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_500_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(CAST(A.NUM_PROC AS VARCHAR(20)), ''))) + '|' + -- NUMERO PROCESSO RTRIM(LTRIM(ISNULL(CAST(A.IND_PROC AS VARCHAR(1)), ''))) + '|' -- INDICADOR PROCESSO FROM #TEMP_PROCESSO_012347 AS A WHERE (A.LX_MODELO IN ( '06', '28', '29', '66' /*#255#*/ ) OR (A.LX_MODELO = '55' AND A.CFOP IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) /*#168#*/ AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.TIPO_OPERACAO='V' /*#267#*/ GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.NUM_PROC, A.IND_PROC --A.BK_SERIE #156# ORDER BY A.NUM_PROC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C509 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C600: CONSOLIDAÇÃO DIÁRIA DE NOTAS FISCAIS/CONTAS EMITIDAS DE ENERGIA ELÉTRICA (CÓDIGO 06), -- NOTA FISCAL/CONTA DE FORNECIMENTO D'ÁGUA CANALIZADA (CÓDIGO 29) E NOTA FISCAL/CONTA DE FORNECIMENTO DE GÁS (CÓDIGO 28) -- (EMPRESAS OBRIGADAS OU NÃO OBRIGADAS AO CONVENIO ICMS 115/03) ? DOCUMENTOS DE SAÍDA --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C601: COMPLEMENTO DA CONSOLIDAÇÃO DIÁRIA (CÓDIGOS 06, 28 E 29) ? DOCUMENTOS DE SAÍDAS - PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C605: COMPLEMENTO DA CONSOLIDAÇÃO DIÁRIA (CÓDIGOS 06, 28 E 29) ? DOCUMENTOS DE SAÍDAS ? COFINS --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C609: PROCESSO REFERENCIADO --------------------------------------------------------------------------------------------------------------------------------------- --REGISTRO C860: IDENTIFICAÇÃO DO EQUIPAMENTO SAT-CF-E /*#158#*/ IF @REGISTRO = 'C860' AND REPLACE(@VERSAO_PVA, '.', '') >= '211' AND @DATA_INI >= '20150501' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(MF.CNPJ)) + '_' + RTRIM(LTRIM(ISNULL(STR(A.NUMERO_SERIE), ''))) + '_' + @BLOCO + '_500_' + LTRIM(RTRIM(ISNULL(CONVERT(CHAR(10), A.DATA_EMISSAO, 112), ''))) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REG LEFT(LTRIM(RTRIM(ISNULL(A.LX_MODELO_SAIDA, ''))), 2)+ '|' + -- COD_MOD RTRIM(LTRIM(ISNULL(STR(A.NUMERO_SERIE), ''))) + '|' + -- NR_SAT LTRIM(RTRIM(REPLACE(ISNULL(CONVERT(CHAR(10), A.DATA_EMISSAO, 103), ''),'/','')))+ '|' + -- DT_DOC LEFT(LTRIM(RTRIM(ISNULL(STR(MIN(A.NUMERO_CFE)), ''))), 6) + '|' + -- DOC_INI LEFT(LTRIM(RTRIM(ISNULL(STR(MAX(A.NUMERO_CFE)), ''))), 6) + '|' -- DOC_FIN FROM #TEMP_012347_SAT AS A INNER JOIN LCF_TERCEIRO AS MF (NOLOCK) ON MF.SK_TERCEIRO = A.SK_MATRIZ_FISCAL WHERE A.ID_IMPOSTO IN (5,6) --#282# GROUP BY MF.CNPJ, A.LX_MODELO_SAIDA, A.DATA_EMISSAO, A.NUMERO_SERIE; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C870: RESUMO DIÁRIO DE DOCUMENTOS EMITIDOS POR EQUIPAMENTO SAT-CF-E (CÓDIGO 59) – PIS/PASEP E COFINS /*#158#*/ IF @REGISTRO = 'C870' AND REPLACE(@VERSAO_PVA, '.', '') >= '211' AND @DATA_INI >= '20150501' BEGIN INSERT INTO #CUR_LINHA ( IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA ) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE, LINHA FROM ( SELECT --#159#CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(MF.CNPJ)) + '_' + RTRIM(LTRIM(ISNULL(STR(NUMERO_SERIE), ''))) + '_' + LTRIM(RTRIM(ISNULL(CONVERT(CHAR(10), DATA_EMISSAO, 112), ''))) + '_' + @BLOCO + '_500_' + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BC_' + RTRIM(LTRIM(A.CNPJ)) + '_' + RTRIM(LTRIM(ISNULL(STR(A.NUMERO_SERIE), ''))) + '_' + @BLOCO + '_500_' + LTRIM(RTRIM(ISNULL(CONVERT(CHAR(10), A.DATA_EMISSAO, 112), ''))) + '_C860_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REG LTRIM(RTRIM(A.COD_ITEM)) + '|' + -- COD_ITEM LTRIM(RTRIM(CFOP)) + '|' + -- CFOP --#240#RTRIM(LTRIM(REPLACE(STR(SUM((A.VALOR_ITEM + A.VALOR_ENCARGOS)-A.VALOR_DESCONTO), 19, 2), '.', ','))) + '|' + -- VL_ITEM /*#219#*/ /*#236#*/ RTRIM(LTRIM(REPLACE(STR(SUM(A.VALOR_ITEM + A.VALOR_ENCARGOS), 19, 2), '.', ','))) + '|' + -- VL_ITEM /*#219#*/ /*#236#*/ /*#240#*/ /*#238#*/ /*#241#*/ --RTRIM(LTRIM(REPLACE(STR(SUM(A.VALOR_DESCONTO), 19, 2), '.', ','))) + '|' + -- VL_DESC CASE WHEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) + ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(/*#266#*/IIF(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) > ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0), ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) + /*#273#*/ (A.VALOR_DESCONTO) /*#273#*/, ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)+/*#273#*/(A.VALOR_DESCONTO)/*#273#*/)/*#266#*/) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE RTRIM(LTRIM(REPLACE(STR(SUM(A.VALOR_DESCONTO), 19, 2), '.', ','))) END + '|' + -- VL_DESC /*#238#*/ --RTRIM(LTRIM(REPLACE(STR(SUM(ABS(((A.VALOR_ITEM + A.VALOR_ENCARGOS)-A.VALOR_DESCONTO) - A.VL_BC_PIS)), 19, 2), '.', ','))) + '|' + -- VL_DESC #181# /*#219#*/ /*#236#*/ --RTRIM(LTRIM(REPLACE(STR(SUM(A.VALOR_DESCONTO+A.VALOR_CANCELADO), 19, 2), '.', ','))) + '|' + -- VL_DESC #164# #174# #181# LTRIM(RTRIM(MAX(CASE WHEN A.CST_PIS = '' THEN '01' ELSE A.CST_PIS END))) + '|' + -- CST_PIS /*#217#*/ /*#241#*/ --RTRIM(LTRIM(REPLACE(STR(SUM(A.VL_BC_PIS), 19, 2), '.', ','))) + '|' + -- VL_BC_PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE RTRIM(LTRIM(REPLACE(STR(SUM(A.VL_BC_PIS), 19, 2), '.', ','))) END + '|' + -- VL_BC_PIS /*#241#*/ --RTRIM(LTRIM(REPLACE(STR(MAX(A.ALIQ_PIS), 19, 2), '.', ','))) + '|' + -- ALIQ_PIS CASE WHEN MAX(ISNULL(A.TAXA_PIS_EXCLUSAO, 0)) > 0 THEN RTRIM(LTRIM(REPLACE(STR(MAX(A.TAXA_PIS_EXCLUSAO), 5, 2), '.', ','))) ELSE RTRIM(LTRIM(REPLACE(STR(MAX(A.ALIQ_PIS), 19, 2), '.', ','))) END + '|' + -- ALIQ_PIS /*#241#*/ --RTRIM(LTRIM(REPLACE(STR(SUM(A.VL_PIS), 19, 2), '.', ','))) + '|' + -- VL_PIS CASE WHEN SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE RTRIM(LTRIM(REPLACE(STR(SUM(A.VL_PIS), 19, 2), '.', ','))) END + '|' + -- VL_PIS LTRIM(RTRIM(MAX(CASE WHEN A.CST_COFINS = '' THEN '01' ELSE A.CST_COFINS END))) + '|' + -- CST_COFINS /*#217#*/ /*#241#*/ --RTRIM(LTRIM(REPLACE(STR(SUM(A.VL_BC_COFINS), 19, 2), '.', ','))) + '|' + -- VL_BC_COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE RTRIM(LTRIM(REPLACE(STR(SUM(A.VL_BC_COFINS), 19, 2), '.', ','))) END + '|' + -- VL_BC_COFINS /*#241#*/ --RTRIM(LTRIM(REPLACE(STR(MAX(A.ALIQ_COFINS), 19, 2), '.', ','))) + '|' + -- ALIQ_COFINS CASE WHEN MAX(ISNULL(A.TAXA_COFINS_EXCLUSAO, 0)) > 0 THEN RTRIM(LTRIM(REPLACE(STR(MAX(A.TAXA_COFINS_EXCLUSAO), 5, 2), '.', ','))) ELSE RTRIM(LTRIM(REPLACE(STR(MAX(A.ALIQ_COFINS), 19, 2), '.', ','))) END + '|' + -- ALIQ_COFINS /*#241#*/ --RTRIM(LTRIM(REPLACE(STR(SUM(A.VL_COFINS), 19, 2), '.', ','))) + '|' + -- VL_COFINS CASE WHEN SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE RTRIM(LTRIM(REPLACE(STR(SUM(A.VL_COFINS), 19, 2), '.', ','))) END + '|' + -- VL_COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- COD_CTA #223# #226# --#160# FROM ( /*#273#*/ SELECT MF.CNPJ, SAT.NUMERO_SERIE, SAT.DATA_EMISSAO, LEFT(LTRIM(RTRIM(ISNULL(CFOP, ''))), 4) AS CFOP, SAT_PIS.VALOR_ITEM AS VALOR_ITEM, ISNULL(SAT.COD_ITEM, '') AS COD_ITEM, SAT_PIS.CST_PIS AS CST_PIS, SAT_PIS.VL_BC_PIS AS VL_BC_PIS, SAT_PIS.ALIQ_PIS AS ALIQ_PIS, SAT_PIS.VL_PIS AS VL_PIS, SAT_COFINS.CST_COFINS AS CST_COFINS, SAT_COFINS.VL_BC_COFINS AS VL_BC_COFINS, SAT_COFINS.ALIQ_COFINS AS ALIQ_COFINS, SAT_COFINS.VL_COFINS AS VL_COFINS, SAT.VALOR_DESCONTO AS VALOR_DESCONTO, SAT_PIS.VALOR_ENCARGOS AS VALOR_ENCARGOS, ISNULL(VALOR_CANCELADO,0) AS VALOR_CANCELADO, SAT.CONTA_CONTABIL AS CONTA_CONTABIL, SAT_PIS.VALOR_ICMS_PIS_EXCLUSAO AS VALOR_ICMS_PIS_EXCLUSAO, SAT_COFINS.VALOR_ICMS_COFINS_EXCLUSAO AS VALOR_ICMS_COFINS_EXCLUSAO , SAT_PIS.BASE_PIS_EXCLUSAO AS BASE_PIS_EXCLUSAO , SAT_COFINS.BASE_COFINS_EXCLUSAO AS BASE_COFINS_EXCLUSAO , SAT_PIS.TAXA_PIS_EXCLUSAO AS TAXA_PIS_EXCLUSAO , SAT_COFINS.TAXA_COFINS_EXCLUSAO AS TAXA_COFINS_EXCLUSAO, SAT_PIS.VALOR_PIS_EXCLUSAO AS VALOR_PIS_EXCLUSAO, SAT_COFINS.VALOR_COFINS_EXCLUSAO AS VALOR_COFINS_EXCLUSAO FROM #TEMP_012347_SAT AS SAT LEFT JOIN LCF_TERCEIRO MF ON MF.SK_TERCEIRO = SK_MATRIZ_FISCAL LEFT JOIN ( SELECT NUMERO_SERIE, DATA_EMISSAO, SK_MATRIZ_FISCAL, NUMERO_CFE, COD_ITEM, /*#278#*/ ITEM_IMPRESSAO, /*#278#*/ SUB_ITEM_TAMANHO,/*#279#*/ ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_ITEM ELSE 0 END,0) AS VALOR_ITEM, /*#229#*/ ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN SITUACAO_TRIBUTARIA ELSE NULL END, '') AS CST_PIS, ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN BASE_IMPOSTO ELSE 0 END, 0) AS VL_BC_PIS, ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN TAXA_IMPOSTO ELSE 0 END, 0) AS ALIQ_PIS, /*#165#*/ ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_IMPOSTO ELSE 0 END, 0) AS VL_PIS, ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_ENCARGOS ELSE 0 END ,0) AS VALOR_ENCARGOS, /*#236#*/ ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_ICMS_EXCLUSAO ELSE 0 END, 0) AS VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN BASE_EXCLUSAO ELSE 0 END, 0) AS BASE_PIS_EXCLUSAO /*#241#*/, ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN TAXA_EXCLUSAO ELSE 0 END, 0) AS TAXA_PIS_EXCLUSAO /*#241#*/, ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_EXCLUSAO ELSE 0 END, 0) AS VALOR_PIS_EXCLUSAO /*#241#*/ FROM #TEMP_012347_SAT WHERE ID_IMPOSTO IN (5) ) AS SAT_PIS ON SAT.SK_MATRIZ_FISCAL = SAT_PIS.SK_MATRIZ_FISCAL AND SAT.NUMERO_SERIE = SAT_PIS.NUMERO_SERIE AND SAT.NUMERO_CFE = SAT_PIS.NUMERO_CFE AND SAT.DATA_EMISSAO=SAT_PIS.DATA_EMISSAO /*#278#*/ AND SAT.COD_ITEM=SAT_PIS.COD_ITEM /*#278#*/ AND SAT.ITEM_IMPRESSAO=SAT_PIS.ITEM_IMPRESSAO /*#278#*/ AND SAT.SUB_ITEM_TAMANHO=SAT_PIS.SUB_ITEM_TAMANHO /*#279#*/ LEFT JOIN ( SELECT NUMERO_SERIE, DATA_EMISSAO, SK_MATRIZ_FISCAL, NUMERO_CFE, COD_ITEM, /*#278#*/ ITEM_IMPRESSAO, /*#278#*/ SUB_ITEM_TAMANHO,/*#279#*/ ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN SITUACAO_TRIBUTARIA ELSE NULL END, '') AS CST_COFINS, ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN BASE_IMPOSTO ELSE 0 END, 0) AS VL_BC_COFINS, ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN TAXA_IMPOSTO ELSE 0 END, 0) AS ALIQ_COFINS, /*#165#*/ ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_IMPOSTO ELSE 0 END, 0) AS VL_COFINS, ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_DESCONTO ELSE 0 END /*#179#*/,0) AS VALOR_DESCONTO, /*#164#*/ ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_ICMS_EXCLUSAO ELSE 0 END, 0) AS VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/, ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN BASE_EXCLUSAO ELSE 0 END, 0) AS BASE_COFINS_EXCLUSAO /*#241#*/, ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN TAXA_EXCLUSAO ELSE 0 END, 0) AS TAXA_COFINS_EXCLUSAO /*#241#*/, ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_EXCLUSAO ELSE 0 END, 0) AS VALOR_COFINS_EXCLUSAO /*#241#*/ FROM #TEMP_012347_SAT WHERE ID_IMPOSTO IN (6) ) AS SAT_COFINS ON SAT.SK_MATRIZ_FISCAL = SAT_COFINS.SK_MATRIZ_FISCAL AND SAT.NUMERO_SERIE = SAT_COFINS.NUMERO_SERIE AND SAT.NUMERO_CFE = SAT_COFINS.NUMERO_CFE AND SAT.DATA_EMISSAO=SAT_COFINS.DATA_EMISSAO /*#278#*/ AND SAT.COD_ITEM=SAT_COFINS.COD_ITEM /*#278#*/ AND SAT.ITEM_IMPRESSAO=SAT_COFINS.ITEM_IMPRESSAO /*#278#*/ AND SAT.SUB_ITEM_TAMANHO=SAT_COFINS.SUB_ITEM_TAMANHO /*#279#*/ /*#273#*/ -- TRECHO COMENTADO PELA CORREÇÃO /*#273#*/ --SELECT -- MF.CNPJ, -- NUMERO_SERIE, -- DATA_EMISSAO, -- LEFT(LTRIM(RTRIM(ISNULL(CFOP, ''))), 4) AS CFOP, -- /*#229#*/ -- --#227#SUM(ISNULL(VALOR_ITEM,0)) AS VALOR_ITEM, -- --SUM(ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_ITEM ELSE 0 END,0)) AS VALOR_ITEM, -- --ISNULL(COD_ITEM, '') AS COD_ITEM, -- --ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN SITUACAO_TRIBUTARIA ELSE NULL END, '') AS CST_PIS, -- --SUM(ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN BASE_IMPOSTO ELSE 0 END, 0)) AS VL_BC_PIS, -- --ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN TAXA_IMPOSTO ELSE 0 END, 0) AS ALIQ_PIS, /*#165#*/ -- --SUM(ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_IMPOSTO ELSE 0 END, 0)) AS VL_PIS, -- --ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN SITUACAO_TRIBUTARIA ELSE NULL END, '') AS CST_COFINS, -- --SUM(ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN BASE_IMPOSTO ELSE 0 END, 0)) AS VL_BC_COFINS, -- --ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN TAXA_IMPOSTO ELSE 0 END, 0) AS ALIQ_COFINS, /*#165#*/ -- --SUM(ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_IMPOSTO ELSE 0 END, 0)) AS VL_COFINS, -- --SUM(ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_DESCONTO ELSE 0 END /*#179#*/,0))AS VALOR_DESCONTO, /*#164#*/ -- --SUM(ISNULL(VALOR_CANCELADO,0)) AS VALOR_CANCELADO, /*#174#*/ -- /*#229#*/ -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_ITEM ELSE 0 END,0) AS VALOR_ITEM, /*#229#*/ -- ISNULL(COD_ITEM, '') AS COD_ITEM, -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN SITUACAO_TRIBUTARIA ELSE NULL END, '') AS CST_PIS, -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN BASE_IMPOSTO ELSE 0 END, 0) AS VL_BC_PIS, -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN TAXA_IMPOSTO ELSE 0 END, 0) AS ALIQ_PIS, /*#165#*/ -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_IMPOSTO ELSE 0 END, 0) AS VL_PIS, -- ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN SITUACAO_TRIBUTARIA ELSE NULL END, '') AS CST_COFINS, -- ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN BASE_IMPOSTO ELSE 0 END, 0) AS VL_BC_COFINS, -- ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN TAXA_IMPOSTO ELSE 0 END, 0) AS ALIQ_COFINS, /*#165#*/ -- ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_IMPOSTO ELSE 0 END, 0) AS VL_COFINS, -- ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_DESCONTO ELSE 0 END /*#179#*/,0) AS VALOR_DESCONTO, /*#164#*/ -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_ENCARGOS ELSE 0 END ,0) AS VALOR_ENCARGOS, /*#236#*/ -- ISNULL(VALOR_CANCELADO,0) AS VALOR_CANCELADO, /*#174#*/ -- CONTA_CONTABIL AS CONTA_CONTABIL /*#223#*/, -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_ICMS_EXCLUSAO ELSE 0 END, 0) AS VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, -- ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_ICMS_EXCLUSAO ELSE 0 END, 0) AS VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/, -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN BASE_EXCLUSAO ELSE 0 END, 0) AS BASE_PIS_EXCLUSAO /*#241#*/, -- ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN BASE_EXCLUSAO ELSE 0 END, 0) AS BASE_COFINS_EXCLUSAO /*#241#*/, -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN TAXA_EXCLUSAO ELSE 0 END, 0) AS TAXA_PIS_EXCLUSAO /*#241#*/, -- ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN TAXA_EXCLUSAO ELSE 0 END, 0) AS TAXA_COFINS_EXCLUSAO /*#241#*/, -- ISNULL(CASE WHEN ID_IMPOSTO = 5 THEN VALOR_EXCLUSAO ELSE 0 END, 0) AS VALOR_PIS_EXCLUSAO /*#241#*/, -- ISNULL(CASE WHEN ID_IMPOSTO = 6 THEN VALOR_EXCLUSAO ELSE 0 END, 0) AS VALOR_COFINS_EXCLUSAO /*#241#*/ --FROM #TEMP_012347_SAT --LEFT JOIN LCF_TERCEIRO MF ON MF.SK_TERCEIRO = SK_MATRIZ_FISCAL --WHERE ID_IMPOSTO IN (5,6) -- --#174#AND BASE_IMPOSTO > 0 /*#173#*/ --/*#229#*/ --/*GROUP BY MF.CNPJ, -- NUMERO_SERIE, -- DATA_EMISSAO, -- CFOP, -- COD_ITEM, -- ID_IMPOSTO, -- TAXA_IMPOSTO, -- SITUACAO_TRIBUTARIA, -- VALOR_ITEM, /*#227#*/ -- CONTA_CONTABIL /*#223#*/*/ --/*#229#*/ -- TRECHO COMENTADO PELA CORREÇÃO /*#273#*/ GROUP BY SAT.SUB_ITEM_TAMANHO, /*#279#*/ SAT.ITEM_IMPRESSAO, /*#279#*/ SAT.NUMERO_CFE, MF.CNPJ, SAT.NUMERO_SERIE, SAT.DATA_EMISSAO, LEFT(LTRIM(RTRIM(ISNULL(CFOP, ''))), 4), SAT_PIS.VALOR_ITEM, ISNULL(SAT.COD_ITEM, ''), SAT_PIS.CST_PIS, SAT_PIS.VL_BC_PIS, SAT_PIS.ALIQ_PIS, SAT_PIS.VL_PIS, SAT_COFINS.CST_COFINS, SAT_COFINS.VL_BC_COFINS, SAT_COFINS.ALIQ_COFINS , SAT_COFINS.VL_COFINS, SAT.VALOR_DESCONTO, SAT_PIS.VALOR_ENCARGOS, ISNULL(VALOR_CANCELADO,0), SAT.CONTA_CONTABIL, SAT_PIS.VALOR_ICMS_PIS_EXCLUSAO, SAT_COFINS.VALOR_ICMS_COFINS_EXCLUSAO, SAT_PIS.BASE_PIS_EXCLUSAO, SAT_COFINS.BASE_COFINS_EXCLUSAO, SAT_PIS.TAXA_PIS_EXCLUSAO , SAT_COFINS.TAXA_COFINS_EXCLUSAO, SAT_PIS.VALOR_PIS_EXCLUSAO, SAT_COFINS.VALOR_COFINS_EXCLUSAO ) AS A WHERE A.VALOR_ITEM>0 /*#277#*/ GROUP BY CNPJ, NUMERO_SERIE, DATA_EMISSAO, CFOP, COD_ITEM /*#219#VALOR_ITEM*/) AS B; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C880: RESUMO DIÁRIO DE DOCUMENTOS EMITIDOS POR EQUIPAMENTO SAT-CF-E (CÓDIGO 59) -- – PIS/PASEP E COFINS APURADO POR UNIDADE DE MEDIDA DE PRODUTO /*#157#*/ -- NÃO DEVE SER GERADO QUANDO JÁ EXISTIR O REGISTRO C870 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO C990: ENCERRAMENTO DO BLOCO C IF @REGISTRO = 'C990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BC_Z_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(CAST((SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'C') + 1 AS VARCHAR(10)))) + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM C990 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D001: ABERTURA DO BLOCO D IF @REGISTRO = 'D001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BD_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'D') > 0 THEN '0' ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D001 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D010: IDENTIFICAÇÃO DO ESTABELECIMENTO IF @REGISTRO = 'D010' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_ _' + @REGISTRO, @ARQUIVO + '_BD_' + LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' -- CODIGO ESTABELECIMENTO FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/, '21', '22' ) AND A.NOTA_CANCELADA = 0 AND --ISNULL(A.INDICA_ICMS, '') <> '' ( ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) OR ISNULL(INDICA_COFINS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB ORDER BY A.CNPJ_ESTAB IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D010 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D100: AQUISIÇÃO DE SERVIÇOS DE TRANSPORTE - NOTA FISCAL DE SERVIÇO DE TRANSPORTE (CÓDIGO 07) E CONHECIMENTOS DE TRANSPORTE RODOVIÁRIO DE CARGAS (CÓDIGO 08), --CONHECIMENTO DE TRANSPORTE DE CARGAS AVULSO (CÓDIGO 8B), AQUAVIÁRIO DE CARGAS (CÓDIGO 09), AÉREO (CÓDIGO 10), FERROVIÁRIO DE CARGAS (CÓDIGO 11), --MULTIMODAL DE CARGAS (CÓDIGO 26), NOTA FISCAL DE TRANSPORTE FERROVIÁRIO DE CARGA (CÓDIGO 27) E CONHECIMENTO DE TRANSPORTE ELETRÔNICO ? CT-E (CÓDIGO 57) /*#184#*/ IF @REGISTRO = 'D100' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.IND_OPER, ''))), 1) + '|' + -- TIPO DE OPERAÇÃO LEFT(RTRIM(LTRIM(ISNULL(A.IND_EMIT, ''))), 1) + '|' + -- INDICADOR DO EMITENTE LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '|' + -- CODIGO DO PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- MODELO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) + '|' + -- SITUACAO DO DOCUMENTO LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 4) + '|' + -- SERIE LEFT(RTRIM(LTRIM(ISNULL(A.SUBSERIE, ''))), 3) + '|' + -- SUBSERIE RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 9) + '|' + -- NOTA #77# LEFT(RTRIM(LTRIM(ISNULL(A.CHAVE_NFE, ''))), 60) + '|' + -- CHAVE DO CONHECIMENTO DE TRANSPORTE ELETRONICO #9# LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- EMISSAO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_ENT_SAI, 103), '/', ''), ''))), 8) + '|' + -- RECEBIMENTO '' + '|' + -- TIPO DE CONHECIMENTO DE TRANSPORTE ELETRONICO '' + '|' + -- CHAVE DE CT-E REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DA NOTA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- DESCONTO LEFT(RTRIM(LTRIM(ISNULL(A.IND_FRETE, ''))), 1) + '|' + -- TIPO DE FRETE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DA PRESTAÇÃO DE SERVIÇO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE ICMS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ICMS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS_ISENTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR NÃO TRIBUTADO CASE WHEN ISNULL(CAST(A.ID_OBS_COMPLEMENTAR AS CHAR(6)), '') = '' THEN '' ELSE RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(ISNULL(CAST(A.ID_OBS_COMPLEMENTAR AS CHAR(6)), ''))), 6) END + '|' + -- CODIGO DA INFORMAÇÃO COMPLEMENTAR #98# --RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(CAST(A.ID_OBS AS CHAR(6)))), 6) + '|' + -- CODIGO DA INFORMAÇÃO COMPLEMENTAR --#231#MAX(LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60)) + '|' -- CODIGO DA CONTA CASE WHEN @DISPENSADO_ECD = 0 THEN MAX(RTRIM(LTRIM(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #231# FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.NOTA_CANCELADA = 0 AND --ISNULL(A.INDICA_ICMS, '') <> '' ( ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) OR ISNULL(INDICA_COFINS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.ENTRADA_SAIDA = 'E' /*#140#*/ GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.CHAVE_NFE, --#10# A.SERIE, A.COD_ESTAB, A.COD_PART, A.IND_OPER, A.IND_EMIT, A.COD_PART, A.LX_MODELO, A.COD_SIT, A.SUBSERIE, A.DATA_DOC, A.DATA_ENT_SAI, A.IND_FRETE, A.ID_OBS_COMPLEMENTAR; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D100 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D101: COMPLEMENTO DO DOCUMENTO DE TRANSPORTE (CÓDIGOS 07, 08, 8B, 09, 10, 11, 26, 27 E 57) ? PIS/PASEP IF @REGISTRO = 'D101' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO --'0' + '|' + -- INDICA NATUREZA FRETE RTRIM(LTRIM(ISNULL(IND_NAT_FRT, '0'))) + '|' + -- #9# INDICA NATUREZA FRETE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS LEFT(RTRIM(LTRIM(ISNULL(A.COD_BC_CREDITO_PIS, ''))), 2) + '|' + -- CÓDIGO DA BASE DE CÁLCULO DO CRÉDITO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN @DISPENSADO_ECD = 0 THEN MAX(LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60)) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.ENTRADA_SAIDA = 'E' /*#140#*/ GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ST_PIS, A.COD_BC_CREDITO_PIS, A.ALIQUOTA_PIS, IND_NAT_FRT -- #9# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D101 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D105: COMPLEMENTO DO DOCUMENTO DE TRANSPORTE (CÓDIGOS 07, 08, 8B, 09, 10, 11, 26, 27 E 57) ? COFINS IF @REGISTRO = 'D105' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO --'0' + '|' + -- INDICA NATUREZA FRETE RTRIM(LTRIM(ISNULL(IND_NAT_FRT, 0))) + '|' + -- #9# INDICA NATUREZA FRETE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS LEFT(RTRIM(LTRIM(ISNULL(A.COD_BC_CREDITO_COFINS, ''))), 2) + '|' + -- CÓDIGO DA BASE DE CÁLCULO DO CRÉDITO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN MAX(LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60)) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_COFINS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.ENTRADA_SAIDA = 'E' /*#140#*/ GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ST_COFINS, A.COD_BC_CREDITO_COFINS, A.ALIQUOTA_COFINS, IND_NAT_FRT -- #9# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D105 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D111: PROCESSO REFERENCIADO IF @REGISTRO = 'D111' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.NUM_PROC AS VARCHAR(20)), ''))), 20) + '|' + -- NUMERO PROCESSO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.IND_PROC AS VARCHAR(1)), ''))), 1) + '|' -- INDICADOR PROCESSO FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.IND_OPER = '0' /*#140#*/ GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.NUM_PROC, A.IND_PROC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D111 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D200: RESUMO DA ESCRITURAÇÃO DIÁRIA ? PRESTAÇÃO DE SERVIÇOS DE TRANSPORTE - NOTA FISCAL DE SERVIÇO DE TRANSPORTE (CÓDIGO 07) E CONHECIMENTOS DE TRANSPORTE --RODOVIÁRIO DE CARGAS (CÓDIGO 08), CONHECIMENTO DE TRANSPORTE DE CARGAS AVULSO (CÓDIGO 8B), AQUAVIÁRIO DE CARGAS (CÓDIGO 09), AÉREO (CÓDIGO 10), --FERROVIÁRIO DE CARGAS (CÓDIGO 11), MULTIMODAL DE CARGAS (CÓDIGO 26), NOTA FISCAL DE TRANSPORTE FERROVIÁRIO DE CARGA (CÓDIGO 27) E --CONHECIMENTO DE TRANSPORTE ELETRÔNICO ? CT-E (CÓDIGO 57). IF @REGISTRO = 'D200' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_200_' + LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) /*#141#*/ + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- MODELO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) + '|' + -- SITUACAO DO DOCUMENTO LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 4) + '|' + -- SERIE LEFT(RTRIM(LTRIM(ISNULL(A.SUBSERIE, ''))), 3) + '|' + -- SUBSERIE RIGHT(RTRIM(LTRIM(MIN(ISNULL(A.NUM_DOC, '')))), 9) + '|' + -- NOTA INICIAL #77# RIGHT(RTRIM(LTRIM(MAX(ISNULL(A.NUM_DOC, '')))), 9) + '|' + -- NOTA FINAL #77# LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- DIA DE REFERENCIA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DA NOTA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- DESCONTO FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.NOTA_CANCELADA = 0 AND A.IND_OPER = '1' AND --ISNULL(A.INDICA_ICMS, '') <> '' ( ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) OR ISNULL(INDICA_COFINS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.ENTRADA_SAIDA = 'S' /*#140#*/ GROUP BY A.CNPJ_ESTAB,/*A.NUM_DOC,*/ A.SERIE,/*A.COD_ESTAB, A.COD_PART,*/ A.LX_MODELO, A.COD_SIT, A.SUBSERIE, A.CFOP, A.DATA_DOC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D200 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D201: TOTALIZAÇÃO DO RESUMO DIÁRIO ? PIS/PASEP IF @REGISTRO = 'D201' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_200_' + LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) /*#141#*/ + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #226# FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.NOTA_CANCELADA = 0 AND A.IND_OPER = '1' AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.ENTRADA_SAIDA = 'S' /*#140#*/ GROUP BY A.CNPJ_ESTAB,/*A.NUM_DOC,*/ /*A.SERIE,*/ /*A.COD_ESTAB, A.COD_PART,*/ LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2), /*#141#*/ A.ST_PIS, A.ALIQUOTA_PIS, A.DATA_DOC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D201 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D205: TOTALIZAÇÃO DO RESUMO DIÁRIO ? COFINS IF @REGISTRO = 'D205' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_200_' + LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) /*#141#*/ + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL #226# FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.NOTA_CANCELADA = 0 AND A.IND_OPER = '1' AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_COFINS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.ENTRADA_SAIDA = 'S' /*#140#*/ GROUP BY A.CNPJ_ESTAB,/*A.NUM_DOC,*/ /*A.SERIE,*/ /*A.COD_ESTAB, A.COD_PART,*/ LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2), /*#141#*/ A.ST_COFINS, A.ALIQUOTA_COFINS, A.DATA_DOC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D205 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D209: PROCESSO REFERENCIADO IF @REGISTRO = 'D209' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_200_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.NUM_PROC AS VARCHAR(20)), ''))), 20) + '|' + -- NUMERO PROCESSO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.IND_PROC AS VARCHAR(1)), ''))), 1) + '|' -- INDICADOR PROCESSO FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.IND_OPER = '1' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.IND_OPER = '1' /*#140#*/ GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.NUM_PROC, A.IND_PROC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D209 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D300: RESUMO DA ESCRITURAÇÃO DIÁRIA - BILHETES CONSOLIDADOS DE PASSAGEM RODOVIÁRIO (CÓDIGO 13), DE PASSAGEM AQUAVIÁRIO (CÓDIGO 14), -- DE PASSAGEM E NOTA DE BAGAGEM (CÓDIGO 15), DE PASSAGEM FERROVIÁRIO (CÓDIGO 16) E RESUMO DE MOVIMENTO DIÁRIO (CÓDIGO 18) --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D309: PROCESSO REFERENCIADO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D350: RESUMO DIÁRIO DE CUPOM FISCAL EMITIDO POR ECF - (CÓDIGOS 2E, 13, 14, 15 E 16) --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D359: PROCESSO REFERENCIADO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D500: NOTA FISCAL DE SERVIÇO DE COMUNICAÇÃO (CÓDIGO 21) E NOTA FISCAL DE SERVIÇO DE TELECOMUNICAÇÃO (CÓDIGO 22) /*#184#*/ IF @REGISTRO = 'D500' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_500_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.IND_OPER, ''))), 1) + '|' + -- TIPO DE OPERAÇÃO LEFT(RTRIM(LTRIM(ISNULL(A.IND_EMIT, ''))), 1) + '|' + -- INDICADOR DO EMITENTE LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '|' + -- CODIGO DO PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- MODELO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.COD_SIT, ''))), 2) + '|' + -- SITUACAO DO DOCUMENTO LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 4) + '|' + -- SERIE LEFT(RTRIM(LTRIM(ISNULL(A.SUBSERIE, ''))), 3) + '|' + -- SUBSERIE RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 9) + '|' + -- NOTA #77# LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- EMISSAO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_ENT_SAI, 103), '/', ''), ''))), 8) + '|' + -- RECEBIMENTO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DA NOTA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- DESCONTO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DA PRESTAÇÃO DE SERVIÇO '' + '|' + -- VALOR TOTAL DE SERVIÇOS NÃO TRIBUTADOS PELO ICMS '' + '|' + -- VALORES COBRADOS EM NOME DE TERCEIROS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_OUTRAS_DESPESAS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR OUTRAS DESPESAS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE ICMS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ICMS CASE WHEN ISNULL(CAST(A.ID_OBS_COMPLEMENTAR AS CHAR(6)), '') = '' THEN '' ELSE RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(ISNULL(CAST(A.ID_OBS_COMPLEMENTAR AS CHAR(6)), ''))), 6) END + '|' + -- CODIGO DA INFORMAÇÃO COMPLEMENTAR #98# --RIGHT(REPLICATE(0, 6) + RTRIM(LTRIM(CAST(A.ID_OBS AS CHAR(6)))), 6) + '|' + -- CODIGO DA INFORMAÇÃO COMPLEMENTAR REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR COFINS FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.NOTA_CANCELADA = 0 AND --ISNULL(A.INDICA_ICMS, '') <> '' ( ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) OR ISNULL(INDICA_COFINS, '') <> '' ) AND A.IND_OPER = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.IND_OPER, A.IND_EMIT, A.LX_MODELO, A.COD_SIT, A.SUBSERIE, A.DATA_DOC, A.DATA_ENT_SAI, A.ID_OBS_COMPLEMENTAR IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D500 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D501: COMPLEMENTO DA OPERAÇÃO (CÓDIGOS 21 E 22) ? PIS/PASEP IF @REGISTRO = 'D501' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_500_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.COD_BC_CREDITO_PIS, ''))), 2) + '|' + -- CÓDIGO DA BASE DE CÁLCULO DO CRÉDITO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN @DISPENSADO_ECD = 0 THEN MAX(LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60)) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) AND A.IND_OPER = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ST_PIS, A.COD_BC_CREDITO_PIS, A.ALIQUOTA_PIS IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D501 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D505: COMPLEMENTO DA OPERAÇÃO (CÓDIGOS 21 E 22) ? COFINS IF @REGISTRO = 'D505' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_500_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM LEFT(RTRIM(LTRIM(ISNULL(A.COD_BC_CREDITO_COFINS, ''))), 2) + '|' + -- CÓDIGO DA BASE DE CÁLCULO DO CRÉDITO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN MAX(LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60)) ELSE 'Dispensada' END + '|' -- CONTA CONTABIL FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_COFINS, '') <> '' ) AND A.IND_OPER = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.ST_COFINS, A.COD_BC_CREDITO_COFINS, A.ALIQUOTA_COFINS IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D505 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D509: PROCESSO REFERENCIADO IF @REGISTRO = 'D509' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_500_' + LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.NUM_PROC AS VARCHAR(20)), ''))), 20) + '|' + -- NUMERO PROCESSO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.IND_PROC AS VARCHAR(1)), ''))), 1) + '|' -- INDICADOR PROCESSO FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.IND_OPER = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.NUM_PROC, A.IND_PROC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D509 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D600: CONSOLIDAÇÃO DA PRESTAÇÃO DE SERVIÇOS - NOTAS DE SERVIÇO DE COMUNICAÇÃO (CÓDIGO 21) E DE SERVIÇO DE TELECOMUNICAÇÃO (CÓDIGO 22) IF @REGISTRO = 'D600' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_600_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' -- + -- @REGISTRO, --#103# --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_600_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' --#107# CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_600_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_'+ LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8)+ @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO V LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- CÓDIGO DO MODELO DO DOCUMENTO FISCAL V LEFT(RTRIM(LTRIM(ISNULL(A.COD_MUN_ESTAB, ''))), 7) + '|' + -- CÓDIGO DO MUNICÍPIO DOS TERMINAIS FATURADOS V LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 4) + '|' + -- SÉRIE DO DOCUMENTO FISCAL LEFT(RTRIM(LTRIM(ISNULL(A.SUBSERIE, ''))), 3) + '|' + -- SUBSÉRIE DO DOCUMENTO FISCAL LEFT(RTRIM(LTRIM(ISNULL(0, ''))), 1) + '|' + -- INDICADOR DO TIPO DE RECEITA: 0- RECEITA PRÓPRIA - SERVIÇOS PRESTADOS; 1- RECEITA PRÓPRIA - COBRANÇA DE DÉBITOS; 2- RECEITA PRÓPRIA - VENDA DE SERVIÇO PRÉ-PAGO ? FATURAMENTO DE PERÍODOS ANTERIORES; 3- RECEITA PRÓPRIA - VENDA DE SERVIÇO PRÉ-PAGO ? FATURAMENTO NO PERÍODO; 4- OUTRAS RECEITAS PRÓPRIAS DE SERVIÇOS DE COMUNICAÇÃO E TELECOMUNICAÇÃO; 5- RECEITA PRÓPRIA - CO-FATURAMENTO; 6- RECEITA PRÓPRIA ? SERVIÇOS A FATURAR EM PERÍODO FUTURO; 7? OUTRAS RECEITAS PRÓPRIAS DE NATUREZA NÃO-CUMULATIVA; 8 - OUTRAS RECEITAS DE TERCEIROS 9 ? OUTRAS RECEITAS --#50# --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.QTDE_ITEM, 0)) AS NUMERIC(19, 5)) AS VARCHAR(20)))), '.', ',') + '|' + -- QUANTIDADE DE DOCUMENTOS CONSOLIDADOS NESTE REGISTRO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.QTDE_ITEM, 0)) AS NUMERIC(19, 0)) AS VARCHAR(20)))), '.', ',') + '|' + -- QUANTIDADE DE DOCUMENTOS CONSOLIDADOS NESTE REGISTRO --#107# --LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- DATA INICIAL DOS DOCUMENTOS CONSOLIDADOS NO PERÍODO --LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- DATA FINAL DOS DOCUMENTOS CONSOLIDADOS NO PERÍODO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA INICIAL DOS DOCUMENTOS CONSOLIDADOS NO PERÍODO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MAX(A.DATA_DOC), 103), '/', ''), ''))), 8) + '|' + -- DATA FINAL DOS DOCUMENTOS CONSOLIDADOS NO PERÍODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL ACUMULADO DOS DOCUMENTOS FISCAIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ACUMULADO DOS DESCONTOS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ACUMULADO DAS PRESTAÇÕES DE SERVIÇOS TRIBUTADOS PELO ICMS '' + '|' + -- VALOR TOTAL DE SERVIÇOS NÃO TRIBUTADOS PELO ICMS '' + '|' + -- VALORES COBRADOS EM NOME DE TERCEIROS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_OUTRAS_DESPESAS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ACUMULADO DAS DESPESAS ACESSÓRIAS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ACUMULADO DA BASE DE CÁLCULO DO ICMS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_ICMS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ACUMULADO DO ICMS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR COFINS FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.NOTA_CANCELADA = 0 AND --ISNULL(A.INDICA_ICMS, '') <> '' ( ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) OR ISNULL(INDICA_COFINS, '') <> '' ) AND A.IND_OPER = 1 AND -- REGISTRO D600 A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, --A.NUM_DOC, #103# A.SERIE, A.COD_ESTAB, --A.COD_PART, #107# A.IND_OPER, --A.IND_EMIT, #107# A.LX_MODELO, A.COD_SIT, A.SUBSERIE, A.DATA_DOC, --A.DATA_ENT_SAI, --#107# A.COD_MUN_ESTAB IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D600 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D601: COMPLEMENTO DA CONSOLIDAÇÃO DA PRESTAÇÃO DE SERVIÇOS (CÓDIGOS 21 E 22) - PIS/PASEP IF @REGISTRO = 'D601' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, --#52# --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_600_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' --#103# --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_601_' + LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' --#107# --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_601_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_601_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 60) + '_'+@REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_600_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_'+ LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8)+ @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO V --LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 4) + '|' + -- CODIGO DO SERVIÇO --#109# RTRIM(LTRIM(ISNULL(A.COD_CLASS, ''))) + '|' + -- CODIGO DO SERVIÇO #180# REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ACUMULADO DOS DESCONTOS/EXCLUSÕES DA BASE DE CÁLCULO LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- CÓDIGO DA SITUAÇÃO TRIBUTÁRIA REFERENTE AO PIS/PASEP REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA BASE DE CÁLCULO DO PIS/PASEP REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO PIS/PASEP REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS/PASEP CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CÓDIGO DA CONTA CONTÁBIL DEBITADA/CREDITADA #226# FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.NOTA_CANCELADA = 0 AND --ISNULL(A.INDICA_ICMS, '') <> '' ( ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) OR ISNULL(INDICA_COFINS, '') <> '' ) AND A.IND_OPER = 1 AND -- REGISTRO D601 A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, --A.NUM_DOC, #103 A.SERIE, A.COD_ESTAB, --A.COD_PART, #107# --A.COD_LST, --#109# A.COD_CLASS, /*#180#*/ A.ST_PIS, A.ALIQUOTA_PIS, A.DATA_DOC --#107# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D601 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D605: COMPLEMENTO DA CONSOLIDAÇÃO DA PRESTAÇÃO DE SERVIÇOS (CÓDIGOS 21 E 22) ? COFINS IF @REGISTRO = 'D605' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, --#52# --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_500_' + LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' --#52# --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_600_' + RIGHT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' --#103# --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_605_' + LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' --#107# --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_605_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' --CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_605_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 60) + '_'+@REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_600_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_'+ LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), MIN(A.DATA_DOC), 103), '/', ''), ''))), 8)+ @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO --LEFT(RTRIM(LTRIM(ISNULL(A.COD_NCM, ''))), 4) + '|' + -- CODIGO DO SERVIÇO --#109# RTRIM(LTRIM(ISNULL(A.COD_CLASS, ''))) + '|' + -- CODIGO DO SERVIÇO #180# REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO ITEM REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DESCONTO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR ACUMULADO DOS DESCONTOS/EXCLUSÕES DA BASE DE CÁLCULO LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- CÓDIGO DA SITUAÇÃO TRIBUTÁRIA REFERENTE AO COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA BASE DE CÁLCULO DA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' -- CÓDIGO DA CONTA CONTÁBIL DEBITADA/CREDITADA #106# #226# FROM #TEMP_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.NOTA_CANCELADA = 0 AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_COFINS, '') <> '' ) AND A.IND_OPER = 1 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, --A.NUM_DOC, #103# A.SERIE, A.COD_ESTAB, --A.COD_PART, #107# --A.COD_LST, A.COD_CLASS, /*#180#*/ A.ST_COFINS, A.ALIQUOTA_COFINS, A.DATA_DOC --#107# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D605 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D609: PROCESSO REFERENCIADO IF @REGISTRO = 'D609' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BD_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_609_' + LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.NUM_PROC AS VARCHAR(20)), ''))), 20) + '|' + -- NUMERO PROCESSO LEFT(RTRIM(LTRIM(ISNULL(CAST(A.IND_PROC AS VARCHAR(1)), ''))), 1) + '|' -- INDICADOR PROCESSO FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.IND_OPER = 1 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.NUM_PROC, A.IND_PROC IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D609 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO D990: ENCERRAMENTO DO BLOCO D IF @REGISTRO = 'D990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BD_Z_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(CAST((SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'D') + 1 AS VARCHAR(10)))) + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM D990 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F001: ABERTURA DO BLOCO F IF @REGISTRO = 'F001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BF_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(A.REGISTRO, 1) = 'F') > 0 THEN '0' ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM F001 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F010: IDENTIFICAÇÃO DO ESTABELECIMENTO IF @REGISTRO = 'F010' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) --SELECT -- IDCUR_ARQUIVO = @IDCUR_ARQUIVO, -- REGISTRO = @REGISTRO, -- CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, -- LINHA = '|' + @REGISTRO + '|' + -- REGISTRO -- LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' -- CNPJ --FROM #TEMP_012347 AS A --WHERE A.INDICA_DOCUMENTO_NAO_FISCAL = 1 --GROUP BY A.CNPJ_ESTAB SELECT DISTINCT IDCUR_ARQUIVO = @IDCUR_ARQUIVO, REGISTRO = @REGISTRO, CHAVE, LINHA FROM (SELECT CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' -- CNPJ FROM #TEMP_012347 AS A WHERE A.INDICA_DOCUMENTO_NAO_FISCAL = 1 GROUP BY A.CNPJ_ESTAB UNION ALL SELECT CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' -- CNPJ FROM #TEMP_012347 AS A WHERE (A.INDICA_COFINS = 1 OR A.INDICA_PIS = 1) --AND --#110# --A.SK_MATRIZ_FISCAL = @SK_MATRIZ #112# GROUP BY A.CNPJ_ESTAB UNION ALL SELECT CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' -- CNPJ FROM #TEMP_MOV_PERIODO_IMPOSTO AS A GROUP BY A.CNPJ_ESTAB /*#187#*/ UNION ALL SELECT CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' -- CNPJ FROM #TEMP_012347_SAT AS A /*#187#*/ UNION ALL SELECT CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.CNPJ_ESTAB, ''))), 14) + '|' -- CNPJ FROM #TEMP_ECF_012347 A /*#80#*/ UNION ALL SELECT CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(MATRIZ_CONTABIL.CNPJ)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(MATRIZ_CONTABIL.CNPJ, ''))), 14) + '|' -- CNPJ FROM CTB_A_RECEBER_MOV_IMPOSTO IMP_RET INNER JOIN CTB_A_RECEBER_MOV ITEM ON ITEM.EMPRESA = IMP_RET.EMPRESA AND ITEM.LANCAMENTO_MOV = IMP_RET.LANCAMENTO AND ITEM.ITEM_MOV = IMP_RET.ITEM AND ITEM.ID_PARCELA = IMP_RET.ID_PARCELA INNER JOIN LCF_TERCEIRO TERCEIRO ON TERCEIRO.BK_COD_TERCEIRO = IMP_RET.COD_CLIFOR AND TERCEIRO.LX_ORIGEM_TERCEIRO = 1 INNER JOIN W_LCF_MATRIZ_CONTABIL MATRIZ_CONTABIL ON MATRIZ_CONTABIL.BK_COD_MATRIZ_CONTABIL = IMP_RET.COD_MATRIZ WHERE IMP_RET.ID_IMPOSTO IN (17, 18) AND ITEM.DATA_PAGAMENTO BETWEEN @DATA_INI AND @DATA_FIM AND IMP_RET.COD_MATRIZ = @CODIGOMATRIZ GROUP BY MATRIZ_CONTABIL.CNPJ /*#199#*/ UNION ALL SELECT CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(F700.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(F700.CNPJ_ESTAB, ''))), 14) + '|' -- CNPJ FROM ( SELECT DISTINCT FILIAL.CNPJ AS CNPJ_ESTAB FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM WHERE SIAP.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM UNION ALL SELECT DISTINCT FILIAL.CNPJ AS CNPJ_ESTAB FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM INNER JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV INNER JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA INNER JOIN LCF_NOTA_SAIDA_IMPOSTO LNSI ON LNSI.ID_NOTA = LNS.ID_NOTA AND LNSI.ID_IMPOSTO IN (5,6) INNER JOIN LCF_TERCEIRO AS TERCEIRO ON LNS.SK_TERCEIRO = TERCEIRO.SK_TERCEIRO INNER JOIN LCF_OBS_COMPLEMENTAR OBS ON OBS.ID_OBS = LNS.ID_OBS_COMPLEMENTAR WHERE LA.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM UNION ALL SELECT DISTINCT FILIAL.CNPJ AS CNPJ_ESTAB FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM INNER JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV INNER JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO LNEI ON LNEI.ID_NOTA = LNE.ID_NOTA AND LNEI.ID_IMPOSTO IN (5,6) INNER JOIN LCF_TERCEIRO AS TERCEIRO ON LNE.SK_TERCEIRO = TERCEIRO.SK_TERCEIRO INNER JOIN LCF_OBS_COMPLEMENTAR OBS ON OBS.ID_OBS = LNE.ID_OBS_COMPLEMENTAR WHERE LA.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM --#242# UNION ALL SELECT DISTINCT CNPJ_ESTAB = REPLACE(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLCNPJFILIAL' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),'/',''),'.',''),'-','') FROM DBO.LF_INF_COMPLEMENTAR AS A ( NOLOCK ) INNER JOIN #EFD_CONTRIBUICOES AS EFD ON EFD.CODIGO = A.COD_FILIAL AND A.DATA_INICIAL = EFD.DATAINICIAL WHERE A.NOME_OBJETO LIKE '%.F700%' AND A.ID_INTEGRACAO_GOVERNO = '28' GROUP BY SUBSTRING(A.NOME_OBJETO, 1, CHARINDEX('.COL', A.NOME_OBJETO)), A.COD_FILIAL, A.DATA_INICIAL UNION ALL SELECT CNPJ_ESTAB = REPLACE(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLCNPJFILIAL' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),'/',''),'.',''),'-','') FROM DBO.LF_INF_COMPLEMENTAR AS A ( NOLOCK ) INNER JOIN #EFD_CONTRIBUICOES AS EFD ON EFD.CODIGO = A.COD_FILIAL AND A.DATA_INICIAL = EFD.DATAINICIAL WHERE A.NOME_OBJETO LIKE '%.F600%' AND A.ID_INTEGRACAO_GOVERNO = '28' GROUP BY SUBSTRING(A.NOME_OBJETO, 1, CHARINDEX('.COL', A.NOME_OBJETO)), A.COD_FILIAL, A.DATA_INICIAL --#242# ) F700 WHERE ISNULL(F700.CNPJ_ESTAB,'') <> '' /*#199#*/ ) AS A IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F100: DEMAIS DOCUMENTOS E OPERAÇÕES GERADORAS DE CONTRIBUIÇÃO E CRÉDITOS IF @REGISTRO = 'F100' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE, LINHA FROM (SELECT --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_100_' + --LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + '_' + --LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + LEFT(RTRIM(LTRIM(ISNULL(A.NUM_DOC, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.SERIE, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + @REGISTRO, /*#156#*/ /*#198#*/ --CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ESTAB, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '_' + RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))) + '_' + @REGISTRO, /*#156#*/ LINHA = '|' + @REGISTRO + '|' + -- REGISTRO -- LEFT(RTRIM(LTRIM(ISNULL(A.IND_OPER, ''))), 1) + '|' + -- TIPO OPERAÇÃO CASE WHEN A.ST_PIS IN ( '01', '02', '03', '05' ) OR ST_COFINS IN ( '01', '02', '03', '05' ) THEN '1' WHEN A.ST_PIS IN ( '04', '06', '07', '08', '09', '49', '99' ) OR A.ST_COFINS IN ( '04', '06', '07', '08', '09', '49', '99' ) THEN '2' ELSE '0' END + '|' + -- TIPO OPERAÇÃO LEFT(RTRIM(LTRIM(ISNULL(A.COD_PART, ''))), 60) + '|' + -- CÓDIGO DO PARTICIPANTE LEFT(RTRIM(LTRIM(ISNULL(A.COD_ITEM, ''))), 60) + '|' + -- CODIGO DO ITEM LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), A.DATA_DOC, 103), '/', ''), ''))), 8) + '|' + -- DATA DA EMISSÃO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DO ITEM LEFT(RTRIM(LTRIM(ISNULL(CAST(A.ST_PIS AS VARCHAR(2)), ''))), 2) + '|' + -- SITUAÇÃO TRIBUTÁRIA PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE DO PIS CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE DO PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO PIS CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_PIS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA DO PIS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO PIS CASE WHEN SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO PIS LEFT(RTRIM(LTRIM(ISNULL(CAST(A.ST_COFINS AS VARCHAR(2)), ''))), 2) + '|' + -- SITUAÇÃO TRIBUTÁRIA COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- BASE DO COFINS CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- BASE DO COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA DO COFINS CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) AS NUMERIC(5, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') END + '|' + -- ALIQUOTA DO COFINS /*#241#*/ --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO COFINS CASE WHEN SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS_EXCLUSAO, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_COFINS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') END + '|' + -- VALOR DO COFINS --LEFT(RTRIM(LTRIM(ISNULL(A.NATUREZA_RECEITA_PIS, ''))), 3) + '|' + -- NATUREZA RECEITA LEFT(RTRIM(LTRIM(ISNULL(ISNULL(A.COD_BC_CREDITO_PIS, A.COD_BC_CREDITO_COFINS), ''))), 3) + '|' + -- NAT_BC_CRED CASE WHEN A.CFOP = '9993' THEN '1' ELSE '0' END + '|' + -- INDICADOR DA ORIGEM DO CRÉDITO CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.COD_CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' + -- CONTA CONTÁBIL #226# LEFT(RTRIM(LTRIM(ISNULL(A.COD_CENTRO_CUSTO, ''))), 60) + '|' + -- CODIGO CENTRO DE CUSTO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(REPLACE(A.DESC_ITEM, CHAR(10), ''), CHAR(13), ''), ''))), 255) + '|' -- DESCRIÇÃO DO ITEM FROM #TEMP_012347 AS A /*#197#*/ WHERE A.INDICA_DOCUMENTO_NAO_FISCAL = 1 AND ((A.VALOR_PIS > 0 or A.VALOR_COFINS > 0) OR (A.VALOR_PIS = 0 AND A.VALOR_COFINS = 0 AND RIGHT(RTRIM(A.CFOP),3) = '551')) GROUP BY A.CNPJ_ESTAB, A.NUM_DOC, A.SERIE, A.COD_ESTAB, A.COD_PART, A.IND_OPER, A.COD_PART, A.COD_ITEM, A.DATA_DOC, A.ST_PIS, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/, A.ST_COFINS, A.ALIQUOTA_COFINS,/*A.NATUREZA_RECEITA_PIS*/ A.TAXA_COFINS_EXCLUSAO /*#241#*/, A.COD_BC_CREDITO_PIS, A.COD_BC_CREDITO_COFINS, A.CFOP, A.COD_CENTRO_CUSTO, A.DESC_ITEM --A.BK_SERIE #156# ) AS A; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F111: PROCESSO REFERENCIADO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F120: BENS INCORPORADOS AO ATIVO IMOBILIZADO ? OPERAÇÕES GERADORAS DE CRÉDITOS COM BASE NOS ENCARGOS DE DEPRECIAÇÃO E AMORTIZAÇÃO IF @REGISTRO = 'F120' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_BC_CREDITO, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.IDENT_IMOB, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.ORIGEM_CREDITO, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.IDENT_UTILIZACAO_IMOB, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(COD_BC_CREDITO, ''))) + '|' + -- NAT_BC_CRED RTRIM(LTRIM(ISNULL(IDENT_IMOB, ''))) + '|' + -- IDENT_BEM_IMOB RTRIM(LTRIM(ISNULL(ORIGEM_CREDITO, ''))) + '|' + -- IND_ORIG_CRED RTRIM(LTRIM(ISNULL(IDENT_UTILIZACAO_IMOB, ''))) + '|' + -- IND_UTIL_BEM_IMOB RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_DEPRECIACAO, 0))), '.', ','))) + '|' + -- VL_OPER_DEP '' + '|' + -- PARC_OPER_NAO_BC_CRED RTRIM(LTRIM(ISNULL(CST_PIS, ''))) + '|' + -- CST_PIS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_BASE_PIS, 0))), '.', ','))) + '|' + -- VL_BC_PIS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(5), ISNULL(ALIQUOTA_PIS, 0)), '.', ','))) + '|' + -- ALIQ_PIS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_PIS, 0))), '.', ','))) + '|' + -- VL_PIS RTRIM(LTRIM(ISNULL(CST_COFINS, ''))) + '|' + -- CST_COFINS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_BASE_COFINS, 0))), '.', ','))) + '|' + -- VL_BC_COFINS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(5), ISNULL(ALIQUOTA_COFINS, 0)), '.', ','))) + '|' + -- ALIQ_COFINS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_COFINS, 0))), '.', ','))) + '|' + -- VL_COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' + -- COD_CTA #223# '' + '|' + -- COD_CCUS '' + '|' -- DESC_ BEM_IMOB FROM #TEMP_MOV_PERIODO_IMPOSTO A WHERE A.GERACAO_CREDITO_PIS_COFINS = '2' GROUP BY A.CNPJ_ESTAB, A.COD_BC_CREDITO, A.IDENT_IMOB, A.ORIGEM_CREDITO, A.IDENT_UTILIZACAO_IMOB, A.CST_PIS, A.ALIQUOTA_PIS, A.CST_COFINS, A.ALIQUOTA_COFINS, A.CONTA_CONTABIL /*#223#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F129: PROCESSO REFERENCIADO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F130: BENS INCORPORADOS AO ATIVO IMOBILIZADO ? OPERAÇÕES GERADORAS DE CRÉDITOS COM BASE NO VALOR DE AQUISIÇÃO/CONTRIBUIÇÃO IF @REGISTRO = 'F130' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_100_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_BC_CREDITO, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.IDENT_IMOB, ''))), 20) + LEFT(RTRIM(LTRIM(ISNULL(A.ORIGEM_CREDITO, ''))), 60) + LEFT(RTRIM(LTRIM(ISNULL(A.IDENT_UTILIZACAO_IMOB, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(COD_BC_CREDITO, ''))) + '|' + -- NAT_BC_CRED RTRIM(LTRIM(ISNULL(IDENT_IMOB, ''))) + '|' + -- IDENT_BEM_IMOB RTRIM(LTRIM(ISNULL(ORIGEM_CREDITO, ''))) + '|' + -- IND_ORIG_CRED RTRIM(LTRIM(ISNULL(IDENT_UTILIZACAO_IMOB, ''))) + '|' + -- IND_UTIL_BEM_IMOB RTRIM(LTRIM(ISNULL(MES_ANO_AQUISICAO, ''))) + '|' + -- MES_OPER_AQUIS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_DEPRECIACAO, 0))), '.', ','))) + '|' + -- VL_OPER_AQUIS '' + '|' + -- PARC_OPER_NAO_BC_CRED RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_DEPRECIACAO, 0))), '.', ','))) + '|' + -- VL_BC_CRED RTRIM(LTRIM(ISNULL(IND_NR_PARC, ''))) + '|' + -- IND_NR_PARC RTRIM(LTRIM(ISNULL(CST_PIS, ''))) + '|' + -- CST_PIS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_BASE_PIS, 0))), '.', ','))) + '|' + -- VL_BC_PIS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(5), ISNULL(ALIQUOTA_PIS, 0)), '.', ','))) + '|' + -- ALIQ_PIS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_PIS, 0))), '.', ','))) + '|' + -- VL_PIS RTRIM(LTRIM(ISNULL(CST_COFINS, ''))) + '|' + -- CST_COFINS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_BASE_COFINS, 0))), '.', ','))) + '|' + -- VL_BC_COFINS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(5), ISNULL(ALIQUOTA_COFINS, 0)), '.', ','))) + '|' + -- ALIQ_COFINS RTRIM(LTRIM(REPLACE(CONVERT(VARCHAR(19), SUM(ISNULL(VALOR_COFINS, 0))), '.', ','))) + '|' + -- VL_COFINS CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' + -- COD_CTA #223# '' + '|' + -- COD_CCUS '' + '|' -- DESC_ BEM_IMOB FROM #TEMP_MOV_PERIODO_IMPOSTO A WHERE A.GERACAO_CREDITO_PIS_COFINS = '1' GROUP BY A.CNPJ_ESTAB, A.COD_BC_CREDITO, A.IDENT_IMOB, A.ORIGEM_CREDITO, A.IDENT_UTILIZACAO_IMOB, A.CST_PIS, A.ALIQUOTA_PIS, A.CST_COFINS, A.ALIQUOTA_COFINS, MES_ANO_AQUISICAO, IND_NR_PARC, A.CONTA_CONTABIL /*#223#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F139: PROCESSO REFERENCIADO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F150: CRÉDITO PRESUMIDO SOBRE ESTOQUE DE ABERTURA --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F200: OPERAÇÕES DA ATIVIDADE IMOBILIÁRIA - UNIDADE IMOBILIÁRIA VENDIDA --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F205: OPERAÇÕES DA ATIVIDADE IMOBILIÁRIA ? CUSTO INCORRIDO DA UNIDADE IMOBILIÁRIA --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F210: OPERAÇÕES DA ATIVIDADE IMOBILIÁRIA - CUSTO ORÇADO DA UNIDADE IMOBILIÁRIA VENDIDA --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F211: PROCESSO REFERENCIADO /*#176#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F500: CONSOLIDAÇÃO DAS OPERAÇÕES DA PESSOA JURÍDICA SUBMETIDA AO REGIME DE TRIBUTAÇÃO COM BASE NO LUCRO PRESUMIDO – INCIDÊNCIA DO PIS/PASEP E DA COFINS PELO REGIME DE CAIXA IF RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_INCIDENCIA_TRIBUTARIA', @DATA_INI), ''))) = 2 AND RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_REGIME_CUMULATIVO', @DATA_INI), ''))) = 1 IF @REGISTRO = 'F500' BEGIN SELECT A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, VL_REC_COMP_PIS = SUM(A.VL_REC_COMP_PIS), BASE_PIS = SUM(A.BASE_PIS), A.ST_COFINS, A.ALIQUOTA_COFINS, VL_REC_COMP_COFINS = SUM(A.VL_REC_COMP_COFINS), BASE_COFINS = SUM(A.BASE_COFINS), VALOR_DOC = SUM(A.VALOR_DOC), --#108# A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA, VALOR_ICMS_PIS_EXCLUSAO = SUM(A.VALOR_ICMS_PIS_EXCLUSAO) /*#241#*/, VALOR_ICMS_COFINS_EXCLUSAO = SUM(A.VALOR_ICMS_COFINS_EXCLUSAO) /*#241#*/ INTO #F500_SAIDAS FROM ( SELECT A.CNPJ_ESTAB, CONTA_CONTABIL = A.COD_CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, /*#241#*/ --A.ALIQUOTA_PIS, CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_PIS, 0) END AS ALIQUOTA_PIS, SUM(A.VALOR_CONTABIL_PIS) AS VL_REC_COMP_PIS, /*#241#*/ --SUM(A.BASE_PIS) AS BASE_PIS, CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) ELSE SUM(ISNULL(A.BASE_PIS, 0)) END AS BASE_PIS, A.ST_COFINS, /*#241#*/ --A.ALIQUOTA_COFINS, CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_COFINS, 0) END AS ALIQUOTA_COFINS, SUM(A.VALOR_CONTABIL_COFINS) AS VL_REC_COMP_COFINS, /*#241#*/ --SUM(A.BASE_COFINS) AS BASE_COFINS, CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) ELSE SUM(ISNULL(A.BASE_COFINS, 0)) END AS BASE_COFINS, SUM(A.VALOR_DOC) AS VALOR_DOC, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA, SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) AS VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) AS VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/ FROM #TEMP_012347 AS A WHERE (A.INDICA_COFINS = 1 OR A.INDICA_PIS = 1) AND A.ENTRADA_SAIDA = 'S' AND A.LX_MODELO IN ('01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67' /*#223#*/, '59') GROUP BY A.CNPJ_ESTAB, A.COD_CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/, A.ST_COFINS, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA UNION ALL SELECT A.CNPJ_ESTAB, A.CONTA_CONTABIL, ENTRADA_SAIDA = 'S', A.LX_MODELO, A.CFOP, A.ST_PIS, /*#241#*/ --A.ALIQUOTA_PIS, CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_PIS, 0) END AS ALIQUOTA_PIS, SUM(A.VALOR_CONTABIL_PIS) AS VL_REC_COMP_PIS, /*#241#*/ --SUM(A.BASE_PIS) AS BASE_PIS, CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) ELSE SUM(ISNULL(A.BASE_PIS, 0)) END AS BASE_PIS, A.ST_COFINS, /*#241#*/ --A.ALIQUOTA_COFINS, CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_COFINS, 0) END AS ALIQUOTA_COFINS, SUM(A.VALOR_CONTABIL_COFINS) AS VL_REC_COMP_COFINS, /*#241#*/ --SUM(A.BASE_COFINS) AS BASE_COFINS, CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) ELSE SUM(ISNULL(A.BASE_COFINS, 0)) END AS BASE_COFINS, SUM(A.VALOR_ITEM) AS VALOR_DOC, '' AS SERIE, '' AS SUBSERIE, '' AS NOTA_CANCELADA, SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) AS VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) AS VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/ FROM #TEMP_ECF_012347 AS A WHERE (A.INDICA_PIS = 1 OR A.INDICA_COFINS = 1) AND A.LX_MODELO IN ('01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67' /*#223#*/, '59') GROUP BY A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/, A.ST_COFINS, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/) AS A GROUP BY A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA; /* SELECT A.CNPJ_ESTAB, A.COD_CONTA_CONTABIL AS CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, /*#241#*/ --A.ALIQUOTA_PIS, CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_PIS, 0) END AS ALIQUOTA_PIS, SUM(A.VALOR_CONTABIL_PIS) AS VL_REC_COMP_PIS, /*#241#*/ --SUM(A.BASE_PIS) AS BASE_PIS, CASE WHEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.BASE_PIS_EXCLUSAO, 0)) ELSE SUM(ISNULL(A.BASE_PIS, 0)) END AS BASE_PIS, A.ST_COFINS, /*#241#*/ --A.ALIQUOTA_COFINS, CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_COFINS, 0) END AS ALIQUOTA_COFINS, SUM(A.VALOR_CONTABIL_COFINS) AS VL_REC_COMP_COFINS, /*#241#*/ --SUM(A.BASE_COFINS) AS BASE_COFINS, CASE WHEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.BASE_COFINS_EXCLUSAO, 0)) ELSE SUM(ISNULL(A.BASE_COFINS, 0)) END AS BASE_COFINS, SUM(A.VALOR_DOC) AS VALOR_DOC, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA, SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) AS VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) AS VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/ INTO #F500_ENTRADAS FROM #TEMP_012347 AS A WHERE (A.INDICA_COFINS = 1 OR A.INDICA_PIS = 1) AND A.ENTRADA_SAIDA = 'E' --AND 1 = 0 #241# AND A.LX_MODELO IN ('01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67' /*#223#*/, '59') GROUP BY A.CNPJ_ESTAB, A.COD_CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.TAXA_PIS_EXCLUSAO /*#241#*/, A.ST_COFINS, A.ALIQUOTA_COFINS, A.TAXA_COFINS_EXCLUSAO /*#241#*/, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA; */ IF (SELECT OBJECT_ID('TEMPDB..#F500')) IS NOT NULL DROP TABLE #F500; -- REALIZO O CÁLCULO DAS DEDUÇÕES SELECT A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.VL_REC_COMP_PIS, A.VL_DEDUCOES_PIS, A.BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.VL_REC_COMP_COFINS, A.VL_DEDUCOES_COFINS, A.BASE_COFINS, A.VALOR_DOC, A.SERIE, ISNULL(A.SUBSERIE,'') AS SUBSERIE, A.NOTA_CANCELADA INTO #F500 FROM( SELECT A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, SUM(A.VL_REC_COMP_PIS) AS VL_REC_COMP_PIS, /*#241#*/ --SUM(A.VALOR_DOC - A.BASE_PIS + ISNULL(A.VALOR_DOC - A.BASE_PIS, CAST(0 AS NUMERIC(16,2)))) AS VL_DEDUCOES_PIS, CASE WHEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) ELSE SUM(A.VALOR_DOC - A.BASE_PIS + ISNULL(A.VALOR_DOC - A.BASE_PIS, CAST(0 AS NUMERIC(16,2)))) END AS VL_DEDUCOES_PIS, SUM(A.BASE_PIS) AS BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, SUM(A.VL_REC_COMP_COFINS) AS VL_REC_COMP_COFINS, /*#241#*/ --SUM(A.VALOR_DOC - A.BASE_COFINS + ISNULL(A.VALOR_DOC - A.BASE_COFINS, CAST(0 AS NUMERIC(16,2)))) AS VL_DEDUCOES_COFINS, CASE WHEN SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) ELSE SUM(A.VALOR_DOC - A.BASE_COFINS + ISNULL(A.VALOR_DOC - A.BASE_COFINS, CAST(0 AS NUMERIC(16,2)))) END AS VL_DEDUCOES_COFINS, SUM(A.BASE_COFINS) AS BASE_COFINS, SUM(A.VALOR_DOC) AS VALOR_DOC, '' AS SERIE, '' AS SUBSERIE, '' AS NOTA_CANCELADA FROM #F500_SAIDAS AS A GROUP BY A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS /* UNION ALL SELECT A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, SUM(A.VL_REC_COMP_PIS) AS VL_REC_COMP_PIS, /*#241#*/ --SUM(A.VALOR_DOC - A.BASE_PIS + ISNULL(A.VALOR_DOC - A.BASE_PIS, CAST(0 AS NUMERIC(16,2)))) AS VL_DEDUCOES_PIS, CASE WHEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) ELSE SUM(A.VALOR_DOC - A.BASE_PIS + ISNULL(A.VALOR_DOC - A.BASE_PIS, CAST(0 AS NUMERIC(16,2)))) END AS VL_DEDUCOES_PIS, SUM(A.BASE_PIS) AS BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, SUM(A.VL_REC_COMP_COFINS) AS VL_REC_COMP_COFINS, /*#241#*/ --SUM(A.VALOR_DOC - A.BASE_COFINS + ISNULL(A.VALOR_DOC - A.BASE_COFINS, CAST(0 AS NUMERIC(16,2)))) AS VL_DEDUCOES_COFINS, CASE WHEN SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) ELSE SUM(A.VALOR_DOC - A.BASE_COFINS + ISNULL(A.VALOR_DOC - A.BASE_COFINS, CAST(0 AS NUMERIC(16,2)))) END AS VL_DEDUCOES_COFINS, SUM(A.BASE_COFINS) AS BASE_COFINS, SUM(A.VALOR_DOC) AS VALOR_DOC, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA FROM #F500_ENTRADAS AS A GROUP BY A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA*/) AS A GROUP BY A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.VL_REC_COMP_PIS, A.VL_DEDUCOES_PIS, A.BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.VL_REC_COMP_COFINS, A.VL_DEDUCOES_COFINS, A.BASE_COFINS, A.VALOR_DOC, A.SERIE, ISNULL(A.SUBSERIE,''), A.NOTA_CANCELADA; INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VALOR_DOC),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- VALOR TOTAL DA RECEITA AUFERIDA, REFERENTE À COMBINAÇÃO DE CST E ALÍQUOTA. RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))) + '|' + -- CST_PIS LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VL_DEDUCOES_PIS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- VALOR DO DESCONTO PIS / EXCLUSÃO DA BASE DE CÁLCULO LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_PIS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_PIS LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(A.ALIQUOTA_PIS,0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- ALIQ_PIS LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_PIS) * (A.ALIQUOTA_PIS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_PIS RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))) + '|' + -- CST_COFINS LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VL_DEDUCOES_COFINS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VALOR DO DESCONTO COFINS / EXCLUSÃO DA BASE DE CÁLCULO LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_COFINS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_COFINS LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS,0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- ALIQ_COFINS LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_COFINS) * (A.ALIQUOTA_COFINS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_COFINS LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- CÓDIGO DO MODELO LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' + -- CONTA CONTÁBIL #226# '' + '|' -- CODIGO DA INFORMAÇÃO COMPLEMENTAR FROM #F500 AS A GROUP BY A.CNPJ_ESTAB, A.ST_PIS, A.ALIQUOTA_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.LX_MODELO, A.CFOP HAVING (SUM(A.VALOR_DOC - A.VL_DEDUCOES_COFINS) * (A.ALIQUOTA_COFINS / 100)) > 0 OR (SUM(A.VALOR_DOC - A.VL_DEDUCOES_PIS) * (A.ALIQUOTA_PIS / 100)) > 0; END IF (SELECT OBJECT_ID('TEMPDB..#F500_ENTRADAS')) IS NOT NULL DROP TABLE #F500_ENTRADAS; IF (SELECT OBJECT_ID('TEMPDB..#F500_SAIDAS')) IS NOT NULL DROP TABLE #F500_SAIDAS; -- FIM F500 --------------------------------------------------------------------------------------------------------------------------------------- -- #86# -- #136# -- REGISTRO F550: CONSOLIDAÇÃO DAS OPERAÇÕES DA PESSOA JURÍDICA SUBMETIDA AO REGIME DE TRIBUTAÇÃO COM BASE NO LUCRO PRESUMIDO – INCIDÊNCIA DO PIS/PASEP E DA COFINS PELO REGIME DE COMPETÊNCIA -- VALIDAÇÕES: -- CÓDIGO DO MODELO DEVE OBEDECER A TABELA DO VALIDADOR, CONFORME ABAIXO: -- 01, 1B, 02, 2D, 2E, 04, 06, 07, 08, 8B, 09, 10, 11, 13, 14, 15, 17, 16, 18, 20, 21, -- 22, 23, 24, 25, 26, 27, 28, 29, 55, 57, 59 -- INCLUÍDO MODELO 65 /*#189#*/ IF RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_INCIDENCIA_TRIBUTARIA', @DATA_INI), ''))) = 2 AND RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'CMB_REGIME_CUMULATIVO', @DATA_INI), ''))) = 2 IF @REGISTRO = 'F550' BEGIN /*#245#*/ /*#195#*/ SELECT A.ID_NOTA, /*#274#*/ A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, VL_PIS = A.VALOR_PIS, A.VL_REC_COMP_PIS, A.BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, VL_COFINS = A.VALOR_COFINS, A.VL_REC_COMP_COFINS, A.BASE_COFINS, A.VALOR_DOC, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA, A.VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, A.VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/ INTO #F550_SAIDAS FROM ( SELECT --DISTINCT --#271# A.ID_NOTA, /*#274#*/ A.CNPJ_ESTAB, A.COD_CONTA_CONTABIL AS CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, /*#241#*/ --A.ALIQUOTA_PIS, CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_PIS, 0) END AS ALIQUOTA_PIS, /*#241#*/ --A.VALOR_PIS, CASE WHEN ISNULL(A.VALOR_PIS_EXCLUSAO, 0) > 0 THEN ISNULL(A.VALOR_PIS_EXCLUSAO, 0) ELSE ISNULL(A.VALOR_PIS, 0) END AS VALOR_PIS, A.VALOR_CONTABIL_PIS AS VL_REC_COMP_PIS, /*#241#*/ --SUM(A.BASE_PIS) AS BASE_PIS, CASE WHEN ISNULL(A.BASE_PIS_EXCLUSAO, 0) > 0 THEN ISNULL(A.BASE_PIS_EXCLUSAO, 0) ELSE ISNULL(A.BASE_PIS, 0) END AS BASE_PIS, A.ST_COFINS, /*#241#*/ --A.ALIQUOTA_COFINS, CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_COFINS, 0) END AS ALIQUOTA_COFINS, /*#241#*/ --A.VALOR_COFINS, CASE WHEN ISNULL(A.VALOR_COFINS_EXCLUSAO, 0) > 0 THEN ISNULL(A.VALOR_COFINS_EXCLUSAO, 0) ELSE ISNULL(A.VALOR_COFINS, 0) END AS VALOR_COFINS, A.VALOR_CONTABIL_COFINS AS VL_REC_COMP_COFINS, /*#241#*/ --SUM(A.BASE_COFINS) AS BASE_COFINS, CASE WHEN ISNULL(A.BASE_COFINS_EXCLUSAO, 0) > 0 THEN ISNULL(A.BASE_COFINS_EXCLUSAO, 0) ELSE ISNULL(A.BASE_COFINS, 0) END AS BASE_COFINS, A.VALOR_DOC - A.VALOR_DESCONTO + A.VALOR_OUTRAS_DESPESAS AS VALOR_DOC, /*#280#*/ A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA, ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) AS VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0) AS VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/ FROM #TEMP_012347 AS A WHERE (A.INDICA_COFINS = 1 OR A.INDICA_PIS = 1) AND A.ENTRADA_SAIDA = 'S' AND A.LX_MODELO IN ('01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67' /*#223#*/, '59', '65') UNION ALL SELECT --DISTINCT --#271# NULL AS ID_NOTA, /*#274#*/ A.CNPJ_ESTAB, A.CONTA_CONTABIL, ENTRADA_SAIDA = 'S', A.LX_MODELO, A.CFOP, A.ST_PIS, /*#241#*/ --A.ALIQUOTA_PIS, CASE WHEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_PIS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_PIS, 0) END AS ALIQUOTA_PIS, /*#241#*/ --A.VALOR_PIS, CASE WHEN ISNULL(A.VALOR_PIS_EXCLUSAO, 0) > 0 THEN ISNULL(A.VALOR_PIS_EXCLUSAO, 0) ELSE ISNULL(A.VALOR_PIS, 0) END AS VALOR_PIS, A.VALOR_CONTABIL_PIS AS VL_REC_COMP_PIS, /*#241#*/ --SUM(A.BASE_PIS) AS BASE_PIS, CASE WHEN ISNULL(A.BASE_PIS_EXCLUSAO, 0) > 0 THEN ISNULL(A.BASE_PIS_EXCLUSAO, 0) ELSE ISNULL(A.BASE_PIS, 0) END AS BASE_PIS, A.ST_COFINS, /*#241#*/ --A.ALIQUOTA_COFINS, CASE WHEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) > 0 THEN ISNULL(A.TAXA_COFINS_EXCLUSAO, 0) ELSE ISNULL(A.ALIQUOTA_COFINS, 0) END AS ALIQUOTA_COFINS, /*#241#*/ --A.VALOR_COFINS, CASE WHEN ISNULL(A.VALOR_COFINS_EXCLUSAO, 0) > 0 THEN ISNULL(A.VALOR_COFINS_EXCLUSAO, 0) ELSE ISNULL(A.VALOR_COFINS, 0) END AS VALOR_COFINS, A.VALOR_CONTABIL_COFINS AS VL_REC_COMP_COFINS, /*#241#*/ --SUM(A.BASE_COFINS) AS BASE_COFINS, CASE WHEN ISNULL(A.BASE_COFINS_EXCLUSAO, 0) > 0 THEN ISNULL(A.BASE_COFINS_EXCLUSAO, 0) ELSE ISNULL(A.BASE_COFINS, 0) END AS BASE_COFINS, --SUM(A.VALOR_ITEM) AS VALOR_DOC, /*#220#*/ A.VALOR_ITEM AS VALOR_DOC, '' AS SERIE, '' AS SUBSERIE, '' AS NOTA_CANCELADA, ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0) AS VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0) AS VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/ FROM #TEMP_ECF_012347 AS A WHERE (A.INDICA_PIS = 1 OR A.INDICA_COFINS = 1) AND A.LX_MODELO IN ('01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67' /*#223#*/, '59', '65' ) --GROUP BY A.CNPJ_ESTAB, /*#220#*/ -- A.COD_CONTA_CONTABIL, /*#220#*/ -- A.LX_MODELO, /*#220#*/ -- A.CFOP, /*#220#*/ -- A.ST_PIS, /*#220#*/ -- A.ALIQUOTA_PIS, /*#220#*/ -- A.VALOR_PIS, /*#220#*/ -- A.VALOR_CONTABIL_PIS, /*#220#*/ -- A.BASE_PIS, /*#220#*/ -- A.ST_COFINS, /*#220#*/ -- A.ALIQUOTA_COFINS, /*#220#*/ -- A.VALOR_COFINS, /*#220#*/ -- A.VALOR_CONTABIL_COFINS, /*#220#*/ -- A.BASE_COFINS /*#220#*/ /*#192#*/ /*#269#*/ UNION ALL /*SELECT DISTINCT A.CNPJ_ESTAB, A.CONTA_CONTABIL, ENTRADA_SAIDA = 'S', A.LX_MODELO_SAIDA , A.CFOP, CASE WHEN A.ID_IMPOSTO = 5 THEN A.SITUACAO_TRIBUTARIA ELSE '' END AS ST_PIS, /*#241#*/ --CASE WHEN A.ID_IMPOSTO = 5 THEN A.TAXA_IMPOSTO ELSE 0 END AS ALIQUOTA_PIS, CASE WHEN A.ID_IMPOSTO = 5 THEN CASE WHEN ISNULL(A.TAXA_EXCLUSAO, 0) > 0 THEN A.TAXA_EXCLUSAO ELSE A.TAXA_IMPOSTO END ELSE 0 END AS ALIQUOTA_PIS, /*#241#*/ --SUM(CASE WHEN A.ID_IMPOSTO = 5 THEN A.VALOR_IMPOSTO ELSE 0 END) AS VALOR_PIS, CASE WHEN A.ID_IMPOSTO = 5 THEN CASE WHEN ISNULL(A.VALOR_EXCLUSAO, 0) > 0 THEN A.VALOR_EXCLUSAO ELSE A.VALOR_IMPOSTO END ELSE 0 END AS VALOR_PIS, CASE WHEN A.ID_IMPOSTO = 5 THEN A.VALOR_ITEM ELSE 0 END AS VL_REC_COMP_PIS, /*#241#*/ --SUM(CASE WHEN A.ID_IMPOSTO = 5 THEN A.BASE_IMPOSTO ELSE 0 END) AS BASE_PIS, CASE WHEN A.ID_IMPOSTO = 5 THEN CASE WHEN ISNULL(A.BASE_EXCLUSAO, 0) > 0 THEN A.BASE_EXCLUSAO ELSE A.BASE_IMPOSTO END ELSE 0 END AS BASE_PIS, CASE WHEN A.ID_IMPOSTO = 6 THEN A.SITUACAO_TRIBUTARIA ELSE '' END AS ST_COFINS, /*#241#*/ --CASE WHEN A.ID_IMPOSTO = 6 THEN A.TAXA_IMPOSTO ELSE 0 END AS ALIQUOTA_COFINS, CASE WHEN A.ID_IMPOSTO = 6 THEN CASE WHEN ISNULL(A.TAXA_EXCLUSAO, 0) > 0 THEN A.TAXA_EXCLUSAO ELSE A.TAXA_IMPOSTO END ELSE 0 END AS ALIQUOTA_COFINS, /*#241#*/ --SUM(CASE WHEN A.ID_IMPOSTO = 6 THEN A.VALOR_IMPOSTO ELSE 0 END) AS VALOR_COFINS, CASE WHEN A.ID_IMPOSTO = 6 THEN CASE WHEN ISNULL(A.VALOR_EXCLUSAO, 0) > 0 THEN A.VALOR_EXCLUSAO ELSE A.VALOR_IMPOSTO END ELSE 0 END AS VALOR_COFINS, CASE WHEN A.ID_IMPOSTO = 6 THEN A.VALOR_ITEM ELSE 0 END AS VL_REC_COMP_COFINS, /*#241#*/ --SUM(CASE WHEN A.ID_IMPOSTO = 6 THEN A.BASE_IMPOSTO ELSE 0 END) AS BASE_COFINS, CASE WHEN A.ID_IMPOSTO = 6 THEN CASE WHEN ISNULL(A.BASE_EXCLUSAO, 0) > 0 THEN A.BASE_EXCLUSAO ELSE A.BASE_IMPOSTO END ELSE 0 END AS BASE_COFINS, A.VALOR_ITEM AS VALOR_DOC, '' AS SERIE, '' AS SUBSERIE, '' AS NOTA_CANCELADA, CASE WHEN A.ID_IMPOSTO = 5 THEN A.VALOR_ICMS_EXCLUSAO ELSE 0 END AS VALOR_ICMS_PIS_EXCLUSAO /*#241#*/, CASE WHEN A.ID_IMPOSTO = 6 THEN A.VALOR_ICMS_EXCLUSAO ELSE 0 END AS VALOR_ICMS_COFINS_EXCLUSAO /*#241#*/ FROM #TEMP_012347_SAT AS A WHERE ((A.ID_IMPOSTO = 5 AND A.TAXA_IMPOSTO > 0) OR (A.ID_IMPOSTO = 6 AND A.TAXA_IMPOSTO > 0)) AND A.ID_IMPOSTO IN (5, 6) AND A.LX_MODELO_SAIDA IN ('01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67' /*#223#*/, '59', '65')*/ SELECT DISTINCT --#281#NULL AS ID_NOTA, /*#274#*/ SAT.ID_CFE AS ID_NOTA, /*#281#*/ SAT.CNPJ_ESTAB, SAT.CONTA_CONTABIL, ENTRADA_SAIDA = 'S', SAT.LX_MODELO_SAIDA, SAT.CFOP, SAT_PIS.SITUACAO_TRIBUTARIA AS ST_PIS, SAT_PIS.ALIQUOTA_PIS, SUM(SAT_PIS.VALOR_PIS) AS VALOR_PIS, SUM(SAT_PIS.VALOR_ITEM) AS VL_REC_COMP_PIS, SUM(SAT_PIS.BASE_PIS) AS BASE_PIS, SAT_COFINS.SITUACAO_TRIBUTARIA AS ST_COFINS, SAT_COFINS.ALIQUOTA_COFINS, SUM(SAT_COFINS.VALOR_COFINS) AS VALOR_COFINS, SUM(SAT_COFINS.VALOR_ITEM) AS VL_REC_COMP_COFINS, SUM(SAT_COFINS.BASE_COFINS) AS BASE_COFINS, SUM(SAT_PIS.VALOR_ITEM) AS VALOR_DOC, '' AS SERIE, '' AS SUBSERIE, '' AS NOTA_CANCELADA, SUM(SAT_PIS.VALOR_ICMS_EXCLUSAO) AS VALOR_ICMS_PIS_EXCLUSAO, SUM(SAT_COFINS.VALOR_ICMS_EXCLUSAO) AS VALOR_ICMS_COFINS_EXCLUSAO FROM (SELECT DISTINCT SK_MATRIZ_FISCAL, NUMERO_SERIE, NUMERO_CFE, CNPJ_ESTAB, CONTA_CONTABIL, LX_MODELO_SAIDA, CFOP, ID_CFE /*#281#*/ FROM #TEMP_012347_SAT AS A WHERE A.ID_IMPOSTO IN ( 5, 6 ) AND A.LX_MODELO_SAIDA IN ( '01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67' /*#223#*/, '59', '65' )) AS SAT INNER JOIN (SELECT CASE WHEN ISNULL(A.TAXA_EXCLUSAO, 0) > 0 THEN A.TAXA_EXCLUSAO ELSE A.TAXA_IMPOSTO END AS ALIQUOTA_PIS, SUM(CASE WHEN ISNULL(A.VALOR_EXCLUSAO, 0) > 0 THEN A.VALOR_EXCLUSAO ELSE A.VALOR_IMPOSTO END) AS VALOR_PIS, SUM(CASE WHEN ISNULL(A.BASE_EXCLUSAO, 0) > 0 THEN A.BASE_EXCLUSAO ELSE A.BASE_IMPOSTO END) AS BASE_PIS, A.SITUACAO_TRIBUTARIA, SUM(A.VALOR_ITEM - ISNULL(A.VALOR_DESCONTO,0) + ISNULL(A.VALOR_ENCARGOS,0)) AS VALOR_ITEM, /*#280#*/ SUM(A.VALOR_ICMS_EXCLUSAO) AS VALOR_ICMS_EXCLUSAO, A.SK_MATRIZ_FISCAL, A.NUMERO_SERIE, A.NUMERO_CFE, A.ID_CFE /*#281#*/ FROM #TEMP_012347_SAT AS A WHERE A.ID_IMPOSTO = 5 AND A.TAXA_IMPOSTO > 0 AND A.LX_MODELO_SAIDA IN ( '01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67' /*#223#*/, '59', '65' ) GROUP BY CASE WHEN ISNULL(A.TAXA_EXCLUSAO, 0) > 0 THEN A.TAXA_EXCLUSAO ELSE A.TAXA_IMPOSTO END, A.SITUACAO_TRIBUTARIA, A.SK_MATRIZ_FISCAL, A.NUMERO_SERIE, A.NUMERO_CFE, A.ID_CFE /*#281#*/) AS SAT_PIS --#281#ON SAT.SK_MATRIZ_FISCAL = SAT_PIS.SK_MATRIZ_FISCAL --#281# AND SAT.NUMERO_SERIE = SAT_PIS.NUMERO_SERIE --#281# AND SAT.NUMERO_CFE = SAT_PIS.NUMERO_CFE ON SAT.ID_CFE = SAT_PIS.ID_CFE /*#281#*/ INNER JOIN (SELECT CASE WHEN ISNULL(A.TAXA_EXCLUSAO, 0) > 0 THEN A.TAXA_EXCLUSAO ELSE A.TAXA_IMPOSTO END AS ALIQUOTA_COFINS, SUM(CASE WHEN ISNULL(A.VALOR_EXCLUSAO, 0) > 0 THEN A.VALOR_EXCLUSAO ELSE A.VALOR_IMPOSTO END) AS VALOR_COFINS, SUM(CASE WHEN ISNULL(A.BASE_EXCLUSAO, 0) > 0 THEN A.BASE_EXCLUSAO ELSE A.BASE_IMPOSTO END) AS BASE_COFINS, A.SITUACAO_TRIBUTARIA, SUM(A.VALOR_ITEM - ISNULL(A.VALOR_DESCONTO,0) + ISNULL(A.VALOR_ENCARGOS,0)) AS VALOR_ITEM, /*#280#*/ SUM(A.VALOR_ICMS_EXCLUSAO) AS VALOR_ICMS_EXCLUSAO, A.SK_MATRIZ_FISCAL, A.NUMERO_SERIE, A.NUMERO_CFE, A.ID_CFE /*#281#*/ FROM #TEMP_012347_SAT AS A WHERE A.ID_IMPOSTO = 6 AND A.TAXA_IMPOSTO > 0 AND A.LX_MODELO_SAIDA IN ( '01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67' /*#223#*/, '59', '65' ) GROUP BY CASE WHEN ISNULL(A.TAXA_EXCLUSAO, 0) > 0 THEN A.TAXA_EXCLUSAO ELSE A.TAXA_IMPOSTO END, A.SITUACAO_TRIBUTARIA, A.SK_MATRIZ_FISCAL, A.NUMERO_SERIE, A.NUMERO_CFE, A.ID_CFE /*#281#*/) AS SAT_COFINS --#281#ON SAT.SK_MATRIZ_FISCAL = SAT_COFINS.SK_MATRIZ_FISCAL --#281# AND SAT.NUMERO_SERIE = SAT_COFINS.NUMERO_SERIE --#281# AND SAT.NUMERO_CFE = SAT_COFINS.NUMERO_CFE ON SAT.ID_CFE = SAT_COFINS.ID_CFE /*#281#*/ GROUP BY SAT.CNPJ_ESTAB, SAT.CONTA_CONTABIL, SAT.LX_MODELO_SAIDA, SAT.CFOP, SAT_PIS.SITUACAO_TRIBUTARIA, SAT_PIS.ALIQUOTA_PIS, SAT_COFINS.SITUACAO_TRIBUTARIA, SAT_COFINS.ALIQUOTA_COFINS, SAT.ID_CFE /*#281#*/ /*#269#*/ /*#192#*/ /*#245#*/ ) AS A; /*#149# SELECT A.CNPJ_ESTAB, A.COD_CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, VL_PIS = A.VALOR_PIS, A.VALOR_CONTABIL_PIS AS VL_REC_COMP_PIS, A.BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, VL_COFINS = A.VALOR_COFINS, A.VALOR_CONTABIL_COFINS AS VL_REC_COMP_COFINS, A.BASE_COFINS, A.VALOR_DOC, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA INTO #F550_ENTRADAS FROM #TEMP_012347 AS A WHERE (A.INDICA_COFINS = 1 OR A.INDICA_PIS = 1) AND A.ENTRADA_SAIDA = 'E' AND A.LX_MODELO IN ('01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '59', '65') #149#*/ --#150# IF (SELECT OBJECT_ID('TEMPDB..#F550')) IS NOT NULL DROP TABLE #F550; -- REALIZO O CÁLCULO DAS DEDUÇÕES SELECT A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.VL_PIS, A.VL_REC_COMP_PIS, A.VL_DEDUCOES_PIS, CAST(0 AS NUMERIC(14,2)) AS VL_DEVOLUCOES_PIS, /*#280#*/ A.BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.VL_COFINS, A.VL_REC_COMP_COFINS, A.VL_DEDUCOES_COFINS, CAST(0 AS NUMERIC(14,2)) AS VL_DEVOLUCOES_COFINS, /*#280#*/ A.BASE_COFINS, A.VALOR_DOC, A.SERIE, ISNULL(A.SUBSERIE,'') AS SUBSERIE, A.NOTA_CANCELADA INTO #F550 FROM( SELECT A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, VL_PIS = SUM(A.VL_PIS), SUM(A.VL_REC_COMP_PIS) AS VL_REC_COMP_PIS, /*#241#*/ --SUM(CASE WHEN ISNULL(A.VALOR_DOC,0) > 0 THEN ISNULL(A.VALOR_DOC,CAST(0 AS NUMERIC(16,2))) - ISNULL(A.BASE_PIS,CAST(0 AS NUMERIC(16,2))) ELSE CAST(0 AS NUMERIC(16,2)) END) AS VL_DEDUCOES_PIS, CASE WHEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.VALOR_ICMS_PIS_EXCLUSAO, 0)) ELSE SUM(CASE WHEN ISNULL(A.VALOR_DOC,0) > 0 THEN ISNULL(A.VALOR_DOC,CAST(0 AS NUMERIC(16,2))) - ISNULL(A.BASE_PIS,CAST(0 AS NUMERIC(16,2))) ELSE CAST(0 AS NUMERIC(16,2)) END) END AS VL_DEDUCOES_PIS, SUM(A.BASE_PIS) AS BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, VL_COFINS = SUM(A.VL_COFINS), SUM(A.VL_REC_COMP_COFINS) AS VL_REC_COMP_COFINS, /*#241#*/ --SUM(CASE WHEN ISNULL(A.VALOR_DOC,0) > 0 THEN ISNULL(A.VALOR_DOC,CAST(0 AS NUMERIC(16,2))) - ISNULL(A.BASE_COFINS,CAST(0 AS NUMERIC(16,2))) ELSE CAST(0 AS NUMERIC(16,2)) END) AS VL_DEDUCOES_COFINS, CASE WHEN SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) > 0 THEN SUM(ISNULL(A.VALOR_ICMS_COFINS_EXCLUSAO, 0)) ELSE SUM(CASE WHEN ISNULL(A.VALOR_DOC,0) > 0 THEN ISNULL(A.VALOR_DOC,CAST(0 AS NUMERIC(16,2))) - ISNULL(A.BASE_COFINS,CAST(0 AS NUMERIC(16,2))) ELSE CAST(0 AS NUMERIC(16,2)) END) END AS VL_DEDUCOES_COFINS, SUM(A.BASE_COFINS) AS BASE_COFINS, SUM(A.VALOR_DOC) AS VALOR_DOC, '' AS SERIE, '' AS SUBSERIE, '' AS NOTA_CANCELADA FROM #F550_SAIDAS AS A GROUP BY A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS /*#149# UNION ALL SELECT A.CNPJ_ESTAB, A.COD_CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, VL_PIS = SUM(A.VL_PIS), SUM(A.VL_REC_COMP_PIS) AS VL_REC_COMP_PIS, SUM(CASE WHEN ISNULL(A.VALOR_DOC,0) > 0 THEN ISNULL(A.VALOR_DOC,CAST(0 AS NUMERIC(16,2))) - ISNULL(A.BASE_PIS,CAST(0 AS NUMERIC(16,2))) ELSE CAST(0 AS NUMERIC(16,2)) END) AS VL_DEDUCOES_PIS, SUM(A.BASE_PIS) AS BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, VL_COFINS = SUM(A.VL_COFINS), SUM(A.VL_REC_COMP_COFINS) AS VL_REC_COMP_COFINS, SUM(CASE WHEN ISNULL(A.VALOR_DOC,0) > 0 THEN ISNULL(A.VALOR_DOC,CAST(0 AS NUMERIC(16,2))) - ISNULL(A.BASE_COFINS,CAST(0 AS NUMERIC(16,2))) ELSE CAST(0 AS NUMERIC(16,2)) END) AS VL_DEDUCOES_COFINS, SUM(A.BASE_COFINS) AS BASE_COFINS, SUM(A.VALOR_DOC) AS VALOR_DOC, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA FROM #F550_ENTRADAS AS A GROUP BY A.CNPJ_ESTAB, A.COD_CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA #149#*/) A GROUP BY A.CNPJ_ESTAB, A.CONTA_CONTABIL, A.ENTRADA_SAIDA, A.LX_MODELO, A.CFOP, A.ST_PIS, A.ALIQUOTA_PIS, A.VL_PIS, A.VL_REC_COMP_PIS, A.VL_DEDUCOES_PIS, A.BASE_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.VL_COFINS, A.VL_REC_COMP_COFINS, A.VL_DEDUCOES_COFINS, A.BASE_COFINS, A.VALOR_DOC, A.SERIE, ISNULL(A.SUBSERIE,''), A.NOTA_CANCELADA; /*#195#*/ -- #274# -- NOTAS DE RETAGUARDA OU LOJAS DEVOLVIDAS INSERT INTO #F550 SELECT S.CNPJ_ESTAB, S.CONTA_CONTABIL, S.ENTRADA_SAIDA, S.LX_MODELO, S.CFOP, S.ST_PIS, A.ALIQUOTA_PIS, 0 AS VL_PIS, 0 AS VL_REC_COMP_PIS, /*#280#*/ -- INICIO --SUM(A.BASE_PIS) AS VL_DEDUCOES_PIS, 0 AS VL_DEDUCOES_PIS, SUM(A.BASE_PIS) AS VL_DEVOLUCOES_PIS, /*#280#*/ -- FIM 0 AS BASE_PIS, S.ST_COFINS, A.ALIQUOTA_COFINS, 0 AS VL_COFINS, 0 AS VL_REC_COMP_COFINS, /*#280#*/ -- INICIO --SUM(A.BASE_COFINS) AS VL_DEDUCOES_COFINS, 0 AS VL_DEDUCOES_COFINS, SUM(A.BASE_COFINS) AS VL_DEVOLUCOES_COFINS, /*#280#*/ -- FIM 0 AS BASE_COFINS, 0 AS VALOR_DOC, '' AS SERIE, '' AS SUBSERIE, '' AS NOTA_CANCELADA FROM dbo.LCF_NOTA_REFERENCIA AS REF (NOLOCK) -- #275# INNER JOIN #TEMP_012347 AS A ON A.ID_NOTA = REF.ID_NOTA_ENTRADA INNER JOIN (SELECT distinct ID_NOTA,CNPJ_ESTAB,CONTA_CONTABIL,ENTRADA_SAIDA,LX_MODELO,CFOP,ST_PIS,ST_COFINS from #F550_SAIDAS) AS S ON REF.ID_REF_SAIDA = S.ID_NOTA -- #275# -- #275# WHERE A.ENTRADA_SAIDA = 'E' AND A.TIPO_OPERACAO = 'D' AND (A.INDICA_PIS = 1 OR A.INDICA_COFINS = 1) AND A.LX_MODELO IN ('01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67', '59', '65') GROUP BY S.CNPJ_ESTAB, S.CONTA_CONTABIL, S.ENTRADA_SAIDA, S.LX_MODELO, S.CFOP, S.ST_PIS, A.ALIQUOTA_PIS, S.ST_COFINS, A.ALIQUOTA_COFINS -- #274# /*#281#*/ -- CUPONS SAT DEVOLVIDOS E REFERENCIADOS EM NOTAS DE ENTRADA DE RETAGUARDA OU LOJAS INSERT INTO #F550 SELECT S.CNPJ_ESTAB, S.CONTA_CONTABIL, S.ENTRADA_SAIDA, S.LX_MODELO, S.CFOP, S.ST_PIS, A.ALIQUOTA_PIS, 0 AS VL_PIS, 0 AS VL_REC_COMP_PIS, 0 AS VL_DEDUCOES_PIS, SUM(A.BASE_PIS) AS VL_DEVOLUCOES_PIS, 0 AS BASE_PIS, S.ST_COFINS, A.ALIQUOTA_COFINS, 0 AS VL_COFINS, 0 AS VL_REC_COMP_COFINS, 0 AS VL_DEDUCOES_COFINS, SUM(A.BASE_COFINS) AS VL_DEVOLUCOES_COFINS, 0 AS BASE_COFINS, 0 AS VALOR_DOC, '' AS SERIE, '' AS SUBSERIE, '' AS NOTA_CANCELADA FROM dbo.LCF_CFE_REFERENCIA AS REF (NOLOCK) INNER JOIN #TEMP_012347 AS A ON A.ID_NOTA = REF.ID_NOTA INNER JOIN (SELECT distinct ID_NOTA,CNPJ_ESTAB,CONTA_CONTABIL,ENTRADA_SAIDA,LX_MODELO,CFOP,ST_PIS,ST_COFINS from #F550_SAIDAS) AS S ON REF.ID_CFE = S.ID_NOTA WHERE A.ENTRADA_SAIDA = 'E' AND A.TIPO_OPERACAO = 'D' AND (A.INDICA_PIS = 1 OR A.INDICA_COFINS = 1) AND A.LX_MODELO IN ('01', '1B', '02', '2D', '2E', '04', '06', '07', '08', '8B', '09', '10', '11', '13', '14', '15', '17', '16', '18', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '55', '57', '67', '59', '65') GROUP BY S.CNPJ_ESTAB, S.CONTA_CONTABIL, S.ENTRADA_SAIDA, S.LX_MODELO, S.CFOP, S.ST_PIS, A.ALIQUOTA_PIS, S.ST_COFINS, A.ALIQUOTA_COFINS /*#281#*/ INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO --#108# LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VALOR_DOC),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- VALOR TOTAL DA RECEITA AUFERIDA, REFERENTE À COMBINAÇÃO DE CST E ALÍQUOTA. /*RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))) + '|' + -- CST_PIS --#269#*/ LTRIM(RTRIM(MAX(CASE WHEN ISNULL(A.ST_PIS,'') = '' THEN '01' ELSE A.ST_PIS END))) + '|' + -- CST_PIS --#280#LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VL_DEDUCOES_PIS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- VALOR DO DESCONTO PIS / EXCLUSÃO DA BASE DE CÁLCULO LTRIM(RTRIM(REPLACE(CAST(CAST(SUM(ISNULL(A.VL_DEDUCOES_PIS,0) + ISNULL(A.VL_DEVOLUCOES_PIS,0)) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- VALOR DO DESCONTO PIS / EXCLUSÃO DA BASE DE CÁLCULO -- #280# --#108# --LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VL_REC_COMP_PIS - A.VL_DEDUCOES_PIS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_PIS --LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_PIS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_PIS --#280#LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_PIS - A.VL_DEDUCOES_PIS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_PIS -- #274# LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_PIS - A.VL_DEVOLUCOES_PIS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_PIS -- #274# #280# LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(A.ALIQUOTA_PIS,0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- ALIQ_PIS --#108# --LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VL_REC_COMP_PIS - A.VL_DEDUCOES_PIS) * (A.ALIQUOTA_PIS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_PIS --#186# --LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_PIS) * (A.ALIQUOTA_PIS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_PIS --#276#LTRIM(RTRIM(REPLACE(CAST(SUM(ISNULL(A.VL_PIS, CAST(0 AS NUMERIC(19,2)))) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_PIS --#280#LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_PIS - A.VL_DEDUCOES_PIS) * (A.ALIQUOTA_PIS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_PIS /*#276#*/ LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_PIS - A.VL_DEVOLUCOES_PIS) * (A.ALIQUOTA_PIS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_PIS /*#276#*/ #280# /*RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))) + '|' + -- CST_COFINS--#269#*/ LTRIM(RTRIM(MAX(CASE WHEN ISNULL(A.ST_COFINS,'') = '' THEN '01' ELSE A.ST_COFINS END))) + '|' + -- CST_COFINS --#280#LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VL_DEDUCOES_COFINS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VALOR DO DESCONTO COFINS / EXCLUSÃO DA BASE DE CÁLCULO LTRIM(RTRIM(REPLACE(CAST(CAST(SUM(ISNULL(A.VL_DEDUCOES_COFINS,0) + ISNULL(A.VL_DEVOLUCOES_COFINS,0)) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- VALOR DO DESCONTO PIS / EXCLUSÃO DA BASE DE CÁLCULO -- #280# --#108# --LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VL_REC_COMP_COFINS - A.VL_DEDUCOES_COFINS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_COFINS --LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_COFINS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_COFINS --#280#LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_COFINS - A.VL_DEDUCOES_COFINS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_COFINS -- #274# LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_COFINS - A.VL_DEVOLUCOES_COFINS),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_BC_COFINS -- #274# #280# LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS,0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- ALIQ_COFINS --#108# --LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VL_REC_COMP_COFINS - A.VL_DEDUCOES_COFINS) * (A.ALIQUOTA_COFINS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_COFINS --#186# --LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_COFINS) * (A.ALIQUOTA_COFINS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_COFINS --#276#LTRIM(RTRIM(REPLACE(CAST(SUM(ISNULL(A.VL_COFINS, CAST(0 AS NUMERIC(19,2)))) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_COFINS --#280#LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_COFINS - A.VL_DEDUCOES_COFINS) * (A.ALIQUOTA_COFINS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_COFINS /*#276#*/ LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.BASE_COFINS - A.VL_DEVOLUCOES_COFINS) * (A.ALIQUOTA_COFINS / 100),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ',')))+ '|' + -- VL_COFINS /*#276#*/ #280# LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- CÓDIGO DO MODELO LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(MAX(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), '')))) ELSE 'Dispensada' END + '|' + -- CONTA CONTÁBIL #226# '' + '|' -- CODIGO DA INFORMAÇÃO COMPLEMENTAR FROM #F550 AS A GROUP BY A.CNPJ_ESTAB, A.ST_PIS, A.ALIQUOTA_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.LX_MODELO, A.CFOP --#108# --HAVING (SUM(A.VL_REC_COMP_COFINS - A.VL_DEDUCOES_COFINS) * (A.ALIQUOTA_COFINS / 100)) > 0 --#186# --HAVING (SUM(A.VALOR_DOC - A.VL_DEDUCOES_COFINS) * (A.ALIQUOTA_COFINS / 100)) > 0 -- OR (SUM(A.VALOR_DOC - A.VL_DEDUCOES_PIS) * (A.ALIQUOTA_PIS / 100)) > 0 --HAVING SUM(A.VL_COFINS) > 0 OR SUM(A.VL_PIS) > 0 HAVING SUM(A.VL_COFINS) > 0 OR SUM(A.VL_PIS) > 0 or SUM(a.VL_DEDUCOES_PIS) > 0 or SUM(a.VL_DEDUCOES_COFINS) > 0 ; -- #274# END --#111# IF (SELECT OBJECT_ID('TEMPDB..#F550_ENTRADAS')) IS NOT NULL DROP TABLE #F550_ENTRADAS; IF (SELECT OBJECT_ID('TEMPDB..#F550_SAIDAS')) IS NOT NULL DROP TABLE #F550_SAIDAS; --IF (SELECT OBJECT_ID('TEMPDB..#F550')) IS NOT NULL -- DROP TABLE #F550 -- FIM F550 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F600: CONTRIBUIÇÃO RETIDA NA FONTE --#61# IF @REGISTRO = 'F600' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- 01. REGISTRO A.NATUREZA_RETENCAO + '|' + -- 02. IND_NAT_RET (REVISAR) LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), @DATA_FIM, 103), '/', ''), ''))), 8) + '|' + -- 03. DT_REC LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(A.BASE_IMPOSTO,0) AS NUMERIC(19,4)) AS VARCHAR(20)), '.', ','))) + '|' + -- 04. VL_BC_RET LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(A.VALOR_IMPOSTO,0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- 05. VL_RET /*#79#*/LTRIM(RTRIM(ISNULL(A.CODIGO_RECEITA, ''))) + '|' + -- 06. COD_REC (REVISAR) /*#79#*/LTRIM(RTRIM(ISNULL(A.NATUREZA_RECEITA, ''))) + '|' + -- 07. IND_NAT_REC (REVISAR) /*#81#*/ /*#177#RIGHT(REPLICATE('0', 14) + LTRIM(RTRIM(A.CNPJ_ESTAB)),14) + '|' + -- 08. CNPJ*/ RIGHT(REPLICATE('0', 14) + LTRIM(RTRIM(A.CNPJ)),14) + '|' + -- 08. CNPJ LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(A.VALOR_RETIDO_PIS,0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- 09. VL_RET_PIS LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(A.VALOR_RETIDO_COFINS,0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- 10. VL_RET_COFINS A.INDICADOR_DECLARANTE + '|' -- 11. IND_DEC (REVISAR) FROM ( SELECT --#259#MATRIZ_CONTABIL.CNPJ AS CNPJ_ESTAB, MATRIZ_FISCAL.CNPJ AS CNPJ_ESTAB, '99' AS NATUREZA_RETENCAO, SUM(IMP_RET.BASE_IMPOSTO/2) AS BASE_IMPOSTO, SUM(IMP_RET.VALOR_IMPOSTO) AS VALOR_IMPOSTO, REPLICATE(' ', 4) AS CODIGO_RECEITA, '0' AS NATUREZA_RECEITA, TERCEIRO.CNPJ, SUM(CASE WHEN IMP_RET.ID_IMPOSTO = 17 THEN IMP_RET.VALOR_IMPOSTO END) AS VALOR_RETIDO_PIS, SUM(CASE WHEN IMP_RET.ID_IMPOSTO = 18 THEN IMP_RET.VALOR_IMPOSTO END) AS VALOR_RETIDO_COFINS, '0' AS INDICADOR_DECLARANTE FROM CTB_A_RECEBER_MOV_IMPOSTO IMP_RET INNER JOIN CTB_A_RECEBER_MOV ITEM /*#74#*/ ON ITEM.EMPRESA = IMP_RET.EMPRESA AND ITEM.LANCAMENTO_MOV = IMP_RET.LANCAMENTO AND ITEM.ITEM_MOV = IMP_RET.ITEM AND ITEM.ID_PARCELA = IMP_RET.ID_PARCELA /*ON ITEM.EMPRESA = IMP_RET.EMPRESA AND ITEM.LANCAMENTO = IMP_RET.LANCAMENTO AND ITEM.ITEM = IMP_RET.ITEM*/ INNER JOIN LCF_TERCEIRO TERCEIRO ON TERCEIRO.BK_COD_TERCEIRO = IMP_RET.COD_CLIFOR /*#81#*/ /*#259#*/ --INNER JOIN W_LCF_MATRIZ_CONTABIL MATRIZ_CONTABIL -- ON MATRIZ_CONTABIL.BK_COD_MATRIZ_CONTABIL = IMP_RET.COD_MATRIZ INNER JOIN W_LCF_MATRIZ_FISCAL MATRIZ_FISCAL ON MATRIZ_FISCAL.BK_COD_MATRIZ_FISCAL = IMP_RET.COD_MATRIZ /*#259#*/ WHERE IMP_RET.ID_IMPOSTO IN (17, 18) AND ITEM.DATA_PAGAMENTO BETWEEN @DATA_INI AND @DATA_FIM AND IMP_RET.COD_MATRIZ = @CODIGOMATRIZ GROUP BY --#259#MATRIZ_CONTABIL.CNPJ, MATRIZ_FISCAL.CNPJ, TERCEIRO.CNPJ --#177# UNION ALL SELECT CNPJ_ESTAB = REPLACE(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLCNPJFILIAL' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),'/',''),'.',''),'-',''), NATUREZA_RETENCAO = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLINDNATRET' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END), BASE_IMPOSTO = CAST(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLVLBCRET' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),',','.') AS NUMERIC(19,2)), VALOR_IMPOSTO = CAST(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLVLRET' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),',','.') AS NUMERIC(19,2)), CODIGO_RECEITA = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLCODREC' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END), NATUREZA_RECEITA = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLINDNATREC' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END), CNPJ = REPLACE(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLCNPJ' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),'/',''),'.',''),'-',''), VALOR_RETIDO_PIS = CAST(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLPISRET' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),',','.') AS NUMERIC(19,2)), VALOR_RETIDO_COFINS = CAST(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLCOFINSRET' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),',','.') AS NUMERIC(19,2)), INDICADOR_DECLARANTE = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F600.COLINDDEC' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END) FROM DBO.LF_INF_COMPLEMENTAR AS A ( NOLOCK ) INNER JOIN #EFD_CONTRIBUICOES AS EFD ON EFD.CODIGO = A.COD_FILIAL --#203#AND ( A.DATA_INICIAL BETWEEN EFD.DATAINICIAL AND EFD.DATAFINAL ) AND A.DATA_INICIAL = EFD.DATAINICIAL WHERE A.NOME_OBJETO LIKE '%.F600%' AND A.ID_INTEGRACAO_GOVERNO = '28' GROUP BY SUBSTRING(A.NOME_OBJETO, 1, CHARINDEX('.COL', A.NOME_OBJETO)), A.COD_FILIAL, A.DATA_INICIAL --#177# /*#259#*/ UNION ALL SELECT BASE.CNPJ_ESTAB, BASE.NATUREZA_RETENCAO, SUM(BASE.BASE_IMPOSTO) AS BASE_IMPOSTO, SUM(BASE.VALOR_IMPOSTO) AS VALOR_IMPOSTO, BASE.CODIGO_RECEITA, BASE.NATUREZA_RECEITA, BASE.CNPJ, SUM(BASE.VALOR_RETIDO_PIS) AS VALOR_RETIDO_PIS, SUM(BASE.VALOR_RETIDO_COFINS) AS VALOR_RETIDO_COFINS, BASE.INDICADOR_DECLARANTE FROM (SELECT CNPJ_ESTAB = M.CNPJ, NATUREZA_RETENCAO = @NATUREZA_RETENCAO, BASE_IMPOSTO = NIMP.BASE_IMPOSTO, VALOR_IMPOSTO = SUM(NIMP.VALOR_IMPOSTO), CODIGO_RECEITA = NIMP.CODIGO_ARRECADACAO, NATUREZA_RECEITA = NIMP.NATUREZA_RECEITA, CNPJ = CASE WHEN @INDICADOR_DECLARANTE = '0' THEN T.CNPJ ELSE M.CNPJ END, VALOR_RETIDO_PIS = SUM(CASE WHEN NIMP.ID_IMPOSTO = 17 THEN NIMP.VALOR_IMPOSTO ELSE 0 END), VALOR_RETIDO_COFINS = SUM(CASE WHEN NIMP.ID_IMPOSTO = 18 THEN NIMP.VALOR_IMPOSTO ELSE 0 END), INDICADOR_DECLARANTE = @INDICADOR_DECLARANTE FROM DBO.LCF_NOTA_SAIDA AS NS (NOLOCK) INNER JOIN DBO.LCF_SERIE AS SERIE (NOLOCK) ON NS.SK_SERIE = SERIE.SK_SERIE INNER JOIN DBO.LCF_NOTA_SAIDA_ITEM AS NI (NOLOCK) ON NS.ID_NOTA = NI.ID_NOTA INNER JOIN DBO.LCF_NOTA_SAIDA_IMPOSTO AS NIMP (NOLOCK) ON NIMP.ID_NOTA = NI.ID_NOTA AND NIMP.ID_ITEM = NI.ID_ITEM AND NIMP.ID_IMPOSTO IN (17, 18, 19) INNER JOIN DBO.LCF_TERCEIRO AS T (NOLOCK) ON T.SK_TERCEIRO = NS.SK_TERCEIRO INNER JOIN DBO.LCF_TERCEIRO AS M (NOLOCK) ON M.SK_TERCEIRO = NS.SK_MATRIZ_FISCAL INNER JOIN DBO.LCF_TERCEIRO AS MC (NOLOCK) ON MC.SK_TERCEIRO = M.SK_MATRIZ_CONTABIL WHERE NS.EMISSAO >= @DATA_INI AND NS.EMISSAO <= @DATA_FIM AND MC.BK_COD_TERCEIRO = @CODIGOMATRIZ AND SERIE.LX_MODELO_SAIDA IN ('03', '90', '91') GROUP BY MC.CNPJ, NIMP.CODIGO_ARRECADACAO, NIMP.NATUREZA_RECEITA, T.CNPJ, M.CNPJ, NIMP.BASE_IMPOSTO) AS BASE GROUP BY BASE.CNPJ_ESTAB, BASE.NATUREZA_RETENCAO, BASE.CODIGO_RECEITA, BASE.NATUREZA_RECEITA, BASE.CNPJ, BASE.INDICADOR_DECLARANTE /*#259#*/ ) AS A ORDER BY A.CNPJ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM F600 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F700: DEDUÇÕES DIVERSAS #130# --------------------------------------------------------------------------------------------------------------------------------------- --01 REG --02 IND_ORI_DED --03 IND_NAT_DED --04 VL_DED_PIS --05 VL_DED_COFINS --06 VL_BC_OPER --07 CNPJ --08 INF_COMP IF @REGISTRO = 'F700' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, /*#177#@ARQUIVO + '_BF_2_' + @BLOCO + '_' + @REGISTRO , */ @ARQUIVO + '_BF_1_' + RTRIM(LTRIM(A.CNPJ_ESTAB)) + '_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(A.ORIGEM_DEDUCOES_DIV,''))) /*#183#*/ + '|' + -- IND_ORI_DED RTRIM(LTRIM(ISNULL(A.NATUREZA_DEDUCOES_DIV,''))) /*#183#*/ + '|' + -- IND_NAT_DED REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(SUM(ISNULL(A.VALOR_PIS,0)), 0.00) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_DED_PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(SUM(ISNULL(A.VALOR_COFINS,0)), 0.00) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_DED_COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(SUM(ISNULL(A.BASE_MOV,0)), 0.00) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_BC_OPER RTRIM(LTRIM(ISNULL(ISNULL(A.CNPJ,A.CNPJ_ESTAB),''))) /*#199#*/ + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(A.OBS,''))), 90) + '|' -- INF_COMP FROM ( SELECT FILIAL.CNPJ AS CNPJ_ESTAB, --#177# SIAP.ORIGEM_DEDUCOES_DIV, SIAP.NATUREZA_DEDUCOES_DIV, CASE WHEN LA.ID_IMPOSTO = 5 THEN LSIM.VALOR_MOV ELSE 0 END AS VALOR_PIS, CASE WHEN LA.ID_IMPOSTO = 6 THEN LSIM.VALOR_MOV ELSE 0 END AS VALOR_COFINS, LSIM.BASE_MOV, NULL AS CNPJ, /*#199#*/ ISNULL(SIAP.OBS,'') AS OBS FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM WHERE SIAP.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM UNION ALL SELECT FILIAL.CNPJ AS CNPJ_ESTAB, --#177# SIAP.ORIGEM_DEDUCOES_DIV, SIAP.NATUREZA_DEDUCOES_DIV, CASE WHEN LNSI.ID_IMPOSTO = 5 THEN LNSI.VALOR_IMPOSTO ELSE 0 END AS VALOR_PIS, CASE WHEN LNSI.ID_IMPOSTO = 6 THEN LNSI.VALOR_IMPOSTO ELSE 0 END AS VALOR_COFINS, CASE WHEN LNSI.ID_IMPOSTO = 6 THEN LNSI.BASE_IMPOSTO ELSE 0 END AS BASE_MOV, ISNULL(TERCEIRO.CNPJ,'') AS CNPJ, ISNULL(OBS.OBS,'') AS OBS FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM INNER JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV INNER JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA INNER JOIN LCF_NOTA_SAIDA_IMPOSTO LNSI ON LNSI.ID_NOTA = LNS.ID_NOTA AND LNSI.ID_IMPOSTO IN (5,6) INNER JOIN LCF_TERCEIRO AS TERCEIRO ON LNS.SK_TERCEIRO = TERCEIRO.SK_TERCEIRO INNER JOIN LCF_OBS_COMPLEMENTAR OBS ON OBS.ID_OBS = LNS.ID_OBS_COMPLEMENTAR WHERE LA.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM UNION ALL SELECT FILIAL.CNPJ AS CNPJ_ESTAB, --#177# SIAP.ORIGEM_DEDUCOES_DIV, SIAP.NATUREZA_DEDUCOES_DIV, CASE WHEN LNEI.ID_IMPOSTO = 5 THEN LNEI.VALOR_IMPOSTO ELSE 0 END AS VALOR_PIS, CASE WHEN LNEI.ID_IMPOSTO = 6 THEN LNEI.VALOR_IMPOSTO ELSE 0 END AS VALOR_COFINS, CASE WHEN LNEI.ID_IMPOSTO = 6 THEN LNEI.BASE_IMPOSTO ELSE 0 END AS BASE_MOV, ISNULL(TERCEIRO.CNPJ,'') AS CNPJ, ISNULL(OBS.OBS,'') AS OBS FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM INNER JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV INNER JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA INNER JOIN LCF_NOTA_ENTRADA_IMPOSTO LNEI ON LNEI.ID_NOTA = LNE.ID_NOTA AND LNEI.ID_IMPOSTO IN (5,6) INNER JOIN LCF_TERCEIRO AS TERCEIRO ON LNE.SK_TERCEIRO = TERCEIRO.SK_TERCEIRO INNER JOIN LCF_OBS_COMPLEMENTAR OBS ON OBS.ID_OBS = LNE.ID_OBS_COMPLEMENTAR WHERE LA.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM --#177# UNION ALL SELECT CNPJ_ESTAB = REPLACE(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLCNPJFILIAL' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),'/',''),'.',''),'-',''), ORIGEM_DEDUCOES_DIV = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLINDORIDED' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END), NATUREZA_DEDUCOES_DIV = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLINDNATDED' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END), --VALOR_PIS = CAST(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLVLDEDPIS' THEN CASE WHEN LTRIM(RTRIM(A.VALOR_OBJETO)) = '' THEN 0 ELSE LTRIM(RTRIM(A.VALOR_OBJETO)) END ELSE 0 END),'.',''),',','.') AS NUMERIC(19,2)), #250# VALOR_PIS = CAST(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLVLDEDPIS' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),'.',''),',','.') AS NUMERIC(19,2)), /*#250#*/ --VALOR_COFINS = CAST(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLVLDEDCOFINS' THEN CASE WHEN LTRIM(RTRIM(A.VALOR_OBJETO)) = '' THEN 0 ELSE LTRIM(RTRIM(A.VALOR_OBJETO)) END ELSE 0 END),'.',''),',','.') AS NUMERIC(19,2)), #250# VALOR_COFINS = CAST(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLVLDEDCOFINS' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),'.',''),',','.') AS NUMERIC(19,2)), /*#250#*/ --BASE_MOV = CAST(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLVLBCOPER' THEN CASE WHEN LTRIM(RTRIM(A.VALOR_OBJETO)) = '' THEN 0 ELSE LTRIM(RTRIM(A.VALOR_OBJETO)) END ELSE 0 END),'.',''),',','.') AS NUMERIC(19,2)), #250# BASE_MOV = CAST(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLVLBCOPER' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),'.',''),',','.') AS NUMERIC(19,2)), /*#250#*/ CNPJ = REPLACE(REPLACE(REPLACE(MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLCNPJ' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END),'/',''),'.',''),'-',''), OBS = MAX(CASE WHEN A.NOME_OBJETO LIKE '%.F700.COLINFCOMP' THEN LTRIM(RTRIM(A.VALOR_OBJETO)) ELSE '' END) FROM DBO.LF_INF_COMPLEMENTAR AS A ( NOLOCK ) INNER JOIN #EFD_CONTRIBUICOES AS EFD ON EFD.CODIGO = A.COD_FILIAL --#203#AND ( A.DATA_INICIAL BETWEEN EFD.DATAINICIAL AND EFD.DATAFINAL ) AND A.DATA_INICIAL = EFD.DATAINICIAL WHERE A.NOME_OBJETO LIKE '%.F700%' AND A.ID_INTEGRACAO_GOVERNO = '28' GROUP BY SUBSTRING(A.NOME_OBJETO, 1, CHARINDEX('.COL', A.NOME_OBJETO)), A.COD_FILIAL, A.DATA_INICIAL --#177# ) A GROUP BY A.CNPJ_ESTAB, A.ORIGEM_DEDUCOES_DIV, A.NATUREZA_DEDUCOES_DIV, A.CNPJ, A.OBS /*#166# SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BF_2_' + @BLOCO + '_' + @REGISTRO + '_' + SIAP.ORIGEM_DEDUCOES_DIV + '_' + SIAP.NATUREZA_DEDUCOES_DIV + '_' + ISNULL(TERCEIRO.CNPJ,''), '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(SIAP.ORIGEM_DEDUCOES_DIV)) + '|' + -- IND_ORI_DED RTRIM(LTRIM(SIAP.NATUREZA_DEDUCOES_DIV)) + '|' + -- IND_NAT_DED REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(SUM(ISNULL(CASE WHEN LNSI.ID_IMPOSTO = 5 THEN LNSI.VALOR_IMPOSTO ELSE 0 END,0) + ISNULL(CASE WHEN LNEI.ID_IMPOSTO = 5 THEN LNEI.VALOR_IMPOSTO ELSE 0 END,0)), 0.00) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_DED_PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(SUM(ISNULL(CASE WHEN LNSI.ID_IMPOSTO = 6 THEN LNSI.VALOR_IMPOSTO ELSE 0 END,0) + ISNULL(CASE WHEN LNEI.ID_IMPOSTO = 6 THEN LNEI.VALOR_IMPOSTO ELSE 0 END,0)), 0.00) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_DED_COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(SUM(ISNULL(CASE WHEN LNSI.ID_IMPOSTO = 5 THEN LNSI.BASE_IMPOSTO ELSE 0 END,0) + ISNULL(CASE WHEN LNEI.ID_IMPOSTO = 6 THEN LNEI.BASE_IMPOSTO ELSE 0 END,0)), 0.00) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_BC_OPER RTRIM(LTRIM(ISNULL(TERCEIRO.CNPJ,''))) + '|' + -- CNPJ LEFT(RTRIM(LTRIM(ISNULL(OBS.OBS,ISNULL(SIAP.OBS,'')))), 90) + '|' -- INF_COMP FROM LCF_APURACAO LA LEFT JOIN LCF_TERCEIRO AS FILIAL ON LA.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LF_SUB_ITEM_APURACAO SIAP ON LSIA.BK_SUB_ITEM = SIAP.ID_SUB_ITEM_APURACAO INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_SAIDA_IMPOSTO LNSI ON LNSI.ID_NOTA = LNS.ID_NOTA AND LNSI.ID_IMPOSTO IN (5,6) LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA_IMPOSTO LNEI ON LNEI.ID_NOTA = LNE.ID_NOTA AND LNEI.ID_IMPOSTO IN (5,6) LEFT JOIN LCF_TERCEIRO AS TERCEIRO ON ISNULL(LNS.SK_TERCEIRO, LNE.SK_TERCEIRO) = TERCEIRO.SK_TERCEIRO LEFT JOIN LCF_OBS_COMPLEMENTAR OBS ON OBS.ID_OBS = ISNULL(LNS.ID_OBS_COMPLEMENTAR, LNE.ID_OBS_COMPLEMENTAR) WHERE LA.ID_IMPOSTO IN (5, 6) AND SIAP.LX_CODIGO_APURACAO = '012' AND FILIAL.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM GROUP BY SIAP.ORIGEM_DEDUCOES_DIV, SIAP.NATUREZA_DEDUCOES_DIV, TERCEIRO.CNPJ, OBS.OBS */ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM F700 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F800: CRÉDITOS DECORRENTES DE EVENTOS DE INCORPORAÇÃO, FUSÃO E CISÃO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO F990: ENCERRAMENTO DO BLOCO F IF @REGISTRO = 'F990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BF_Z_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(CAST((SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'F') + 1 AS VARCHAR(10)))) + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM F990 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO I001: ABERTURA DO BLOCO I -- #104# IF @DATA_INI >= '20130701' IF @REGISTRO = 'I001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BI_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(A.REGISTRO, 1) = 'I') > 0 THEN '0' ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM I001 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO I990: ENCERRAMENTO DO BLOCO I -- #104# IF @DATA_INI >= '20130701' IF @REGISTRO = 'I990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BI_Z_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(CAST((SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'I') + 1 AS VARCHAR(10)))) + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM I990 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M001: ABERTURA DO BLOCO M IF @REGISTRO = 'M001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(A.REGISTRO, 1) = 'M') > 0 THEN '0' ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM M001 --------------------------------------------------------------------------------------------------------------------------------------- --#4# REGISTRO M100: CRÉDITO DE PIS/PASEP RELATIVO AO PERÍODO IF @REGISTRO = 'M100' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT --#13# @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO --RTRIM(LTRIM(ISNULL(LSIA.TIPO_CREDITO,''))) + '|' + -- COD_CRED RTRIM(LTRIM(ISNULL(LSIA.TIPO_CREDITO,ISNULL(TIPO_CREDITO_PIS,'')))) + '|' + -- COD_CRED #29# #44# '0' + '|' + -- IND_CRED_ORI REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.BASE_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_BC_PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.ALIQUOTA_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQ_PIS '' + '|' + -- QUANT_BC_PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.VALOR_PIS, 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQ_PIS_QUANT REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_CRED '0' + '|' + -- VL_AJUS_ACRES '0' + '|' + -- VL_AJUS_REDUC '0' + '|' + -- VL_CRED_DIF REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_CRED_DISP '0' + '|' + -- IND_DESC_CRED REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_PIS, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_CRED_DESC '0' + '|' -- SLD_CRED FROM #TEMP_012347 AS A INNER JOIN LCF_APURACAO LA ON A.SK_MATRIZ_FISCAL = LA.SK_MATRIZ_FISCAL INNER JOIN LCF_TERCEIRO LT -- #48# ON A.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO --JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM LEFT JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --#29# --JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM --#29# LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE LA.ID_IMPOSTO = 5 AND -- #24# -- LA.SK_MATRIZ_FISCAL = @SK_MATRIZ #48# LT.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM AND A.NOTA_CANCELADA = 0 /*#147#*/ GROUP BY LAI.LX_COD_APURACAO,A.VALOR_PIS,LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV,ISNULL(LSIA.TIPO_CREDITO,ISNULL(TIPO_CREDITO_PIS,'')) --#44# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M105: DETALHAMENTO DA BASE DE CALCULO DO CRÉDITO APURADO NO PERÍODO ? PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M110: AJUSTES DO CRÉDITO DE PIS/PASEP APURADO --------------------------------------------------------------------------------------------------------------------------------------- --#3# REGISTRO M200: CONSOLIDAÇÃO DA CONTRIBUIÇÃO PARA O PIS/PASEP DO PERÍODO IF @REGISTRO = 'M200' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT -- #40# @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CONT_NC_PER, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DE CONTRIBUICAO NAO ACUMULATIVA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CRED_DESC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO CREDITO DESCONTADO E APURADO PROPRIO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CRED_DESC_ANT, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO CREDITO DESCONTADO E APURADO NO PERIODO DE APURACAO PERIODO ANTERIOR REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CONT_NC_DEV, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO NAO ACUMULATIVA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_RET_NC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR RETIDO NA FONTE DEDIZIDO NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_OUT_DED_NC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- OUTRAS DEDUCOES NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_CONT_NC_REC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CONT_CUM_PER, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DA CONTRIBUICAO CUMULATIVA DO PERIODO RECUPERADO DO CAMPO 13 REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_RET_CUM, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR RETIDO NA FONTE DEDUZIDO NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_OUT_DED_CUM, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- OUTRAS DEDUCOES NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_CONT_CUM_REC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER 9-10-11 REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CONT_REC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR TOTAL DA CONTRIBUICAO A RECOLHER /PAGAR NO PERIODO 8 +12 FROM ( SELECT CASE WHEN ISNULL(LSIA.TIPO_CREDITO,A.TIPO_CREDITO_PIS) IN ('01','02','03','04','32','71') THEN SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) ELSE 0.00 END AS VL_TOT_CONT_NC_PER, -- #44# SUM(ISNULL(VALOR_PIS,0.00)) AS VL_TOT_CRED_DESC, CAST(0 AS NUMERIC(19,2)) AS VL_TOT_CRED_DESC_ANT, SUM(ISNULL(VALOR_PIS,0.00)) AS VL_TOT_CONT_NC_DEV, CAST(0 AS NUMERIC(19,2)) AS VL_RET_NC, CAST(0 AS NUMERIC(19,2)) AS VL_OUT_DED_NC, SUM(ISNULL(VALOR_PIS,0.00)) AS VL_CONT_NC_REC, CASE WHEN ISNULL(LSIA.TIPO_CREDITO,A.TIPO_CREDITO_PIS) IN ('31','32','51','52','52','54','72') THEN SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) ELSE 0.00 END AS VL_TOT_CONT_CUM_PER, --#44# CAST(0 AS NUMERIC(19,2)) AS VL_RET_CUM, CAST(0 AS NUMERIC(19,2)) AS VL_OUT_DED_CUM, CASE WHEN ISNULL(LSIA.TIPO_CREDITO,A.TIPO_CREDITO_PIS) IN ('31','32','51','52','52','54','72') THEN SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) ELSE 0 END AS VL_CONT_CUM_REC, -- #44# SUM(ISNULL(VALOR_PIS,0.00)) + CASE WHEN ISNULL(LSIA.TIPO_CREDITO,A.TIPO_CREDITO_PIS) IN ('31','32','51','52','52','54','72') THEN SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) ELSE 0.00 END AS VL_TOT_CONT_REC FROM #TEMP_012347 AS A --#91# INNER JOIN LCF_TERCEIRO LT ON A.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO -- #47# INNER JOIN LCF_APURACAO LA ON LT.SK_MATRIZ_CONTABIL = LA.SK_MATRIZ_FISCAL INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO --JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE LA.ID_IMPOSTO = 5 AND --LA.SK_MATRIZ_FISCAL = @SK_MATRIZ --#47# LT.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM AND A.NOTA_CANCELADA = 0 /*#147#*/ GROUP BY ISNULL(LSIA.TIPO_CREDITO,A.TIPO_CREDITO_PIS),LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV --#44# ) AS A HAVING COUNT(*) > 0 /* SELECT DISTINCT --#13# CASE WHEN ISNULL(A.TIPO_CREDITO_PIS,LSIA.TIPO_CREDITO) IN ('01','02','03','04','32','71') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR TOTAL DE CONTRIBUICAO NAO ACUMULATIVA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_PIS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO CREDITO DESCONTADO E APURADO PROPRIO '0' + '|' + -- VALOR DO CREDITO DESCONTADO E APURADO NO PERIODO DE APURACAO PERIODO ANTERIOR REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_PIS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO NAO ACUMULATIVA '0' + '|' + -- VALOR RETIDO NA FONTE DEDIZIDO NO PERIODO '0' + '|' + -- OUTRAS DEDUCOES NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_PIS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER --CASE WHEN ISNULL(LSIA.TIPO_CREDITO,'') IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR TOTAL DA CONTRIBUICAO CUMULATIVA DO PERIODO RECUPERADO DO CAMPO 13 #35# CASE WHEN ISNULL(A.TIPO_CREDITO_PIS,LSIA.TIPO_CREDITO) IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR TOTAL DA CONTRIBUICAO CUMULATIVA DO PERIODO RECUPERADO DO CAMPO 13 '0' + '|' + -- VALOR RETIDO NA FONTE DEDUZIDO NO PERIODO '0' + '|' + -- OUTRAS DEDUCOES NO PERIODO --CASE WHEN ISNULL(LSIA.TIPO_CREDITO,'') IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER 9-10-11 #35# CASE WHEN ISNULL(A.TIPO_CREDITO_PIS,LSIA.TIPO_CREDITO) IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER 9-10-11 --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_PIS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + CASE WHEN ISNULL(LSIA.TIPO_CREDITO,'') IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' -- VALOR TOTAL DA CONTRIBUICAO A RECOLHER /PAGAR NO PERIODO 8 +12 #35# REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_PIS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + CASE WHEN ISNULL(A.TIPO_CREDITO_PIS,LSIA.TIPO_CREDITO) IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' -- VALOR TOTAL DA CONTRIBUICAO A RECOLHER /PAGAR NO PERIODO 8 +12 FROM #TEMP_012347 AS A INNER JOIN LCF_APURACAO LA on A.SK_MATRIZ_FISCAL = LA.SK_MATRIZ_FISCAL JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO --JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE LA.ID_IMPOSTO = 5 AND LA.SK_MATRIZ_FISCAL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM GROUP BY ISNULL(A.TIPO_CREDITO_PIS,LSIA.TIPO_CREDITO)--,LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- #2# REGISTRO M210: DETALHAMENTO DA CONTRIBUIÇÃO PARA O PIS/PASEP DO PERÍODO IF @REGISTRO = 'M210' BEGIN /*#244#*/ IF CAST(REPLACE(@VERSAO_PVA, '.', '') AS INT) < 310 BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT --#13# @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO --ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,'') + '|' + -- COD_CONT - CONFORME TABELA 435 #41# ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_PIS) + '|' + -- COD_CONT - CONFORME TABELA 435 #41# REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NC_TRIB_MERCADO_INT', @DATA_INI), 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_REC_BRT - VALOR DA RECEITA BRUTA '0' + '|' + -- VL_BC_CONT - VALOR DA BASE DE CALCULO DA CONTRIBUIÇÃO --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQ_PIS - ALIQUOTA PIS PASEP PERCENTUAL #41# REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, LSIM.TAXA_MOV) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQ_PIS - ALIQUOTA PIS PASEP PERCENTUAL #41# '0' + '|' + -- QUANT_BC_PIS - QUANTIDADE DA BASE DE CALCULO '0' + '|' + -- ALIQ_PIS_QUANT - ALIQUOTA PIS PASEP EM REAIS '0' + '|' + -- VL_CONT_APUR - VALOR TOTAL DA CONTRIBUICAO SOCIAL RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV))),'.',','),''))) + '|' + -- VL_AJUS_ACRES - VALOR TOTAL DOS AJUSTES DE CREDITO '0' + '|' + -- VL_AJUS_REDUC - VALOR TOTAL DOS AJUSTES DE REDUCAO '0' + '|' + -- VL_CONT_DIFER - VALOR DA CONTRIBUICAO A DIFERIR NO PERIODO '0' + '|' + -- VL_CONT_DIFER_ANT - VALOR DA CONTRIBUIÇÃO DIFERIDA EM PERIODOS ANTERIORES '0' + '|' -- VL_CONT_PER - VALOR TOTAL DA CONTRIBUIÇÃO DO PERIODO ( 8+9-10-11+12) FROM #TEMP_012347 AS A --#91# INNER JOIN LCF_TERCEIRO LT -- #47# ON A.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO INNER JOIN LCF_APURACAO LA ON LT.SK_MATRIZ_CONTABIL = LA.SK_MATRIZ_FISCAL JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO --JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE --LA.SK_MATRIZ_FISCAL = @SK_MATRIZ --#47# LT.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM AND LA.ID_IMPOSTO = 5 AND ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_PIS) IS NOT NULL AND A.NOTA_CANCELADA = 0 /*#147#*/ --GROUP BY LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.ALIQUOTA_PIS--, LSIA.TIPO_CREDITO ,LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV #14##41# GROUP BY ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_PIS),ISNULL(A.ALIQUOTA_PIS, LSIM.TAXA_MOV)--, LSIA.TIPO_CREDITO ,LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV #14##41# END ELSE BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_PIS) + '|' + -- COD_CONT REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NC_TRIB_MERCADO_INT', @DATA_INI), 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_REC_BRT '0' + '|' + -- VL_BC_CONT '0' + '|' + -- VL_AJUS_ACRES_BC_PIS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(AJUSTE.VALOR_TOTAL_AJUSTE,0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_AJUS_REDUC_BC_PIS /*#251#*/ /*#254#*/ '0' + '|' + -- VL_BC_CONT_AJUS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_PIS, LSIM.TAXA_MOV) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQ_PIS '0' + '|' + -- QUANT_BC_PIS '0' + '|' + -- ALIQ_PIS_QUANT '0' + '|' + -- VL_CONT_APUR RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV))),'.',','),''))) + '|' + -- VL_AJUS_ACRES '0' + '|' + -- VL_AJUS_REDUC '0' + '|' + -- VL_CONT_DIFER '0' + '|' + -- VL_CONT_DIFER_ANT '0' + '|' -- VL_CONT_PER FROM #TEMP_012347 AS A INNER JOIN LCF_TERCEIRO LT (NOLOCK) ON A.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO INNER JOIN LCF_APURACAO LA (NOLOCK) ON LT.SK_MATRIZ_CONTABIL = LA.SK_MATRIZ_FISCAL INNER JOIN LCF_APURACAO_ITEM LAI (NOLOCK) ON LA.ID_APURACAO = LAI.ID_APURACAO LEFT JOIN LCF_SUB_ITEM_APURACAO LSIA (NOLOCK) ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM LEFT JOIN LCF_SUB_ITEM_MOV LSIM (NOLOCK) ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN (NOLOCK) ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS (NOLOCK) ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE (NOLOCK) ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA /*#251#*/ LEFT JOIN (SELECT A.DATA_INICIAL, A.DATA_FINAL, FILIAL.SK_MATRIZ_CONTABIL, SUM(B.VALOR_TOTAL_AJUSTE) AS VALOR_TOTAL_AJUSTE FROM LCF_PIS_COFINS AS A INNER JOIN LCF_PIS_COFINS_AJUSTE AS B ON A.ID_LCF_PIS_COFINS = B.ID_LCF_PIS_COFINS INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO WHERE A.ID_IMPOSTO = 5 GROUP BY A.DATA_INICIAL, A.DATA_FINAL, FILIAL.SK_MATRIZ_CONTABIL) AS AJUSTE ON LT.SK_MATRIZ_CONTABIL = AJUSTE.SK_MATRIZ_CONTABIL AND LA.DATA_INICIAL = AJUSTE.DATA_INICIAL AND LA.DATA_FINAL = AJUSTE.DATA_FINAL /*#251#*/ WHERE LT.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM AND LA.ID_IMPOSTO = 5 AND ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_PIS) IS NOT NULL AND A.NOTA_CANCELADA = 0 GROUP BY ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_PIS), ISNULL(A.ALIQUOTA_PIS, LSIM.TAXA_MOV), ISNULL(AJUSTE.VALOR_TOTAL_AJUSTE,0) /*#252#*/; END /*#244#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M211: SOCIEDADES COOPERATIVAS ? COMPOSIÇÃO DA BASE DE CALCULO ? PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- /*#244#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M215: AJUSTES DA BASE DE CÁLCULO DA CONTRIBUIÇÃO PARA O PIS/PASEP APURADA IF @REGISTRO = 'M215' AND CAST(REPLACE(@VERSAO_PVA, '.', '') AS INT) >= 310 BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REG RTRIM(PA.TIPO_AJUSTE) + '|' + -- IND_AJ_BC RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),ISNULL(PA.VALOR_TOTAL_AJUSTE, 0)),'.',','),''))) + '|' + -- VL_AJ_BC RTRIM(PA.CODIGO_AJUSTE) + '|' + -- COD_AJ_BC ISNULL(RTRIM(CASE WHEN PA.CODIGO_AJUSTE IN ('01', '02') THEN PA.NUMERO_DOCUMENTO ELSE PA.NUMERO_RECIBO END), '') + '|' + -- NUM_DOC /*#251#*/ ISNULL(RTRIM(PA.DESCRICAO_AJUSTE), '') + '|' + -- DESCR_AJ_BC LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), PA.DATA_AJUSTE, 103), '/', ''), ''))), 8) + '|' + -- DT_REF RTRIM(PA.CONTA_CONTABIL) + '|' + -- COD_CTA RTRIM(T.CNPJ) + '|' + -- CNPJ ISNULL(RTRIM(PA.INFORMACAO_COMPLEMENTAR), '') + '|' -- INFO_COMPL FROM DBO.LCF_PIS_COFINS AS P (NOLOCK) JOIN DBO.LCF_PIS_COFINS_AJUSTE AS PA (NOLOCK) ON PA.ID_LCF_PIS_COFINS = P.ID_LCF_PIS_COFINS JOIN DBO.LCF_TERCEIRO AS T (NOLOCK) ON P.SK_MATRIZ_FISCAL = T.SK_TERCEIRO WHERE T.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND P.DATA_INICIAL = @DATA_INI AND P.DATA_FINAL = @DATA_FIM AND P.ID_IMPOSTO = 5; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- --#1# REGISTRO M220: AJUSTES DA CONTRIBUIÇÃO PARA O PIS/PASEP APURADA IF @REGISTRO = 'M220' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(CASE WHEN LAI.LX_COD_APURACAO IN ('003','007') THEN '0' ELSE '1' END,''))) + '|' + -- INDICADOR DO TIPO DE AJUSTE RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV))),'.',','),''))) + '|' + -- VALOR DO AJUSTE RTRIM(LTRIM(ISNULL(LSIA.TIPO_AJUSTE_PIS_COFINS,''))) + '|' + -- CODICO DO AJUSTE RTRIM(LTRIM(ISNULL(ISNULL(LNS.NF_SAIDA,LNE.NF_ENTRADA),''))) + '|' + -- NUMERO DO PROCESSO RTRIM(LTRIM(ISNULL(LSIA.DESC_SUB_ITEM,''))) + '|' + -- DESCRICAO RESUMIDA RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(10),LSIM.DATA_MOV,103),'/',''),''))) + '|' -- DATA DE REFERENCIA DO AJUSTE FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO LT ON LA.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO -- #47# INNER JOIN #TEMP_012347 AS A ON A.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO -- #199# INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO INNER JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM INNER JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE LA.ID_IMPOSTO = 5 AND --LA.SK_MATRIZ_FISCAL = @SK_MATRIZ #47# LT.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM GROUP BY CASE WHEN LAI.LX_COD_APURACAO IN ('003','007') THEN '0' ELSE '1' END, LSIA.TIPO_AJUSTE_PIS_COFINS, ISNULL(LNS.NF_SAIDA,LNE.NF_ENTRADA), LSIA.DESC_SUB_ITEM, LSIM.DATA_MOV --#14# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M230: INFORMAÇÕES ADICIONAIS DE DIFERIMENTO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M300: CONTRIBUIÇÃO DE PIS/PASEP DIFERIDA EM PERÍODOS ANTERIORES ? VALORES A PAGAR NO PERÍODO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M350: PIS/PASEP ? FOLHA DE SALÁRIOS IF @REGISTRO = 'M350' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_ _' + @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO REPLACE(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_VL_TOT_FOL', @DATA_INI), ''))), '.', ',') + '|' + -- VALOR TOTAL DA FOLHA DE SALÁRIOS REPLACE(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_VL_EXC_BC', @DATA_INI), ''))), '.', ',') + '|' + -- VALOR TOTAL DAS EXCLUSÕES À BASE DE CÁLCULO REPLACE(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_VL_TOT_BC', @DATA_INI), ''))), '.', ',') + '|' + -- VALOR TOTAL DA BASE DE CÁLCULO REPLACE(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_ALIQ_PIS_FOL', @DATA_INI), ''))), '.', ',') + '|' + -- ALÍQUOTA DO PIS/PASEP REPLACE(RTRIM(LTRIM(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_VL_TOT_CONT_FOL', @DATA_INI), ''))), '.', ',') + '|' -- VALOR TOTAL DA CONTRIBUIÇÃO SOCIAL IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM M350 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M400: RECEITAS ISENTAS, NÃO ALCANÇADAS PELA INCIDÊNCIA DA CONTRIBUIÇÃO, SUJEITAS A ALÍQUOTA ZERO OU DE VENDAS COM SUSPENSÃO DE PIS/PASEP IF @REGISTRO = 'M400' BEGIN --INSERT INTO #CUR_LINHA ( IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA ) --SELECT @IDCUR_ARQUIVO, -- @REGISTRO, -- --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, -- CHAVE = @ARQUIVO + '_BM_0_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, -- LINHA = '|' + @REGISTRO + '|' + -- REGISTRO -- LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS -- REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19,2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '|' + -- CONTA CONTABIL -- '' + '|' -- DESCRIÇÃO COMPLEMENTAR --FROM #TEMP_012347 AS A --WHERE (A.ST_PIS IN ('06', '07', '08', '09') OR -- (A.ST_PIS IN ('04', '05') AND A.ALIQUOTA_PIS = 0.00)) AND -- A.NOTA_CANCELADA = 0 --GROUP BY A.ST_PIS, A.COD_CONTA_CONTABIL INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BM_0_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA PIS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DO_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' + -- CONTA CONTABIL '' + '|' -- DESCRIÇÃO COMPLEMENTAR FROM (SELECT LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) SITUACAO_TRIBUTARIA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) VALOR_DO_ITEM, RTRIM(LTRIM(A.COD_CONTA_CONTABIL)) CONTA_CONTABIL FROM #TEMP_012347 AS A --#82# WHERE ( RTRIM(LTRIM(A.ST_PIS)) IN ( '06', '07', '08', '09' ) OR ( RTRIM(LTRIM(A.ST_PIS)) IN ( '04', '05' ) AND A.ALIQUOTA_PIS = 0.00 ) ) AND A.NOTA_CANCELADA = 0 AND ( ( A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --A170 OR ( A.LX_MODELO IN ( '01', '1B', '04', '55' ) AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --C170 OR ( A.LX_MODELO = '02' AND A.NOTA_CANCELADA = 0 AND ISNULL(A.INDICA_PIS, '') <> '' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --C381 OR ( A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.NOTA_CANCELADA = 0 AND A.IND_OPER = '1' AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --D201 /*OR ( A.INDICA_DOCUMENTO_NAO_FISCAL = 1 AND ( A.VALOR_PIS > 0 or A.VALOR_COFINS > 0) )--F100*/ /*#197#*/ OR ((A.INDICA_DOCUMENTO_NAO_FISCAL = 1 OR (A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND RIGHT(RTRIM(A.CFOP),3) = '551')) AND ((A.VALOR_PIS > 0 or A.VALOR_COFINS > 0) OR (A.VALOR_PIS = 0 AND A.VALOR_COFINS = 0 AND RIGHT(RTRIM(A.CFOP),3) <> '551'))) -- F100 ) GROUP BY A.ST_PIS, A.COD_CONTA_CONTABIL UNION ALL SELECT LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) SITUACAO_TRIBUTARIA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) VALOR_DO_ITEM, RTRIM(LTRIM(A.CONTA_CONTABIL)) CONTA_CONTABIL FROM #TEMP_ECF_012347 AS A WHERE ( RTRIM(LTRIM(A.ST_PIS)) IN ( '06', '07', '08', '09' ) OR ( RTRIM(LTRIM(A.ST_PIS)) IN ( '04', '05' ) AND A.ALIQUOTA_PIS = 0.00 ) ) AND A.VALOR_ITEM > 0 --C481 GROUP BY A.ST_PIS, A.CONTA_CONTABIL --#178# UNION ALL SELECT LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) AS SITUACAO_TRIBUTARIA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VALOR_DO_ITEM, RTRIM(LTRIM(A.CONTA_CONTABIL)) AS CONTA_CONTABIL FROM #TEMP_012347_SAT AS A WHERE A.ID_IMPOSTO = 5 AND A.VALOR_ITEM > 0 AND ((LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) IN ( '06', '07', '08', '09' )) OR (LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) IN ( '04', '05' ) AND A.TAXA_IMPOSTO = 0)) GROUP BY LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2), A.CONTA_CONTABIL --#178# ) AS A GROUP BY A.SITUACAO_TRIBUTARIA, A.CONTA_CONTABIL IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM M400 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M410: DETALHAMENTO DAS RECEITAS ISENTAS, NÃO ALCANÇADAS PELA INCIDÊNCIA DA CONTRIBUIÇÃO, SUJEITAS A ALÍQUOTA ZERO OU DE VENDAS COM SUSPENSÃO DE PIS/PASEP IF @REGISTRO = 'M410' BEGIN --INSERT INTO #CUR_LINHA ( IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA ) --SELECT @IDCUR_ARQUIVO, -- @REGISTRO, -- --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, -- CHAVE = @ARQUIVO + '_BM_0_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, -- LINHA = '|' + @REGISTRO + '|' + -- REGISTRO -- LEFT(RTRIM(LTRIM(ISNULL(A.NATUREZA_RECEITA_PIS, ''))), 3) + '|' + -- NATUREZA RECEITA -- REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19,2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA RECEITA -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '|' + -- CONTA CONTABIL -- '' + '|' -- DESCRIÇÃO COMPLEMENTAR --FROM #TEMP_012347 AS A --WHERE (A.ST_PIS IN ('06', '07', '08', '09') OR -- (A.ST_PIS IN ('04', '05') AND A.ALIQUOTA_PIS = 0.00)) AND -- A.NOTA_CANCELADA = 0 --GROUP BY A.ST_PIS, A.NATUREZA_RECEITA_PIS, A.COD_CONTA_CONTABIL INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, CHAVE = @ARQUIVO + '_BM_0_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.NATUREZA_RECEITA, ''))), 3) + '|' + -- NATUREZA RECEITA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DO_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA RECEITA CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' + -- CONTA CONTABIL '' + '|' -- DESCRIÇÃO COMPLEMENTAR FROM (SELECT LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) SITUACAO_TRIBUTARIA, LEFT(RTRIM(LTRIM(ISNULL(A.NATUREZA_RECEITA_PIS, ''))), 3) NATUREZA_RECEITA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) VALOR_DO_ITEM, LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) CONTA_CONTABIL FROM #TEMP_012347 AS A --#82# WHERE ( RTRIM(LTRIM(A.ST_PIS)) IN ( '06', '07', '08', '09' ) OR ( RTRIM(LTRIM(A.ST_PIS)) IN ( '04', '05' ) AND A.ALIQUOTA_PIS = 0.00 ) ) AND A.NOTA_CANCELADA = 0 AND ( ( A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --A170 OR ( A.LX_MODELO IN ( '01', '1B', '04', '55' ) AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --C170 OR ( A.LX_MODELO = '02' AND A.NOTA_CANCELADA = 0 AND ISNULL(A.INDICA_PIS, '') <> '' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --C381 OR ( A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/ ) AND A.NOTA_CANCELADA = 0 AND A.IND_OPER = '1' AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --D201 /*OR ( A.INDICA_DOCUMENTO_NAO_FISCAL = 1 AND ( A.VALOR_PIS > 0 or A.VALOR_COFINS > 0) )--F100*/ /*#197#*/ OR ((A.INDICA_DOCUMENTO_NAO_FISCAL = 1 OR (A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND RIGHT(RTRIM(A.CFOP),3) = '551')) AND ((A.VALOR_PIS > 0 or A.VALOR_COFINS > 0) OR (A.VALOR_PIS = 0 AND A.VALOR_COFINS = 0 AND RIGHT(RTRIM(A.CFOP),3) <> '551'))) -- F100 ) GROUP BY A.ST_PIS, A.NATUREZA_RECEITA_PIS, A.COD_CONTA_CONTABIL UNION ALL SELECT LEFT(RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))), 2) SITUACAO_TRIBUTARIA, --NULL NATUREZA_RECEITA, #20# ISNULL(A.NATUREZA_RECEITA_PIS,A.NATUREZA_RECEITA_COFINS) NATUREZA_RECEITA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) VALOR_DO_ITEM, RTRIM(LTRIM(ISNULL(A.CONTA_CONTABIL, ''))) CONTA_CONTABIL FROM #TEMP_ECF_012347 AS A WHERE ( RTRIM(LTRIM(A.ST_PIS)) IN ( '06', '07', '08', '09' ) OR ( RTRIM(LTRIM(A.ST_PIS)) IN ( '04', '05' ) AND A.ALIQUOTA_PIS = 0.00 ) ) AND A.VALOR_ITEM > 0 --C481 GROUP BY A.ST_PIS, ISNULL(A.NATUREZA_RECEITA_PIS,A.NATUREZA_RECEITA_COFINS), A.CONTA_CONTABIL --#178# UNION ALL SELECT LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) AS SITUACAO_TRIBUTARIA, RTRIM(LTRIM(ISNULL(A.NATUREZA_RECEITA, ''))) AS NATUREZA_RECEITA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) AS VALOR_DO_ITEM, RTRIM(LTRIM(ISNULL(A.CONTA_CONTABIL, ''))) AS CONTA_CONTABIL FROM #TEMP_012347_SAT AS A WHERE A.ID_IMPOSTO = 5 AND A.VALOR_ITEM > 0 AND ((LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) IN ( '06', '07', '08', '09' )) OR (LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) IN ( '04', '05' ) AND A.TAXA_IMPOSTO = 0)) GROUP BY LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2), RTRIM(LTRIM(ISNULL(A.NATUREZA_RECEITA, ''))), A.CONTA_CONTABIL --#178# ) AS A GROUP BY A.SITUACAO_TRIBUTARIA, A.NATUREZA_RECEITA, A.CONTA_CONTABIL IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM M410 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M500: CRÉDITO DE COFINS RELATIVO AO PERÍODO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M505: DETALHAMENTO DA BASE DE CALCULO DO CRÉDITO APURADO NO PERÍODO ? COFINS --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M510: AJUSTES DO CRÉDITO DE COFINS APURADO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M600: CONSOLIDAÇÃO DA CONTRIBUIÇÃO PARA A SEGURIDADE SOCIAL - COFINS DO PERÍODO --------------------------------------------------------------------------------------------------------------------------------------- --#12# IF @REGISTRO = 'M600' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT -- #40# @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CONT_NC_PER, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DE CONTRIBUICAO NAO ACUMULATIVA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CRED_DESC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO CREDITO DESCONTADO E APURADO PROPRIO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CRED_DESC_ANT, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO CREDITO DESCONTADO E APURADO NO PERIODO DE APURACAO PERIODO ANTERIOR REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CONT_NC_DEV, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO NAO ACUMULATIVA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_RET_NC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR RETIDO NA FONTE DEDIZIDO NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_OUT_DED_NC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- OUTRAS DEDUCOES NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_CONT_NC_REC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CONT_CUM_PER, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR TOTAL DA CONTRIBUICAO CUMULATIVA DO PERIODO RECUPERADO DO CAMPO 13 REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_RET_CUM, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR RETIDO NA FONTE DEDUZIDO NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_OUT_DED_CUM, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- OUTRAS DEDUCOES NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_CONT_CUM_REC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER 9-10-11 REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VL_TOT_CONT_REC, 0.00)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' -- VALOR TOTAL DA CONTRIBUICAO A RECOLHER /PAGAR NO PERIODO 8 +12 FROM ( SELECT CASE WHEN ISNULL(LSIA.TIPO_CREDITO,A.TIPO_CREDITO_COFINS ) IN ('01','02','03','04','32','71') THEN SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) ELSE 0.00 END AS VL_TOT_CONT_NC_PER, -- #45# SUM(ISNULL(VALOR_COFINS, 0.00)) AS VL_TOT_CRED_DESC, CAST(0 AS NUMERIC(19,2)) AS VL_TOT_CRED_DESC_ANT, SUM(ISNULL(VALOR_COFINS, 0.00)) AS VL_TOT_CONT_NC_DEV, CAST(0 AS NUMERIC(19,2)) AS VL_RET_NC, CAST(0 AS NUMERIC(19,2)) AS VL_OUT_DED_NC, SUM(ISNULL(VALOR_COFINS, 0.00)) AS VL_CONT_NC_REC, CASE WHEN ISNULL(LSIA.TIPO_CREDITO ,A.TIPO_CREDITO_COFINS) IN ('31','32','51','52','52','54','72') THEN SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) ELSE 0.00 END AS VL_TOT_CONT_CUM_PER, -- #45# CAST(0 AS NUMERIC(19,2)) AS VL_RET_CUM, CAST(0 AS NUMERIC(19,2)) AS VL_OUT_DED_CUM, CASE WHEN ISNULL(LSIA.TIPO_CREDITO,A.TIPO_CREDITO_COFINS) IN ('31','32','51','52','52','54','72') THEN SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) ELSE 0.00 END AS VL_CONT_CUM_REC, SUM(ISNULL(VALOR_COFINS,0.00)) + CASE WHEN ISNULL(LSIA.TIPO_CREDITO,A.TIPO_CREDITO_COFINS) IN ('31','32','51','52','52','54','72') THEN SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) ELSE 0.00 END AS VL_TOT_CONT_REC -- #45# FROM #TEMP_012347 AS A --#91# INNER JOIN LCF_TERCEIRO LT -- #47# ON A.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO INNER JOIN LCF_APURACAO LA ON LT.SK_MATRIZ_CONTABIL = LA.SK_MATRIZ_FISCAL JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO --JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM #35# LEFT JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE LA.ID_IMPOSTO = 6 AND --LA.SK_MATRIZ_FISCAL = @SK_MATRIZ #47# LT.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM AND A.NOTA_CANCELADA = 0 /*#147#*/ GROUP BY ISNULL(LSIA.TIPO_CREDITO,A.TIPO_CREDITO_COFINS) --#45# ) AS A HAVING COUNT(*) > 0 /* SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO --CASE WHEN ISNULL(LSIA.TIPO_CREDITO,'') IN ('01','02','03','04','32','71') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR TOTAL DE CONTRIBUICAO NAO ACUMULATIVA #35# CASE WHEN ISNULL(A.TIPO_CREDITO_PIS, LSIA.TIPO_CREDITO) IN ('01','02','03','04','32','71') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR TOTAL DE CONTRIBUICAO NAO ACUMULATIVA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_COFINS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO CREDITO DESCONTADO E APURADO PROPRIO '0' + '|' + -- VALOR DO CREDITO DESCONTADO E APURADO NO PERIODO DE APURACAO PERIODO ANTERIOR REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_COFINS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO NAO ACUMULATIVA '0' + '|' + -- VALOR RETIDO NA FONTE DEDIZIDO NO PERIODO '0' + '|' + -- OUTRAS DEDUCOES NO PERIODO REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_COFINS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER --CASE WHEN ISNULL(LSIA.TIPO_CREDITO,'') IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR TOTAL DA CONTRIBUICAO CUMULATIVA DO PERIODO RECUPERADO DO CAMPO 13 #35# CASE WHEN ISNULL(A.TIPO_CREDITO_PIS, LSIA.TIPO_CREDITO) IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR TOTAL DA CONTRIBUICAO CUMULATIVA DO PERIODO RECUPERADO DO CAMPO 13 '0' + '|' + -- VALOR RETIDO NA FONTE DEDUZIDO NO PERIODO '0' + '|' + -- OUTRAS DEDUCOES NO PERIODO --CASE WHEN ISNULL(LSIA.TIPO_CREDITO,'') IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER 9-10-11 #35# CASE WHEN ISNULL(A.TIPO_CREDITO_PIS, LSIA.TIPO_CREDITO) IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' + -- VALOR DA CONTRIBUICAO CUMULATIVA A RECOLHER 9-10-11 --REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_COFINS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + CASE WHEN ISNULL(LSIA.TIPO_CREDITO,'') IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' -- VALOR TOTAL DA CONTRIBUICAO A RECOLHER /PAGAR NO PERIODO 8 +12 #35# REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(VALOR_COFINS,'0')) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + CASE WHEN ISNULL(A.TIPO_CREDITO_PIS, LSIA.TIPO_CREDITO) IN ('31','32','51','52','52','54','72') THEN REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') ELSE '' END + '|' -- VALOR TOTAL DA CONTRIBUICAO A RECOLHER /PAGAR NO PERIODO 8 +12 FROM #TEMP_012347 AS A INNER JOIN LCF_APURACAO LA on A.SK_MATRIZ_FISCAL = LA.SK_MATRIZ_FISCAL JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO --JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM #35# LEFT JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE LA.ID_IMPOSTO IN ( 6 ) AND LA.SK_MATRIZ_FISCAL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM GROUP BY ISNULL(A.TIPO_CREDITO_PIS, LSIA.TIPO_CREDITO), LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M610: DETALHAMENTO DA CONTRIBUIÇÃO PARA A SEGURIDADE SOCIAL - COFINS DO PERÍODO --------------------------------------------------------------------------------------------------------------------------------------- --#12# IF @REGISTRO = 'M610' BEGIN /*#244#*/ IF CAST(REPLACE(@VERSAO_PVA, '.', '') AS INT) < 310 BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO --ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,'') + '|' + -- CONFORME TABELA 435 #41# ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_COFINS) + '|' + -- CONFORME TABELA 435 #41# REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NC_TRIB_MERCADO_INT', @DATA_INI), 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA RECEITA BRUTA '0' + '|' + -- VALOR DA BASE DE CALCULO DA CONTRIBUIÇÃO --REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, 0) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS PASEP PERCENTUAL #41# REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, LSIM.TAXA_MOV) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQUOTA PIS PASEP PERCENTUAL #41# '0' + '|' + -- QUANTIDADE DA BASE DE CALCULO '0' + '|' + -- ALIQUOTA PIS PASEP EM REAIS '0' + '|' + -- VALOR TOTAL DA CONTRIBUICAO SOCIAL RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV))),'.',','),''))) + '|' + -- VALOR TOTAL DOS AJUSTES DE CREDITO '0' + '|' + -- VALOR TOTAL DOS AJUSTES DE REDUCAO '0' + '|' + -- VALOR DA CONTRIBUICAO A DIFERIR NO PERIODO '0' + '|' + -- VALOR DA CONTRIBUIÇÃO DIFERIDA EM PERIODOS ANTERIORES '0' + '|' -- VALOR TOTAL DA CONTRIBUIÇÃO DO PERIODO (8+9-10-11+12) FROM #TEMP_012347 AS A --#91# INNER JOIN LCF_TERCEIRO LT -- #47# ON A.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO INNER JOIN LCF_APURACAO LA ON LT.SK_MATRIZ_CONTABIL = LA.SK_MATRIZ_FISCAL JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO --JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM --JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM --#35# LEFT JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE --LA.SK_MATRIZ_FISCAL = @SK_MATRIZ #47# LT.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM AND LA.ID_IMPOSTO = 6 AND ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_COFINS) IS NOT NULL AND A.NOTA_CANCELADA = 0 /*#147#*/ --GROUP BY LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA, A.ALIQUOTA_COFINS #41# GROUP BY ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_COFINS), ISNULL(A.ALIQUOTA_COFINS, LSIM.TAXA_MOV) --#41# END ELSE BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_COFINS) + '|' + -- COD_CONT REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(DBO.FX_LF_BUSCA_INF_COMPLEMENTAR('28', @CODIGOMATRIZ, 'TX_NC_TRIB_MERCADO_INT', @DATA_INI), 0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_REC_BRT '0' + '|' + -- VL_BC_CONT '0' + '|' + -- VL_AJUS_ACRES_BC_COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(AJUSTE.VALOR_TOTAL_AJUSTE,0) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VL_AJUS_REDUC_BC_COFINS /*#251#*/ /*#254#*/ '0' + '|' + -- VL_BC_CONT_AJUS REPLACE(RTRIM(LTRIM(CAST(CAST(ISNULL(A.ALIQUOTA_COFINS, LSIM.TAXA_MOV) AS NUMERIC(19, 4)) AS VARCHAR(20)))), '.', ',') + '|' + -- ALIQ_COFINS '0' + '|' + -- QUANT_BC_COFINS '0' + '|' + -- ALIQ_COFINS_QUANT '0' + '|' + -- VL_CONT_APUR RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV))),'.',','),''))) + '|' + -- VL_AJUS_ACRES '0' + '|' + -- VL_AJUS_REDUC '0' + '|' + -- VL_CONT_DIFER '0' + '|' + -- VL_CONT_DIFER_ANT '0' + '|' -- VL_CONT_PER FROM #TEMP_012347 AS A INNER JOIN LCF_TERCEIRO LT ON A.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO INNER JOIN LCF_APURACAO LA ON LT.SK_MATRIZ_CONTABIL = LA.SK_MATRIZ_FISCAL INNER JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO LEFT JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM LEFT JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA /*#251#*/ LEFT JOIN (SELECT A.DATA_INICIAL, A.DATA_FINAL, FILIAL.SK_MATRIZ_CONTABIL, SUM(B.VALOR_TOTAL_AJUSTE) AS VALOR_TOTAL_AJUSTE FROM LCF_PIS_COFINS AS A INNER JOIN LCF_PIS_COFINS_AJUSTE AS B ON A.ID_LCF_PIS_COFINS = B.ID_LCF_PIS_COFINS INNER JOIN LCF_TERCEIRO AS FILIAL ON A.SK_MATRIZ_FISCAL = FILIAL.SK_TERCEIRO WHERE A.ID_IMPOSTO = 6 GROUP BY A.DATA_INICIAL, A.DATA_FINAL, FILIAL.SK_MATRIZ_CONTABIL) AS AJUSTE ON LT.SK_MATRIZ_CONTABIL = AJUSTE.SK_MATRIZ_CONTABIL AND LA.DATA_INICIAL = AJUSTE.DATA_INICIAL AND LA.DATA_FINAL = AJUSTE.DATA_FINAL /*#251#*/ WHERE LT.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM AND LA.ID_IMPOSTO = 6 AND ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_COFINS) IS NOT NULL AND A.NOTA_CANCELADA = 0 GROUP BY ISNULL(LSIA.COD_CONTRIBUICAO_SOCIAL_APURADA,A.COD_CONT_COFINS), ISNULL(A.ALIQUOTA_COFINS, LSIM.TAXA_MOV), ISNULL(AJUSTE.VALOR_TOTAL_AJUSTE,0); /*#252#*/ END /*#244#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M611: SOCIEDADES COOPERATIVAS ? COMPOSIÇÃO DA BASE DE CALCULO ? COFINS /*#244#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M615: AJUSTES DA BASE DE CÁLCULO DA COFINS APURADA IF @REGISTRO = 'M615' AND CAST(REPLACE(@VERSAO_PVA, '.', '') AS INT) >= 310 BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REG RTRIM(PA.TIPO_AJUSTE) + '|' + -- IND_AJ_BC RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),ISNULL(PA.VALOR_TOTAL_AJUSTE, 0)),'.',','),''))) + '|' + -- VL_AJ_BC RTRIM(PA.CODIGO_AJUSTE) + '|' + -- COD_AJ_BC ISNULL(RTRIM(CASE WHEN PA.CODIGO_AJUSTE IN ('01', '02') THEN PA.NUMERO_DOCUMENTO ELSE PA.NUMERO_RECIBO END), '') + '|' + -- NUM_DOC /*#251#*/ ISNULL(RTRIM(PA.DESCRICAO_AJUSTE), '') + '|' + -- DESCR_AJ_BC LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), PA.DATA_AJUSTE, 103), '/', ''), ''))), 8) + '|' + -- DT_REF RTRIM(PA.CONTA_CONTABIL) + '|' + -- COD_CTA RTRIM(T.CNPJ) + '|' + -- CNPJ ISNULL(RTRIM(PA.INFORMACAO_COMPLEMENTAR), '') + '|' -- INFO_COMPL FROM DBO.LCF_PIS_COFINS AS P (NOLOCK) JOIN DBO.LCF_PIS_COFINS_AJUSTE AS PA (NOLOCK) ON PA.ID_LCF_PIS_COFINS = P.ID_LCF_PIS_COFINS JOIN DBO.LCF_TERCEIRO AS T (NOLOCK) ON P.SK_MATRIZ_FISCAL = T.SK_TERCEIRO WHERE T.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND P.DATA_INICIAL = @DATA_INI AND P.DATA_FINAL = @DATA_FIM AND P.ID_IMPOSTO = 6; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- --#2# REGISTRO M620: AJUSTES DA COFINS APURADA IF @REGISTRO = 'M620' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BM_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(ISNULL(CASE WHEN LAI.LX_COD_APURACAO IN ('003','007') THEN '0' ELSE '1' END,''))) + '|' + -- INDICADOR DO TIPO DE AJUSTE RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(LSIMN.VALOR_IMPOSTO,LSIM.VALOR_MOV))),'.',','),''))) + '|' + -- VALOR DO AJUSTE RTRIM(LTRIM(ISNULL(LSIA.TIPO_AJUSTE_PIS_COFINS,''))) + '|' + -- CODICO DO AJUSTE RTRIM(LTRIM(ISNULL(ISNULL(LNS.NF_SAIDA,LNE.NF_ENTRADA),'') ))+ '|' + -- NUMERO DO PROCESSO RTRIM(LTRIM(ISNULL(LSIA.DESC_SUB_ITEM,''))) + '|' + -- DESCRICAO RESUMIDA RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(10),LSIM.DATA_MOV,103),'/',''),''))) + '|' -- DATA DE REFERENCIA DO AJUSTE FROM LCF_APURACAO LA INNER JOIN LCF_TERCEIRO LT -- #47# ON LA.SK_MATRIZ_FISCAL = LT.SK_TERCEIRO JOIN LCF_APURACAO_ITEM LAI ON LA.ID_APURACAO = LAI.ID_APURACAO JOIN LCF_SUB_ITEM_APURACAO LSIA ON LAI.ID_SUB_ITEM = LSIA.ID_SUB_ITEM JOIN LCF_SUB_ITEM_MOV LSIM ON LAI.ID_APURACAO = LSIM.ID_APURACAO AND LAI.ID_ITEM = LSIM.ID_ITEM LEFT JOIN LCF_SUB_ITEM_MOV_NF LSIMN ON LSIM.ID_SUB_ITEM_MOV = LSIMN.ID_SUB_ITEM_MOV LEFT JOIN LCF_NOTA_SAIDA LNS ON LSIMN.ID_NOTA_SAIDA = LNS.ID_NOTA LEFT JOIN LCF_NOTA_ENTRADA LNE ON LSIMN.ID_NOTA_ENTRADA = LNE.ID_NOTA WHERE LA.ID_IMPOSTO IN ( 6 ) AND --LA.SK_MATRIZ_FISCAL = @SK_MATRIZ #47# LT.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND LA.DATA_INICIAL = @DATA_INI AND LA.DATA_FINAL = @DATA_FIM GROUP BY CASE WHEN LAI.LX_COD_APURACAO IN ('003','007') THEN '0' ELSE '1' END, LSIA.TIPO_AJUSTE_PIS_COFINS, ISNULL(LNS.NF_SAIDA,LNE.NF_ENTRADA), LSIA.DESC_SUB_ITEM, LSIM.DATA_MOV --#14# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M630: INFORMAÇÕES ADICIONAIS DE DIFERIMENTO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M700: COFINS DIFERIDA EM PERÍODOS ANTERIORES ? VALORES A PAGAR NO PERÍODO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M800: RECEITAS ISENTAS, NÃO ALCANÇADAS PELA INCIDÊNCIA DA CONTRIBUIÇÃO, SUJEITAS A ALÍQUOTA ZERO OU DE VENDAS COM SUSPENSÃO ? COFINS IF @REGISTRO = 'M800' BEGIN --INSERT INTO #CUR_LINHA ( IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA ) --SELECT @IDCUR_ARQUIVO, -- @REGISTRO, -- --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, -- CHAVE = @ARQUIVO + '_BM_0_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, -- LINHA = '|' + @REGISTRO + '|' + -- REGISTRO -- LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS -- REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19,2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '|' + -- CONTA CONTABIL -- '' + '|' -- DESCRIÇÃO COMPLEMENTAR --FROM #TEMP_012347 AS A --WHERE (A.ST_COFINS IN ('04', '06', '07', '08', '09')) OR -- (A.ST_COFINS = '05' AND A.ALIQUOTA_COFINS = 0.00) AND -- A.NOTA_CANCELADA = 0 --GROUP BY A.ST_COFINS, A.COD_CONTA_CONTABIL --ORDER BY A.ST_COFINS, A.COD_CONTA_CONTABIL INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BM_0_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) + '|' + -- SITUACAO TRIBUTARIA COFINS REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DO_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DO ITEM CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' + -- CONTA CONTABIL '' + '|' -- DESCRIÇÃO COMPLEMENTAR FROM (SELECT LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) SITUACAO_TRIBUTARIA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) VALOR_DO_ITEM, RTRIM(LTRIM(A.COD_CONTA_CONTABIL)) CONTA_CONTABIL FROM #TEMP_012347 AS A --#82# WHERE ( RTRIM(LTRIM(A.ST_PIS)) IN ( '06', '07', '08', '09' ) OR ( RTRIM(LTRIM(A.ST_PIS)) IN ( '04', '05' ) AND A.ALIQUOTA_PIS = 0.00 ) ) AND A.NOTA_CANCELADA = 0 AND ( ( A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --A170 OR ( A.LX_MODELO IN ( '01', '1B', '04', '55' ) AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --C170 OR ( A.LX_MODELO = '02' AND A.NOTA_CANCELADA = 0 AND ISNULL(A.INDICA_PIS, '') <> '' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --C381 OR ( A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.NOTA_CANCELADA = 0 AND A.IND_OPER = '1' AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --D201 /*OR ( A.INDICA_DOCUMENTO_NAO_FISCAL = 1 AND ( A.VALOR_PIS > 0 or A.VALOR_COFINS > 0) )--F100*/ /*#197#*/ OR ((A.INDICA_DOCUMENTO_NAO_FISCAL = 1 OR (A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND RIGHT(RTRIM(A.CFOP),3) = '551')) AND ((A.VALOR_PIS > 0 or A.VALOR_COFINS > 0) OR (A.VALOR_PIS = 0 AND A.VALOR_COFINS = 0 AND RIGHT(RTRIM(A.CFOP),3) <> '551'))) -- F100 ) GROUP BY A.ST_COFINS, A.COD_CONTA_CONTABIL UNION ALL SELECT LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) SITUACAO_TRIBUTARIA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) VALOR_DO_ITEM, RTRIM(LTRIM(A.CONTA_CONTABIL)) CONTA_CONTABIL FROM #TEMP_ECF_012347 AS A WHERE ( RTRIM(LTRIM(A.ST_COFINS)) IN ( '06', '07', '08', '09' ) OR ( RTRIM(LTRIM(A.ST_COFINS)) IN ( '04', '05' ) AND A.ALIQUOTA_COFINS = 0.00 ) ) AND A.VALOR_ITEM > 0 --C481 GROUP BY A.ST_COFINS, A.CONTA_CONTABIL /*#179#*/ UNION ALL SELECT SITUACAO_TRIBUTARIA = ISNULL(SITUACAO_TRIBUTARIA, ''), VALOR_ITEM = SUM(ISNULL(VALOR_ITEM, 0.00)), CONTA_CONTABIL = RTRIM(LTRIM(CONTA_CONTABIL)) FROM #TEMP_012347_SAT WHERE ID_IMPOSTO = 6 AND ISNULL(NATUREZA_RECEITA, '') <> '' AND ( LTRIM(RTRIM(SITUACAO_TRIBUTARIA)) IN ('06', '07', '08', '09') OR (RTRIM(LTRIM(SITUACAO_TRIBUTARIA)) IN ( '04', '05' ) AND TAXA_IMPOSTO = 0.00) ) GROUP BY SITUACAO_TRIBUTARIA, NATUREZA_RECEITA, ID_IMPOSTO, CONTA_CONTABIL ) AS A GROUP BY A.SITUACAO_TRIBUTARIA, A.CONTA_CONTABIL ORDER BY A.SITUACAO_TRIBUTARIA, A.CONTA_CONTABIL IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM M800 --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M810: DETALHAMENTO DAS RECEITAS ISENTAS, NÃO ALCANÇADAS PELA INCIDÊNCIA DA CONTRIBUIÇÃO, SUJEITAS A ALÍQUOTA ZERO OU DE VENDAS COM SUSPENSÃO DE COFINS IF @REGISTRO = 'M810' BEGIN --INSERT INTO #CUR_LINHA ( IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA ) --SELECT @IDCUR_ARQUIVO, -- @REGISTRO, -- --CHAVE = @ARQUIVO + '_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, -- CHAVE = @ARQUIVO + '_BM_0_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, -- LINHA = '|' + @REGISTRO + '|' + -- REGISTRO -- LEFT(RTRIM(LTRIM(ISNULL(A.NATUREZA_RECEITA_COFINS, ''))), 3) + '|' + -- NATUREZA RECEITA -- REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DOC, 0)) AS NUMERIC(19,2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA RECEITA -- LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 60) + '|' + -- CONTA CONTABIL -- '' + '|' -- DESCRIÇÃO COMPLEMENTAR --FROM #TEMP_012347 AS A --WHERE (A.ST_COFINS IN ('04', '06', '07', '08', '09')) OR -- (A.ST_COFINS = '05' AND A.ALIQUOTA_COFINS = 0.00) AND -- A.NOTA_CANCELADA = 0 --GROUP BY A.ST_COFINS, A.NATUREZA_RECEITA_COFINS, A.COD_CONTA_CONTABIL --ORDER BY A.ST_COFINS, A.NATUREZA_RECEITA_COFINS, A.COD_CONTA_CONTABIL INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, CHAVE = @ARQUIVO + '_BM_0_' + @BLOCO + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.SITUACAO_TRIBUTARIA, ''))), 2) + '_' + LEFT(RTRIM(LTRIM(ISNULL(A.CONTA_CONTABIL, ''))), 60) + '_' + @REGISTRO, LINHA = '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(ISNULL(A.NATUREZA_RECEITA, ''))), 3) + '|' + -- NATUREZA RECEITA REPLACE(RTRIM(LTRIM(CAST(CAST(SUM(ISNULL(A.VALOR_DO_ITEM, 0)) AS NUMERIC(19, 2)) AS VARCHAR(20)))), '.', ',') + '|' + -- VALOR DA RECEITA CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' + -- CONTA CONTABIL '' + '|' -- DESCRIÇÃO COMPLEMENTAR FROM (SELECT LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) SITUACAO_TRIBUTARIA, LEFT(RTRIM(LTRIM(ISNULL(A.NATUREZA_RECEITA_COFINS, ''))), 3) NATUREZA_RECEITA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) VALOR_DO_ITEM, LEFT(RTRIM(LTRIM(ISNULL(A.COD_CONTA_CONTABIL, ''))), 20) CONTA_CONTABIL FROM #TEMP_012347 AS A --#82# WHERE ( RTRIM(LTRIM(A.ST_PIS)) IN ( '06', '07', '08', '09' ) OR ( RTRIM(LTRIM(A.ST_PIS)) IN ( '04', '05' ) AND A.ALIQUOTA_PIS = 0.00 ) ) AND A.NOTA_CANCELADA = 0 AND ( ( A.LX_MODELO IN ( '03', '90', '91' /*#223#*/ ) AND A.NOTA_CANCELADA = 0 AND (ISNULL(A.INDICA_ISS, '') <> '' OR ISNULL(A.INDICA_ISS_R, '') <> '') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --A170 OR ( A.LX_MODELO IN ( '01', '1B', '04', '55' ) AND A.NOTA_CANCELADA = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --C170 OR ( A.LX_MODELO = '02' AND A.NOTA_CANCELADA = 0 AND ISNULL(A.INDICA_PIS, '') <> '' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --C381 OR ( A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' /*#223#*/) AND A.NOTA_CANCELADA = 0 AND A.IND_OPER = '1' AND ( ISNULL(A.INDICA_ICMS, '') <> '' OR ISNULL(A.INDICA_PIS, '') <> '' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) --D201 /*OR ( A.INDICA_DOCUMENTO_NAO_FISCAL = 1 AND ( A.VALOR_PIS > 0 or A.VALOR_COFINS > 0) )--F100*/ /*#197#*/ OR ((A.INDICA_DOCUMENTO_NAO_FISCAL = 1 OR (A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND RIGHT(RTRIM(A.CFOP),3) = '551')) AND ((A.VALOR_PIS > 0 or A.VALOR_COFINS > 0) OR (A.VALOR_PIS = 0 AND A.VALOR_COFINS = 0 AND RIGHT(RTRIM(A.CFOP),3) <> '551'))) -- F100 ) GROUP BY A.ST_COFINS, A.NATUREZA_RECEITA_COFINS, A.COD_CONTA_CONTABIL UNION ALL SELECT LEFT(RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))), 2) SITUACAO_TRIBUTARIA, --NULL NATUREZA_RECEITA, #20# ISNULL(A.NATUREZA_RECEITA_PIS, A.NATUREZA_RECEITA_COFINS) NATUREZA_RECEITA, CAST(SUM(ISNULL(A.VALOR_ITEM, 0)) AS NUMERIC(19, 2)) VALOR_DO_ITEM, RTRIM(LTRIM(A.CONTA_CONTABIL)) CONTA_CONTABIL FROM #TEMP_ECF_012347 AS A WHERE ( RTRIM(LTRIM(A.ST_COFINS)) IN ( '06', '07', '08', '09' ) OR ( RTRIM(LTRIM(A.ST_COFINS)) IN ( '04', '05' ) AND A.ALIQUOTA_COFINS = 0.00 ) ) AND A.VALOR_ITEM > 0 --C481 GROUP BY A.ST_COFINS, ISNULL(A.NATUREZA_RECEITA_PIS, A.NATUREZA_RECEITA_COFINS), A.CONTA_CONTABIL /*#179#*/ UNION ALL SELECT SITUACAO_TRIBUTARIA = ISNULL(SITUACAO_TRIBUTARIA, ''), NATUREZA_RECEITA = ISNULL(NATUREZA_RECEITA, ''), VALOR_ITEM = SUM(ISNULL(VALOR_ITEM, 0.00)), CONTA_CONTABIL = RTRIM(LTRIM(CONTA_CONTABIL)) FROM #TEMP_012347_SAT WHERE ID_IMPOSTO = 6 AND ISNULL(NATUREZA_RECEITA, '') <> '' AND ( LTRIM(RTRIM(SITUACAO_TRIBUTARIA)) IN ('06', '07', '08', '09') OR (RTRIM(LTRIM(SITUACAO_TRIBUTARIA)) IN ( '04', '05' ) AND TAXA_IMPOSTO = 0.00) ) GROUP BY SITUACAO_TRIBUTARIA, NATUREZA_RECEITA, ID_IMPOSTO, CONTA_CONTABIL ) AS A GROUP BY A.SITUACAO_TRIBUTARIA, A.NATUREZA_RECEITA, A.CONTA_CONTABIL ORDER BY A.SITUACAO_TRIBUTARIA, A.NATUREZA_RECEITA; --A.CONTA_CONTABIL; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM M810 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO M990: ENCERRAMENTO DO BLOCO M IF @REGISTRO = 'M990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BM_Z_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(CAST((SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'M') + 1 AS VARCHAR(10)))) + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM M990 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --#6# REGISTRO P001: ABERTURA DO BLOCO P IF @REGISTRO = 'P001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BP_0_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO -- AND LEFT(A.REGISTRO, 1) = 'P') > 0 THEN '0' AND A.REGISTRO = '0145') > 0 THEN '0' -- #11# ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --#6# REGISTRO P010: CORRESPONDENTE À CONTRIBUIÇÃO PREVIDENCIÁRIA SOBRE A RECEITA BRUTA IF @REGISTRO = 'P010' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT Distinct @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BP_1_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ISNULL(A.CNPJ_ESTAB, ''), '.', ''), '-', ''), '/', ''))), 14) + '|' -- CNPJ Número de inscrição do estabelecimento no CNPJ. FROM #TEMP_BLOCOP AS A --#70# INCLUÍDO PARA SOMENTE QUANDO TENHO RECEITA GROUP BY A.CNPJ_ESTAB HAVING ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END))) > 0 IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --#6# REGISTRO P100: CONTRIBUIÇÃO PREVIDENCIÁRIA SOBRE A RECEITA BRUTA IF @REGISTRO = 'P100' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, @ARQUIVO + '_BP_1_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO LEFT(RTRIM(LTRIM(REPLACE(CONVERT(CHAR(10), @DATA_INI, 103), '/', ''))), 8) + '|' + -- DATA INICIAL LEFT(RTRIM(LTRIM(REPLACE(CONVERT(CHAR(10), @DATA_FIM, 103), '/', ''))), 8) + '|' + -- DATA FINAL ISNULL(REPLACE(RTRIM(LTRIM(CAST(SUM(CASE WHEN A.TIPO IN ('RS', 'LS') THEN CASE WHEN A.VALOR_DOC < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) AS VARCHAR(20)))), '.', ','),'') + '|' + -- #59# Valor da Receita Bruta Total do Estabelecimento no Período ISNULL(A.CODIGO_CONTRIBUICAO_RECEITA_BRUTA,'') + '|' + -- #59# Código indicador correspondente à atividade sujeita a incidência da Contribuição Previdenciária sobre a Receita Bruta, conforme Tabela 5.1.1. ISNULL(REPLACE(RTRIM(LTRIM(CAST(SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN CASE WHEN A.VALOR_DOC < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) AS VARCHAR(20)))), '.', ','),'') + '|' + -- #59# Valor da Receita Bruta do Estabelecimento, correspondente às atividades referidas no Campo 05 (COD_ATIV_ECON) ISNULL(REPLACE(RTRIM(LTRIM(CAST(SUM(CASE WHEN A.TIPO = 'RE' THEN CASE WHEN A.VALOR_DOC < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) AS VARCHAR(20)))), '.', ','),'') + '|' + -- #59# Valor das Exclusões da Receita Bruta informada no Campo 06 NAO OBRIGATORIO REPLACE(RTRIM(LTRIM(CAST(CASE WHEN SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) < 0 THEN 0 ELSE SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) END AS VARCHAR(20)))), '.', ',') + '|' + -- #59# Valor da Base de Cálculo da Contribuição Previdenciária sobre a Receita Bruta(Campo 08 = Campo 06 – Campo 07) #23# ISNULL(REPLACE(RTRIM(LTRIM(CAST(CAST(A.ALIQUOTA_CP_INSS AS NUMERIC(8,4)) /*#210#*/ AS VARCHAR(20)))), '.', ','),0) + '|' + -- Alíquota da Contribuição Previdenciária sobre a Receita Bruta --REPLACE(RTRIM(LTRIM(CAST(CASE WHEN ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) < 0 THEN 0 -- ELSE ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) END AS NUMERIC (19,2)))), '.', ',') + '|' + -- Valor da Base de Cálculo da Contribuição Previdenciária sobre a Receita Bruta(Campo 08 = Campo 06 – Campo 07) #23# --#33# --REPLACE(RTRIM(LTRIM(CAST(CASE WHEN ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_IMPOSTO,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_IMPOSTO,0) ELSE 0.00 END)) ) < 0 THEN 0 -- ELSE ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_IMPOSTO,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_IMPOSTO,0) ELSE 0.00 END))) END AS NUMERIC (19,2)))), '.', ',') + '|' + -- Valor da Base de Cálculo da Contribuição Previdenciária sobre a Receita Bruta(Campo 08 = Campo 06 – Campo 07) #23# --#34# REPLACE(RTRIM(LTRIM(CAST(CASE WHEN ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) < 0 THEN 0 ELSE ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN CASE WHEN ISNULL(A.VALOR_DOC,0) < 0.00 THEN 0.00 ELSE A.VALOR_DOC END ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) END AS NUMERIC (19,2)))), '.', ',') + '|' + -- Valor da Base de Cálculo da Contribuição Previdenciária sobre a Receita Bruta(Campo 08 = Campo 06 – Campo 07) #23# CASE WHEN @DISPENSADO_ECD = 0 THEN RTRIM(LTRIM(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(60)), ''))) ELSE 'Dispensada' END + '|' + -- CODIGO CONTA #223# '' + '|' -- Informação complementar do registro FROM #TEMP_BLOCOP AS A WHERE A.ALIQUOTA_CP_INSS IS NOT NULL AND A.ALIQUOTA_CP_INSS > 0 GROUP BY A.CNPJ_ESTAB,CODIGO_CONTRIBUICAO_RECEITA_BRUTA,A.ALIQUOTA_CP_INSS,A.ALIQUOTA_CP_INSS, A.CONTA_CONTABIL /*#223#*/ --#71# HAVING ((SUM(CASE WHEN A.TIPO IN ('RS','LS') THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END) - SUM(CASE WHEN A.TIPO = 'RE' THEN ISNULL(A.VALOR_DOC,0) ELSE 0.00 END)) * (ISNULL(A.ALIQUOTA_CP_INSS,0) /100)) > 0 ORDER BY A.CODIGO_CONTRIBUICAO_RECEITA_BRUTA, A.CONTA_CONTABIL /*#223#*/ IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --REGISTRO P110: COMPLEMENTO DA ESCRITURAÇÃO – DETALHAMENTO DA APURAÇÃO DA CONTRIBUIÇÃO ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --REGISTRO P199: PROCESSO REFERENCIADO ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --#6# REGISTRO P200: CONSOLIDAÇÃO DA CONTRIBUIÇÃO PREVIDENCIÁRIA SOBRE A RECEITA BRUTA IF @REGISTRO = 'P200' BEGIN --INSERT INTO #CUR_LINHA -- (IDCUR_ARQUIVO, -- REGISTRO, -- CHAVE, -- LINHA) --#62# -- SELECT @IDCUR_ARQUIVO, -- @REGISTRO, -- --@ARQUIVO + '_' + @BLOCO + '_' + @REGISTRO, -- --@ARQUIVO + '_BP_1_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, #18# -- @ARQUIVO + '_BP_2_' + ISNULL(A.COD_RECEITA,'') + '_' + @BLOCO + '_' + @REGISTRO, -- #59# --'|' + @REGISTRO + '|' + -- REGISTRO -- SUBSTRING(LEFT(RTRIM(LTRIM(REPLACE(CONVERT(CHAR(10), @DATA_INI , 112), '/', ''))), 8),5,2)+LEFT(CONVERT(CHAR(10),@DATA_INI,112),4) + '|' + -- Período de referencia da escrituração (MMAAAA) -- CASE WHEN @SOMA_TOTAL_BRUTO < 0 THEN '0,00' ELSE REPLACE(RTRIM(LTRIM(CAST(@SOMA_TOTAL_BRUTO AS VARCHAR(20)))), '.', ',') END + '|' + -- Valor total apurado da Contribuição Previdenciária sobre a Receita Bruta (Somatório do Campo 10 “VL_CONT_APU“, do Registro P100) -- --#55# -- CASE WHEN SUM(ISNULL(VALOR_IMPOSTO_REDUCAO, 0.00)) < 0 THEN '0,00' ELSE REPLACE(RTRIM(LTRIM(CAST(SUM(ISNULL(VALOR_IMPOSTO_REDUCAO, 0.00)) AS VARCHAR(20)))), '.', ',') END + '|' + -- Valor total de “Ajustes de acréscimo” (Registro P210, Campo 03, quando Campo 02 = “1”) --CASE WHEN SUM(ISNULL(VALOR_IMPOSTO_ACRESCIMO, 0.00)) < 0 THEN '0,00' ELSE REPLACE(RTRIM(LTRIM(CAST(SUM(ISNULL(VALOR_IMPOSTO_ACRESCIMO, 0.00)) AS VARCHAR(20)))), '.', ',') END + '|' + -- Valor total de “Ajustes de redução” (Registro P210, Campo 03, quando Campo 02 = “0”) --CASE WHEN @SOMA_TOTAL < 0 THEN '0,00' ELSE REPLACE(RTRIM(LTRIM(CAST(@SOMA_TOTAL AS VARCHAR(20)))), '.', ',') END + '|' + --#102#-- Valor total da Contribuição Previdenciária sobre a Receita Bruta a recolher (Campo 03 – Campo 04 + Campo 05) -- --REPLACE(RTRIM(LTRIM(CAST(SUM(ISNULL(VALOR_IMPOSTO_ACRESCIMO, 0.00)) AS VARCHAR(20)))), '.', ',') + '|' + -- Valor total de “Ajustes de acréscimo” (Registro P210, Campo 03, quando Campo 02 = “1”) ----REPLACE(RTRIM(LTRIM(CAST(SUM(ISNULL(VALOR_IMPOSTO_REDUCAO, 0.00)) AS VARCHAR(20)))), '.', ',') + '|' + -- Valor total de “Ajustes de redução” (Registro P210, Campo 03, quando Campo 02 = “0”) ----REPLACE(RTRIM(LTRIM(CAST(@SOMA_TOTAL_BRUTO AS NUMERIC(19,2)))), '.', ',') + '|' + -- Valor total da Contribuição Previdenciária sobre a Receita Bruta a recolher (Campo 03 – Campo 04 + Campo 05) --RIGHT('000000' + RTRIM(LTRIM(ISNULL(A.COD_RECEITA, ''))), 6) + '|' -- Código de Receita referente à Contribuição Previdenciária, conforme informado em DCTF --FROM #IMPOSTO_BLOCOP AS A --GROUP BY A.COD_RECEITA--, A.CNPJ_ESTAB #18# --#64# IF (ISNULL(@SOMA_TOTAL_BRUTO,0) > 0) BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BP_2_' + ISNULL(MAX(A.COD_RECEITA),'') + '_' + @BLOCO + '_' + @REGISTRO, -- #59# '|' + @REGISTRO + '|' + -- REGISTRO SUBSTRING(LEFT(RTRIM(LTRIM(REPLACE(CONVERT(CHAR(10), @DATA_INI , 112), '/', ''))), 8),5,2)+LEFT(CONVERT(CHAR(10),@DATA_INI,112),4) + '|' + -- Período de referencia da escrituração (MMAAAA) /*#68#*/CASE WHEN @SOMA_TOTAL_BRUTO < 0 THEN '0,00' ELSE /*#76#*/ ISNULL(REPLACE(RTRIM(LTRIM(CAST(@SOMA_TOTAL_BRUTO AS VARCHAR(20)))), '.', ','), '0,00') END + '|' + -- Valor total apurado da Contribuição Previdenciária sobre a Receita Bruta (Somatório do Campo 10 “VL_CONT_APU“, do Registro P100) /*#55#*/ --#69# CASE WHEN SUM(ISNULL(VALOR_IMPOSTO_REDUCAO, 0.00)) < 0 THEN '0,00' ELSE /*#76#*/ ISNULL(REPLACE(RTRIM(LTRIM(CAST(SUM(ISNULL(VALOR_IMPOSTO_REDUCAO, 0.00)) AS VARCHAR(20)))), '.', ','), '0,00') END + '|' + -- Valor total de “Ajustes de acréscimo” (Registro P210, Campo 03, quando Campo 02 = “1”) CASE WHEN SUM(ISNULL(VALOR_IMPOSTO_ACRESCIMO, 0.00)) < 0 THEN '0,00' ELSE /*#76#*/ ISNULL(REPLACE(RTRIM(LTRIM(CAST(SUM(ISNULL(VALOR_IMPOSTO_ACRESCIMO, 0.00)) AS VARCHAR(20)))), '.', ','), '0,00') END + '|' + -- Valor total de “Ajustes de redução” (Registro P210, Campo 03, quando Campo 02 = “0”) CASE WHEN @SOMA_TOTAL_BRUTO - /*#76#*/ ISNULL(SUM(VALOR_IMPOSTO_REDUCAO),0) + ISNULL(SUM(VALOR_IMPOSTO_ACRESCIMO),0) < 0 THEN '0,00' ELSE /*#76#*/ ISNULL(REPLACE(RTRIM(LTRIM(CAST(@SOMA_TOTAL_BRUTO - /*#76#*/ ISNULL(SUM(VALOR_IMPOSTO_REDUCAO),0) + /*#76#*/ ISNULL(SUM(VALOR_IMPOSTO_ACRESCIMO),0) AS VARCHAR(20)))), '.', ','), '0,00') END + '|' + --#102#-- Valor total da Contribuição Previdenciária sobre a Receita Bruta a recolher (Campo 03 – Campo 04 + Campo 05) RIGHT('000000' + RTRIM(LTRIM(ISNULL(MAX(A.COD_RECEITA), ''))), 6) + '|' -- Código de Receita referente à Contribuição Previdenciária, conforme informado em DCTF FROM #IMPOSTO_BLOCOP AS A END IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --#6# REGISTRO P210: AJUSTE DA CONTRIBUIÇÃO PREVIDENCIÁRIA APURADA SOBRE A RECEITA BRUTA IF @REGISTRO = 'P210' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, -- @ARQUIVO + '_BP_9_' + ISNULL(A.CNPJ_ESTAB, '') + '_' + @BLOCO + '_' + @REGISTRO, #18# --#70# @ARQUIVO + '_BP_2_' + ISNULL(MAX(A.COD_RECEITA),'') + '_1_' + @BLOCO + '_' + @REGISTRO, --#75# '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN CAST(SUM(ISNULL(VALOR_IMPOSTO_ACRESCIMO, 0.00)) AS NUMERIC(19, 2)) > 0 THEN '1' WHEN CAST(SUM(ISNULL(VALOR_IMPOSTO_REDUCAO, 0.00)) AS NUMERIC(19, 2)) > 0 THEN '0' END + '|' + -- 0 Ajuste de redução;1- Ajuste de acréscimo CASE WHEN CAST(SUM(ISNULL(VALOR_IMPOSTO_ACRESCIMO, 0.00)) AS NUMERIC(19, 2)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(SUM(ISNULL(VALOR_IMPOSTO_ACRESCIMO, 0.00)) AS VARCHAR(20)))), '.', ',') WHEN CAST(SUM(ISNULL(VALOR_IMPOSTO_REDUCAO, 0.00)) AS NUMERIC(19, 2)) > 0 THEN REPLACE(RTRIM(LTRIM(CAST(SUM(ISNULL(VALOR_IMPOSTO_REDUCAO, 0.00)) AS VARCHAR(20)))), '.', ',') END + '|' + -- Valor do ajuste '0'+ LEFT(CONVERT(INT,REPLACE(REPLACE(ISNULL(SUB_ITEM_APURACAO, ''),',',''),'.','')),1) + '|' + -- Código do ajuste, conforme a Tabela indicada no item 4.3.8. LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR,NUM_DOC),''))) + '|' + -- Número do processo, documento ou ato concessório ao qual o ajuste está vinculado, se houver. '' + '|' + -- Descrição resumida do ajuste. LEFT(RTRIM(LTRIM(REPLACE(ISNULL(CONVERT(CHAR(10), DATA, 103), ''), '/', ''))), 8) + '|' -- Data de referência do ajuste (ddmmaaaa) FROM #IMPOSTO_BLOCOP A WHERE A.VALOR_IMPOSTO_ACRESCIMO > 0 OR A.VALOR_IMPOSTO_REDUCAO > 0 GROUP BY A.SUB_ITEM_APURACAO, A.NUM_DOC, A.DATA--, A.CNPJ_ESTAB #18# IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO P990: ENCERRAMENTO DO BLOCO P IF @REGISTRO = 'P990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BP_9_' + @BLOCO + '_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(CAST((SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'P') + 1 AS VARCHAR(10)))) + '|' -- Quantidade total de linhas do Bloco P IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1010: PROCESSO REFERENCIADO ? AÇÃO JUDICIAL --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1020: PROCESSO REFERENCIADO ? PROCESSO ADMINISTRATIVO /*#244#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1050: DETALHAMENTO DE AJUSTES DE BASE DE CÁLCULO – VALORES EXTRA APURAÇÃO IF @REGISTRO = '1050' AND CAST(REPLACE(@VERSAO_PVA, '.', '') AS INT) >= 310 BEGIN DECLARE @PIS AS BIT, @COFINS AS BIT, @PIS_COFINS AS BIT; -- DETERMINA SE TEM PIS IF (SELECT COUNT(*) FROM DBO.LCF_PIS_COFINS AS P (NOLOCK) JOIN DBO.LCF_PIS_COFINS_AJUSTE AS PA (NOLOCK) ON PA.ID_LCF_PIS_COFINS = P.ID_LCF_PIS_COFINS JOIN DBO.LCF_TERCEIRO AS T (NOLOCK) ON P.SK_MATRIZ_FISCAL = T.SK_TERCEIRO WHERE P.ID_IMPOSTO = 5) >= 1 BEGIN SET @PIS = 1; END ELSE BEGIN SET @PIS = 0; END -- DETERMINA SE TEM COFINS IF (SELECT COUNT(*) FROM DBO.LCF_PIS_COFINS AS P (NOLOCK) JOIN DBO.LCF_PIS_COFINS_AJUSTE AS PA (NOLOCK) ON PA.ID_LCF_PIS_COFINS = P.ID_LCF_PIS_COFINS JOIN DBO.LCF_TERCEIRO AS T (NOLOCK) ON P.SK_MATRIZ_FISCAL = T.SK_TERCEIRO WHERE P.ID_IMPOSTO = 6) >= 1 BEGIN SET @COFINS = 1; END ELSE BEGIN SET @COFINS = 0; END -- DETERMINA SE POSSUI PIS E COFINS IF @PIS = 1 AND @COFINS = 1 BEGIN SET @PIS_COFINS = 1; END ELSE BEGIN SET @PIS_COFINS = 0; END INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BX_' + @BLOCO + '_ _' + @REGISTRO, '|' + @REGISTRO + '|' + -- REG LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), PA.DATA_AJUSTE, 103), '/', ''), ''))), 8) + '|' + -- DT_REF RTRIM(PA.CODIGO_AJUSTE) + '|' + -- IND_AJ_BC RTRIM(T.CNPJ) + '|' + -- CNPJ RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(PA.VALOR_TOTAL_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_TOT RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_01.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST01 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_02.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST02 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_03.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST03 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_04.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST04 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_05.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST05 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_06.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST06 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_07.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST07 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_08.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST08 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_09.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST09 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_49.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST49 RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(VARCHAR(20),SUM(ISNULL(CST_99.VALOR_AJUSTE, 0))),'.',','),''))) + '|' + -- VL_AJ_CST99 CASE WHEN @PIS_COFINS = 1 THEN '01' WHEN @PIS = 1 THEN '02' WHEN @COFINS = 1 THEN '03' END + '|' + -- IND_APROP RTRIM(ISNULL(PA.NUMERO_RECIBO, '')) + '|' + -- NUM_REC RTRIM(ISNULL(PA.INFORMACAO_COMPLEMENTAR, '')) + '|' -- INFO_COMPL FROM DBO.LCF_PIS_COFINS AS P (NOLOCK) JOIN DBO.LCF_PIS_COFINS_AJUSTE AS PA (NOLOCK) ON PA.ID_LCF_PIS_COFINS = P.ID_LCF_PIS_COFINS JOIN DBO.LCF_TERCEIRO AS T (NOLOCK) ON P.SK_MATRIZ_FISCAL = T.SK_TERCEIRO LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '01' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_01 ON CST_01.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '02' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_02 ON CST_02.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '03' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_03 ON CST_03.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '04' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_04 ON CST_04.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '05' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_05 ON CST_05.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '06' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_06 ON CST_06.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '07' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_07 ON CST_07.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '08' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_08 ON CST_08.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '09' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_09 ON CST_09.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '49' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_49 ON CST_49.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE LEFT JOIN (SELECT SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE, SUM(VALOR_AJUSTE) AS VALOR_AJUSTE FROM DBO.LCF_PIS_COFINS_AJUSTE_CST WHERE RTRIM(SITUACAO_TRIBUTARIA) = '99' GROUP BY SITUACAO_TRIBUTARIA, ID_LCF_PIS_COFINS_AJUSTE) AS CST_99 ON CST_99.ID_LCF_PIS_COFINS_AJUSTE = PA.ID_LCF_PIS_COFINS_AJUSTE WHERE T.SK_MATRIZ_CONTABIL = @SK_MATRIZ AND P.DATA_INICIAL = @DATA_INI AND P.DATA_FINAL = @DATA_FIM GROUP BY PA.DATA_AJUSTE, PA.CODIGO_AJUSTE, T.CNPJ, PA.NUMERO_RECIBO, PA.INFORMACAO_COMPLEMENTAR; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1100: CONTROLE DE CRÉDITOS FISCAIS ? PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1101: APURAÇÃO DE CRÉDITO EXTEMPORÂNEO - DOCUMENTOS E OPERAÇÕES DE PERÍODOS ANTERIORES ? PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1102: DETALHAMENTO DO CRÉDITO EXTEMPORANEO VINCULADO A MAIS DE UM TIPO DE RECEITA ? PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1200: CONTRIBUIÇÃO SOCIAL EXTEMPORÂNEA ? PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1210: DETALHAMENTO DA CONTRIBUIÇÃO SOCIAL EXTEMPORÂNEA ? PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1220: DEMONSTRAÇÃO DO CRÉDITO A DESCONTAR DA CONTRIBUIÇÃO EXTEMPORÂNEA ? PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1300: CONTROLE DOS VALORES RETIDOS NA FONTE ? PIS/PASEP --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1500: CONTROLE DE CRÉDITOS FISCAIS ? COFINS --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1501: APURAÇÃO DE CRÉDITO EXTEMPORÂNEO - DOCUMENTOS E OPERAÇÕES DE PERÍODOS ANTERIORES ? COFINS --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1502: DETALHAMENTO DO CRÉDITO EXTEMPORÂNEO VINCULADO A MAIS DE UM TIPO DE RECEITA ? COFINS --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1600: CONTRIBUIÇÃO SOCIAL EXTEMPORÂNEA ? COFINS --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1610: DETALHAMENTO DA CONTRIBUIÇÃO SOCIAL EXTEMPORÂNEA ? COFINS --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1620: DEMONSTRAÇÃO DO CRÉDITO A DESCONTAR DA CONTRIBUIÇÃO EXTEMPORÂNEA ? COFINS --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1700: CONTROLE DOS VALORES RETIDOS NA FONTE ? COFINS --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1800: INCORPORAÇÃO IMOBILIÁRIA ? RET --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1809: PROCESSO REFERENCIADO --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1900: CONSOLIDAÇÃO DOS DOCUMENTOS EMITIDOS NO PERÍODO POR PESSOA JURÍDICA #121# IF @REGISTRO = '1900' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BX_' + @BLOCO + '_ _' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.CNPJ_ESTAB)) + '|' + -- CNPJ DO ESTABELECIMENTO LEFT(RTRIM(LTRIM(ISNULL(A.LX_MODELO, ''))), 2) + '|' + -- CÓDIGO DO MODELO RTRIM(LTRIM(ISNULL(A.SERIE,''))) + '|' + -- SERIE DO DOC FISCAL RTRIM(LTRIM(ISNULL(A.SUBSERIE,''))) + '|' + -- SUBSERIE DOC FISCAL CASE WHEN ISNULL(A.NOTA_CANCELADA,0) = 0 THEN '00' ELSE '02' END + '|' + -- CÓDIGO DA SITUAÇÃO DO DOCUMENTO FISCAL LTRIM(RTRIM(REPLACE(CAST(CAST(ISNULL(SUM(A.VALOR_DOC),0) AS NUMERIC(19,2)) AS VARCHAR(20)), '.', ','))) + '|' + -- VALOR TOTAL DA RECEITA LTRIM(RTRIM(CAST(COUNT(*) AS VARCHAR(10)))) + '|' + -- QUANTIDADE TOTAL DE DOCUMENTOS EMITIDOS NO PERÍODO RTRIM(LTRIM(ISNULL(A.ST_PIS, ''))) + '|' + -- CÓDIGO DA SITUAÇÃO TRIBUTÁRIA DO PIS/PASEP RTRIM(LTRIM(ISNULL(A.ST_COFINS, ''))) + '|' + -- CÓDIGO DA SITUAÇÃO TRIBUTÁRIA DA COFINS LEFT(RTRIM(LTRIM(ISNULL(A.CFOP, ''))), 4) + '|' + -- CFOP '' + '|' + -- CODIGO DA INFORMAÇÃO COMPLEMENTAR LEFT(RTRIM(LTRIM(ISNULL(CAST(A.CONTA_CONTABIL AS VARCHAR(20)), ''))), 20) + '|' -- CONTA CONTÁBIL FROM #F550 AS A GROUP BY A.CNPJ_ESTAB, A.ST_PIS, A.ALIQUOTA_PIS, A.ST_COFINS, A.ALIQUOTA_COFINS, A.LX_MODELO, A.CFOP, A.CONTA_CONTABIL, A.SERIE, A.SUBSERIE, A.NOTA_CANCELADA; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 1900 #121# /*#244#*/ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1001: ABERTURA DO BLOCO 1 IF @REGISTRO = '1001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BX_' + @BLOCO + '_ _' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(A.REGISTRO, 1) = '1') > 0 THEN '0' ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END /*#265#*/ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1010: PROCESSO REFERENCIADO - AÇÃO JUDICIAL IF @REGISTRO = '1010' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BX_' + @BLOCO + '_ _' + @REGISTRO, --#INCLUIR QUANDO FOR NECESSÁRIO GERAR O REGISTRO 1011# + '_' + A.REG_REF, '|' + @REGISTRO + '|' + -- REGISTRO LTRIM(RTRIM(B.NUMERO_PROCESSO)) + '|' + -- NUM_PROC LTRIM(RTRIM(ISNULL(B.ID_SECAO,''))) + '|' + -- ID_SEC_JUD LTRIM(RTRIM(ISNULL(B.VARA,''))) + '|' + -- ID_VARA LTRIM(RTRIM(ISNULL(B.NATUREZA_ACAO_JUDICIAL,''))) + '|' + -- IND_NAT_ACAO LTRIM(RTRIM(ISNULL(B.OBSERVACAO,''))) + '|' + -- DESC_DED_JUD LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), B.DATA_PROTOCOLO, 103), '/', ''), ''))), 8) + '|' -- DT_SENT_JUD FROM ( --A111 SELECT 'A111' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '03', '90', '91') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --C111 UNION ALL SELECT 'C111' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE (A.LX_MODELO IN ( '01', '1B', '04' ) OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --C188 UNION ALL SELECT 'C188' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE (A.LX_MODELO = '65' OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --C198 UNION ALL SELECT 'C198' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO = '55' AND A.ST_PIS IN ( '49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99' ) AND A.CFOP IN ( '1101', '1102', '1111', '1113', '1116', '1117', '1118', '1120', '1121', '1122', '1124', '1125', '1126', '1128', '1151', '1152', '1153', '1154', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1208', '1209', '1301', '1302', '1303', '1304', '1305', '1306', '1351', '1352', '1353', '1354', '1355', '1356', '1360', '1401', '1403', '1406', '1407', '1408', '1409', '1410', '1411', '1414', '1415', '1451', '1452', '1501', '1503', '1504', '1505', '1506', '1551', '1552', '1553', '1554', '1555', '1556', '1557', '1601', '1602', '1603', '1604', '1605', '1651', '1652', '1653', '1658', '1659', '1660', '1661', '1662', '1663', '1664', '1901', '1902', '1903', '1904', '1905', '1906', '1907', '1908', '1909', '1910', '1911', '1912', '1913', '1914', '1915', '1916', '1917', '1918', '1919', '1920', '1921', '1922', '1923', '1924', '1925', '1926', '1931', '1932', '1933', '1934', '1949', '2101', '2102', '2111', '2113', '2116', '2117', '2118', '2120', '2121', '2122', '2124', '2125', '2126', '2128', '2151', '2152', '2153', '2154', '2201', '2202', '2203', '2204', '2205', '2206', '2207', '2208', '2209', '2251', '2252', '2253', '2254', '2255', '2256', '2257', '2301', '2302', '2303', '2304', '2305', '2306', '2351', '2352', '2353', '2354', '2355', '2356', '2401', '2403', '2406', '2407', '2408', '2409', '2410', '2411', '2414', '2415', '2501', '2503', '2504', '2505', '2506', '2551', '2552', '2553', '2554', '2555', '2556', '2557', '2603', '2651', '2652', '2653', '2658', '2659', '2660', '2661', '2662', '2663', '2664', '2901', '2902', '2903', '2904', '2905', '2906', '2907', '2908', '2909', '2910', '2911', '2912', '2913', '2914', '2915', '2916', '2917', '2918', '2919', '2920', '2921', '2922', '2923', '2924', '2925', '2931', '2932', '2933', '2934', '2949', '3101', '3102', '3126', '3127', '3128', '3201', '3202', '3205', '3206', '3207', '3211', '3251', '3301', '3351', '3352', '3353', '3354', '3355', '3556', '3503', '3551', '3553', '3556', '3651', '3652', '3653', '3930', '3949', '5201', '5202', '5206', '5207', '5210', '5410', '5411', '5660', '6201', '6202', '6206', '6207', '6210', '6410', '6411', '6660', '7201', '7202', '7210' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --C509 UNION ALL SELECT 'C509' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE (A.LX_MODELO IN ( '06', '28', '29', '66' ) OR (A.LX_MODELO = '55' AND A.CFOP IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --D111 UNION ALL SELECT 'D111' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.IND_OPER = '0' --D209 UNION ALL SELECT 'D209' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' ) AND A.IND_OPER = '1' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.IND_OPER = '1' --D509 UNION ALL SELECT 'D509' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.IND_OPER = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --D609 UNION ALL SELECT 'D609' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.IND_OPER = 1 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) AS A INNER JOIN DBO.LCF_PROCESSOS AS B (NOLOCK) ON A.ID_LCF_PROCESSO = B.ID_LCF_PROCESSO WHERE B.TIPO_PROCESSO = 1; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001; SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO; GOTO ERROR; END; GOTO PROXIMO; END; ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1011: DETALHAMENTO DAS CONTRIBUIÇÕES COM EXIGIBILIDADE SUSPENSA -- DE ACORDO COM O I&CT, NÃO É NECESSÁRIO GERAR O REGISTRO 1011 NO MOMENTO - VOU DEIXAR A BASE PARA POSSÍVEL IMPLEMENTAÇÃO FUTURA --IF @REGISTRO = '1011' -- BEGIN -- INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, -- REGISTRO, -- CHAVE, -- LINHA) -- SELECT DISTINCT -- @IDCUR_ARQUIVO, -- @REGISTRO, -- @ARQUIVO + '_BX_' + @BLOCO + '_ _1010_' + A.REG_REF + '_' + @REGISTRO, -- '|' + @REGISTRO + '|' + -- REGISTRO -- LTRIM(RTRIM(A.REG_REF)) + '|' + -- REG_REF -- LTRIM(RTRIM(B.NUMERO_PROCESSO)) + '|' + -- NUM_PROC -- LTRIM(RTRIM('')) + '|' + -- ID_SEC_JUD -- LTRIM(RTRIM(ISNULL(B.VARA,''))) + '|' + -- ID_VARA -- LTRIM(RTRIM(ISNULL(B.NATUREZA_ACAO_JUDICIAL,''))) + '|' + -- IND_NAT_ACAO -- LTRIM(RTRIM(ISNULL(B.OBSERVACAO,''))) + '|' + -- DESC_DED_JUD -- LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), B.DATA_PROTOCOLO, 103), '/', ''), ''))), 8) + '|' -- DT_SENT_JUD -- FROM ( -- --A111 -- SELECT 'A111' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA -- FROM #TEMP_PROCESSO_012347 AS A -- WHERE A.LX_MODELO IN ( '03', '90', '91') -- AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 -- --C111 -- UNION ALL -- SELECT 'C111' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA -- FROM #TEMP_PROCESSO_012347 AS A -- WHERE (A.LX_MODELO IN ( '01', '1B', '04' ) OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) -- AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 -- --C188 -- UNION ALL -- SELECT 'C188' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA -- FROM #TEMP_PROCESSO_012347 AS A -- WHERE (A.LX_MODELO = '65' OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) -- AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 -- --C198 -- UNION ALL -- SELECT 'C198' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA -- FROM #TEMP_PROCESSO_012347 AS A -- WHERE A.LX_MODELO = '55' -- AND A.ST_PIS IN ( '49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99' ) -- AND A.CFOP IN ( '1101', '1102', '1111', '1113', '1116', '1117', '1118', '1120', '1121', '1122', '1124', '1125', -- '1126', '1128', '1151', '1152', '1153', '1154', '1201', '1202', '1203', '1204', '1205', '1206', -- '1207', '1208', '1209', '1301', '1302', '1303', '1304', '1305', '1306', '1351', '1352', '1353', -- '1354', '1355', '1356', '1360', '1401', '1403', '1406', '1407', '1408', '1409', '1410', '1411', -- '1414', '1415', '1451', '1452', '1501', '1503', '1504', '1505', '1506', '1551', '1552', '1553', -- '1554', '1555', '1556', '1557', '1601', '1602', '1603', '1604', '1605', '1651', '1652', '1653', -- '1658', '1659', '1660', '1661', '1662', '1663', '1664', '1901', '1902', '1903', '1904', '1905', -- '1906', '1907', '1908', '1909', '1910', '1911', '1912', '1913', '1914', '1915', '1916', '1917', -- '1918', '1919', '1920', '1921', '1922', '1923', '1924', '1925', '1926', '1931', '1932', '1933', -- '1934', '1949', '2101', '2102', '2111', '2113', '2116', '2117', '2118', '2120', '2121', '2122', -- '2124', '2125', '2126', '2128', '2151', '2152', '2153', '2154', '2201', '2202', '2203', '2204', -- '2205', '2206', '2207', '2208', '2209', '2251', '2252', '2253', '2254', '2255', '2256', '2257', -- '2301', '2302', '2303', '2304', '2305', '2306', '2351', '2352', '2353', '2354', '2355', '2356', -- '2401', '2403', '2406', '2407', '2408', '2409', '2410', '2411', '2414', '2415', '2501', '2503', -- '2504', '2505', '2506', '2551', '2552', '2553', '2554', '2555', '2556', '2557', '2603', '2651', -- '2652', '2653', '2658', '2659', '2660', '2661', '2662', '2663', '2664', '2901', '2902', '2903', -- '2904', '2905', '2906', '2907', '2908', '2909', '2910', '2911', '2912', '2913', '2914', '2915', -- '2916', '2917', '2918', '2919', '2920', '2921', '2922', '2923', '2924', '2925', '2931', '2932', -- '2933', '2934', '2949', '3101', '3102', '3126', '3127', '3128', '3201', '3202', '3205', '3206', -- '3207', '3211', '3251', '3301', '3351', '3352', '3353', '3354', '3355', '3556', '3503', '3551', -- '3553', '3556', '3651', '3652', '3653', '3930', '3949', '5201', '5202', '5206', '5207', '5210', -- '5410', '5411', '5660', '6201', '6202', '6206', '6207', '6210', '6410', '6411', '6660', '7201', -- '7202', '7210' ) -- AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 -- --C509 -- UNION ALL -- SELECT 'C509' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA -- FROM #TEMP_PROCESSO_012347 AS A -- WHERE (A.LX_MODELO IN ( '06', '28', '29', '66' ) OR (A.LX_MODELO = '55' AND A.CFOP IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) -- AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 -- --D111 -- UNION ALL -- SELECT 'D111' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA -- FROM #TEMP_PROCESSO_012347 AS A -- WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67') -- AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 -- AND A.IND_OPER = '0' -- --D209 -- UNION ALL -- SELECT 'D209' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA -- FROM #TEMP_PROCESSO_012347 AS A -- WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' ) -- AND A.IND_OPER = '1' -- AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 -- AND A.IND_OPER = '1' -- --D509 -- UNION ALL -- SELECT 'D509' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA -- FROM #TEMP_PROCESSO_012347 AS A -- WHERE A.LX_MODELO IN ( '21', '22' ) -- AND A.IND_OPER = 0 -- AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 -- --D609 -- UNION ALL -- SELECT 'D609' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA -- FROM #TEMP_PROCESSO_012347 AS A -- WHERE A.LX_MODELO IN ( '21', '22' ) -- AND A.IND_OPER = 1 -- AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 -- ) AS A -- INNER JOIN DBO.LCF_PROCESSOS AS B (NOLOCK) -- ON A.ID_LCF_PROCESSO = B.ID_LCF_PROCESSO; -- -- IF @@ERROR <> 0 -- BEGIN -- SELECT @ERRNO = 30001; -- SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO; -- GOTO ERROR; -- END; -- GOTO PROXIMO; --END; ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1020: PROCESSO REFERENCIADO - SECRETARIA DA RECEITA FEDERAL DO BRASIL IF @REGISTRO = '1020' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT DISTINCT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BX_' + @BLOCO + '_ _' + @REGISTRO, --#INCLUIR QUANDO FOR NECESSÁRIO GERAR O REGISTRO 1011# + '_' + A.REG_REF, '|' + @REGISTRO + '|' + -- REGISTRO LTRIM(RTRIM(B.NUMERO_PROCESSO)) + '|' + -- NUM_PROC LTRIM(RTRIM(ISNULL(B.NATUREZA_ACAO_JUDICIAL,''))) + '|' + -- IND_NAT_ACAO LEFT(RTRIM(LTRIM(ISNULL(REPLACE(CONVERT(CHAR(10), B.DATA_PROTOCOLO, 103), '/', ''), ''))), 8) + '|' -- DT_DEC_ADM FROM ( --A111 SELECT 'A111' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '03', '90', '91') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --C111 UNION ALL SELECT 'C111' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE (A.LX_MODELO IN ( '01', '1B', '04' ) OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --C188 UNION ALL SELECT 'C188' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE (A.LX_MODELO = '65' OR (A.LX_MODELO = '55' AND A.CFOP NOT IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --C198 UNION ALL SELECT 'C198' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO = '55' AND A.ST_PIS IN ( '49', '50', '51', '52', '53', '54', '55', '56', '60', '61', '62', '63', '64', '65', '66', '70', '99' ) AND A.CFOP IN ( '1101', '1102', '1111', '1113', '1116', '1117', '1118', '1120', '1121', '1122', '1124', '1125', '1126', '1128', '1151', '1152', '1153', '1154', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1208', '1209', '1301', '1302', '1303', '1304', '1305', '1306', '1351', '1352', '1353', '1354', '1355', '1356', '1360', '1401', '1403', '1406', '1407', '1408', '1409', '1410', '1411', '1414', '1415', '1451', '1452', '1501', '1503', '1504', '1505', '1506', '1551', '1552', '1553', '1554', '1555', '1556', '1557', '1601', '1602', '1603', '1604', '1605', '1651', '1652', '1653', '1658', '1659', '1660', '1661', '1662', '1663', '1664', '1901', '1902', '1903', '1904', '1905', '1906', '1907', '1908', '1909', '1910', '1911', '1912', '1913', '1914', '1915', '1916', '1917', '1918', '1919', '1920', '1921', '1922', '1923', '1924', '1925', '1926', '1931', '1932', '1933', '1934', '1949', '2101', '2102', '2111', '2113', '2116', '2117', '2118', '2120', '2121', '2122', '2124', '2125', '2126', '2128', '2151', '2152', '2153', '2154', '2201', '2202', '2203', '2204', '2205', '2206', '2207', '2208', '2209', '2251', '2252', '2253', '2254', '2255', '2256', '2257', '2301', '2302', '2303', '2304', '2305', '2306', '2351', '2352', '2353', '2354', '2355', '2356', '2401', '2403', '2406', '2407', '2408', '2409', '2410', '2411', '2414', '2415', '2501', '2503', '2504', '2505', '2506', '2551', '2552', '2553', '2554', '2555', '2556', '2557', '2603', '2651', '2652', '2653', '2658', '2659', '2660', '2661', '2662', '2663', '2664', '2901', '2902', '2903', '2904', '2905', '2906', '2907', '2908', '2909', '2910', '2911', '2912', '2913', '2914', '2915', '2916', '2917', '2918', '2919', '2920', '2921', '2922', '2923', '2924', '2925', '2931', '2932', '2933', '2934', '2949', '3101', '3102', '3126', '3127', '3128', '3201', '3202', '3205', '3206', '3207', '3211', '3251', '3301', '3351', '3352', '3353', '3354', '3355', '3556', '3503', '3551', '3553', '3556', '3651', '3652', '3653', '3930', '3949', '5201', '5202', '5206', '5207', '5210', '5410', '5411', '5660', '6201', '6202', '6206', '6207', '6210', '6410', '6411', '6660', '7201', '7202', '7210' ) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --C509 UNION ALL SELECT 'C509' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE (A.LX_MODELO IN ( '06', '28', '29', '66' ) OR (A.LX_MODELO = '55' AND A.CFOP IN ('1251', '1252', '1253', '1254', '1255', '1256', '1257'))) AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --D111 UNION ALL SELECT 'D111' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67') AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.IND_OPER = '0' --D209 UNION ALL SELECT 'D209' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '07', '08', '8B', '09', '10', '11', '26', '27', '57', '67' ) AND A.IND_OPER = '1' AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 AND A.IND_OPER = '1' --D509 UNION ALL SELECT 'D509' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.IND_OPER = 0 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 --D609 UNION ALL SELECT 'D609' AS REG_REF, A.ID_LCF_PROCESSO, A.ID_NOTA, A.ENTRADA_SAIDA FROM #TEMP_PROCESSO_012347 AS A WHERE A.LX_MODELO IN ( '21', '22' ) AND A.IND_OPER = 1 AND A.INDICA_DOCUMENTO_NAO_FISCAL = 0 ) AS A INNER JOIN DBO.LCF_PROCESSOS AS B (NOLOCK) ON A.ID_LCF_PROCESSO = B.ID_LCF_PROCESSO WHERE B.TIPO_PROCESSO = 3; IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001; SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO; GOTO ERROR; END; GOTO PROXIMO; END; /*#265#*/ --------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 1990: ENCERRAMENTO DO BLOCO 1 IF @REGISTRO = '1990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BX_' + @BLOCO + '_ _' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(CAST((SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = '1') + 1 AS VARCHAR(10)))) + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 9001: ABERTURA DO BLOCO 9 IF @REGISTRO = '9001' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_ _' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO CASE WHEN (SELECT COUNT(*) FROM #CUR_LINHA WHERE IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = '9') > 0 THEN '0' ELSE '1' END + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 9001 --------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 9900: REGISTROS DO ARQUIVO IF @REGISTRO = '9900' BEGIN --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO 0 INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_01_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = '0' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO A INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_02_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'A' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO C INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_03_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'C' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO D INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_04_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'D' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO F INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_05_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'F' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --#118# --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO I INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_06_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'I' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO M INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_06_' + @REGISTRO + A.REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_07_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'M' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO P INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_07_' + @REGISTRO + A.REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_08_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = 'P' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO 1 INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_08_' + @REGISTRO + A.REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_09_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = '1' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- -- CONTADOR DO BLOCO 9 INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_09_' + @REGISTRO + '9001', @ARQUIVO + '_BZ_' + @BLOCO + '_10_' + @REGISTRO + '9001', '|' + @REGISTRO + '|' + -- REGISTRO '9001' + '|' + '1' + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_10_' + @REGISTRO + A.REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_11_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(A.REGISTRO)) + '|' + RTRIM(LTRIM(STR(COUNT(*), 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(REGISTRO, 1) = '9' AND REGISTRO <> '9900' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_11_' + @REGISTRO + '9990', @ARQUIVO + '_BZ_' + @BLOCO + '_12_' + @REGISTRO + '9990', '|' + @REGISTRO + '|' + -- REGISTRO '9990' + '|' + '1' + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_12_' + @REGISTRO + '9999', @ARQUIVO + '_BZ_' + @BLOCO + '_13_' + @REGISTRO + '9999', '|' + @REGISTRO + '|' + -- REGISTRO '9999' + '|' + '1' + '|' IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END --------------------------------------------------------------------------------------------------------------------------------------------- INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_13_' + @REGISTRO + A.REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_14_' + @REGISTRO + A.REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO '9900' + '|' + RTRIM(LTRIM(STR(COUNT(1) + 1, 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND REGISTRO = '9900' GROUP BY A.REGISTRO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END --------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 9990: ENCERRAMENTO DO BLOCO 9 IF @REGISTRO = '9990' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_14_' + @REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_15_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(STR(COUNT(*) + 3, 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO AND LEFT(A.REGISTRO, 1) = '9' GROUP BY LEFT(A.REGISTRO, 1) IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 9900 --------------------------------------------------------------------------------------------------------------------------------------------- -- REGISTRO 9999: ENCERRAMENTO DO ARQUIVO DIGITAL IF @REGISTRO = '9999' BEGIN INSERT INTO #CUR_LINHA (IDCUR_ARQUIVO, REGISTRO, CHAVE, LINHA) SELECT @IDCUR_ARQUIVO, @REGISTRO, --#118# --@ARQUIVO + '_BZ_' + @BLOCO + '_15_' + @REGISTRO, @ARQUIVO + '_BZ_' + @BLOCO + '_16_' + @REGISTRO, '|' + @REGISTRO + '|' + -- REGISTRO RTRIM(LTRIM(STR(COUNT(*) + 1, 20, 0))) + '|' FROM #CUR_LINHA AS A WHERE A.IDCUR_ARQUIVO = @IDCUR_ARQUIVO IF @@ERROR <> 0 BEGIN SELECT @ERRNO = 30001 SELECT @ERRMSG = 'PROBLEMA PARA GERAR O REGISTRO ' + @REGISTRO GOTO ERROR END GOTO PROXIMO END -- FIM 9900 --------------------------------------------------------------------------------------------------------------------------------------------- PROXIMO: FETCH NEXT FROM CUR_SPED_PIS_COFINS INTO @CODIGOMATRIZ, @BLOCO, @REGISTRO, @DATA_INI, @DATA_FIM, @PASTA, @ARQUIVO, @PADRAO, @GERAEXCEL, @PASTAEXCEL, @SK_MATRIZ END --------------------------------------------------------------------------------------------------------------------------------------------- -- GERAÇÃO DO ARQUIVO IF ISNULL(@GERAR_ARQUIVO_SQL, 0) = 1 BEGIN SELECT CODIGO = SUBSTRING(A.ARQUIVO, CHARINDEX('_', A.ARQUIVO, 1) + 1, ( CHARINDEX('_', A.ARQUIVO, CHARINDEX('_', A.ARQUIVO, 1) + 1) ) - ( CHARINDEX('_', A.ARQUIVO, 1) + 1 )), ARQUIVOSIGLA = SUBSTRING(A.ARQUIVO, 1, CHARINDEX('_', A.ARQUIVO, 1) - 1), B.REGISTRO, LINHA = COUNT(*) FROM #CUR_ARQUIVO AS A INNER JOIN #CUR_LINHA AS B ON A.ID = B.IDCUR_ARQUIVO GROUP BY SUBSTRING(A.ARQUIVO, CHARINDEX('_', A.ARQUIVO, 1) + 1, ( CHARINDEX('_', A.ARQUIVO, CHARINDEX('_', A.ARQUIVO, 1) + 1) ) - ( CHARINDEX('_', A.ARQUIVO, 1) + 1 )), SUBSTRING(A.ARQUIVO, 1, CHARINDEX('_', A.ARQUIVO, 1) - 1), B.REGISTRO EXEC LX_LCF_IG_GERA_ARQUIVO_TEXTO END ELSE BEGIN SELECT A.PASTA, A.ARQUIVO, A.CODIFICACAO, BLOCO = '', B.REGISTRO, B.CHAVE, B.LINHA, A.GERAEXCEL, A.PASTAEXCEL, LINHAEXCEL = '' FROM #CUR_ARQUIVO AS A INNER JOIN #CUR_LINHA AS B ON A.ID = B.IDCUR_ARQUIVO ORDER BY B.CHAVE END --------------------------------------------------------------------------------------------------------------------------------------------- -- APAGAR AS TABELAS TEMPORÁRIAS IF (SELECT OBJECT_ID('TEMPDB..#CUR_ARQUIVO')) IS NOT NULL DROP TABLE #CUR_ARQUIVO IF (SELECT OBJECT_ID('TEMPDB..#CUR_LINHA')) IS NOT NULL DROP TABLE #CUR_LINHA IF (SELECT OBJECT_ID('TEMPDB..#EFD_CONTRIBUICOES')) IS NOT NULL DROP TABLE #EFD_CONTRIBUICOES IF (SELECT OBJECT_ID('TEMPDB..#LCF_CONTA')) IS NOT NULL DROP TABLE #LCF_CONTA RETURN IF (SELECT OBJECT_ID('TEMPDB..#CUR_ORDEM')) IS NOT NULL DROP TABLE #CUR_ORDEM SET NOCOUNT OFF RETURN --------------------------------------------------------------------------------------------------------------------------------------------- -- ERRO ERROR: IF ( CURSOR_STATUS('LOCAL', 'CUR_SPED_PIS_COFINS') > -3 ) BEGIN CLOSE CUR_SPED_PIS_COFINS DEALLOCATE CUR_SPED_PIS_COFINS END IF ( CURSOR_STATUS('LOCAL', 'CUR_ESTABELECIMENTO') > -3 ) BEGIN CLOSE CUR_ESTABELECIMENTO DEALLOCATE CUR_ESTABELECIMENTO END IF (SELECT OBJECT_ID('TEMPDB..#CUR_ARQUIVO')) IS NOT NULL DROP TABLE #CUR_ARQUIVO IF (SELECT OBJECT_ID('TEMPDB..#CUR_LINHA')) IS NOT NULL DROP TABLE #CUR_LINHA IF (SELECT OBJECT_ID('TEMPDB..#EFD_CONTRIBUICOES')) IS NOT NULL DROP TABLE #EFD_CONTRIBUICOES IF (SELECT OBJECT_ID('TEMPDB..#LCF_CONTA')) IS NOT NULL DROP TABLE #LCF_CONTA IF (SELECT OBJECT_ID('TEMPDB..#CUR_ORDEM')) IS NOT NULL DROP TABLE #CUR_ORDEM SET NOCOUNT OFF; RAISERROR (@ERRMSG,16,1);