Ir para conteúdo
  • Cadastre-se

Danilo

Membros
  • Total de ítens

    76
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Danilo postou

  1. é verdade, como Kiko falou o a tag <cOrgao>53</cOrgao> se refere ao DF, só pode ser isso, verifique seu código, está aí o problema, como acusa o retorno <xMotivo>Rejeicao: Codigo do orgao diverge da UF autorizadora</xMotivo>... só pode ser isso... se não conseguir encontrar ONDE O SISTEMA COLOCA ESSE 53 tente postar o seu código aqui pra gente ver se acha... outra coisa, como é configurado o componente ACBrNFe ? Pega as config. do banco ? de algum arquivo ini ?
  2. vc nunca havia conseguido gerar uma cce antes ? ou penas essa que está dando erro ?
  3. isso, posta o novo xml pra gente ver, mas imagino que o problema seja esse mesmo, pessoal ta passando cheve errada, e aquela chave nem consta na base, se eles te falaram que foi cancelada, não foi.. pq senão constaria que ela foi cancela, e não é essa informação que aparece quando se consulta, aparece que é uma NFe inexistente, ou seja essa chave :15130107481452000181550010000073181000015328 nunca existiu para a sefaz , nem nacional nem regional, ha não ser que possa existir em em modo de contingencia, dai teria que olhar a tag no xml, mas mesmo assim era pra constar no ambiente regional... mas vai dar tudo certo, é assim mesmo, tem coisa que a gente pena pra descobrir.
  4. mas vc notou que os xmls retornos respostas dos eventos cce que vc postou no tópico se referem à uma outra chave ? ou seja, vc está passando a chave errada na hora de gerar o evendo CCe... vc está passando essa: 15130107481452000181550010000073181000015328 quando na verdade deveria passar essa: 15130107481452000181550010000073181000015441
  5. éssa aqui é a chave da sua NFe ??? 15130107481452000181550010000073181000015328 eu consultei tanto no portal nacional, quanto no portal do PA e essa chave se refere à uma nfe inexistente... a que vc diz ter conseguido visualizar os dados quando consultou deve ser outra chave, então se vc está passando essa chave = 15130107481452000181550010000073181000015328 para gerar a CCe, nao vai dar certo mesmo, pq essa NFe 'não existe' nos servidores nacionais nem regionais.
  6. estou perguntando isso, pq o que ocorre à meu ver é que vc manda um evendo de CCe, mas ele não ENCONTRA a NFe correspondente. ()tipo, a nfe foi enviada à um webservice e o evento de CCe para outro, ou ambos para o mesmo, mas o CCe não encontra a NFe), é o que parece.
  7. vc consegue consultá-la pela chave no portal nacional e aparecem os dados ? e no portal estadual tbm... ?
  8. essa nfe foi gerada em modo de contingencia SCAN ?
  9. eu passei por algo parecido e sempre retornava a mesma mensagem 'Rejeição: UF da Chave de Acesso diverge da UF autorizadora', como no seu caso, perdi um dia com isso, eu consultava um xml de produção, mas eu configurava meu componente em tempo de execução e passada na propriedade ambiente o valor = taHomologacao, tente dar alguma atenção à essa propriedade.
  10. boa tarde Arce, qual rotina vc usa pra voltar o relógio ?
  11. Deu certo, consegui trabalhar apenas com xml no bando, evitando salvá-los no disco. Usei o código para persistir no BD, antes eu passava um lowerCase na consulta, mas agora uso um específico no ORM que não trata isso, no caso so xml, isso bagunçava e por isso não validava, claro, além da assinatura do certificado que tbm perdia a validade. class function TldiNFe.Grava_XML_No_BD(pXML: TStringStream; pIdNFeCAB: String): Boolean; var SQL : WideString; sXML : WideString; // Conteudo do XML sList: TStringList; begin try try Result := true; sList:= TStringList.Create; sList.LoadFromStream(pXML); sXML := sList.CommaText; SQL := ' update nfe_cabecalho set XML_ULTIMO = ' + sXML + ' where id = ' + pIdNFeCAB; TORM.Consultar_Case_Sensitive(SQL); except Result := false; end; finally sList.Free; end; end; Uso esse código para recuperar o "xml" do BD: class function TldiNFe.Retornar_XML_Do_BD(pIdNFeCAB: String): TStringStream; var ConsultaSQL : WideString; reader : TDBXReader; sXML : TStringStream; begin try sXML:= TStringStream.Create; ConsultaSQL := 'select XML_ULTIMO from nfe_cabecalho where ID = ' + pIdNFeCAB; reader := TORM.Consulta(ConsultaSQL); while reader.Next do begin sXML.WriteString(reader.Value['XML_ULTIMO'].AsString); end; Result := sXML; finally end; end; Agradeço à todos pelas dicas, elas foram importantes para eu chegar à esse resultado. Principalmente a dica do Erik, sempre tive dificuldades de trabalhar com TStringStream, essa linha aqui me salvou: (sXML.WriteString(' xml.... ')) tbm mudei o tipo de dado de (text) para (longtext) no MySQL
  12. Então por isso q localmente ele nao é case sensitive, meu plano de hospedagem é linux... bom saber, obrigado.
  13. Bom dia, eu utilizo o MySQL, mas hospedado em datacenter... e outro problema que notei é q quando se está hospedado, ele passa a ser case sensitive.. rs.. só pra piorar..
  14. Obrigado pelas sugestões, mas infelizmente não deu certo... se eu salvar em disco da certo, mas salvando a string no bd e recuperando ela depois pra imprimir um danfe por ex... ele nao valida: acusa: Não encontrei inicio do URI: Id= class function TldiNFe.Retornar_XML(pIdNFeCAB: String; pTipo_RET: string):TRetorno_XML; var ConsultaSQL : WideString; resDBX : TDBXReader; cdsXML_T : TClientDataSet; begin ConsultaSQL := 'select XML_ULTIMO from nfe_cabecalho where ID = ' + pIdNFeCAB; resDBX:= TORM.Consulta(ConsultaSQL); cdsXML_T := TClientDataSet.Create(nil); cdsXML_T.FieldDefs.Clear; cdsXML_T.FieldDefs.add('XML', ftBlob); cdsXML_T.CreateDataSet; while resDBX.Next do begin cdsXML_T.Insert; cdsXML_T.FieldByName('XML').AsAnsiString := UpperCase(ResultSet.Value['XML_ULTIMO'].AsString); end; //MessageInfo(cdsXML_T.FieldByName('XML').AsString); if pTipo_RET = 'XML' then begin Result.trXML := TStringStream.Create(cdsXML_T.FieldByName('XML').Value); end; if pTipo_RET = 'TXT' then begin Result.trXMLtxt := cdsXML_T.FieldByName('XML').AsString; end; end;
  15. Danilo

    Salvar Tstringstream No Bd

    Alguém já fez algo parecido, salvar um objeto TStringStream no BD via SQL sem ter que usar CDS ou outros... Ex: SQL := ' update nfe_cabecalho set XML_ULTIMO = ' + TStringStream + ' where id = ' + '"'+pIdNFeCAB+'"'; qual seria a alternativa pra salvar os xml's direto no bando sem salvar em disco ? Se alguém puder ajudar, agradeço...
  16. Informamos que o arquivo encaminhado para análise encontra-se dentro dos padrões estabelecidos, no que se refere à estrutura e ao posicionamento dos campos. Salientamos que a conferência é feita por amostragem e que são de responsabilidade do cliente: - Não alterar os dados fixos conferidos (ex.: prefixo do BB, número de convênio, da carteira/ variação, CNPJ/Agência/Conta da sua empresa, versão de leiaute, dentre outros, inclusive aqueles cujos normativos da FEBRABAN informem que tenham de ser preenchidos com brancos ou zeros ); - A informação correta de dados variáveis ( ex.: nomes, endereços, CPFs/CNPJs, câmara de compensação, prefixos de agências/DV, números de contas, valores, somatórios, datas, dentre outros); - A informação correta de dados estruturais ( ex.: tipo de registro, numeração seqüencial de registros e de lotes, etc). A critério da empresa poderá ser transmitida remessa para teste, através do Gerenciador Financeiro ( Transferência de Arquivos/Remessa ), bastando que seja informado “TS” nas posições 52 e 53 do Header de Lote. Após o processamento, o Banco disponibilizará arquivo-retorno, para tratamento pelo seu programa próprio. Quando o arquivo for transmitido definitivamente para produção, as colunas 52 e 53 do Header de Lote deverão ser alteradas para brancos. As boletas não apresentaram inconsistências no que se refere a layout, código de barras e linha digitável; estão aprovadas para distribuição aos sacados. Salientamos que a informação correta dos dados impressos é de responsabilidade do cliente. Obs.: As informações referentes a juros/multa/protesto devem ser compatíveis com as informações do arquivo-remessa. Obs.: Solicitar ao Gerente de Contas BB, o cadastramento de juros e multas que estão mencionadas nas boletas. Consideramos o teste finalizado. Equipe de Testes de Layout Banco do Brasil CSO Belo Horizonte MG ================================================================================================================================================================ Deu Certo após eu atualizar os fontes. > Uma Observação... eu tbm estava informando a VARIAÇÃO DE CARTEIRA errada, eu informava null, mas o correto no meu caso era 019
  17. Boa tarde Juliana, Eu desinstalei e exclui as bpls e dcps, atualizei os fontes e instalei novamente o componente, entao gerei novamente os arquivos para eles analisarem e me retornaram esse resultado: ================================================================================ OCORRÊNCIAS: REGISTRO HEADER DE ARQUIVO: Posições 033 a 052 = 002389732001417019 e demais espaços em branco REGISTRO HEADER DE LOTE: Posições 034 a 053 = 002389732001417019 e demais espaços em branco REGISTRO SEGMENTO P: Posição 109 a 109: foi Informada opção “A” e no Boleto no campo aceite informado “S”. Apenas um esclarecimento: A grande maioria das empresas informa “N” mas é a empresa quem define. Se colocar “A” ( aceite ) significa que o sacado reconhece a existência da dívida e o cartório só efetua protesto mediante autorização do sacado. Se colocar “N” (Não aceite), não é necessário a autorização do sacado para protestar o título. Caso mude para N, favor colocar o mesmo no boleto. Aguardaremos retorno de suas providências dentro de 07 dias corridos. Ao término deste prazo, encerraremos esta ocorrência, implicando em abertura de novo chamado por essa empresa junto ao Suporte Técnico, no caso de envio de novo arquivo. Equipe de Testes de Leiaute Banco do Brasil S.A. CSO Belo Horizonte MG OCORRÊNCIAS: ============================================================================ pelo visto, problema é apenas 1 espaço em branco sobrando, fiz uma alteração aqui, analisando pelo notepad++ e se der certo eu posto o resultado dizendo onde alterei, de qualquer forma eu posto o resultado q estou aguardando da ultima analise. Grato, Danilo
  18. Bom dia Juliana, por meio de debug eu fui pegando os valores passados, esses são os da configuração do componente ACBrBoleto: codigocedente = 18878868 conta = 000000005200 digito conta = 0 convenio = 2389732 são passados exatamente como acima para o componente. ===================================================== Esses são os dados na montagem do titulo, tbm os peguei via debug... carteira = 17 nosso numero = 113 ====================================================== segue link dos prints das imagens do objeto Lista de titulos pelo debug / inspect https://skydrive.live.com/redir?resid=C73FDE481FFE8006!35330&authkey=!AOK5NWIsfm4aH-Y Obrigado,
  19. blz.. obrigado Jéter, não tinha o habito de usar assim o try except .. mas agora entendi ... apresenta uma mensagem mais amigável ao user.
  20. Ola Juliana, class procedure TldiBoletos.ConfiguraACBR(pACBrBoleto : TACBrBoleto; pCDS : TClientDataSet); var Caminho : String; i, Rand : Integer; begin Randomize; Rand := Random(999); Caminho := ExtractFilePath(Application.ExeName); pACBrBoleto.Banco.TipoCobranca := cobBancoDoBrasil; pACBrBoleto.Cedente.Agencia := FCDS_Configuracao_Cobranca.FieldByName('AGENCIA').AsString; pACBrBoleto.Cedente.AgenciaDigito := FCDS_Configuracao_Cobranca.FieldByName('AGENCIA_DIGITO').AsString; pACBrBoleto.Cedente.Bairro := FCDS_Configuracao_Cobranca.FieldByName('BAIRRO').AsString; pACBrBoleto.Cedente.CaracTitulo := tcSimples; pACBrBoleto.Cedente.CEP := FCDS_Configuracao_Cobranca.FieldByName('CEP').AsString; pACBrBoleto.Cedente.Cidade := FCDS_Configuracao_Cobranca.FieldByName('CIDADE').AsString; pACBrBoleto.Cedente.CNPJCPF := FCDS_Configuracao_Cobranca.FieldByName('CNPJ').AsString; pACBrBoleto.Cedente.CodigoCedente := FCDS_Configuracao_Cobranca.FieldByName('CODIGO_CEDENTE').AsString; //pACBrBoleto.Cedente.CodigoTransmissao := FCDS_Configuracao_Cobranca.FieldByName('CONVENIO').AsString; pACBrBoleto.Cedente.Complemento := FCDS_Configuracao_Cobranca.FieldByName('COMPLEMENTO').AsString; pACBrBoleto.Cedente.Conta := FCDS_Configuracao_Cobranca.FieldByName('CONTA').AsString; pACBrBoleto.Cedente.ContaDigito := FCDS_Configuracao_Cobranca.FieldByName('CONTA_DIGITO').AsString; pACBrBoleto.Cedente.Convenio := FCDS_Configuracao_Cobranca.FieldByName('CONVENIO').AsString; pACBrBoleto.Cedente.Logradouro := FCDS_Configuracao_Cobranca.FieldByName('ENDERECO').AsString; pACBrBoleto.Cedente.Modalidade := 'DM'; pACBrBoleto.Cedente.Nome := FCDS_Configuracao_Cobranca.FieldByName('CEDENTE').AsString; pACBrBoleto.Cedente.NumeroRes := FCDS_Configuracao_Cobranca.FieldByName('NUMERO').AsString; pACBrBoleto.Cedente.ResponEmissao := tbCliEmite; pACBrBoleto.Cedente.TipoInscricao := pJuridica; pACBrBoleto.Cedente.UF := FCDS_Configuracao_Cobranca.FieldByName('UF').AsString; pACBrBoleto.DataArquivo := Now; //pACBrBoleto.DataCreditoLanc := pACBrBoleto.DirArqRemessa := Caminho + '\Boletos\001\Rem\'; pACBrBoleto.DirArqRetorno := Caminho + '\Boletos\001\Ret\'; pACBrBoleto.ImprimirMensagemPadrao := True; pACBrBoleto.LayoutRemessa := c240; pACBrBoleto.LeCedenteRetorno := True; pACBrBoleto.NomeArqRemessa := redat(DateToStr(now)) + IntToStr(Rand) + '.REM'; end; ============================================================= Criando os Titulos for I := 0 to Lista_Titulos.Count - 1 do begin Parcela_Temp := Lista_Titulos.Items[i]; {$Region 'Cria Objetos'} Titulo := FDataModule.ACBrBoleto.CriarTituloNaLista; with Titulo do begin LocalPagamento := 'Pagar preferêncialmente nas agências do Bando do Brasil'; {$Region 'Carrega Cliente'} FCDS_Cliente := TldiUtils.Retorna_CDS_Com_Dados(' cliente where id = ' + '"'+IntToStr(Parcela_Temp.Id_Cliente)+'"', retCDSCliente); {$EndRegion 'Carrega Cliente'} if pInstrucao = tiAlterarVencimento then Vencimento := StrToDate(pNovoValor) else Vencimento := Parcela_Temp.DataVencimento; //FCDS_Parcelas.FieldByName('DATA_VENCIMENTO').AsDateTime; if pInstrucao = tiGerar_Boleto then DataDocumento := Date else DataDocumento := Parcela_Temp.DataEmissao; //FCDS_Parcelas.FieldByName('DATA_EMISSAO').AsDateTime; if pInstrucao = tiConcederAbatimento then ValorAbatimento := StrToCurr(pNovoValor) else ValorAbatimento := 0; NumeroDocumento := Parcela_Temp.NumeroDocumento; //FCDS_Parcelas.FieldByName('NUMERO_DOCUMENTO').AsString; EspecieDoc := 'DM'; Aceite := atSim; DataProcessamento := Date; Carteira := FCDS_Configuracao_Cobranca.FieldByName('CARTEIRA').AsString; // no caso é 17 NossoNumero := Parcela_Temp.NossoNumero; //sequencial q é incrementado 10 digitos ValorDocumento := Parcela_Temp.ValorParcela; //FCDS_Parcelas.FieldByName('VALOR_PARCELA').AsFloat; Sacado.NomeSacado := FCDS_Cliente.FieldByName('NOME').AsString; if FCDS_Cliente.FieldByName('FLAG_FISICA').AsString = 'Y' then Sacado.Pessoa := pFisica else Sacado.Pessoa:= pJuridica; Sacado.CNPJCPF := FCDS_Cliente.FieldByName('CPF_CNPJ').AsString; Sacado.Logradouro := FCDS_Cliente.FieldByName('ENDERECO').AsString; Sacado.Numero := FCDS_Cliente.FieldByName('NUMERO').AsString; Sacado.Bairro := FCDS_Cliente.FieldByName('BAIRRO').AsString; Sacado.Cidade := FCDS_Cliente.FieldByName('CIDADE').AsString; Sacado.UF := FCDS_Cliente.FieldByName('UF').AsString; Sacado.CEP := FCDS_Cliente.FieldByName('CEP').AsString; Titulo.Mensagem.Text := 'Titulo sujeito a prpotesto, depósito em conta não liquida este título - Cobrar juros definido pelo banco'; SeuNumero := Parcela_Temp.NumeroDocumento; //FCDS_Parcelas.FieldByName('NUMERO_DOCUMENTO').AsString; {Dependendo da Instrucao passada por parametro ele gera acao} if pInstrucao = tiRegistrar then Titulo.OcorrenciaOriginal.Tipo := toRemessaRegistrar; if pInstrucao = tiBaixar then Titulo.OcorrenciaOriginal.Tipo := toRemessaBaixar; if pInstrucao = tiConcederAbatimento then Titulo.OcorrenciaOriginal.Tipo := toRemessaConcederAbatimento; if pInstrucao = tiAlterarVencimento then Titulo.OcorrenciaOriginal.Tipo := toRemessaAlterarVencimento; {$Region 'Preenche Lista'} ParcelaReceber := TFinParcelaReceberVO.Create; ParcelaReceber.Id := Parcela_Temp.Id; //FCDS_Parcelas.FieldByName('ID').AsInteger; ParcelaReceber.Id_Status := Parcela_Temp.Id_Status; //FCDS_Parcelas.FieldByName('ID_STATUS').AsInteger; ParcelaReceber.IdLancamentoReceber := Parcela_Temp.IdLancamentoReceber; //FCDS_Parcelas.FieldByName('ID_LANCAMENTO_RECEBER').AsInteger; ParcelaReceber.NumeroParcela := Parcela_Temp.NumeroParcela; //FCDS_Parcelas.FieldByName('NUMERO_PARCELA').AsString; ParcelaReceber.DataEmissao := Parcela_Temp.DataEmissao; //FCDS_Parcelas.FieldByName('DATA_EMISSAO').AsDateTime; ParcelaReceber.DataVencimento := Parcela_Temp.DataVencimento; //FCDS_Parcelas.FieldByName('DATA_VENCIMENTO').AsDateTime; ParcelaReceber.TaxaJuro := Parcela_Temp.TaxaJuro; //FCDS_Parcelas.FieldByName('TAXA_JURO').AsFloat; ParcelaReceber.TaxaDesconto := Parcela_Temp.TaxaDesconto; //FCDS_Parcelas.FieldByName('TAXA_DESCONTO').AsFloat; ParcelaReceber.VlrJuros := Parcela_Temp.VlrJuros; //FCDS_Parcelas.FieldByName('VLR_JUROS').AsFloat; ParcelaReceber.VlrDesconto := Parcela_Temp.VlrDesconto; //FCDS_Parcelas.FieldByName('VLR_DESCONTO').AsFloat; ParcelaReceber.ValorParcela := Parcela_Temp.ValorParcela; //FCDS_Parcelas.FieldByName('VALOR_PARCELA').AsFloat; ParcelaReceber.VlrCorrigido := Parcela_Temp.VlrCorrigido; //FCDS_Parcelas.FieldByName('VLR_CORRIGIDO').AsFloat; // Parcela_Temp.FlagBoleto; //FCDS_Parcelas.FieldByName('FLAG_BOLETO').AsString; if pInstrucao = tiRegistrar then ParcelaReceber.Flag_Ja_Remessa := 'Y' else Parcela_Temp.Flag_Ja_Remessa := Parcela_Temp.Flag_Ja_Remessa; if pInstrucao = tiGerar_Boleto then ParcelaReceber.Flag_Ja_Impresso := 'Y' else ParcelaReceber.Flag_Ja_Impresso := Parcela_Temp.Flag_Ja_Impresso; ParcelaReceber.Flag_Cartao := 'N'; ParcelaReceber.NossoNumero := NossoNumero; ParcelaReceber.NumeroDocumento := Parcela_Temp.NumeroDocumento; //FCDS_Parcelas.FieldByName('NUMERO_DOCUMENTO').AsString; ParcelaReceber.Saldo_Recebimento := Parcela_Temp.Saldo_Recebimento; //FCDS_Parcelas.FieldByName('SALDO_REBECIMENTO').AsFloat; ParcelaReceber.Obs := Parcela_Temp.Obs; //FCDS_Parcelas.FieldByName('OBS').AsString; Lista_Parc_Rec.Add(ParcelaReceber); {$EndRegion 'Preenche Lista'} end; {$EndRegion 'Cria Objetos'} end; =================================================== depois da primeira analise do pessoal do banco, eu alterei a linha >>>>>>>> era padR(Convenio, 9, '0') + '0014' eu coloquei padR(Convenio, 8, '0') + '0014' pra ver, ================================================= Dai eles retornaram outra analise que aparentemente diminuiu os erros OCORRÊNCIAS: REGISTRO HEADER DE ARQUIVO: Posições 033 a 052 = 002389732001417019 e demais espaços em branco Posições 053 a 058 = 048658 Posições 059 a 071 = 52000 Posições 072 a 072 = Espaço em branco. Posições 073 a 102 = Nome da empresa REGISTRO HEADER DE LOTE: Posições 034 a 053 = 002389732001417019 e demais espaços em branco Posições 054 a 059 = 048658 Posições 060 a 072 = 52000 Posições 073 a 073 = Espaço em branco. Posições 074 a 103 = Nome da empresa REGISTRO SEGMENTO P: Posição 109 a 109: foi Informada opção “A”. Apenas um esclarecimento: A grande maioria das empresas informa “N” mas é a empresa quem define. Se colocar “A” ( aceite ) significa que o sacado reconhece a existência da dívida e o cartório só efetua protesto mediante autorização do sacado. Se colocar “N” (Não aceite), não é necessário a autorização do sacado para protestar o título. Caso mude para N, favor colocar o mesmo no boleto. Aguardaremos retorno de suas providências dentro de 10 dias corridos. Ao término deste prazo, encerraremos esta ocorrência, implicando em abertura de novo chamado por essa empresa junto ao Suporte Técnico, no caso de envio de novo arquivo.
  21. é possível sim, digamos que vc ja saiba como emitir os boletos sem registro, vamos ver como LER o RETORNO e baixar automaticamente no sistema: vc teria que instanciar ou pegar o componente ACBrBoleto ja configurado com os dados do cedente etc... e fazer assim: ACBrBoleto.LeCedenteRetorno := True; ACBrBoleto.NomeArqRetorno := OpenDialog.FileName; //chama o arquivo retorno (o ideal é fazer com que ele leia todos de um diretorio e apos isso mudar a extensão tipo de .RET para .RET-PROC) ACBrBoleto.LerRetorno; //dai vc vai varrer .. pq nesse momento que vc chamou o arquivo retorno para o componente através do ACBrBoleto.LerRetorno - TODOS os dados retornados pelo banco está lá (uma lista).... vc vai varrendo, quando é carteira REGISTRADA é fácil, basta comparar o NOSSO_NUMERO pq é único, mas no sem registro da pra fazer tbm, sugiro usar o campo SEU_NUMERO e colocar um valor único nele, assim quando o banco reornar vc usará esse campo como comparação ex: for I := 0 to ACBrBoleto.ListadeBoletos.Count - 1 do begin Titulo := ACBrBoleto.ListadeBoletos.Objects[i]; cdsAreceber.first; while not cdsAreceber.eof do begin if cdsAreceber.Seunumero = Titulo.SeuNumero then //"dai vc faz o que quiser " end; cdsAreceber.next; end; espero ter ajudado...
  22. Pessoal do BB me retornaram apontando os seguintes erros: ANÁLISE DO ARQUIVO REMESSA --------------------------------------- Recebemos via e-mail, para análise, arquivo teste: 04012013625.REM - Padrão CNAB240 - e identificamos as seguintes ocorrências: HEADER DE ARQUIVO Pos. 033 a 052 - Código Convênio - Informar: 002389732001417019 (foi informado:002298477001417000) HEADER DE LOTE Pos. 034 a 053 - Código Convênio - Informar: 002389732001417019 (foi informado:002298477001417000) SEGMENTO P Pos. 038 a 057 - Nosso-número - O nosso-número deverá ser gerado no seguinte formato: CCCCCCCNNNNNNNNNN , onde: CCCCCCC - número do convênio: 2389732 NNNNNNNNNN - número seqüencial atribuído pela Empresa (10 dígitos); (foi informado:22984770000000000 em todos os títulos) ANÁLISE DOS BOLETOS ---------------------------- Recebemos através de e-mail, para análise, boletos de cobrança tendo sido verificadas as seguintes ocorrências: LINHA DIGITÁVEL / CÓDIGO DE BARRAS Corrigir o NOSSO-NÚMERO informado na linha digitável/código de barras, conforme abaixo: FORMATO DO CÓDIGO DE BARRAS PARA CONVÊNIOS ACIMA DE 1.000.000 Posição Conteúdo 01 a 03 Código do Banco na Câmara de Compensação 04 a 04 Código da Moeda 05 a 05 DV do Código de Barras 06 a 09 Fator de Vencimento 10 a 19 Valor 20 a 25 Zeros 26 a 42 NOSSO-NUMERO. Utilizar o seguinte padrão: CCCCCCCNNNNNNNNNN , onde: CCCCCCC - número do convênio: 2389732 (foi informado:2298477) NNNNNNNNNN - número seqüencial atribuído pela Empresa; 43 a 44 Carteira Campo: NOSSO-NÚMERO Gerar o nosso-número conforme padrão abaixo: CCCCCCCNNNNNNNNNN , onde: CCCCCCC - número do convênio: 2389732 (foi informado:2298477) NNNNNNNNNN - número seqüencial atribuído pela Empresa; Alguem ja passou por isso ? será q eu e estou informando algo errado ou o componente que nao gerou corretamente ?
  23. Tem como eu usar o componente ACBrNFe para emitir uma Nota fiscal Paulista ? ou somente é possivel por meio de ECF ?
  24. sim Daniel, ele gera um exeption, mas ainda assim executa o restante do código: ex: FDataModule.ACBrBoleto.GerarRemessa(cdsConfiguracao.FieldByName('REMESSA').AsInteger); TldiBoletos.AtualizaNN(cdsConfiguracao.FieldByName('ID').AsString, IntToStr(NN)); TldiBoletos.Atualiza_Sequencial_Remessa(cdsConfiguracao.FieldByName('ID').AsString,IntToStr(cdsConfiguracao.FieldByName('REMESSA').AsInteger)); cdsRemessa.EnableControls; CDS_Cab.EnableControls; nao tentei o try except end; ah nao ser que coloque um Exit na exceção, mas nao sei se resolve.
  25. Seria ótimo se o procedimento procedure TACBrBoleto.GerarRemessa( NumeroRemessa : Integer ); fosse uma função e retornasse um boolean, pois apos a geração da remessa, há uma serie de procedimentos que só devem ser executados se a remessa for de fato gerada.
×
×
  • 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.