Ir para conteúdo
  • Cadastre-se

nebrio

Membros Pro
  • Total de ítens

    348
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que nebrio postou

  1. Putz.....cabeça de bagre mesmo...muito obrigado.....
  2. 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;
  3. 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....
  4. 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
  5. Obrigado Juliana...não sabia disso...vou testar...assim posso até tirar a configuração do sistema e deixar isso automático...
  6. 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,
  7. 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,
  8. 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....
  9. 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....
  10. 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....
  11. 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...
  12. oK. André, muito obrigado.
  13. 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
  14. 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,
  15. 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,
  16. 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,
  17. 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
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.