Pesquisar na Comunidade
Showing results for tags 'BLOCO G SPED'.
Encontrado 1 registro
-
Bom dia, aos usuários ACBR que já conseguiram gerar um SPED Fiscal sem erros no validador peço a encarecida ajuda. O Bloco G não gera de forma alguma, mesmo passando os parametros. Por favor me apontem o que estou fazendo de errado: procedure TF_ProcessaSped.geraBlocoG; var ContRegistro: Integer; begin ContRegistro := QryG110.RecordCount + QryG125.RecordCount + QryG126.RecordCount + QryG130.RecordCount + QryG140.RecordCount; // BLOCO G – CONTROLE DO CRÉDITO DE ICMS DO ATIVO PERMANENTE CIAP with ACBrSpedFiscal1.Bloco_G do begin DT_INI := QryMovimento.FieldByName('DT_MOV_INI').AsDateTime; DT_FIN := QryMovimento.FieldByName('DT_MOV_FIM').AsDateTime; // Abertura do Bloco G with RegistroG001New do begin // Indicador de movimento - TOpenBlocos if ContRegistro > 0 then IND_MOV := imComDados; // 0- Bloco com dados informados; if ContRegistro = 0 then IND_MOV := imSemDados; // 1- Bloco sem dados informados. end; if ContRegistro > 0 then begin {$REGION ' REGISTRO G110: ICMS – ATIVO PERMANENTE – CIAP'} QryG110.First; { ID DT_PROCESSAMENTO DT_INI DT_FIN SALDO_IN_ICMS SOM_PARC VL_TRIB_EXP VL_TOTAL IND_PER_SAI ICMS_APROP SOM_ICMS_OC } while not QryG110.EOF do begin with RegistroG110New do begin DT_INI := QryG110.FieldByName('DT_INI').AsDateTime; DT_FIN := QryG110.FieldByName('DT_FIN').AsDateTime; SALDO_IN_ICMS := QryG110.FieldByName('SALDO_IN_ICMS').AsFloat; SOM_PARC := QryG110.FieldByName('SOM_PARC').AsFloat; VL_TRIB_EXP := QryG110.FieldByName('VL_TRIB_EXP').AsFloat; VL_TOTAL := QryG110.FieldByName('VL_TOTAL').AsFloat; IND_PER_SAI := QryG110.FieldByName('IND_PER_SAI').AsFloat; ICMS_APROP := QryG110.FieldByName('ICMS_APROP').AsFloat; SOM_ICMS_OC := QryG110.FieldByName('SOM_ICMS_OC').AsFloat; end; QryG110.Next; end; {$ENDREGION} {$REGION ' REGISTRO G125: MOVIMENTAÇÃO DE BEM OU COMPONENTE DO ATIVO IMOBILIZADO'} QryG125.First; { ID DT_PROCESSAMENTO COD_IND_BEM DT_MOV TIPO_MOV VL_IMOB_ICMS_OP VL_IMOB_ICMS_ST VL_IMOB_ICMS_FRT VL_IMOB_ICMS_DIF NUM_PARC VL_PARC_PASS } while not QryG125.EOF do begin with RegistroG125New do begin COD_IND_BEM := QryG125.FieldByName('COD_IND_BEM').AsString; DT_MOV := QryG125.FieldByName('DT_MOV').AsDateTime; // TIPO_MOV := QryG125.FieldByName('TIPO_MOV').AsInteger; // Tipo de movimentação do bem ou componente if QryG125.FieldByName('TIPO_MOV').AsString = 'SI' then TIPO_MOV := mbcSI; // SI = Saldo inicial de bens imobilizados if QryG125.FieldByName('TIPO_MOV').AsString = 'IM' then TIPO_MOV := mbcIM; // IM = Imobilização de bem individual if QryG125.FieldByName('TIPO_MOV').AsString = 'IA' then TIPO_MOV := mbcIA; // IA = Imobilização em Andamento - Componente if QryG125.FieldByName('TIPO_MOV').AsString = 'CI' then TIPO_MOV := mbcCI; // CI = Conclusão de Imobilização em Andamento – Bem Resultante if QryG125.FieldByName('TIPO_MOV').AsString = 'MC' then TIPO_MOV := mbcMC; // MC = Imobilização oriunda do Ativo Circulante if QryG125.FieldByName('TIPO_MOV').AsString = 'BA' then TIPO_MOV := mbcBA; // BA = Baixa do Saldo de ICMS - Fim do período de apropriação if QryG125.FieldByName('TIPO_MOV').AsString = 'AT' then TIPO_MOV := mbcAT; // AT = Alienação ou Transferência if QryG125.FieldByName('TIPO_MOV').AsString = 'PE' then TIPO_MOV := mbcPE; // PE = Perecimento, Extravio ou Deterioração if QryG125.FieldByName('TIPO_MOV').AsString = 'OT' then TIPO_MOV := mbcOT; // OT = Outras Saídas do Imobilizado VL_IMOB_ICMS_OP := QryG125.FieldByName('VL_IMOB_ICMS_OP').AsFloat; VL_IMOB_ICMS_ST := QryG125.FieldByName('VL_IMOB_ICMS_ST').AsFloat; VL_IMOB_ICMS_FRT := QryG125.FieldByName('VL_IMOB_ICMS_FRT').AsFloat; VL_IMOB_ICMS_DIF := QryG125.FieldByName('VL_IMOB_ICMS_DIF').AsFloat; NUM_PARC := QryG125.FieldByName('NUM_PARC').AsInteger; VL_PARC_PASS := QryG125.FieldByName('VL_PARC_PASS').AsFloat; end; QryG125.Next; end; {$ENDREGION} {$REGION ' REGISTRO G126: OUTROS CRÉDITOS CIAP'} QryG126.First; { ID DT_PROCESSAMENTO DT_INI DT_FIM NUM_PARC VL_PARC_PASS VL_TRIB_OC VL_TOTAL IND_PER_SAI VL_PARC_APROP } while not QryG126.EOF do begin with RegistroG126New do begin DT_INI := QryG126.FieldByName('DT_INI').AsDateTime; DT_FIN := QryG126.FieldByName('DT_FIN').AsDateTime; NUM_PARC := QryG126.FieldByName('NUM_PARC').AsInteger; VL_PARC_PASS := QryG126.FieldByName('VL_PARC_PASS').AsFloat; VL_TRIB_OC := QryG126.FieldByName('VL_TRIB_OC').AsFloat; VL_TOTAL := QryG126.FieldByName('VL_TOTAL').AsFloat; IND_PER_SAI := QryG126.FieldByName('IND_PER_SAI').AsFloat; VL_PARC_APROP := QryG126.FieldByName('VL_PARC_APROP').AsFloat; end; QryG126.Next; end; {$ENDREGION} {$REGION ' REGISTRO G130: IDENTIFICAÇÃO DO DOCUMENTO FISCAL'} QryG130.First; { ID DT_PROCESSAMENTO IND_EMIT COD_PART COD_MOD SERIE NUM_DOC CHV_NFE_CTE DT_DOC } while not QryG130.EOF do begin with RegistroG130New do begin // Indicador do emitente do documento fiscal // IND_EMIT := QryG130.FieldByName('IND_EMIT').AsInteger; case QryG130.FieldByName('IND_EMIT').AsInteger of 0: IND_EMIT := edEmissaoPropria; // 0 - Emissão própria 1: IND_EMIT := edTerceiros; // 1 - Terceiro end; COD_PART := QryG130.FieldByName('COD_PART').AsString; COD_MOD := QryG130.FieldByName('COD_MOD').AsString; SERIE := QryG130.FieldByName('SERIE').AsString; NUM_DOC := QryG130.FieldByName('NUM_DOC').AsString; CHV_NFE_CTE := QryG130.FieldByName('CHV_NFE_CTE').AsString; DT_DOC := QryG130.FieldByName('DT_DOC').AsDateTime; end; QryG130.Next; end; {$ENDREGION} {$REGION ' REGISTRO G140: IDENTIFICAÇÃO DO ITEM DO DOCUMENTO FISCAL'} QryG140.First; { ID DT_PROCESSAMENTO NUM_ITEM COD_ITEM } while not QryG140.EOF do begin with RegistroG140New do begin NUM_ITEM := QryG140.FieldByName('NUM_ITEM').AsString; COD_ITEM := QryG140.FieldByName('COD_ITEM').AsString; end; QryG140.Next; end; {$ENDREGION} end; end; Agradeço qualquer ajuda.