-
Total de ítens
10 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Godin34
-
-
Olá Leonardo, Obrigado pelo retorno.
Estou usando como Regime normal. Veja como estou usando o codigo:
while not CdsItensNFe.Eof do
begin
Inc(aNumIten);
with Det.Add do
begin
Prod.nItem := aNumIten;
Prod.cProd := IntToStr(CdsItensNFe.FieldByName('ID_PRODUTO').AsInteger);
Prod.cEAN := '';
Prod.xProd := CdsItensNFe.FieldByName('DESCRICAO').AsString;
Prod.NCM := CdsItensNFe.FieldByName('NCM').AsString;
Prod.EXTIPI := CdsItensNFe.FieldByName('EXTIPI').AsString; ;
Prod.CFOP := CdsItensNFe.FieldByName('CFOP').AsString;
Prod.uCom := CdsItensNFe.FieldByName('UNIDADE').AsString;
Prod.qCom := CdsItensNFe.FieldByName('QUANTIDADE').AsFloat;
Prod.vUnCom := CdsItensNFe.FieldByName('VALOR_UNITARIO').AsFloat;
Prod.vProd := CdsItensNFe.FieldByName('QUANTIDADE').AsFloat*
CdsItensNFe.FieldByName('VALOR_UNITARIO').AsFloat;
Prod.cEANTrib := '';
Prod.uTrib := CdsItensNFe.FieldByName('UNIDADE').AsString;
Prod.qTrib := CdsItensNFe.FieldByName('QUANTIDADE').AsFloat;
Prod.vUnTrib := CdsItensNFe.FieldByName('VALOR_UNITARIO').AsFloat;
Prod.vFrete := CdsItensNFe.FieldByName('VALOR_FRETE').AsFloat;
Prod.vSeg := CdsItensNFe.FieldByName('VALOR_SEGURO').AsFloat;
Prod.vDesc := CdsItensNFe.FieldByName('VALOR_DESCONTO').AsFloat;
Prod.vOutro := CdsItensNFe.FieldByName('OUTRAS_DESPESAS').AsFloat;
with Imposto do
begin
with ICMS do
begin
// simples nacional
if (CdsEmitente.FieldByName('CRT').AsInteger = 1) then
begin
if CdsItensNFe.FieldByName('CSOSN').AsString = '101' then
CSOSN := csosn101
else if CdsItensNFe.FieldByName('CSOSN').AsString = '102' then
CSOSN := csosn102
else if CdsItensNFe.FieldByName('CSOSN').AsString = '103' then
CSOSN := csosn103
else if CdsItensNFe.FieldByName('CSOSN').AsString = '202' then
CSOSN := csosn202
else if CdsItensNFe.FieldByName('CSOSN').AsString = '203' then
CSOSN := csosn203
else if CdsItensNFe.FieldByName('CSOSN').AsString = '400' then
CSOSN := csosn400
else if CdsItensNFe.FieldByName('CSOSN').AsString = '500' then
CSOSN := csosn500
else if CdsItensNFe.FieldByName('CSOSN').AsString = '900' then
CSOSN := csosn900;
end;
// regime normal ou excesso
if (CdsEmitente.FieldByName('CRT').AsInteger = 2) or
(CdsEmitente.FieldByName('CRT').AsInteger = 3) then
begin
if CdsItensNFe.FieldByName('CST').AsString = '00' then
CST := cst00
else if CdsItensNFe.FieldByName('CST').AsString = '10' then
begin
if CdsItensNFe.FieldByName('ICMS_PART').AsString = 'S' then
CST := cstPart10
else
CST := cst10
end
else if CdsItensNFe.FieldByName('CST').AsString = '20' then
CST := cst20
else if CdsItensNFe.FieldByName('CST').AsString = '30' then
CST := cst30
else if CdsItensNFe.FieldByName('CST').AsString = '40' then
CST := cst40
else if CdsItensNFe.FieldByName('CST').AsString = '41' then
CST := cst41
else if CdsItensNFe.FieldByName('CST').AsString = '45' then
CST := cst45
else if CdsItensNFe.FieldByName('CST').AsString = '50' then
CST := cst50
else if CdsItensNFe.FieldByName('CST').AsString = '51' then
CST := cst51
else if CdsItensNFe.FieldByName('CST').AsString = '60' then
CST := cst60
else if CdsItensNFe.FieldByName('CST').AsString = '70' then
CST := cst70
else if CdsItensNFe.FieldByName('CST').AsString = '90' then
begin
if CdsItensNFe.FieldByName('ICMS_PART').AsString = 'S' then
CST := cstPart90
else
CST := cst90;
end;
end;
//
ICMS.orig := oeNacional;
ICMS.modBC := dbiValorOperacao;
ICMS.pRedBC := CdsItensNFe.FieldByName('REDUCAO_BASE').AsFloat;
ICMS.vBC := CdsItensNFe.FieldByName('BASE_ICMS').AsFloat;
ICMS.pICMS := CdsItensNFe.FieldByName('ALIQ_ICMS').AsFloat;
ICMS.vICMS := CdsItensNFe.FieldByName('VALOR_ICMS').AsFloat;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := CdsItensNFe.FieldByName('PERC_MVA').AsFloat;
ICMS.pRedBCST := CdsItensNFe.FieldByName('REDUCAO_BASE').AsFloat;
ICMS.vBCST := CdsItensNFe.FieldByName('BASE_ICMS_ST').AsFloat;
ICMS.pICMSST := CdsItensNFe.FieldByName('ALIQ_ICMS_ST').AsFloat;
ICMS.vICMSST := CdsItensNFe.FieldByName('VALOR_ICMS_ST').AsFloat;
ICMS.UFST := EdtUF.Text;
ICMS.pCredSN := CdsItensNFe.FieldByName('ALIQ_ICMS').AsFloat;
ICMS.vCredICMSSN := CdsItensNFe.FieldByName('VALOR_ICMS').AsFloat;Grato,
Luís Godinho.
-
Olá, pessoal!
No meu sistema coloquei a opção para no caso de CST selecionar a CST90 ou CSTPart90, porém ao gerar o XML sempre cai na tag <imposto><ICMSPart><CST>90</CST> e preciso que saia na tab <Imposto><ICMS90><CST>90</CST>, da primeira forma tem dado erro na validação.
Acredito que seja algo simples que não estou sabendo resolver e gostaria que se possível me desse uma dica.
Grato,
Luís Godinho.
-
Olá! Me desculpe se estiver abrindo um tópico já existente. Mas fiz algumas pesquisa e não encontrei repostas.
A questão é a seguinte. Desenvolvi uma aplicação para emissão do NFe e NFCe no delphi 7 e esta funcionando tudo certo. E tive que migrar a rotina para uma aplicação com o delphi 2010, e ai começa o problema. Não sei se tem algo haver com a versão do delphi.
Acontece o seguinte: Gero o XML, assino e passo pela validação. Até aí tudo certo, porém ao mandar enviar a NFe gerada o sistema entra no processamento e quando é exibida a primeira mensagem retorno indicando o recebimento do lote, as informações desta estão todas zeradas conforme imagem anexa.
Se pego o mesmo XML e coloco envio usando minha aplicação criada no dephi 7, o procedimento corre tudo certo, mas na aplicação compilada no delphi 2010 sempre da o mesmo problema
Se alguem tiver alguma dica para me dar, pois tentei algumas soluções sem exito.
Grato,
Luís Godinho.
-
Obrigado pelas respostas rápidas. Deu certinho aqui.
Abs.!
-
Já tinha dado uma olhada, mas não encontrei nada que me leva-se a esta dll. Lendo o PDF de perguntas frequentes encontrei a seguinte descrição:
P: A DLL (Driver) do SAT será a mesma para todos os fabricantes e modelos de SAT-CF-e?
Todos os fabricantes devem implementar suas DLLs seguindo exatamente as especificações,
padronizando a comunicação entre AC e SAT, conforme o capitulo 6 da Especificação de Requisitos do
SAT, disponível em www.fazenda.sp.gov.br/sat > downloads > arquivos vigentes. O nome da DLL não é
padronizado com “SAT.dll”.
A mensagem que dá quando mando instalar o componente é a seguinte:
O programa não pode ser iniciado porque esta faltando c:\SAT\SAT.DLL no seu computador. Tente reinstala-lo para resolver este problema.
Fiz o download hoje (16/08/2013) do componente via SVN.
Desde já agradeço pela atenção.
-
Fiz o download dos componentes, porém quando fui instalar o AcBr_Sat compilou normalmente, mas ao instalar diz que falta o arquivo sat.dll que não encontrei junto com os outros arquivos baixados. Tem alguma dica sobre como consigo esta dll.
-
Olá pessoal!
Estou fazendo um projeto de emissão de boleto para um cliente, porem ele precisa do boleto com a impressão do recibo de entrega. Alguem saberia me dizer como fazer para sair isso no boleto?
Grato!
-
Muito obrigado pela informação. Ja alterei aqui.
Abs!
-
Estou com um problema em minha aplicação PAF-ECF, com relação a exibição das mensagens geradas pelo componente, devido ao erro de comunicação com a impressora.
Gostaria de que as mesmas não sejam exibidas.
Já alterei a propriedade ExibirMensagem para false e mesmo assim a mensagem aparece.
O que devo fazer para resolver.
Desde já agradeço pela colaboração!
Atualizar Xml Atraves Da Consulta
em ACBrNFe
Postado
Como você fez no seu ai para conseguir atualizar o XML? no meu aqui da erro.
Grato,