Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 02-01-2020 em todas as áreas

  1. Problema na lib não é pois este metodo foi testado já, vou dar uma olhada na sua classe.
    3 pontos
  2. bom dia não o xml emitido é emitido e não se muda , vai existir um evento atrelado a ele e esse xml é que deve enviar também com a nota para seu contador tem como alterar o xml mas dai ele passa a ser inválido
    3 pontos
  3. @Nlfo segue um pequeno exemplo, só compilar...., nele fica bem fácil de entender... espero ter ajudado titulo.ini acbrboleto.prg acbrlib.ch acbrlib.ini cedente.ini teste.prg
    3 pontos
  4. Pelo erro é uma unit do seu projeto e não do ACBr. O que você precisa modificar nos fontes do ACBr?
    2 pontos
  5. Bom dia, por gentileza implementar ao arquivo "cidades.ini" da pasta NFS-e as cidades de Miranorte e Lagoa da Confusão. [1713304] Nome=Miranorte UF=TO Provedor=MegaSoft NomeURL_H=miranorte NomeURL_P=miranorte [1711902] Nome=Lagoa da Confusão UF=TO Provedor=MegaSoft NomeURL_H=lagoadaconfusao NomeURL_P=lagoadaconfusao Desde já, Obrigado. Analista Railson Silva
    2 pontos
  6. Boa tarde Railson, Muito obrigado pela colaboração, já enviei para o repositório.
    2 pontos
  7. Meus clientes tbém estão com esse erro. Rejeição Erro não catalogado 2999 - Falha não tratada Causa O erro 2999, trata-se de uma falha interna nos Servidores da Sefaz e está inclusa na exceção 999 - Erro não catalogado . Essa situação caracteriza indisponibilidade da Sefaz. Como Resolver Nessa situação, não há nada que o emissor possa fazer para corrigir esse erro, já que trata-se de um problema no Ambiente Autorizador da Sefaz. Pode-se aguardar a normalização ou ativar Contingência para a emissão de NF-e. Você ainda pode tentar contato com a Sefaz para saber o motivo dessa instabilidade.
    2 pontos
  8. Bom dia. Temos relatos de que a SEFAZ-MA está resolvendo alguns problemas neste momento. Att.
    2 pontos
  9. Entrei em contato com o SEFAZ informando o erro e me retornaram o seguinte: Prezados, Atualizamos o portal para receber ambas as versões , favor tentar novamente. Atenciosamente, Equipe GNRE/SEFAZ-PE
    2 pontos
  10. Bom dia! Funcionou perfeitamente! Era o que estava faltando! Obrigado!!
    2 pontos
  11. .Olá pessoal, Gostaria de deixar uma sugestão para deixar a visualização dos enuns mais amigável. Para carregar numa combobox: //No c# com XAML Private void CarregaNFeLayoutDanfe() { CboNFeLayout.ItemsSource = NgListaEnum.ListarEnum(typeof(TipoImpressao)); CboNFeLayout.DisplayMemberPath = "Value"; CboNFeLayout.SelectedValuePath = "Key"; CboNFeLayout.SelectedValue = TipoImpressao.tiRetrato; } //No C# WinForms private void CarregaNFeLayoutDanfe() { CboNFeLayoutDanfe.DataSource = NgListaEnum.ListarEnum(typeof(TrNFeLayoutDanfe)); CboNFeLayoutDanfe.DisplayMember = "Value"; CboNFeLayoutDanfe.ValueMember = "Key"; CboNFeLayoutDanfe.SelectedValue = TrNFeLayoutDanfe.Normal_Retrato; } Dessa forma os enumeradores assumem a descrição escolhida. TipoImpressao.cs NgListaEnum.cs
    1 ponto
  12. Realmente não vai aceitar uma variável desse tipo. Parece a melhor opção.
    1 ponto
  13. A impressão é derivada das configurações de cada banco para geração de boleto e o acbr segue esses padrões, ele não vai entender que não foi informado um banco e gerar um boleto que não é boleto, ou seja, um recibo. Nesse caso, será necessário você desenvolver.
    1 ponto
  14. Eu realizo essas validações no sistema de retaguarda. Se o item esta disponível para ser vendido no PDV e pq o sistema de retaguarda ja validou todas as informações, caso contrario o item não e enviado para os PDVs..
    1 ponto
  15. Ok Obrigada. Sou de GO também.
    1 ponto
  16. Boa tarde Wesley, Tente da seguinte forma: XMLdoEventoAutorizado := ACBrNFe1.WebServices.EnvEvento.EventoRetorno.XML; Onde XMLdoEventoAutorizado é uma variável string.
    1 ponto
  17. Boa tarde Juliana, obrigado, também recebi a mesma resposta da sefaz-go.
    1 ponto
  18. Boa tarde. A SEFAZ-GO informou que está trabalhando na resolução deste problema. Att.
    1 ponto
  19. Pode anexar o log gerado pela lib por favor? Nos testes não identificamos o problema o campo vUnTrib está sendo preenchido.
    1 ponto
  20. Deixa eu tentar adivinhar, você possui mais de uma instalação do Delphi na mesma máquina e em ambas está instalado o Fortes. Se sim, remova o Fortes de todas e faça a instalação do Fortes apenas em uma das versões do Delphi. Rode o instalador do ACBr novamente e depois pode abrir e fechar o delphi quantas vezes quiser que o erro some. Caso continue aparecendo, busque em todo o HD por Bpls do Fortes, alguma pode ter ficado perdida em algum diretório que que está nos Paths.
    1 ponto
  21. Poste os arquivos xml que esta testando, pode ser alterado os dados do emitente e destinatário, e os arquivos de log.
    1 ponto
  22. Geralmente o valor da entrada é quase sempre em dinheiro e o restante pode ser cheque, duplicata, etc... vou postar um pedaço do código que uso... if (FQueryFPagam.RecordCount > 0) and (FUtil.LerConfig('NFe_Config', 'Versao', 0) > 0) then begin FQueryFPagam.First; for nFaturas := 0 to FQueryFPagam.RecordCount-1 do begin with Pag.Add do begin tPag := FormaPagamentoToClass(FQueryFPagam.FieldByName('Natureza').AsInteger); if tPag = fpSemPagamento then vPag := 0 else vPag := FQueryFPagam.FieldByName('Valor').AsCurrency ; tpIntegra := tiNaoInformado ; if tPag in [fpCartaoCredito, fpCartaoDebito] then begin if FQueryFPagam.FieldByName('TipoIntegracao').AsInteger = 1 then tpIntegra := tiPagIntegrado else tpIntegra := tiPagNaoIntegrado ; case FQueryFPagam.FieldByName('Bandeira').AsInteger of 1 : tBand := bcVisa ; 2 : tBand := bcMasterCard ; 3 : tBand := bcAmericanExpress ; 4 : tBand := bcSorocred ; 5 : tBand := bcDinersClub ; 6 : tBand := bcElo ; 7 : tBand := bcHipercard ; 8 : tBand := bcAura ; 9 : tBand := bcCabal ; 99 : tBand := bcOutros ; end ; CNPJ := OnlyNumber(FQueryFPagam.FieldByName('CNPJCredenciadora').AsString) ; cAut := FQueryFPagam.FieldByName('NumeroAutorizacao').AsString ; end; end; FQueryFPagam.Next; end; end; function TEmissaoNFe.FormaPagamentoToClass(FCodPagamento: Integer): TpcnFormaPagamento ; begin case FCodPagamento of 0 : Result := TpcnFormaPagamento.fpDinheiro ; 1 : Result := TpcnFormaPagamento.fpCheque ; 2 : Result := TpcnFormaPagamento.fpCartaoCredito ; 3 : Result := TpcnFormaPagamento.fpCartaoDebito ; 4 : Result := TpcnFormaPagamento.fpValeAlimentacao ; 5 : Result := TpcnFormaPagamento.fpDuplicataMercantil ; 6 : Result := TpcnFormaPagamento.fpSemPagamento ; 7 : Result := TpcnFormaPagamento.fpSemPagamento ; 8 : Result := TpcnFormaPagamento.fpOutro ; 9 : Result := TpcnFormaPagamento.fpBoletoBancario ; 10 : Result := TpcnFormaPagamento.fpSemPagamento ; end; end;
    1 ponto
  23. https://svn.code.sf.net/p/acbr/code/trunk2/Fontes/ACBrDFe/ACBrNFe/ACBrNFeServicos.ini Nesse arquivo já constam as URL de consulta do QrCode.
    1 ponto
  24. 1 ponto
  25. Bom dia. Obrigada pela contribuição, adicionada para validação. Att.
    1 ponto
  26. Entendi, no meu caso já faço do jeito correto, Obrigado.
    1 ponto
  27. Não compreendi sua pergunta.. Sugiro estudar os fontes do Demo do ACBrMTER... lá a simulação de uma aplicação de venda
    1 ponto
  28. Isso bem possível, é só fazer um loop e preencher as formas de pagamento. Uso aqui e nunca tive problemas.
    1 ponto
  29. Por favor tente esse comando https://acbr.sourceforge.io/ACBrMonitor/ACBrSetWebService.html
    1 ponto
  30. Muito obrigado pela contribuição. Subi as alterações para o SVN na Revisão 18693. Pelo que vi está tudo certo. Queira por favor atualizar, testar e reportar qualquer problema. Mais uma vez obrigado.
    1 ponto
  31. Seria algo assim: Se configurar no banco 000, ele ocultaria alguns campos, mantinha o layout do boleto, escreveria recibo, isso seria tipo um carnê de pagamento a onde o cliente iria até a loja a onde ele comprou para efetuar o pagamento. Já compreendi que isso não tem, só mostrei o que estava pensando. Muito obrigado pela atenção. Leco Jales
    1 ponto
  32. Sim. Todos os DFe devem se comportar da mesma maneira ou o mais parecido possível dentro de suas limitações impostas seja pela legislação ou natureza. Fique a vontade pra perguntar qualquer falta de semelhança aparente que encontrar.
    1 ponto
  33. O ACBr suporta impressoras USB ? Durante muito tempo, a resposta a essa pergunta foi: NÃO, você precisa usar a Porta COM, Spool do Windows (RAW), Compartilhamento de Rede ou algum outro método... Porém agora isso mudou... Agora componentes que usam o ACBrDevice, como por exemplo o ACBrPosPrinter (para Impressoras Não Fiscais) e o ACBrETQ (para Impressoras de Etiquetas), possuem suporte a portas USB de maneira nativo do Windows... Ou seja, sem a necessidade de DLLs externas... Isso significa que caso o seu equipamento esteja conectado ao PC, por uma Porta USB... Você poderá conectar os componentes do ACBr, simplesmente definindo na Propriedade Porta algo como "USB" Exemplos de uso: ACBrPosPrinter1.Porta := 'USB' - Tenta descobrir qual é a Primeira Impressora de Bobinas plugada na USB e faz uso dela, se encontrar.. ACBrPosPrinter1.Porta := 'USB:Elgin' - Tenta conexão em alguma Impressora USB, listada como sendo do Fabricante 'Elgin' ACBrPosPrinter1.Porta := 'USB:Sweda, SI-300S' - Tenta conexão na Impressora USB, do Fabricante "Sweda" e do Modelo "SI-300S". ACBrETQ1.Porta := 'USB' - Tenta descobrir qual é a Primeira Impressora de Etiquetas plugada na USB e faz uso dela, se encontrar.. ACBrETQ1.Porta := 'USB:Zebra, GC420t' - Tenta conexão com a Impressora USB do Fabricante "Zebra", e modelo "GC420t" Observe que essa nova implementação é totalmente diferente do método de Hook, onde usávamos a DLL do Fabricante, como túnel USB... Nesse novo cenário a comunicação USB é feita diretamente usando a API do Windows, ou seja, sem necessidade de DLLs externas. Para compreender um pouco mais, sobre esse método veja esse artigo O método de Hook ainda está disponível, usando o prefixo de porta, 'DLL:' Como os Equipamentos são identificados ? Todo Equipamento USB, possui um código de identificação do Fabricante, chamado de Vendor ID (VID), e também do Produto chamado de Product ID (PID). Essa numeração é controlada pela USB.ORG, e você pode encontras uma lista de Todos os "Vendors ID", nesse link A classe TACBrUSBIDDataBase, mantêm um Banco de Dados interno, chamado ACBrUSBID.ini, com o mapeamento dos principais Equipamentos do Mercado Brasileiro.. Esse Banco de Dados é um simples Arquivo do tipo INI, que é compilado como resource e adicionado ao componente... Clique aqui para ver o layout do Banco de Dados no Formato INI, observe os comentários no inicio do arquivo, com algumas instruções de como inserir novos equipamentos nele. Se você distribuir o arquivo ACBrUSBID.ini, na mesma pasta do Executável da sua aplicação, a classe TACBrUSBIDDataBase fará uso desse arquivo, ao invéz de usar o resource interno... Isso pode ser muito útil para atualizar a lista de Dispositivos conhecidos, sem necessitar compilar uma nova versão do programa, apenas atualizando o ACBrUSBID.ini Como posso listar os equipamentos identificados pelo ACBr ? Use a Força, leia os fontes... Vamos ver trechos de código, do Demo PosPrinterTeste {$IfDef MSWINDOWS} // Os métodos abaixo, somente estão disponíveis para compilação em Windows // Carrega a lista de Impressoras detectadas em: ACBrPosPrinter1.Device.WinUSB.DeviceList ACBrPosPrinter1.Device.WinUSB.FindUSBPrinters(); // Varre a lista de Impressoras USB detectadas, e adiciona as mesmas, nas opções de Porta for K := 0 to ACBrPosPrinter1.Device.WinUSB.DeviceList.Count-1 do cbxPorta.Items.Add('USB:'+ACBrPosPrinter1.Device.WinUSB.DeviceList.Items[K].DeviceName); {$EndIf} Como o ACBr nomeia os dispositivos ? O "DeviceName" será calculado, de acordo com as informações disponíveis no banco de Dados... Primeiro o ACBr usa a API do Windows para captura informações do VID (Vendor ID ou Fabricante) e o PID (Product ID ou Modelo), dos Equipamentos listados... Se o ACBr falhar nessa tarefa, o equipamento será ignorado (não será listado) Se for capturado com sucesso a descrição em FriendlyName, então ela será usada.. Caso contrário, o ACBr tentará compor o nome, baseado no VID e PID Se o VID do Fabricante for encontrado na sessão [Vendors] de ACBrUSBID.ini, então o VID será substituído pela Descrição do Fabricante... Observe que na sessão [Vendors], temos vários fabricantes que não são conhecidos no mercado Brasileiro, mas são de equipamentos OEM, de Empresas nacionais... Nós procuramos manter o nome Original do Fabricante, de acordo com a tabelas de VID da OSB.ORG Se o VID não tiver equivalência na relação de [Vendors] de ACBrUSBID.ini, então ele será listado com o próprio número VID, que são 4 algarismos em Hexadecimal... Exemplo: "0b1b" Procuramos pelo PID do Equipamento, na sessão específica do Fabricante. Se não houver uma chave com o PID, então o ACBr usará o próprio número PID, para Nomear o Modelo. O PID também é composto do 4 algarismos em Hexadecimal... Exemplo: "0001" Se encontrar uma entrada com o PID, dentro da sessão do Fabricante, então o ACBr usará a Descrição do Modelo, e poderá desprezar a descrição do Fabricante, se a Descrição do modelo possuir uma vírgula, Exemplo: 7008=Elgin, I9;1;1... Nesse caso será desprezada a descrição do Fabricante "20d1-Dascom" e será usada apenas a descrição do Modelo, "Elgin, I9". Detecção automática de Porta e Protocolo Como agora temos um Banco de Dados, que informa além da Descrição do equipamento, qual é o Tipo do mesmo e qual o protocolo que ele usa, então os componentes ACBrPosPrinter e ACBrETQ, podem fazer uso dessas informações... Ou seja, se o equipamento for detectado com sucesso, no momento da Ativação da Porta (durante a chamada ao método "Ativar"), será usado o Protocolo Definido no Banco de Dados. Se for detectado que o equipamento USB é na verdade uma porta COM virtual, então o ACBr irá preferir fazer uso da Porta COM virtual, chaveando para mesma, de forma transparente... Pois dessa forma ele tem um melhor suporte a leitura de informações do equipamento. Se for detectado que a porta USB possui um equipamento incompatível com o componente em questão, isso também será alertado... Exemplo, você tentar conectar em uma porta 'USB:Zebra, GC420t' no componente TACBrPosPrinter, então um erro será emitido, pois esse equipamento não é uma impressora de Bobinas Como a mágica funciona ? Reparem que foi adicionado ao repositório a Unit ACBrWinUSBDevice.pas, essa Unit implementa chamadas a SetupAPI do Windows, para detectar os Dispositivos USB que estão listados em uma determinada Classe de Equipamentos (Class GUID)... O estudo desse artigo, foi fundamental, para a criação dessa Unit. Uma vez capturada o nome da Interface do Equipamento USB (em TACBrUSBWinDevice.DeviceInterface), podemos acessá-lo usando funções de manipulação Arquivos da API do Windows, como: CreateFile, WriteFile, ReadFile. Nem todos os dispositivos USB implementam suporte aos métodos ReadFile ou WriteFile... ou seja, pode não funcionar em alguns dispositivos.. Se você souber qual é o nome da Interface USB do equipamento, poderá informar ela diretamente na propriedade "Porta" dos componentes... Exemplo: ACBrPosPrinter1.Porta := '\\?\usb#vid_1c8a&pid_3002#0000000000022#{28d78fad-5a12-11d1-ae5b-0000f803a8c2}'; Para dúvidas, suporte ou correções, por favor crie um novo tópico, clicando aqui Para testar, baixe uma nova versão do PosPrinterTeste.exe
    1 ponto
  34. No dia 19/12/2019 foi publicado no DOU o Ajuste SINIEF 37/19, que institui o Regime Especial da Nota Fiscal Fácil - NFF, o qual conforme descreve a cláusula primeira do ajuste, visa simplificar o processo de emissão de NFCe, CTe, MDFe e NFe. Sobre a Documentação e Outras Informações Técnicas O Ato COTEPE/ICMS publicará o Manual de Orientação ao Contribuinte para uso do regime especial da Nota Fiscal Fácil, com todos os detalhes técnicos relativos ao Portal Nacional da NFF e as ferramentas emissoras. O Portal Nacional da NFF será mantido pela Sefaz Virtual do Rio Grande do Sul. (SVRS) Sobre a Adesão Conforme o §1º, a adesão poderá ocorrer por opção do contribuinte, por imposição da UF para todos seus contribuintes ou apenas para determinados grupos, ou poderá ainda ser vedada para todos ou somente para grupos de contribuintes da UF. Funcionamento A SVRS cientificará o emitente da geração do arquivo digital do documento fiscal eletrônico adequado e da concessão da correspondente autorização de uso por meio de comunicação automática entre a ferramenta emissora e o Portal Nacional da NFF. § 1º A SVRS solicitará para a aplicação autorizadora da unidade federada onde o contribuinte emissor estiver estabelecido a autorização de uso do documento fiscal eletrônico gerado nos termos da cláusula sexta deste ajuste. § 2º A concessão da autorização de uso é resultado do êxito da aplicação das regras técnicas especificadas no manual de orientação ao contribuinte correspondente ao respectivo documento fiscal eletrônico, com relação unicamente ao formato das informações contidas no arquivo digital respectivo, e às interrelações entre estas informações, não implicando a convalidação destas informações, ou das relações dessas informações com a operação que realmente ocorreu. § 3º Após a concessão da autorização de uso o documento fiscal eletrônico gerado não poderá ser alterado, sendo vedada a emissão de carta de correção, em papel ou de forma eletrônica. § 4º As informações do arquivo digital do documento fiscal eletrônico gerado serão armazenadas no Portal Nacional da NFF. Restrições Não se aplicas as operações com origem ou destino no estado de São Paulo. Prazos Efeitos a partir de 01/07/2020 Fonte: https://www.confaz.fazenda.gov.br/legislacao/ajustes/2019/ajuste-sinief-no-37-19
    1 ponto
  35. Fiz uma rotina para salvar o email enviado pelo ACBR em uma pasta no servidor, como a pasta de Itens Enviado ou outra qualquer. Espero que seja util. Seguem tb uma classe completa onde passo todas as configs .. se quiserem da uma olhada.. uses IdIMAP4, ACBrMail, IdMessage; procedure TEmail_Componente.Salvar_Email_Enviado; var mensagem : TIdMessage; strm : TMemoryStream; IdIMAP4 : TIdIMAP4; Arquivo_EML : TIdMessage; begin //============= se a pasta para salvar o email for informada salva uma copia nela mensagem := TIdMessage.Create(nil); Arquivo_EML := TIdMessage.Create(nil); strm := TMemoryStream.Create; ACBrMail.SaveToStream(strm); strm.Position := 0; mensagem.LoadFromStream(strm); strm.Position := 0; Arquivo_EML.LoadFromStream(strm); IdIMAP4 := TIdIMAP4.Create(nil); IdIMAP4.ConnectTimeout := 30000; IdIMAP4.ReadTimeout := 30000; IdIMAP4.Username := 'Usuario'; IdIMAP4.Password := 'Senha'; IdIMAP4.Port := IMAP_Porta; IdIMAP4.Host := 'IMAP_Host'; IdIMAP4.Connect(); //========== se a pasta nao existir ela é criada ============ IdIMAP4.CreateMailBox( 'Nome_pasta_enviado' ); //========== Seleciona a pasta ============ IdIMAP4.SelectMailbox( 'Nome_pasta_enviado'); //========== Salva a msg na pasta ============ IdIMAP4.AppendMsg( 'Nome_pasta_enviado', mensagem); //=======para listar as pastas que existem no servidor e pegar o nome certinho use // IdIMAP4.ListMailBoxes(memo1.Lines); // Para salvar o arquivo no banco de dados // qrGravaEmail.FieldByName('ARQUIVO_EML').Assign(strm); IdIMAP4.Disconnect(); mensagem.Destroy; strm.Destroy; Arquivo_EML.Destroy; IdIMAP4.Destroy; end; Email_Class.pas
    1 ponto
  36. Consegui resolver o problema de não abrir o mapa. Baixei a versão GMLIB_V2 "https://github.com/cadetill/gmlib_v2" e copiei o MAP.html Só que para rodar no tokyo, consegui apenas com essa versão "https://github.com/cadetill/gmlib_v1" (utilizando o map.html do gmlib_v2). Alguém sabe como importar um arquivo shape, tipo JSON no mapa?
    1 ponto
  37. Se o pin pad for usb, você pode colocar isso no clisitef.ini Porta=AUTO_USB Caso não funcione, marca a opção Force com port. (Indo pelo gerenciador de dispositivos)
    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.

The popup will be closed in 10 segundos...