-
Total de ítens
212 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Datacaixa
-
-
OK, Juliomar, obrigado, eu já tinha visto isso, só queria confirmar se limpa tudo mesmo, principalmente o ACBrMail1.AddAddress() que não está bem claro ali no fonte.
-
ok, obrigado Juliomar!
-
Boa tarde!
O ACBrMail1.clear apaga todas essas propriedades?
ACBrMail1.AddAddress();
ACBrMail1.AddCC();
AcbrMail1.AddREplyTo();
ACBrMail1.Subject :=
ACBrMail1.Body.Text:=
-
A midas.dll tá igual aqui no meu também, vou tentar pegar o BD e certificado do cliente para testar na minha máquina.
-
Como podemos melhorar as mensagens de erro da NF-e que são retornadas no código abaixo:
TVENDASMOTIVO_REJEICAO.AsString := Copy(IntToStr(dmACBr.ACBrNFe1.WebServices.Consulta.cStat) + ' - '
+ dmACBr.ACBrNFe1.WebServices.Consulta.xMotivo,1,1500);
Pegamos por exemplo um caso de um cliente que o erro estava no CNPJ da TRANSPORTADORA, porém a mensagem dizia somente CNPJ, e nosso suporte ficou mais de 1 hora tentando encontrar o problema, sendo que caso a mensagem tivesse mais clara, talvez o próprio cliente teria resolvido sem dar nenhum suporte.
-
o erro ocorre na máquina do cliente, por isso não consigo debugar, já coloquei uns showmessage e descobri que o erro ocorre na linha dmAcbr.ACBrNFe1.ImprimirInutilizacao e mesmo assim não é toda hora que acontece.
-
Não consigo debugar, mas segue o trecho completo abaixo:
var
iID_Inutilizacao : Integer;
sXML, sArq : string;
begin
if length(Memo1.Text) <= 15 then
begin
iMessageBox(handle,'Favor preencher no mínimo 15 caracteres!','Inutilizar',MB_OK);
Exit;
end;
if iMessageBox(Handle,'Deseja realmente inutilizar a numeração?','Inutilizar Numeração',MB_YESNO) <> IDYES then
Exit;dmAcbr.ACBrNFe1.WebServices.Inutiliza( sApenasNumeros(dmConexao.TFILIALCNPJ.AsString),
Memo1.Text,
edtAno.Value,
55,
edtSerie.Value,
edtNumInicial.Value,
edtNumFinal.Value);if dmAcbr.ACBrNFe1.WebServices.Inutilizacao.cStat = 102 then
begin
fInutilizacao.TInutilizacaoID_INUTILIZACAO.Required := False;
fInutilizacao.TInutilizacao.Insert;
fInutilizacao.TInutilizacaoID_INUTILIZACAO.IsNull;
fInutilizacao.TInutilizacaoID_FILIAL.AsInteger := iID_FILIAL;
fInutilizacao.TInutilizacaoANO.AsInteger := edtAno.Value;
fInutilizacao.TInutilizacaoMODELO.AsInteger := 55;
fInutilizacao.TInutilizacaoSERIE.AsInteger := edtSerie.Value;
fInutilizacao.TInutilizacaoNUMERO_INICIAL.AsInteger := edtNumInicial.Value;
fInutilizacao.TInutilizacaoNUMERO_FINAL.AsInteger := edtNumFinal.Value;
fInutilizacao.TInutilizacaoJUSTIFICATIVA.AsString := Memo1.Text;
fInutilizacao.TInutilizacaoPROTOCOLO.AsString := dmAcbr.ACBrNFe1.WebServices.Inutilizacao.Protocolo;
fInutilizacao.TInutilizacaoDATA_HORA.AsDateTime := dmAcbr.ACBrNFe1.WebServices.Inutilizacao.dhRecbto;if dmAcbr.ACBrNFe1.WebServices.Inutilizacao.tpAmb = taProducao then
fInutilizacao.TInutilizacaoAMBIENTE.AsString := 'Produção'
else
fInutilizacao.TInutilizacaoAMBIENTE.AsString := 'Homologação';//retorna proximo id do generator
iID_Inutilizacao := iRetornarID('GEN_INUTILIZACAO_ID');fInutilizacao.TInutilizacao.Post;
dmConexao.IBTCONEXAO.CommitRetaining;sArq := dmConexao.TFILIALCODIGO_ESTADO.AsString +
Copy(IntToStrZero(fInutilizacao.TInutilizacaoANO.AsInteger, 4), 3, 2) +
sApenasNumeros(dmConexao.TFILIALCNPJ.AsString) +
IntToStrZero(fInutilizacao.TInutilizacaoMODELO.AsInteger, 2) +
IntToStrZero(fInutilizacao.TInutilizacaoSERIE.AsInteger, 3) +
IntToStrZero(fInutilizacao.TInutilizacaoNUMERO_INICIAL.AsInteger, 9) +
IntToStrZero(fInutilizacao.TInutilizacaoNUMERO_FINAL.AsInteger, 9);bInserirXMLDB('INUTILIZACAO',
'INUTILIZACAO',
IntToStr(iID_Inutilizacao),
fInutilizacao.TInutilizacaoPROTOCOLO.AsString,
'Inutilizada',
dmACBr.ACBrNFe1.WebServices.Inutilizacao.XML_ProcInutNFe,
sArq+'-procInutNFe.xml',
fInutilizacao.TInutilizacaoDATA_HORA.AsDateTime,
0);
// dmAcbr.ACBrNFe1.NotasFiscais.Clear;
sXML := sVerificaArquivo('Inutilizada', 'INUTILIZACAO',
ExtractFileDir(Application.ExeName)+'\XML_NFE\Inu\'+FormatDateTime('YYYYMM',
fInutilizacao.TInutilizacaoDATA_HORA.AsDateTime)+'\'+sArq+'-procInutNFe.xml', iID_Inutilizacao ,
0);if not FileExists(sXML) then
begin
iMessageBox(handle,pchar('Não foi possível imprimir!'+#13+#13+'XML não encontrato em: '+sXML),'Imprimir',MB_OK+MB_ICONWARNING);
Exit;
end;dmAcbr.ACBrNFe1.DANFE:=dmAcbr.ACBrNFeDANFEFR1;
dmAcbr.ACBrNFe1.InutNFe.XML:='';
dmAcbr.ACBrNFe1.InutNFe.LerXML( sXML );
dmAcbr.ACBrNFe1.ImprimirInutilizacao;fInutilizacao.TInutilizacao.Close;
fInutilizacao.TInutilizacao.ParamByName('ID_FILIAL').AsInteger := iID_FILIAL;
fInutilizacao.TInutilizacao.Open;iMessageBox(handle,'Numeração inutilizada com sucesso! Favor excluir as notas fiscais que foram inutilizadas (caso houver)!','Inutilizar Numeração',MB_OK);
Close;
end
else
begin
iMessageBox(handle,pchar('Não foi possível inutilizar a numeração!'+#13+IntToStr(dmAcbr.ACBrNFe1.WebServices.Inutilizacao.cStat)+' - '+dmAcbr.ACBrNFe1.WebServices.Inutilizacao.xMotivo),'Inutilizar Numeração',MB_OK);
end;
-
-
Resumo da NFC-e em SC pelo que entendi.
O cliente solicita autorização para emitir NFC-e para SEFAZ que pode autorizar ou recursar de acordo com vários critérios que usam para avaliar a condição do cliente. Postos de combustíveis por exemplo não podem usar NFC-e.
A parte mais enroscada é a emissão em contingência, o que deve ser feito se não tiver internet para emitir a NFC-e?A sefaz oferece duas alternativas sendo a primeira o uso do PAF-ECF e a segunda o PAF-NFC-e. Para quem não quer mexer com ECF, pode optar pelo PAF-NFC-e. Tirei essas informações nesse link: http://legislacao.sef.sc.gov.br/html/atos_diat/2020/atodiat_20_038.htm que
diz o seguinte:
“§ 1º Ao realizar seu credenciamento, o contribuinte interessado deverá optar pela emissão em contingência no:
I – ECF, nos termos do art. 94 do Anexo 11 do RICMS/SC-01 e do Ato DIAT nº 22, de 27 de junho de 2020, disciplinada no Capítulo II deste Ato, oportunidade em que...
II – Programa Aplicativo Fiscal - Nota Fiscal de Consumidor Eletrônica (PAF-NFC-e), nos termos do art. 94-A do Anexo 11 do RICMS/SC-01, disciplinada no Capítulo III deste Ato, oportunidade em que...”Agora se você quer saber os requisitos do PAF-NFC-e acesse esse PDF:
http://legislacao.sef.sc.gov.br/legtrib_internet/html/atos_diat/2020/atodiat_20_038_anexo_iii.pdf -
ok, obrigado!
-
E qual CodigoMora devo utilizar para informar o Juros em Percentual no Banco do Brasil?
-
É possível informar o valor do juros em percentual no Acbr boleto?
-
ah, então é isso, obrigado Daniel!
-
Obrigado Juliomar, mas não deu certo com vírgula.
Daniel, não entendi muito bem seu exemplo, meu problema é no XML da NF-e não no envio de e-mail.
-
Não tem como então enviar dois e-mails?
-
Estou tentando informar mais de um e-mail na propriedade:
NotaF.NFe.Dest.Email:='[email protected];[email protected]'
Mas está dando erro de validação.
-
do e-mail já consegui.
Já deu certo também o número da nota. Muito obrigado pessoal!
Suporte rápido e direto do ACBR! Parabéns!
- 2
-
Não deu certo nenhum dos dois, retorna vazio, será algum outro parâmetro que preciso configurar?
-
Tenho uma função no ACBrNFe1StatusChange que verifica o seguinte:
Teria como nesse caso adicionar o número da NF-e? Qual propriedade usar?
Citarcase ACBrNFe1.Status of
stNFeRecepcao :
if ( fJanelaStatus = nil ) then
fJanelaStatus := tfJanelaStatus.Create(Application);
fJanelaStatus.lblStatus.Caption := 'Transmitindo NF-e...';
fJanelaStatus.Show;
fJanelaStatus.BringToFront;
Application.ProcessMessages;
Teria como nesse caso adicionar o endereço de e-mail do destinatário? Qual propriedade usar?CitarstNFeEmail :
begin
if ( fJanelaStatus = nil ) then
fJanelaStatus := tfJanelaStatus.Create(Application);
fJanelaStatus.lblStatus.Caption := 'Enviando E-mail...';
fJanelaStatus.Show;
fJanelaStatus.BringToFront;
Application.ProcessMessages;
end;
-
Obrigado Pessoal, vou verificar melhor aqui!
- 1
-
Estou tendo erro de access violation ao executar o seguinte comando:
dmAcbr.ACBrNFe1.ImprimirInutilizacao;
Estranho que só dá o erro na segunda vez que executa.
Segue abaixo a procedure completa:
procedure TfInutilizacaoAdd.bbSalvarClick(Sender: TObject);
var
iID_Inutilizacao : Integer;
sXML, sArq : string;
begin
if length(Memo1.Text) <= 15 then
begin
iMessageBox(handle,'Favor preencher no mínimo 15 caracteres!','Inutilizar',MB_OK);
Exit;
end;
if iMessageBox(Handle,'Deseja realmente inutilizar a numeração?','Inutilizar Numeração',MB_YESNO) <> IDYES then
Exit;dmAcbr.ACBrNFe1.WebServices.Inutiliza( sApenasNumeros(dmConexao.TFILIALCNPJ.AsString),
Memo1.Text,
edtAno.Value,
55,
edtSerie.Value,
edtNumInicial.Value,
edtNumFinal.Value);if dmAcbr.ACBrNFe1.WebServices.Inutilizacao.cStat = 102 then
begin
fInutilizacao.TInutilizacaoID_INUTILIZACAO.Required := False;
fInutilizacao.TInutilizacao.Insert;
fInutilizacao.TInutilizacaoID_INUTILIZACAO.IsNull;
fInutilizacao.TInutilizacaoID_FILIAL.AsInteger := iID_FILIAL;
fInutilizacao.TInutilizacaoANO.AsInteger := edtAno.Value;
fInutilizacao.TInutilizacaoMODELO.AsInteger := 55;
fInutilizacao.TInutilizacaoSERIE.AsInteger := edtSerie.Value;
fInutilizacao.TInutilizacaoNUMERO_INICIAL.AsInteger := edtNumInicial.Value;
fInutilizacao.TInutilizacaoNUMERO_FINAL.AsInteger := edtNumFinal.Value;
fInutilizacao.TInutilizacaoJUSTIFICATIVA.AsString := Memo1.Text;
fInutilizacao.TInutilizacaoPROTOCOLO.AsString := dmAcbr.ACBrNFe1.WebServices.Inutilizacao.Protocolo;
fInutilizacao.TInutilizacaoDATA_HORA.AsDateTime := dmAcbr.ACBrNFe1.WebServices.Inutilizacao.dhRecbto;if dmAcbr.ACBrNFe1.WebServices.Inutilizacao.tpAmb = taProducao then
fInutilizacao.TInutilizacaoAMBIENTE.AsString := 'Produção'
else
fInutilizacao.TInutilizacaoAMBIENTE.AsString := 'Homologação';//retorna proximo id do generator
iID_Inutilizacao := iRetornarID('GEN_INUTILIZACAO_ID');fInutilizacao.TInutilizacao.Post;
dmConexao.IBTCONEXAO.CommitRetaining;sArq := dmConexao.TFILIALCODIGO_ESTADO.AsString +
Copy(IntToStrZero(fInutilizacao.TInutilizacaoANO.AsInteger, 4), 3, 2) +
sApenasNumeros(dmConexao.TFILIALCNPJ.AsString) +
IntToStrZero(fInutilizacao.TInutilizacaoMODELO.AsInteger, 2) +
IntToStrZero(fInutilizacao.TInutilizacaoSERIE.AsInteger, 3) +
IntToStrZero(fInutilizacao.TInutilizacaoNUMERO_INICIAL.AsInteger, 9) +
IntToStrZero(fInutilizacao.TInutilizacaoNUMERO_FINAL.AsInteger, 9);bInserirXMLDB('INUTILIZACAO',
'INUTILIZACAO',
IntToStr(iID_Inutilizacao),
fInutilizacao.TInutilizacaoPROTOCOLO.AsString,
'Inutilizada',
dmACBr.ACBrNFe1.WebServices.Inutilizacao.XML_ProcInutNFe,
sArq+'-procInutNFe.xml',
fInutilizacao.TInutilizacaoDATA_HORA.AsDateTime,
0);
// dmAcbr.ACBrNFe1.NotasFiscais.Clear;sXML := sVerificaArquivo('Inutilizada', 'INUTILIZACAO',
ExtractFileDir(Application.ExeName)+'\XML_NFE\Inu\'+FormatDateTime('YYYYMM',
fInutilizacao.TInutilizacaoDATA_HORA.AsDateTime)+'\'+sArq+'-procInutNFe.xml', iID_Inutilizacao ,
0);dmAcbr.ACBrNFe1.DANFE:=dmAcbr.ACBrNFeDANFEFR1;
dmAcbr.ACBrNFe1.InutNFe.XML:='';
dmAcbr.ACBrNFe1.InutNFe.LerXML( sXML );dmAcbr.ACBrNFe1.ImprimirInutilizacao;
fInutilizacao.TInutilizacao.Close;
fInutilizacao.TInutilizacao.ParamByName('ID_FILIAL').AsInteger := iID_FILIAL;
fInutilizacao.TInutilizacao.Open;iMessageBox(handle,'Numeração inutilizada com sucesso! Favor excluir as notas fiscais que foram inutilizadas (caso houver)!','Inutilizar Numeração',MB_OK);
Close;
end
else
begin
iMessageBox(handle,pchar('Não foi possível inutilizar a numeração!'+#13+IntToStr(dmAcbr.ACBrNFe1.WebServices.Inutilizacao.cStat)+' - '+dmAcbr.ACBrNFe1.WebServices.Inutilizacao.xMotivo),'Inutilizar Numeração',MB_OK);
end;end;
-
Descobri aqui a solução para o problema, tem que tirar a SQL do FetchRow para funcionar o autoinc, tem que deixar em branco lá no FDUpdateSQL.
-
Obrigado Pessoal, vou verificar!
-
Pessoal, por acaso alguém conhece uma empresa que comercializa ou desenvolve ícones para serem usados nos botões/menus do Delphi?
ACBrMail.clear
em Dúvidas gerais
Postado
ah blz, entendi, obrigado!