![](https://www.projetoacbr.com.br/forum/uploads/set_resources_37/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
wagner_fix
Membros-
Total de ítens
174 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que wagner_fix postou
-
Olá pessoal boa noite... Dia 07/12/2014 eu atualizei meus fontes dos componentes ACBR... Reinstalei no meu Delphi e depois disso não consigo mais enviar CCe ao enviar ele dá o erro: Arquivo de Schema não encontrado. Lembrando que antes da atualização meus clientes emitiam CCe normalmente... Já confirmei o caminho do schema estão corretos, já baixei pelo o próprio site do sefaz e nada... Obs.: Ao emitir o CT-e não está dando o erro só no CCe, Alguém tem alguma dica? Grato, Wagner
-
Ítalo em primeiro lugar como sempre obrigado pela resposta... Ao conferir o código para te enviar vi que eu estava assinando novamente na hora de enviar o e-mail.. Já arrumei e funcionou... Obrigado e desculpa.. Tem como eu apagar esse tópico?
-
Olá pessoal bom dia... Ao enviar o XML para o sefaz funciona perfeitamente... Atualiza o protocolo do XML e tudo.. Mas se meu cliente quando termina de enviar para o sefaz e eu dou a opção para ele enviar o XML e o PDF por e-mail e ele confirma que sim.. Enviar o XML perfeitamente por e-mail... Mas some aquela parte do protocoloco do XML igual as tag abaixo.... <protCTe versao="2.00"><infProt><tpAmb>2</tpAmb><verAplic>SP-CTe-20-05-2014</verAplic><chCTe>35140667397737000160570010000001311000001315</chCTe><dhRecbto>2014-06-06T16:55:57</dhRecbto><nProt>135140006586314</nProt><digVal>xbFkpJMfL8NZJt4TA1Tj1EpqK/U=</digVal><cStat>100</cStat><xMotivo>Autorizado o uso do CT-e</xMotivo></infProt></protCTe></cteProc> Alguém sabe o que pode estar ocorrendo? Abraço, Wagner
-
Beto eu fiz para importar dados da NF-e XML mas a idéia é a mesma é só mudar os nomes do campo... Obs.: Sempre pego informações diretamente do componente não sendo necessário ler o XML... mas caso queira segue o meu exemplo abaixo... var vXMLDoc: TXMLDocument; NodePrim, NodePai, NodePriEmi, NodePaiEmi, NodeCabecalho, NodePrim2, NodePai2, NodePai3, Nocab2, NodePrim3, NodePai4, NodePai5, Nocab3, NodePrim4, NodePai6, NodePai7, NodePai8, NodePai9, Nocab4 : IXMLNode; AuxChave, AuxData, AuxPesoB, AuxVNF : String; begin vXMLDoc := TXMLDocument.Create(self); AbrirXML.Title := 'Selecione o XML'; AbrirXML.DefaultExt := '*.xml'; AbrirXML.Filter := 'Arquivos XML (*.xml)|*.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*'; if AbrirXML.Execute then begin vXMLDoc.LoadFromFile(AbrirXML.FileName); //Le Arquivo Recibo XML'); vXMLDoc.Active := True; NodePrim := vXMLDoc.DocumentElement.ChildNodes.FindNode('protNFe'); NodePai := NodePrim.ChildNodes.FindNode('infProt'); NodePriEmi := vXMLDoc.DocumentElement.ChildNodes.FindNode('NFe'); NodePaiEmi := NodePriEmi.ChildNodes.FindNode('infNFe'); NodeCabecalho := NodePaiEmi.ChildNodes['ide']; NodePrim2 := vXMLDoc.DocumentElement.ChildNodes.FindNode('NFe'); NodePai2 := NodePrim2.ChildNodes.FindNode('infNFe'); NodePai3 := NodePai2.ChildNodes.FindNode('transp'); Nocab2 := NodePai3.ChildNodes['vol']; NodePrim3 := vXMLDoc.DocumentElement.ChildNodes.FindNode('NFe'); NodePai4 := NodePrim3.ChildNodes.FindNode('infNFe'); NodePai5 := NodePai4.ChildNodes.FindNode('total'); Nocab3 := NodePai5.ChildNodes['ICMSTot']; NodePrim4 := vXMLDoc.DocumentElement.ChildNodes.FindNode('NFe'); NodePai6 := NodePrim4.ChildNodes.FindNode('infNFe'); NodePai7 := NodePai6.ChildNodes.FindNode('transp'); Nocab4 := NodePai7.ChildNodes.FindNode('vol'); AuxChave := NodePai.ChildNodes['chNFe'].text; AuxChave := FormataChave(AuxChave); txtChave.Text := Trim(AuxChave); txtChaveExit(Self); AuxData := NodeCabecalho.ChildNodes['dEmi'].text; txtEmissao.Text := Copy(AuxData,9,2)+'/'+Copy(AuxData,6,2)+'/'+Copy(AuxData,1,4); AuxPesoB := Nocab2.ChildNodes['pesoB'].text; AuxPesoB := StringReplace(AuxPesoB, '.', ',', [rfReplaceAll]); txtPBruto.Text := FormatFloat('###,##0.000', StringFloat(AuxPesoB)); txtPCalc.Text := Trim(txtPBruto.Text); AuxVNF := Nocab3.ChildNodes['vNF'].text; AuxVNF := StringReplace(AuxVNF, '.', ',', [rfReplaceAll]); txtVlNota.Text := FormatFloat('###,##0.00', StringFloat(AuxVNF)); txtVolume.Text := FormatFloat('###,##0.000', StringFloat(Nocab4.ChildNodes['qVol'].text)); txtVlNota.SetFocus; end; Espero que tenha te ajudado...
-
Italo muito obrigado funcionou perfeitamente... Você não tem idéia de como irá me ajudar... Grato
-
Italo bom dia... Primeiramente obrigado pela resposta... Fiz como você me indicou e não funcionou... Propositalmente peguei um xml já enviado e ok... E tirei a parte que de vez em quando da erro conforme relatei acima... <protCTe versao="2.00"><infProt><tpAmb>2</tpAmb><verAplic>SP-CTe-20-05-2014</verAplic><chCTe>35140667397737000160570010000001311000001315</chCTe><dhRecbto>2014-06-06T16:55:57</dhRecbto><nProt>135140006586314</nProt><digVal>xbFkpJMfL8NZJt4TA1Tj1EpqK/U=</digVal><cStat>100</cStat><xMotivo>Autorizado o uso do CT-e</xMotivo></infProt></protCTe></cteProc> Depois executei o comando que você pediu e não atualizou o XML... Grato, Wagner
-
Pessoal bom dia tudo bem? As vezes muito raro mas acontece na hora de enviar o XML para o sefaz, o programa não dá erro nenhum mas na hora de salvar o XML as informações do envio não salva... Ai se eu mando visualizar o XML, em baixo fica com aquela mensagem. Cte não enviado para o Sefaz. Mas se eu consulto pela chave foi enviado para o sefaz... E tenho que arrumar o xml manualmente... Alguém sabe onde eu posso estar errando? Grato, Wagner
-
Segue o exemplo... with DM.SqlAux5 do begin LimpaSQL(DM.SqlAux5); SQL.Add('SELECT * FROM CTE05 WHERE CODC=:xCODC'); Parameters.ParambyName('xCODC').Value := StrToInt(txtCod.Text); Open; First; end; j := 0; j := DM.SqlAux5.RecordCount; if j > 0 then begin for i := 1 to j do begin with infCTeNorm.infDoc.infNFe.Add do begin chave := Trim(DM.SqlAux5.FieldByName('CHAVE').AsString); PIN := Trim(DM.SqlAux5.FieldByName('PIN').AsString); dPrev := StrToDate(txtGeraDtPrevista.Text); end; DM.SqlAux5.Next; end; end; Faço assim e dá certo... Abraço, Wagner
-
Fabiofranzini continuo com o mesmo problema... Juliomar todas as fontes atualizadas... Grato, Wagner
-
Wislei foi o que o Fabio disse... É que o CT-e está ocupando 2 folhas... Se alguém puder ajudar agradeço...
-
Olá bom dia... Depois que eu atualizei os meus fontes para o CTe 2.0 os meus DACTE estão saindo em 2 folhas... E tem alguns clientes meus que imprimi mais de 1000 DACTE mês... E é claro eles estã maluco... Baixei as atualizações em 06/05/2014 O meu DACTE é em quickreport, o que eu posso fazer para voltar sair em apenas 1 página? Grato
-
Ítalo era puro erro meu... Eu estava procurando dentro dos TXT de vez olhar no exemplo em delphi... Já consegui... Abraço Wagner
-
Italo grato pela resposta... Você tem esse exemplo de código? Já procurei em vários lugares e não estou encontrando... As vezes posso estar procurando errado... Grato
-
Pessoal alguém tem um exemplo de quickreport para impressão para carta de correção para CT-e. Grato, Wagner
-
Valeu pela dica Ítalo funcionou perfeitamente... Creio que essa é da forma correta... Abraço, Wagner
-
Tive que fazer para o meu cliente... Acabei de testar e funciona perfeitamente... while (not DM.SqlAux.Eof ) do begin ACBrCTe1.DACTe.NumCopias := StrToInt(txtQtde.Text); PathArquivo := ACBrCTe1.Configuracoes.Arquivos.GetPathCTe(DM.SqlAux.FieldByName('DTEHR1').AsDateTime); Arq := PathArquivo+'\'+Trim(DM.SqlAux.FieldByName('CHAVE').AsString)+'-cte.xml'; ACBrCTe1.Conhecimentos.Clear; ACBrCTe1.Conhecimentos.LoadFromFile(Arq); ACBrCTe1.DACTe.MostrarPreview := False; ACBrCTe1.Conhecimentos.Imprimir; DM.SqlAux.Next; end;
-
Olá bom dia a todos... Meu cliente está me perguntando se tem como sair a razão social do emitente no canhoto do DACTE... Uso a versão Quickreport... Grato, Wagner
-
Olá bom dia a todos... Hoje tive problema com o meu cliente para cancelamento de ct-e... E ele não conseguia cancelar... Ao pesquisar na web e o próprio erro dizia: 7 dias (168 horas) pois bem... O que ele estava tentando cancelar era do dia 29/12/2013, só que ele tentou cancelar um do dia 09/01/2014 e hoje é dia 29/01/2014, 20 dias depois e aceitou... Pesquisei no site da fazenda pela chave e lá consta que está cancelado... Alguém poderia me ajudar qual o prazo real do cancelamento? Grato, Wagner
-
Faz um While do seu select do banco de dados e esse comando dentro... PathArquivo := ACBrCTe1.Configuracoes.Arquivos.GetPathCTe(StrToDate(txtEmissao.Text)); Arq := PathArquivo+'\'+Trim(txtChave.Text)+'-cte.xml'; ACBrCTe1.Conhecimentos.Clear; ACBrCTe1.Conhecimentos.LoadFromFile(Arq); ACBrCTe1.Conhecimentos.Imprimir;
-
Eu faço isso no meu sistema... {Imprimir com a quantidade de cópia desejada} if (AuxVisu = 1) then begin AuxQtdCopia := InputBox('Impressão','Informe a Quantidade',Trim(AuxQtdCopia)); ACBrCTe1.DACTe.NumCopias := StrToInt(AuxQtdCopia); ACBrCTe1.Enviar(1,True); end;
-
Agora sim Ítalo perfeito... Grato, Wagner
-
Italo boa tarde... Obrigado pela resposta... Mas não funcionou... Tentei pegar alguns exemplos na internet e não encontrei nada... Eu estou jogando esse comando aqui veja... Está correto?? if (Application.MessageBox('Deseja Realmente Gerar/Assinar/Validar/Transmitir o CT-e?','Pergunta',MB_YESNO+MB_ICONQUESTION) = IDYES) then begin ACBrCTe1.DACTe.MostrarPreview := False; ACBrCTeDACTeQR1.MostrarPreview := False; ACBrCTeDACTeQR1.Email := '[email protected]'; ToolBar1.Enabled := False; btnGerar.Enabled := False; btnEmail.Enabled := False; btnDacte.Enabled := False; btnStatus.Enabled := False; btnCancelar.Enabled := False; btnErro.Enabled := False; MemoResp.Lines.Clear; MemoResp.Lines.Add('-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'); MemoResp.Lines.Add('Gerando XML...'); MemoResp.Refresh; NaoEmitidos; // Gera o XML, Assina e Salva o Arquivo memoResp.Lines.Add('Se preparando para Assinar...'); memoResp.Lines.Add('Assinando...'); memoResp.Refresh; ACBrCTe1.Conhecimentos.Assinar; .............................
-
Olá pessoal bom dia... Estou usando a versão 1.4 do CT-e e tenho uma dúvida. É possível sair impresso no Dacte o e-mail do emitente? Não vi essa propriedade do componente... Grato, Wagner
-
Pessoal boa noite dei uma boa pesquisada na internet e não achei nada... Estou com uma nova cliente e na sexta dia 04/08/2013 ela emitiu 3 ct-e perfeitamente sem erro algum... Depois de emitir a contadora disse que o campo CST da receita está em branco veja a imagem em anexo... Olha o código que estou usando... case cbxIcmsCod.ItemIndex of 0: begin AuxVal1 := 0; AuxVal2 := 0; AuxVal3 := 0; Imp.ICMS.SituTrib := cst00; Imp.ICMS.ICMS00.CST := cst00; // Tributação Normal ICMS AuxVal1 := StringFloat(txtICMSBC.Text); AuxVal2 := StringFloat(txtICMSAliq.Text); AuxVal3 := StringFloat(txtICMSCred.Text); Imp.ICMS.ICMS00.vBC := RoundTo(AuxVal1, -2); Imp.ICMS.ICMS00.pICMS := RoundTo(AuxVal2, -2); Imp.ICMS.ICMS00.vICMS := RoundTo(AuxVal3, -2); end; 1: begin AuxVal1 := 0; AuxVal2 := 0; AuxVal3 := 0; AuxVal4 := 0; Imp.ICMS.SituTrib := cst20; Imp.ICMS.ICMS20.CST := cst20; // Tributação com BC reduzida do ICMS AuxVal1 := StringFloat(txtICMSPerc.Text); AuxVal2 := StringFloat(txtICMSBC.Text); AuxVal3 := StringFloat(txtICMSAliq.Text); AuxVal4 := StringFloat(txtICMSCred.Text); Imp.ICMS.ICMS20.pRedBC := RoundTo(AuxVal1, -2); Imp.ICMS.ICMS20.vBC := RoundTo(AuxVal2, -2); Imp.ICMS.ICMS20.pICMS := RoundTo(AuxVal3, -2); Imp.ICMS.ICMS20.vICMS := RoundTo(AuxVal4, -2); end; 2: begin Imp.ICMS.SituTrib := cst40; Imp.ICMS.ICMS45.CST := cst40; // ICMS Isento end; 3: begin Imp.ICMS.SituTrib := cst41; Imp.ICMS.ICMS45.CST := cst41; // ICMS não Tributada end; 4: begin Imp.ICMS.SituTrib := cst51; Imp.ICMS.ICMS45.CST := cst51; // ICMS diferido end; 5: begin AuxVal1 := 0; AuxVal2 := 0; AuxVal3 := 0; AuxVal4 := 0; Imp.ICMS.SituTrib := cst60; Imp.ICMS.ICMS60.CST := cst60; // Tributação atribuida ao tomador ou 3. por ST AuxVal1 := StringFloat(txtICMSBC.Text); AuxVal2 := StringFloat(txtICMSAliq.Text); AuxVal3 := StringFloat(txtICMSCred.Text); AuxVal4 := StringFloat(txtICMSOutor.Text); Imp.ICMS.ICMS60.vBCSTRet := RoundTo(AuxVal1, -2); Imp.ICMS.ICMS60.pICMSSTRet := RoundTo(AuxVal2, -2); Imp.ICMS.ICMS60.vICMSSTRet := RoundTo(AuxVal3, -2); Imp.ICMS.ICMS60.vCred := RoundTo(AuxVal4, -2); end; 6: begin AuxVal1 := 0; AuxVal2 := 0; AuxVal3 := 0; AuxVal4 := 0; AuxVal5 := 0; Imp.ICMS.SituTrib := cst90; Imp.ICMS.ICMS90.CST := cst90; // ICMS Outros AuxVal1 := StringFloat(txtICMSPerc.Text); AuxVal2 := StringFloat(txtICMSBC.Text); AuxVal3 := StringFloat(txtICMSAliq.Text); AuxVal4 := StringFloat(txtICMSCred.Text); AuxVal5 := StringFloat(txtICMSOutor.Text); Imp.ICMS.ICMS90.pRedBC := RoundTo(AuxVal1, -2); Imp.ICMS.ICMS90.vBC := RoundTo(AuxVal2, -2); Imp.ICMS.ICMS90.pICMS := RoundTo(AuxVal3, -2); Imp.ICMS.ICMS90.vICMS := RoundTo(AuxVal4, -2); Imp.ICMS.ICMS90.vCred := RoundTo(AuxVal5, -2); end; 7: begin AuxVal1 := 0; AuxVal2 := 0; AuxVal3 := 0; AuxVal4 := 0; Imp.ICMS.SituTrib := cst90; Imp.ICMS.ICMSOutraUF.CST := cst90; // Tributação devido a outra UF AuxVal1 := StringFloat(txtICMSPerc.Text); AuxVal2 := StringFloat(txtICMSBC.Text); AuxVal3 := StringFloat(txtICMSAliq.Text); AuxVal4 := StringFloat(txtICMSCred.Text); Imp.ICMS.ICMSOutraUF.pRedBCOutraUF := RoundTo(AuxVal1, -2); Imp.ICMS.ICMSOutraUF.vBCOutraUF := RoundTo(AuxVal2, -2); Imp.ICMS.ICMSOutraUF.pICMSOutraUF := RoundTo(AuxVal3, -2); Imp.ICMS.ICMSOutraUF.vICMSOutraUF := RoundTo(AuxVal4, -2); end; 8: begin Imp.ICMS.SituTrib := cstICMSSN; Imp.ICMS.ICMSSN.indSN := 1; // Simples Nacional end; end; Já testei com várias versões de shemas e nada até agora... Alguém pode me ajudar? Grato,
-
Já fiz e não resolveu... Grato