Bom Dia, segui os passos do Régys e deu certo.... usando o endereço do próprio ACBr e deu certo....
Bom Dia
Estou enviando a NFC-e pelo CRT = 3 envia normalmente...... sem nenhum problema....
Mais quando eu mudo para o CRT = 1 dar o seguinte erro:
estou informando o CSOSN = 102 segue abaixo o código......
---------------------------
Debugger Exception Notification
---------------------------
raised exception class EACBrNFeException with message 'Falha na validação dos dados da nota: 590
1871 - Element '{http://www.portalfiscal.inf.br/nfe}ICMSSN': This element is not expected. Expected is one of ( {http://www.portalfiscal.inf.br/nfe}ICMS00, {http://www.portalfiscal.inf.br/nfe}ICMS10, {http://www.portalfiscal.inf.br/nfe}ICMS20, {http://www.portalfiscal.inf.br/nfe}ICMS30, {http://www.portalfiscal.inf.br/nfe}ICMS40, {http://www.portalfiscal.inf.br/nfe}ICMS51, {http://www.portalfiscal.inf.br/nfe}ICMS60, {http://www.portalfiscal.inf.br/nfe}ICMS70, {http://www.portalfiscal.inf.br/nfe}ICMS90, {http://www.portalfiscal.inf.br/nfe}ICMSPart ).
'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
with Imposto do
begin
with ICMS do
begin
ICMS.orig := oeNacional;
iCRT := StrToInt(frmmodulo.qrfilial.fieldbyname('crt').asstring);
case iCRT of
1:begin // Linhas para o simples nacional
if frmmodulo.qrproduto_mov.fieldbyname('csosn').asstring = '101' then ICMS.CSOSN := csosn101;
if frmmodulo.qrproduto_mov.fieldbyname('csosn').asstring = '102' then ICMS.CSOSN := csosn102;
if frmmodulo.qrproduto_mov.fieldbyname('csosn').asstring = '103' then ICMS.CSOSN := csosn103;
if frmmodulo.qrproduto_mov.fieldbyname('csosn').asstring = '300' then ICMS.CSOSN := csosn300;
if frmmodulo.qrproduto_mov.fieldbyname('csosn').asstring = '400' then ICMS.CSOSN := csosn400;
if frmmodulo.qrproduto_mov.fieldbyname('csosn').asstring = '201' then ICMS.CSOSN := csosn201;
if frmmodulo.qrproduto_mov.fieldbyname('csosn').asstring = '202' then ICMS.CSOSN := csosn202;
if frmmodulo.qrproduto_mov.fieldbyname('csosn').asstring = '500' then ICMS.CSOSN := csosn500;
if frmmodulo.qrproduto_mov.fieldbyname('csosn').asstring = '900' then ICMS.CSOSN := csosn900;
case ICMS.CSOSN of
csosn101: begin
ICMS.pCredSN := 0.0; // Colocar o percentual do Crédito
ICMS.vCredICMSSN := 0.0; // Colocar o valor do Crédito
end;
csosn102: begin
end;
csosn103: begin
end;
csosn300: begin
end;
csosn400: begin
end;
csosn201: begin
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := frmmodulo.qrproduto_mov.fieldbyname('margem_agregada').Value;
ICMS.pRedBCST := 0;
ICMS.vBCST := frmmodulo.qrproduto_mov.fieldbyname('base_sub').Value;
ICMS.pICMSST := 0;
ICMS.vICMSST := frmmodulo.qrproduto_mov.fieldbyname('icms_sub').Value;
ICMS.pCredSN := 0.0; // Colocar o percentual do Crédito
ICMS.vCredICMSSN := 0.0; // Colocar o valor do Crédito
end;
csosn202: begin
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := frmmodulo.qrproduto_mov.fieldbyname('margem_agregada').Value;
ICMS.pRedBCST := 0;
ICMS.vBCST := frmmodulo.qrproduto_mov.fieldbyname('base_sub').Value;
ICMS.pICMSST := 0;
ICMS.vICMSST := frmmodulo.qrproduto_mov.fieldbyname('icms_sub').Value;
end;
csosn500: begin
ICMS.vBCSTRet := frmmodulo.qrproduto_mov.fieldbyname('base_sub').Value;
ICMS.vICMSSTRet := frmmodulo.qrproduto_mov.fieldbyname('icms_sub').Value;
end;
csosn900: begin
ICMS.modBC := dbiMargemValorAgregado;
ICMS.vBC := frmmodulo.qrproduto_mov.fieldbyname('base_calculo').Value;
ICMS.pRedBC := frmmodulo.qrproduto_mov.fieldbyname('icms_reduzido').Value;
ICMS.pICMS := frmmodulo.qrproduto_mov.fieldbyname('ICMS').asfloat;
ICMS.vICMS := frmmodulo.qrproduto_mov.fieldbyname('valor_icms').Value;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := frmmodulo.qrproduto_mov.fieldbyname('margem_agregada').Value;
ICMS.pRedBCST := 0;
ICMS.vBCST := frmmodulo.qrproduto_mov.fieldbyname('base_sub').Value;
ICMS.pICMSST := 0;
ICMS.vICMSST := frmmodulo.qrproduto_mov.fieldbyname('icms_sub').Value;
ICMS.pCredSN := 0.0;// Colocar o percentual do Crédito
ICMS.vCredICMSSN := 0.0; // Colocar o valor do Crédito
end;