-
Total de ítens
348 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que nebrio postou
-
Putz.....cabeça de bagre mesmo...muito obrigado.....
-
Pessoal, estou tentando enviar evento de carta de correção e estou obtendo um ERRO: Nenhum evento adicionado ao Lote, procurei e nao achei nada alguém tem ideia do que pode ser? Abaixo o código que estou usando...(copie do syte do Regys...) Delphi 7 procedure TfrmCartaCorrecao.ToolButton9Click(Sender: TObject); var Lote : Integer; arq : String; begin pnlInfo.Visible := True; pnlTexto.Caption := 'Iniciando Envio da Carta de Correção...'; Application.ProcessMessages; arq := ExtractFilePath(Application.ExeName)+'Arquivos\NotasFiscais\Saidas\Normal\'+Trim(frmNFSaida.qryNFCHAVE.Value)+'-nfe.xml'; Lote := StrToInt(FormatDateTime('ddmmyyhhmm',now)); // preenchimento dos dados da carta de correção frmNFSaida.ACBrNFe1.Configuracoes.Certificados.NumeroSerie := dm.cdsParamEmpresaNF_CERTIFICADO.Value; frmNFSaida.ACBrNFe1.EventoNFe.Evento.Clear; pnlTexto.Caption := 'Adicionando Correções...'; Application.ProcessMessages; frmNFSaida.ACBrNFe1.EventoNFe.idLote := Lote; qryItemCC.First; while not qryItemCC.Eof do begin with frmNFSaida.ACBrNFe1.EventoNFe.Evento.Add do begin infEvento.dhEvento := Now; infEvento.tpEvento := teCCe; InfEvento.cOrgao := StrToInt(Copy(frmNFSaida.qryNFCHAVE.Value,1,2)); // InfEvento.DescEvento := 'Carta de Correção'; InfEvento.versaoEvento := '1.0.00'; // InfEvento.tpEvento := 110110; InfEvento.tpAmb := taHomologacao; // infEvento.nSeqEvento := qryCartaCODCARTA.Value; InfEvento.detEvento.xCorrecao := 'Campo a Ser Corrigido: '+qryItemCCCAMPO.Value+' - Ref. '+qryItemCCREFERENCIA.Value+' - De: '+qryItemCCDE.Value+' - Para: '+qryItemCCPARA.Value+#13; end; qryItemCC.Next; end; // While ItemCC pnlTexto.Caption := 'Enviando...'; Application.ProcessMessages; // envio da carta de correção if ACBrNFe.EnviarEventoNFe(Lote) then begin with ACBrNFe.WebServices.EnvEvento do begin if not(EventoRetorno.retEvento.Items[0].RetInfEvento.cStat in [135, 136]) then begin raise EDatabaseError.CreateFmt( 'Ocorreu o seguinte erro ao enviar a carta de correção:' + sLineBreak + 'Código:%d' + sLineBreak + 'Motivo: %s', [ EventoRetorno.retEvento.Items[0].RetInfEvento.cStat, EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo ]); pnlInfo.Visible := False; pnlTexto.Caption := '';; Application.ProcessMessages; end; // Se não ocorrer Erros Grava a Carta de Correção if (dm.trs.Active = False) then dm.trs.StartTransaction; with qryAlterar do begin Close; ParamByName('DATA_EVENTO').AsDate := EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento; ParamByName('PROTOCOLO').AsString := EventoRetorno.retEvento.Items[0].RetInfEvento.nProt; ParamByName('SITUACAO').AsString := IntToStr(EventoRetorno.retEvento.Items[0].RetInfEvento.cStat)+' - '+EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo; ParamByName('CHAVENFE').AsString := EventoRetorno.retEvento.Items[0].RetInfEvento.chNFe; ParamByName('ORGAO').AsString := IntToStr(EventoRetorno.retEvento.Items[0].RetInfEvento.cOrgao); ParamByName('LOTE').AsInteger := Lote; ExecSQL; end; dm.trs.CommitRetaining; qryCarta.Close; qryCarta.Open; pnlInfo.Visible := False; pnlTexto.Caption := '';; Application.ProcessMessages; MessageDlg('Evento de Carta de Correção Enviado com Sucesso!',mtInformation,[mbOk],0); end; end else begin with ACBrNFe.WebServices.EnvEvento do begin raise Exception.Create( 'Ocorreram erros ao enviar a Carta de Correção:' + sLineBreak + 'Lote: ' + IntToStr(EventoRetorno.idLote) + sLineBreak + 'Ambiente: ' + TpAmbToStr(EventoRetorno.tpAmb) + sLineBreak + 'Orgao: ' + IntToStr(EventoRetorno.cOrgao) + sLineBreak + sLineBreak + 'Status: ' + IntToStr(EventoRetorno.cStat) + sLineBreak + 'Motivo: ' + EventoRetorno.xMotivo ); pnlInfo.Visible := False; pnlTexto.Caption := '';; Application.ProcessMessages; end; end; end;
-
Fernando, Qual o tipo de empresa? NOrmal? Simples Nacional? QUal a tributação do Pis e Cofins para a nota em questão? Não é simplesmente preencher os campos, os campos devem ser preenchidos conforme a tributação da empresa e da operação.... Existem normas técnicas que normatizam as posições e COMO os campos da NFe devem ser preenchidos.....veja o caso do tipo da sua empresa, provavelmente existe uma nota técnica explicando a situação...e o componente acompanha a legislação....
-
Guilherme Post o código que você usa para gerar o arquivo de remessa assim poderemos ajudar melhor.... Porém tem vários post principalmente sobre o Banco do Brasil no fórum... veja esse por exemplo
-
Obrigado Juliana...não sabia disso...vou testar...assim posso até tirar a configuração do sistema e deixar isso automático...
-
Pessoal, Estava testando o sistema para retorno do banco HSBC, não sei que parte o sistema trata a data, pois, o HSBC está me retornando uma data 00/00/00 e depois dá erro na Função StringToDateTimeDef. Para resolver provisoriamente alterei a função na Unit deixando-a como abaixo: {----------------------------------------------------------------------------- Converte uma <DateTimeString> para TDateTime, semelhante ao StrToDateTimeDef, mas verifica se o seprador da Data é compativo com o S.O., efetuando a conversão se necessário. Se não for possivel converter, retorna <DefaultValue> ---------------------------------------------------------------------------- } Function StringToDateTimeDef( const DateTimeString : String ; const DefaultValue : TDateTime; const Format : String = '' ) : TDateTime ; begin try if (DateTimeString = '00/00/00') or (DateTimeString = '00/00/0000') then Result := StringToDateTime( DateToStr(now), Format ) else Result := StringToDateTime( DateTimeString, Format ) except Result := DefaultValue ; end ; end ; Temporariamente resolvi meu problema, mas gostaria de saber como vocês tratam isso ou o HSBC de vocês não retorna nada do tipo.? Obrigado a todos,
-
Pessoal, boa tarde! Estou com o seguinte problema, em meu sistema tenho o CNAB informado na conta bancária pela qual eu puxo o retorno do banco, porém, no banco hsbc esse meu cliente possui dois arquivos de retorno e um é padrão 400 e outro 240. Alguém sabe se pelo arquivo eu consigo ler algo que possa ajudar eu identificar qual o modelo do arquivo? Sei lá...tentar identificar o padrão cnab antes de informar o componente qual o cnab a ser usado por ele? Atenciosamente,
-
Só lembrando para Banco do Brasil é necessário informar... Convenio Carteira e no campo Modalidade do componente a variação da carteira.... Geralmente as carteiras do banco do Brasil são xx/xxx antes da barra é a carteira e depois da barra a variação....
-
Pessoal, Muito obrigado a todos por enquanto.... Danilo estou verificando junto a meu cliente o que ele vai definir sobre os boletos...mas antes tenho que deixar meu sistema pronto para poder "parametrizar" essas opções....não pode ter uma sistema em cada cliente...mas suas dicas foram valiosíssimas....
-
a carteira é 11 mesmo....o banco imprimi e entrega.... Nesse caso para títulos que o cliente queira gerar diretamente na empresa (vendeu já sai com o boleto) temos que solicitar outra carteira ao banco? Nem sei se você pode me ajudar com isso...mas se puder agradeço.... Será que se usar a carteira 18 (Simples sem Registro) funciona? .... Vou testar.....mas deve ser isso mesmo....
-
Pessoal, boa tarde! Estou iniciando testes com o ACBRBoleto, gerei uma boleto do Banco do Brasil com informações corretas de convênio e conta corrente, é convênio de 6 digitos e gerei nosso número com 11 digitos como mando o figurino. Não tive problemas em pagar o boleto, não dá nenhum tipo de erro, porém, o dinheiro some...não cai na conta e convênio que estou informando. Alguém me dizer o que posso estar fazendo de errado? Não postar códigos para não ficar um post extenso...mas o código é de boleto simples...passo os parametros da conta e convenio e pronto.... Estranho porque testei da CEF e funcionou sem problema...... Até mais...
-
oK. André, muito obrigado.
-
Pessoal, Iniciei meus testes com o ACBR na impressão do DANFE (RAVE) ele imprimi várias vezes os campos de volume, porém, peguei meu XML e imprimi o danfe por meio do site webdanfe.com.br e ele sai corretamente..... Abri o XML e notei que realmente foram adicionados vários volumes...mas passei o comando de volumes assim: Transp.Vol.Add.qVol := qryNFVOL_QTDE.Value; Transp.Vol.Add.nVol := ''; Transp.Vol.Add.esp := qryNFVOL_ESPECIE.Value; Transp.Vol.Add.marca := qryNFVOL_MARCA.Value; Transp.Vol.Add.pesoL := qryNFVOL_PESOLIQUIDO.Value; Transp.Vol.Add.pesoB := qryNFVOL_PESOBRUTO.Value; O que pode estar errado aqui para ele gerar 5 vezes a mesma coisa... Abraços... Nebrio
-
Juliana, quanto aos manuais, até onde sei o SICOB é uma entidade vinculada a Caixa, porém, seus layouts são diferentes mesmo. Quanto a colocação do colega Maicon, que mesmo que façamos a remessa como SIGCB o retorno vem como SIGCOB não sei dizer.... Essa noite estarei analisando a unit CaixaEconomica a fundo e testarei com os arquivos de retorno que tenho, mas o manual realmente são dois... Att,
-
Nosso Numero E Vencimento Errados No Retorno Caixa Sigcb
nebrio replied to Alberto's tópico in ACBrBoleto
Alberto Esse é o mesmo problema que identifiquei no meu post..... Estou verificando a unit toda de leitura......assim que tiver uma posição de todos os campos vou postar para o pessoal analisar.... De inicio vc pode modificar sua unit para atender sua necessidade..... Att, -
...
-
Juliana, bom dia! Estou usando a cobCaixaEconomica mesmo..... Dei uma olhada na Unit da CaixaEconomica e vi o seguinte no código de Leitura do Retorno.... with Titulo do begin {Segmento T} if Copy(Linha,14,1)= 'T' then begin SeuNumero := copy(Linha,59,11); NumeroDocumento := copy(Linha,59,11); OcorrenciaOriginal.Tipo := CodOcorrenciaToTipo(StrToIntDef( copy(Linha,16,2),0)); //05 = Liquidação Sem Registro Vencimento := StringToDateTimeDef( Copy(Linha,74,2)+'/'+ Copy(Linha,76,2)+'/'+ Copy(Linha,78,2),0, 'DD/MM/YY' ); ValorDocumento := StrToFloatDef(Copy(Linha,82,15),0)/100; ValorDespesaCobranca := StrToFloatDef(Copy(Linha,199,15),0)/100; NossoNumero := Copy(Linha,40,11); Carteira := Copy(Linha,40,2); end olhando o layout da Caixa http://downloads.cai...240__SIGCB.PDF� notei que o campo NossoNumero está copiando 11 digitos a partir do 40, mas no layout são 15 digitos a partir do 42.... Não entendo muito disso pessoal é apenas o que estou vendo...se estiver falando besteira alguém me corrija.... E se tiver alguém que já utiliza o retorno da Caixa Federal e puder me auxiliar ficarei grato..... Alterei a unit para Copiar o NossoNumero := Copy(linha,42,15); e me mostrou o número correto.... será que pode estar o layout de leitura com algum problema? Att,
-
Pessoal, boa tarde! Estou testando a leitura de Retorno da Caixa Federal pelo ACBRBoleto, mas estou com problema para ler alguns campos: Os campos de valor recebeido e data crédito eu consigo ler, mas os campos nosso numero e número do documento eu não consigo ler....alguém pod eme ajudar? Anexo está o arquivo que estou lendo se alguém puder dar uma olhada fico agradecido.. Alterei a extensão do arquivo para .txt para poder anexar...mas a extensão original é .retA01021301.txt Att, Nebrio