TACBrCstIcms (ACBrEPCBlocos.pas)
TACBrCstIcms = (
sticmsTributadaIntegralmente , // '000' // Tributada integralmente
sticmsTributadaComCobracaPorST , // '010' // Tributada e com cobrança do ICMS por substituição tributária
sticmsComReducao , // '020' // Com redução de base de cálculo
sticmsIsentaComCobracaPorST , // '030' // Isenta ou não tributada e com cobrança do ICMS por substituição tributária
sticmsIsenta , // '040' // Isenta
sticmsNaoTributada , // '041' // Não tributada
sticmsSuspensao , // '050' // Suspensão
sticmsDiferimento , // '051' // Diferimento
sticmsCobradoAnteriormentePorST , // '060' // ICMS cobrado anteriormente por substituição tributária
sticmsComReducaoPorST , // '070' // Com redução de base de cálculo e cobrança do ICMS por substituição tributária
sticmsOutros , // '090' // Outros
sticmsEstrangeiraImportacaoDiretaTributadaIntegralmente , // '100' // Estrangeira - Importação direta - Tributada integralmente
sticmsEstrangeiraImportacaoDiretaTributadaComCobracaPorST , // '110' // Estrangeira - Importação direta - Tributada e com cobrança do ICMS por substituição tributária
sticmsEstrangeiraImportacaoDiretaComReducao , // '120' // Estrangeira - Importação direta - Com redução de base de cálculo
sticmsEstrangeiraImportacaoDiretaIsentaComCobracaPorST , // '130' // Estrangeira - Importação direta - Isenta ou não tributada e com cobrança do ICMS por substituição tributária
sticmsEstrangeiraImportacaoDiretaIsenta , // '140' // Estrangeira - Importação direta - Isenta
sticmsEstrangeiraImportacaoDiretaNaoTributada , // '141' // Estrangeira - Importação direta - Não tributada
sticmsEstrangeiraImportacaoDiretaSuspensao , // '150' // Estrangeira - Importação direta - Suspensão
sticmsEstrangeiraImportacaoDiretaDiferimento , // '151' // Estrangeira - Importação direta - Diferimento
sticmsEstrangeiraImportacaoDiretaCobradoAnteriormentePorST, // '160' // Estrangeira - Importação direta - ICMS cobrado anteriormente por substituição tributária
sticmsEstrangeiraImportacaoDiretaComReducaoPorST , // '170' // Estrangeira - Importação direta - Com redução de base de cálculo e cobrança do ICMS por substituição tributária
sticmsEstrangeiraImportacaoDiretaOutros , // '190' // Estrangeira - Importação direta - Outras
sticmsEstrangeiraAdqMercIntTributadaIntegralmente , // '200' // Estrangeira - Adquirida no mercado interno - Tributada integralmente
sticmsEstrangeiraAdqMercIntTributadaComCobracaPorST , // '210' // Estrangeira - Adquirida no mercado interno - Tributada e com cobrança do ICMS por substituição tributária
sticmsEstrangeiraAdqMercIntComReducao , // '220' // Estrangeira - Adquirida no mercado interno - Com redução de base de cálculo
sticmsEstrangeiraAdqMercIntIsentaComCobracaPorST , // '230' // Estrangeira - Adquirida no mercado interno - Isenta ou não tributada e com cobrança do ICMS por substituição tributária
sticmsEstrangeiraAdqMercIntIsenta , // '240' // Estrangeira - Adquirida no mercado interno - Isenta
sticmsEstrangeiraAdqMercIntNaoTributada , // '241' // Estrangeira - Adquirida no mercado interno - Não tributada
sticmsEstrangeiraAdqMercIntSuspensao , // '250' // Estrangeira - Adquirida no mercado interno - Suspensão
sticmsEstrangeiraAdqMercIntDiferimento , // '251' // Estrangeira - Adquirida no mercado interno - Diferimento
sticmsEstrangeiraAdqMercIntCobradoAnteriormentePorST , // '260' // Estrangeira - Adquirida no mercado interno - ICMS cobrado anteriormente por substituição tributária
sticmsEstrangeiraAdqMercIntComReducaoPorST , // '270' // Estrangeira - Adquirida no mercado interno - Com redução de base de cálculo e cobrança do ICMS por substituição tributária
sticmsEstrangeiraAdqMercIntOutros , // '290' // Estrangeira - Adquirida no mercado interno - Outras
sticmsSimplesNacionalTributadaComPermissaoCredito , // '101' // Simples Nacional - Tributada pelo Simples Nacional com permissão de crédito
sticmsSimplesNacionalTributadaSemPermissaoCredito , // '102' // Simples Nacional - Tributada pelo Simples Nacional sem permissão de crédito
sticmsSimplesNacionalIsencaoPorFaixaReceitaBruta , // '103' // Simples Nacional - Isenção do ICMS no Simples Nacional para faixa de receita bruta
sticmsSimplesNacionalTributadaComPermissaoCreditoComST , // '201' // Simples Nacional - Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por substituição tributária
sticmsSimplesNacionalTributadaSemPermissaoCreditoComST , // '202' // Simples Nacional - Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por substituição tributária
sticmsSimplesNacionalIsencaoPorFaixaReceitaBrutaComST , // '203' // Simples Nacional - Isenção do ICMS no Simples Nacional para faixa de receita bruta e com cobrança do ICMS por substituição tributária
sticmsSimplesNacionalImune , // '300' // Simples Nacional - Imune
sticmsSimplesNacionalNaoTributada , // '400' // Simples Nacional - Não tributada pelo Simples Nacional
sticmsSimplesNacionalCobradoAnteriormentePorST , // '500' // Simples Nacional - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação
sticmsSimplesNacionalOutros // '900' // Simples Nacional - Outros
);
Função CstIcmsToStr (ACBrEPCBlocos.pas)
function CstIcmsToStr(AValue: TACBrCstIcms): string;
begin
Result := CstIcms[ Integer( AValue ) ];
end;
Contante CstIcms (ACBrSpedUtils.pas)
CstIcms: array[0..167] of String = (
'000','010','020','030','040','041','050','051','060','070','090','0101','0102','0103','0201','0202','0203','0300','0400','0500','0900',
'100','110','120','130','140','141','150','151','160','170','190','1101','1102','1103','1201','1202','1203','1300','1400','1500','1900',
'200','210','220','230','240','241','250','251','260','270','290','2101','2102','2103','2201','2202','2203','2300','2400','2500','2900',
'300','310','320','330','340','341','350','351','360','370','390','3101','3102','3103','3201','3202','3203','3300','3400','3500','3900',
'400','410','420','430','440','441','450','451','460','470','490','4101','4102','4103','4201','4202','4203','4300','4400','4500','4900',
'500','510','520','530','540','541','550','551','560','570','590','5101','5102','5103','5201','5202','5203','5300','5400','5500','5900',
'600','610','620','630','640','641','650','651','660','670','690','6101','6102','6103','6201','6202','6203','6300','6400','6500','6900',
'700','710','720','730','740','741','750','751','760','770','790','7101','7102','7103','7201','7202','7203','7300','7400','7500','7900');
Então se eu pego o CST ICMS 300 (sticmsSimplesNacionalImune), e chamo a função CstIcmsToStr usando ele como parametro, em vez dela voltar '300', ela vai retornar '1400'.
Assim deu para entender, ou devo dar mais algum detalhe?