Jump to content

datilas

Membros
  • Posts

    460
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by datilas

  1. acabei de atualizar Na revisão: 19929 e não consta a alteração
  2. fiz a alteração no componente, não sei se usei o padrão que vcs usam no acbr, mas se puder verificar e adicionar aos fontes seria muito bom, caso tenha erro por favor me informe para que eu possa corrigir. pois testei aki e esta funcionando. desde agradeço. acbr.zip
  3. a questão é o caminho completo por exemplo: meupath\NFE\NFe\202005\00000000000000000000000000000000000000000000-nfe.xml; meupath\Eventos\NFe\202005\0000000000000000000000000000000000000000000000000000-procEventoNFe.xml; eu guardo assim no meu db: \NFE\NFe\202005\00000000000000000000000000000000000000000000-nfe.xml; \Eventos\NFe\202005\0000000000000000000000000000000000000000000000000000-procEventoNFe.xml; pois pode ser que existe separação por modelo por data por CNPJ etc..
  4. eu salvo em disco e salvo no banco no evento não existe a propriedade XMLAssinado o italo acabou de criar a propriedade XML. mas para eu poder recuperar esse xml caso aconteça alguma coisa eu preciso saber o nome do arquivo assim como acontece na NFe
  5. quando eu leio o xml eu tenho o nome, mas quando eu envio o xml, eu preciso fazer o processo de enviar ele para o db, ai eu preciso do nome
  6. só não consegui pegar o nome do arquivo, ACBrNFe1.EventoNFe.Evento.Items[0].NomeArq; mas testei e o retorno no xml esta perfeito. muito obrigado pela atenção.
  7. de acordo com esse post: eu gostaria de saber se eu usar: ACBrNFe1.Consultar(vChave,True); eu vou poder ler os eventos assim? For I := 0 To ACBrNFe1.EventoNFe.Evento.Count - 1 Do Begin ACBrNFe1.EventoNFe.Evento.Items.... End; ou esse novo parâmetro apenas salva os eventos em disco?
  8. muito obrigado. fico no aguardo
  9. Eu tenho que ler todos os arquivos xml's do meu cliente para salvar em um DB na NFe/NFCe eu faço assim: ACBrNFe1.NotasFiscais.LoadFromFile(sFileName); ACBrNFe1.NotasFiscais.Items.XML; ACBrNFe1.NotasFiscais.Items.NomeArq; Como faço para ler os xml's de eventos? ACBrNFe1.EventoNFe.LerXML(sFileName); Essas Property's não existem ACBrNFe1.EventoNFe.Evento.Items[0].XML; ACBrNFe1.EventoNFe.Evento.Items[0].NomeArq;
  10. como lidar com as inconsistencias da sefaz veja esse log: meu cliente tentou enviar uma nota: 07/04/20 15:21:22 "ENVIO" Erro Interno: 0 Erro HTTP: 503 URL: https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao4?wsdl como houve erro ele tentou consultar: 07/04/20 15:40:13 "CONSULTA" 217-Rejeicao: NF-e nao consta na base de dados da SEFAZ ja que o retorno foi 217 eu permito que ele gere a nota denovo. deu erro denovo. 07/04/20 16:19:43 "ENVIO" Erro Interno: 12031 Erro HTTP: 0 URL: https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao4?wsdl Erro: Requisição não enviada. Erro: 12031 - A conexão com o servidor foi redefinida então ele tentou consultar e deu erro. 07/04/20 17:11:23 "CONSULTA" Erro Interno: 12031 Erro HTTP: 0 URL: https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta4?wsdl Erro: Requisição não enviada. Erro: 12031 - A conexão com o servidor foi redefinida no outro dia ao fazer a consulta a sefaz retorna que a primeira chave foi autorizada. sendo que a sefaz ja tinha retornado antes o cStat 217 08/04/20 09:47:10 "CONSULTA" 613-[ 51200404317055000180550990000217671304334397 ] fora isso tem outros bugs loucos da sefaz. a pergunta é como vcs estão tratando esses erros e outros? "que não poderiam acontecer"
  11. não seria interessante criar um arquivo .ini com as url's de consulta a CNPJ? ficaria mais fácil atualizar o software sem ter que compilar novamente. igual os dfe's.
  12. Vamos supor que o seu cliente venha perder o XML da nota por exemplo, neste caso basta você ler os dados da nota do banco de dados, gerar e assinar o XML e por fim realizar uma consulta com o XML carregado, desta forma ao realizar a consulta a SEFAZ vai retornar o protocolo de autorização e o componente se encarrega de atualizar o XML acrescentando o protocolo nele, deixando-o assim um documento com validade jurídica.
  13. Esse manual não contempla CDP ou nenhum tipo de captura de dados. Recomendo vc entrar em contato com eles e obter informações mais precisas de como fazer a captura de dados pelo pinpad
  14. veja se no manual de integração do TEF-D existe essa possibilidade, caso exista vc pode fazer a alteração baseado nessa da pay&go se vc possuir o manual posta aqui por favor. pois eu não tenho
  15. apenas para responder o tópico: do @Werner_Marques da uma olhada nesse link: veja se pode te ajudar para você poder alterar e usar com o seu GP. se os moderadores acharem que é duplicidade de tópico peço desculpa.(estou tentando ajudar)
  16. eu exportei o db do Sped Contribuições em MySQL,firebird e sqlite SPED_CONTRIBUICOES_fb.7z SPED_CONTRIBUICOES_my.7z SPED_CONTRIBUICOES_sqlite.7z
  17. eu exportei o db do sped fiscal efd em MySQL,firebird e sqlite esta com todas as tabelas para o layout 14 que começa a partir de 01/01/2020 EFD_L14_2020_fb.7z EFD_L14_2020_my.7z EFD_L14_2020_sqlite.7z
  18. o que esta me encafifando é essa mensagem "Unsupported Media Type" tenta assim IdHTTPConexao.Request.Clear; IdHTTPConexao.Request.ContentType := 'application/json'; IdHTTPConexao.Request.CharSet := 'utf-8'; IdHTTPConexao.Request.CustomHeaders.Clear; IdHTTPConexao.Request.CustomHeaders.AddValue('Authorization', 'Bearer ' + self.fToken); //IdHTTPConexao.Request.CustomHeaders.AddValue('Content-Type', 'application/json'); IdHTTPConexao.Response.ContentType := 'application/json'; IdHTTPConexao.Response.CharSet := 'utf-8';
  19. // comenta essa linha IdHTTPConexao.Request.CustomHeaders.AddValue('Content-Type', iJSONEnviar.RequestContentType); IdHTTPConexao.Request.CustomHeaders.AddValue('Authorization', 'Bearer ' + self.fToken); //deixa essa IdHTTPConexao.Request.CustomHeaders.AddValue('Content-Type', 'application/json');//deixa essa // comenta essa linha IdHTTPConexao.Request.CustomHeaders.AddValue('Content-Disposition', 'form-data; name="sku"'); IdHTTPConexao.Response.CharSet := 'UTF-8'; código limpo pra não confundir: Var iRespostaIfood: String; iJSON: String; iJSONStream, AResponseContent: TStringStream; Begin AResponseContent := TStringStream.Create(''); Try iJSON := ('{"merchantId": MerchantID,' + //CÓD DO RESTAURANTE '"externalCode":"205",' + '"availability": "AVAILABLE",' + '"name": "X BURGUER - TESTE",' + '"description": "PÃO, HAMBURGUER E QUEIJO",' + '"order": 1,' + '"schedules": [],' + '"price":{' + '"originalValue": 0,' + '"promotional": false,' + '"value": 12.50}' + '}'); mRetorno.Lines.Clear; mRetorno.Lines.Add(iJSON); iJSONStream := TStringStream.Create(iJSON); //Configura o HTTP IdHTTPConexao.Request.Clear; IdHTTPConexao.Request.CustomHeaders.Clear; IdHTTPConexao.Request.CustomHeaders.AddValue('Authorization', 'Bearer ' + self.fToken); IdHTTPConexao.Request.CustomHeaders.AddValue('Content-Type', 'application/json'); IdHTTPConexao.Response.CharSet := 'UTF-8'; Try IdHTTPConexao.Post('https://pos-api.ifood.com.br/v1.0/skus', iJSONStream, AResponseContent); iRespostaIfood := AResponseContent.DataString; //201 = Indica que novos parâmetros foram criados com sucesso If IdHTTPConexao.ResponseCode = 201 Then Application.MessageBox(PWideChar('Produto Cadastrado com Sucesso!'), 'Informação', MB_OK + MB_ICONINFORMATION); Except On e: EIdHTTPProtocolException Do Begin If (e.ErrorCode <> 200) Or (e.ErrorCode <> 201) Then Begin Application.MessageBox(PWideChar('Atenção! Ocorreu ao Cadastrar Produto no iFood. ' + e.ErrorMessage), 'Aviso', MB_OK + MB_ICONWARNING); Exit; End; End; End; Finally FreeAndNil(iJSONStream); FreeAndNil(AResponseContent); End;
  20. tenta ssim: Var iStringListProduto: TStringList; iRespostaIfood: String; iJSON: String; iJSONStream, AResponseContent: TStringStream; // iJSONEnviar : TIdMultipartFormDataStream; Begin // iJSONEnviar := TIdMultiPartFormDataStream.Create; AResponseContent := TStringStream.Create(''); Try iJSON := ('{"merchantId": MerchantID,' + //CÓD DO RESTAURANTE '"externalCode":"205",' + '"availability": "AVAILABLE",' + '"name": "X BURGUER - TESTE",' + '"description": "PÃO, HAMBURGUER E QUEIJO",' + '"order": 1,' + '"schedules": [],' + '"price":{' + '"originalValue": 0,' + '"promotional": false,' + '"value": 12.50}' + '}'); mRetorno.Lines.Clear; mRetorno.Lines.Add(iJSON); iJSONStream := TStringStream.Create(iJSON); //Configura o HTTP IdHTTPConexao.Request.Clear; IdHTTPConexao.Request.CustomHeaders.Clear; IdHTTPConexao.Request.CustomHeaders.AddValue('Content-Type', iJSONEnviar.RequestContentType); IdHTTPConexao.Request.CustomHeaders.AddValue('Authorization', 'Bearer ' + self.fToken); IdHTTPConexao.Request.CustomHeaders.AddValue('Content-Type', 'application/json'); //IdHTTPConexao.Request.CustomHeaders.AddValue('Content-Disposition', 'form-data; name="sku"'); IdHTTPConexao.Response.CharSet := 'UTF-8'; Try IdHTTPConexao.Post('https://pos-api.ifood.com.br/v1.0/skus', iJSONStream, AResponseContent); iRespostaIfood := AResponseContent.DataString; //201 = Indica que novos parâmetros foram criados com sucesso If IdHTTPConexao.ResponseCode = 201 Then Application.MessageBox(PWideChar('Produto Cadastrado com Sucesso!'), 'Informação', MB_OK + MB_ICONINFORMATION); Except On e: EIdHTTPProtocolException Do Begin If (e.ErrorCode <> 200) Or (e.ErrorCode <> 201) Then Begin Application.MessageBox(PWideChar('Atenção! Ocorreu ao Cadastrar Produto no iFood. ' + e.ErrorMessage), 'Aviso', MB_OK + MB_ICONWARNING); Exit; End; End; End; Finally If Assigned(iJSONStream) Then FreeAndNil(iJSONStream); FreeAndNil(AResponseContent); End;
  21. pelo que vi na documentação não preencher ('"schedules": [],' +) caso não exista. { "merchantId": 999999, "ID do Restaurante (MerchantID)", "externalCode": "155", "COD PDV", "availability": "AVAILABLE", --"Disponibilidade do item", "name": "X BURGUER", "Nome do Item", "description": "PÃO, HAMBURGUER E QUEIJO", --" Descrição do Item (Composição)", "order": 0: "Ordem para o item aparecer no cardápio", "price": { "originalValue": 0: --"Valor Original do Item (Somente preencher caso o item estiver em promoção)", "promotional": false: --"Item está em promoção?" "value": 12 --"Valor do item (Valor que vai para aparecer na plataforma Ifood)" } } //preencher apenas se existir (schedules) { "merchantId": 999999, "ID do Restaurante (MerchantID)", "externalCode": 9430, "COD PDV" "availability": "AVAILABLE", --"Disponibilidade do item", "name": "Esfiha de Carne", "Nome do Item" "description": "Recheio com Mussarela.", --"Descrição do Item (Composição)", "schedules": [{ --"Disponibilidade dos itens " Dias da semana e horário funcionamento "" "dayOfWeek": "MONDAY" --" Dia da semana que funciona" }, { "dayOfWeek": "FRIDAY" --" Dia da semana que funciona" } ], "order": 1, --"Ordem para o item aparecer no cardápio", "price": { "Preço" "originalValue": 3.96, --"Valor Original do Item (Somente preencher caso o item estiver em promoção)" "promotional": true, --" Item está em promoção?" "value": 1.98 --"Valor promocional do item (Valor que vai para aparecer na plataforma Ifood)" } }
  22. pode ser por causa do acento na palavra "PÃO" tente converter o texto para utf-8 ou tira o acento para testar
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.