Jump to content

AlexBecker

Membros
  • Content Count

    42
  • Joined

  • Last visited

Community Reputation

14 Good

1 Follower

About AlexBecker

  • Rank
    Membro

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Bom dia a todos, esto utilizando pós printer em um monitor de impressão que fica rodando e buscando novas impressões a cada 30 segundos, para cada impressão eu configuro o componente novamente e depois de cada impressão eu libero ele, gostaria de saber se alguém utiliza do mesmo jeito e qual a forma correta de se utilizar os componentes em um monitor assim, o meu problema é que depois de algum tempo depois de configurado o pos e enviado a impressão as vezes demora alguns minutos até sair a impressão, acontece com modelos diversos de impressoras, se alguém tiver algo parecido e conseguiu solucionar por gentileza comente! desde já fico agradecido!!
  2. eu tentei mas quando dou o F8 no enviar ele já envia na hora, não consegui ser rápido o bastante ou não fiz certo porém ainda persiste o erro este mes novamente constatamos o erro.
  3. achei no meu codigo um ponto bem abaixo nas linhas onde estava pegando o numero aleatorio.... mesmo com o teste acima mais abaixo no codigo ele repassava o valor, valeu pelo toque tudo funcionando novamente, obrigado.
  4. Olá a todos, a muito tempo venho gerando o danfe da seguinte forma: PreencheAcbrComNfe(StrToInt(F_menu_principal.FIdEmpresaNfe), dm5.LNfeCabecalhoid.Value); dm5.ACBrNFe1.NotasFiscais.GerarNFe; if (Trim(dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.nProt) = '') then begin try dm5.FRetWS := ''; F_Menu_Principal.FTipoRequisicao := trConsulta; dm5.ACBrNFe1.WebServices.Consulta.NFeChave := dm5.LNfeCabecalhoCHAVE_ACESSO.AsString; dm5.ACBrNFe1.WebServices.Consulta.Executar; dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.tpAmb := dm5.ACBrNFe1.WebServices.Consulta.TpAmb; // cdsNFe.FieldByName('AMBIENTE').AsString; dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.chNFe := dm5.ACBrNFe1.WebServices.Consulta.NFeChave;//A chave de acesso que já foi enviada dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto := dm5.ACBrNFe1.WebServices.Consulta.DhRecbto; dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.nProt := dm5.ACBrNFe1.WebServices.Consulta.Protocolo; dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat := dm5.ACBrNFe1.WebServices.Consulta.cStat; dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.xMotivo := dm5.ACBrNFe1.WebServices.Consulta.XMotivo; dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.verAplic := dm5.ACBrNFe1.WebServices.Consulta.verAplic; except end; end; dm5.ACBrNFe1.DANFE.ImprimirDANFE(); Simplificando, eu preencho o componente do ACBR com os dados da nota, consulto e comando para imprimir o danfe. verifiquei nesta linha debugando: dm5.ACBrNFe1.WebServices.Consulta.NFeChave := dm5.LNfeCabecalhoCHAVE_ACESSO.AsString; e o número da NFe está correto, porém ao mostrar a danfe ele não mostra a danfe referente a chave informada ali e pior, cada danfe gerada é com uma chave DIFERENTE! estou usando este codigo a bastante tempo e funcionava normalmente depois de uma ultima atualizacao pra cá ele começou com este problema, verifiquei que no DEMO a impressão do danfe é feita somente tendo o arquivo XML, por gentileza poderia alguém me ajudar com isto?
  5. Obrigado, eu peguei um exemplo no caso eu me expressei mal, realmente precisa do XML da nota e do XML da carta, eu gostaria de saber se não tinha um jeito de imprimir somente com o XML da carta mas realmente pelo jeito não funciona assim.
  6. Olá boa tarde a todos, estou com um XML de uma carta de correção e tentando fazer a reimpressão do mesmo: dm5.ACBrNFe1.EventoNFe.Evento.Clear; dm5.ACBrNFeDANFEFR1.MostraPreview := True; dm5.ACBrNFe1.DANFE := dm5.ACBrNFeDANFEFR1; dm6.LNfeXmlEmitidosxml.SaveToFile(dm5.LConfiguracaoNfeCaminho_Salvar_XML.Value+'cartacorrecao.xml'); dm5.ACBrNFe1.NotasFiscais.Clear; dm5.ACBrNFe1.NotasFiscais.LoadFromFile(dm5.LConfiguracaoNfeCaminho_Salvar_XML.Value+'cartacorrecao.xml'); dm5.ACBrNFe1.ImprimirEvento; a carta foi emitida em ambiente de homolocação e está salvo no meu banco o XML, eu salvo ele em um caminho e depois tento fazer a impressão da carta, é detectado que é uma carta de correção mas na hora de imprimir fica em branco, bem se puderem indicar onde está meu erro ou até postar um exemplo ( que o exemplo de impressão do site do régys ) e apliquei ele no sistema. OBS também apliquei com loadfromstring e pegando o campo direto da tabela porém o resultado foi o mesmo. ACBrNFeDANFERaveCB.MostrarPreview := True; ACBrNFe.NotasFiscais.Clear; ACBrNFe.NotasFiscais.LoadFromString(<XML Nota Eletrônica>); ACBrNFe.EventoNFe.Evento.Clear; ACBrNFe.EventoNFe.LerXMLFromString(<XML Evento>); ACBrNFe.ImprimirEvento; cartacorrecao.xml
  7. Boa tarde a todos! da ultima atualização do ACBR de uns 15 dias atrás até a presente data estou tendo um problema ( muito raro de acontecer ), a NFCe é gerada, é enviada para a receita... porém o ACBR não conseguiu pegar o retorno desta NFCe, não sei o motivo ao certo, se é falha na internet ou oque acontece mas os dados são enviados pra sefaz, a sefaz tem a nota válida lá no servidor porém ao retornar os dados não sei se é questão de conexão ( não consegui simular pois quando passo o comando executar dentro do acbr tem apenas 1 linha e não consigo desativar a rede neste meio tempo ) quando o XML não retorna a chave é modificada para chave OFF-Line ( isto começou agora de uns 15 dias pra cá depois que atualizei o ACBR ) com o digito 9, se eu mudar para o digito 1 gerando a chave e consultar no servidor da sefaz a chave está lá então eu gostaria de saber como recuperar o XML desta nota que está la no servidor, estou agora guardando as 2 chaves, com a situação 9 que é offline e com a situação 1 que é validada mas como o xml da nota válida não retornou fico sem ele no banco, resumindo... como recuperar o XML da nota pela chave dela... desde já, agradeço!
  8. Pessoal, foi falha minha! peço desculpas... nestas versões o que acontece é que se você instala o 64 bits junto quando abre o library path ele traz selecionado diretamente na caixa os paths para versão 64 bits eu não enxerguei isto... noobada total! obrigado aos colegas e novamente sorry!
  9. são vários componentes com o fato ocorrendo, realmente sua prática seria a melhor mas normalmente componentes de fora então até conseguir conversar com o pessoal do fórum lá e esperar um retorno, normalmente aqui no diversos delphi e lazarus do ACBR obtenho um retorno mais rápido, muitos programadores, muita experiência para compartilhar, o fato é que a versão instala no d2010, XE, xe6 etc até tokyo, o problema só ocorre do seattle acima... estranho não? talvez algo diferente nesta versões, a questão que o daniel citou na ordem dos paths eu troquei todos e coloquei nos primeiros lugares o raize mas o erro persistiu, tirei o delphi fora e instalaei SOMENTE o raize, o erro persistiu... bem se surgir algo por aqui que possa ajudar belza senão o melhor é tirar fora, remover estes componentes com problemas do projeto, por enquanto obrigado a todos!
  10. Olá Daniel, primeiramente obrigado, nos componentes do ACBR o fato relatado também não acontecem... eu incluo um ACBNFE no form e ele encontra os fontes pelo path library normalmente do delphi, isto acontece somente com alguns componentes externos: ehlib, tponguard, raize components ( mais alguns não citarei todos tem bastante ), e já com o ACBR, JEDI isto não acontece...
  11. Olá a todos! Recentemente comecei a trabalhar com o delphi seatle porém tenho notado que instalando um pacote de componentes ( raize por ex: mas acontece com alguns outros componentes, acontece também no berlin, tokyo... ) e passo o caminho dele no path library do delphi e instalo o componente normalmente pelo dpk gerando os bpls quando incluo o componente no formulário mesmo tendo o componente no library path ele me retorna a mensagem que não foi possível encontrar o componente, em seguida vou nas opções do projeto em search path e adiciono novamente o mesmo path que está no library path e após isto ele funciona, tenho alguns projetos grandes com os componentes instalados e muitosssssssssssssss paths a adicionar o que gera um certo incomodo. gostaria de saber porque isto acontece nas versões mais atuais, o componente não está preparado? qual o motivo... pois instalando o jedi por exemplo o mesmo não apresenta o tal problema. a versão do componente que adquiri é com fontes e supostamente preparada para o delphi em questão tanto que instala normalmente, o windows é 10 FC, o delphi está com opções de executar como administrador... bem se alguém tiver uma dica agradeço!
  12. Na verdade pelo array do json isto funciona corretamente mesmo separado, o erro é muito mais 'vergonhoso' do que isto... o erro é simplesmente gerado porque usei um MEMO também para retornos grandes, meu memo estava com worwrap = true, esta quebrando o json... como pode observar justamente onde tem o subItems ele está quebrando para uma próxima linha o que ocasionava o erro quando tentava pegar o valor do json subitems, nada mais que isto... acabei descobrindo por acaso pois como estava quebrando entao alterei a propriedade do mesmo para poder ver a linha toda pois meu monito é 2k podendo visualizar linhas bem longas na tela, fiz isto para encontrar um possível erro de formatação no retorno e a partir dai: LJsonArr := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(ObjetoJson.GetValue('items').ToString),0) as TJSONArray; if (LJsonArr.Count > 0) then for I:=0 to LJsonArr.Count - 1 do begin ObjetoJsonLinha := LJsonArr.Items as TJSONObject; vItensJson := ObjetoJsonLinha.ToString; jstodataset( tbItems, vItensJson ); //showmessage(ObjetoJsonLinha.ToString); try if objetojsonlinha.GetValue('subItems').ToString <> '' then jstodataset ( tbsubItems, objetojsonlinha.GetValue('subItems').ToString ); showmessage( objetojsonlinha.GetValue('subItems').ToString ); except end; end; começou a funcionar normalmente... deu só um pouquinho de raiva na hora rsrsrsrsrsr. Bem, muito obrigado mesmo! suas dicas foram e tem sido de grande ajuda, utilizei exemplos teus e de vários outros programadores da web e tenho conseguido ótimos resultados com performance satisfatória!
  13. tentei mais algumas opções e não deu certo... segue o array contendo apenas 1 item retornado do json: [{"name":"PEDIDO DE TESTE - GRANDE 3 SABORES","quantity":1,"price":0.0,"subItemsPrice":55.98,"totalPrice":55.98,"discount":0.0,"addition":0.0,"externalCode":"25","subIte ms":[{"name":"BORDA DE CHEDDAR","quantity":1,"price":6.0,"totalPrice":6.0,"discount":0.0,"addition":0.0,"externalCode":"3000"}, {"name":"1\/3 3 QUEIJOS","quantity":1,"price":16.66,"totalPrice":16.66,"discount":0.0,"addition":0.0,"externalCode":"30"}, {"name":"1\/3 CALABRESA","quantity":1,"price":15.0,"totalPrice":16.66,"discount":0.0,"addition":1.66,"externalCode":"31"}, {"name":"1\/3 MUSSARELA","quantity":1,"price":10.0,"totalPrice":16.66,"discount":0.0,"addition":6.66,"externalCode":"32"}]}] aqui uma simples leitura do array json em um botao do delphi procedure TfrmPrincipal.BitBtn6Click(Sender: TObject); var LJsonArr : TJSONArray; i: integer; ObjetoJsonLinha : TJSONObject; begin LJsonArr := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(mJson.Lines.Text),0) as TJSONArray; if (LJsonArr.Count > 0) then for I:=0 to LJsonArr.Count - 1 do begin ObjetoJsonLinha := LJsonArr.Items as TJSONObject; showmessage( objetojsonlinha.GetValue('name').value ); showmessage( objetojsonlinha.GetValue('subItems').value ); end; end; o array é carregado normalmente, quando uilizo o showmessage para mostrar o valor dentro do campo NAME a mensagem é retornada corretamente, quando utilizo o showmessage para mostrar o conteudo ou tento pegar o conteudo dentro do campo subItems ele dá erro de acesso ( erro básico do delphi ). Testando o exemplo que me passou se eu deixo o array completo como acima ele me diz que não é um objeto válido ( pois é um array ) se eu tiro os colches e deixo como objeto json e não array eu clico no botao e ele nao processa nada ( vide imagem ) preciso apenas ler o valor dentro do campo subitens ( que será o array json contendo os valores dos campos subitens, name, quantity, price ( etc etc ), porém sempre que tento acessar isto no delphi com tostring, value ou qualquer outra funcão relacionada a subItems ele dá erro e não consigo resolver isto, já tentei muitos exemplos e nada...
  14. show! eu separei todos os arrays que retornam no json como local de entrega, formas de pagamento, em um memo também e depois disto fiz um jsontodataset, porém com o subitens estava mais dificil fazer mas a base onde consegui retirar é como no teu exemplo, looping no registro json foi o unico jeito mesmo. Muito obrigado!
  15. Olá muito obrigado, na verdade o problema ali é que a primeira linha dos itens não retorna a estrutura completa do objeto/array itens se o mesmo não tem subitens, pelo que vi deveria retornar mesmo em branco o array SubItems com os campos e seus valores mesmo com zero, então assim... lançando a linha: vStringItem := '{"name":"ITEMARRAY","quantity":0,"price":0.0,"subItemsPrice":0.0,"totalPrice":0.0,'+ '"discount":0.0,"addition":0.0,"externalCode":"0","subItems":[{"name":"desc","quantity":0,"price":0.0,"totalPrice":0.0,'+ '"discount":0.0,"addition":0.0,"externalCode":"0"}],"observations":"obs"},'; que na verdade é o objeto do SubItems completo ai o jsontodataset reconhece o array subitens e o campo observacoes porém tenho que conseguir criar o campo manualmente pois o jsontodataset cria automaticamente um campo com 255 caracteres e não entra todo o valor, se alguém tiver um exemplo do JsonToDataset criando os campos com Text, BloB ou variável que aceite mais caracteres ajudaria bastante, encontrei um exemplo com ClientDataSet mas tá bugadasso, estudei ele, tentei alterar e adequar mas não tive sucesso nesta tarefa até agora.
×
×
  • Create New...