Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 08-06-2019 em todas as áreas

  1. Bom dia, recentemente (Maio/2019) o Sicredi alterou seu layoute de cobrança CNAB400 para atender já no registro de títulos a opção de Negativação. Desta forma torna-se possível enviar já na remessa de cadastro de título a informação da Negativação. A utilização desta funcionalidade de negativação ficou muito semelhante ao já existente procedimento de protesto. Sendo assim alterei os fontes do ACBr para atender tal alteração. Porém só fiz a alteração para o layoute CNAB400. O manual atualizado da cobrança Sicredi CNAB400 onde possui agora os campos para informação da negativação está no link https://www.sicredi.com.br/html/para-sua-empresa/recebimentos/cobranca/arquivos/manual-cnab-400.pdf (Pág. 36 do manual, posição 193-194 e 195-196 do registro detalhe do arquivo de remessa). Também envio em anexo os fontes do ACBr alterados para atender essa opção de negativação. Peço que analisem os fontes abaixo para uma possível submissão para o repositório de fontes no SVN. ACBrBoleto.pas ACBrBancoSicredi.pas
    1 ponto
  2. Já temos a página oficial do Dia do ACBr da 2a Edição... https://www.doity.com.br/diadoacbr O Primeiro Lote de vendas, será aberto apenas no dia 02/07/19... Mas no dia 12/06, abriremos a Pré-Venda: Um Lote limitado de ingressos, com um super desconto para os fãs do ACBr Clique Aqui, para receber o código de Desconto da Pré-Venda, no dia 12/06... Garanta a sua vaga na 2a Edição do Dia do ACBr, com um preço super especial
    1 ponto
  3. JsonToDataset não leva em consideração o "detail" de um objeto ou array do json... A melhor forma de você tratar isso é convertendo um JSON para um Object usando Generics Em resumo, você cria uma classe no Delphi igual ao JSON que recebe do iFood. TPayments = class private Fname: string; Fcode: string; Fvalue: Extended; public property name: string read Fname write Fname; property code: string read Fcode write Fcode; property value: Extended read Fvalue write Fvalue; end; TArrayPayments = array of TPayments; TiFoodPedido = class private Fid: string; Freference: string; Fpayments: TArrayPayments; public property id: string read Fid write Fid; property reference: string read Freference write Freference; property payments: TArrayPayments read Fpayments write Fpayments; end; TiFoodPedidos = TObjectList<TiFoodPedido>; No caso do payments é um array. Mas terá casos onde serão objetos (merchant, address, customer...). Sendo assim não esqueça de criar constructor e destructor para criar e destruir esses objetos. constructor TiFoodPedido.Create; begin FCustomer := TCustomer.Create; FDeliveryAddress := TDeliveryAddress.Create; end; destructor TiFoodPedido.Destrtoy; begin FCustomer.Free; FDeliveryAddress.Free; end; Depois você pode simplesmente chamar assim: var PedidoiFood: TiFoodPedido; begin PedidoiFood := TJSON.JsonToObject<TiFoodPedido>('JSON de retorno do iFood'); try //dessa forma você consegue ler os items dentro de um array PedidoiFood.payments[0].name; PedidoiFood.payments[0].code; PedidoiFood.payments[0].value; finally PedidoiFood.Free; end; end; Caso queira adicionar mais pedidos na sua lista: var Pedidos: TiFoodPedidos; PedidoiFood: TiFoodPedido; x: Integer; begin Pedidos := TiFoodPedidos.Create; try for x := 0 to 5 do begin PedidoiFood := TJSON.JsonToObject<TiFoodPedido>('JSON de retorno do iFood'); Pedidos.Add(PedidoiFood); end; //No final poderá acessar assim Pedidos.Items[0].payments[0].name; finally Pedidos.Free; end; end;
    1 ponto
  4. Boa tarde, Obrigada pela contribuição, adicionada para análise. Att.
    1 ponto
  5. Outra alteração feita tambem no retorno que estava tambem pegando em campo errado Antes na leitura do retorna estava dessa forma NumeroDocumento := Trim(Copy(SegT,59,15)); SeuNumero := NumeroDocumento; Carteira := Copy(SegT,58,1); NossoNumero := Trim(Copy(SegT,38,8)); Vencimento := StringToDateTimeDef( Copy(SegT,74,2) +'/'+ Copy(SegT,76,2) +'/'+ Copy(SegT,78,4), Tem que ficar dessa forma porque é o campo correto no layout NumeroDocumento := Trim(Copy(SegT,59,15)); SeuNumero := Trim(Copy(SegT,106,25)); Carteira := Copy(SegT,58,1); NossoNumero := Trim(Copy(SegT,38,8)); Vencimento := StringToDateTimeDef( Copy(SegT,74,2) +'/'+ Copy(SegT,76,2) +'/'+ Copy(SegT,78,4), 0, 'dd/mm/yyyy' ); ACBrBancoSicredi.pas
    1 ponto
  6. olha.. questao do contador, tem de ver entao se esta com o profissional certo.. pois pagamos o contador para isso. para resolver essas questoes.. Contador quando nao sabe, entra em contato com fiscais , com sefaz.. se o contador nao puder fazer isso, entao o cliente, esta ralado, tem de trocar infelizmente o contador.
    1 ponto
  7. só uma observação essa senha é para todos os boletos certo? ou é para cada boleto gerado? teria que pensar nisso. vou subir assim para já ter um auxilio para Fast Report e depois podemos tratar para cada boleto
    1 ponto
  8. Veja os fontes da classe ACBrTEFDCliSitef.pas... ele não envia CNF se o mesmo já foi enviado.. { Já Finalizou este Documento por outra Transação ? } if (pos(DocumentoVinculado, fDocumentosProcessados) > 0) then exit; Basta você monitora o Log do ACBrTEFD ou do próprio SiTef, e verificar os comandos enviados e respostas recebidas...
    1 ponto
  9. ok... você pode estudar os fontes do TEFDDemo, na pasta Exemplos... mas é fundamental, ter conhecimento do TEF... Primeiro escolha qual será o gerenciador TEF suportado... Se for trabalhar com o SiTef (líder do mercado), solicite informações de homologação com a SkyTEF - http://www.skytef.com.br/ Se for trabalhar com o Pay&Go: https://www.paygo.com.br/homologue-2/
    1 ponto
  10. Apenas para acrescentar: Isso acontece porque a grande demanda obrigatória do TEF foi próximo desses anos. Havia a exigência do TEF no PAF-ECF, muitos "players" novos no mercado e grande atividade no projeto ACBr nessa área. A maior parte das informações continuam atuais. Mas algumas coisas ou exigências foram simplificadas. Geralmente, dá pra perceber isso no roteiro de certificação que eles te passam. Geralmente é remoto. Não conheço nenhuma que hoje em dia exija a certificação presencial. Não existe emulador de tef do ACBr. Mas ao entrar em contado com as certificadoras elas vão te disponibilizar tanto as dlls como um sistema que emula o TEF para que você possa implementar.
    1 ponto
  11. Juliomar, segue em anexo, os arquivos que estou usando para gerar boletos com senha: ACBrBoleto.pas ACBrBoletoFCFR.pas
    1 ponto
×
×
  • 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.