Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 30-06-2021 em todas as áreas

  1. Sempre depois de atualizar precisa executar o instalador pra recompilar os fontes e limpar os antigos se for o caso. Aqui tem vídeos explicativos: https://projetoacbr.com.br/fontes/
    2 pontos
  2. Foi publicada nova versão da Nota Técnica (NT) 2016.003 v.2.00 que altera a tabela de NCM com vigência a partir de julho de 2021. Ela visa incluir 49 novos códigos e a exclusão de 14 códigos. Veja os NCMS incluídos e excluídos na NT. OBS.: Para NF-e que não seja de exportação, os NCMs extintos podem ser usados até 31/08/21. Fontes: Notícia: https://www.nfe.fazenda.gov.br/portal/informe.aspx?ehCTG=false&Informe=GPTd56HA8ng= NT: https://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=y2Nwl/aVQuE= Observações: Essa NT não afeta em nada no componente, pois não existe nenhuma alteração de layout do XML e muito menos de Schemas para validar os XMLs. A única alteração é na SEFAZ que a partir da data 01/07/2021 vai passar a aceitar novos códigos NCM e os que vão deixar de existir ainda serão aceitos até 31/08/2021. O desenvolvedor só vai ter que atualizar a sua tabela de NCM validos.
    2 pontos
  3. Vamos ver quanto tempo vai levar pro IBPT atualizar a tabela deles... Att Ricardo
    2 pontos
  4. Bom, depois de ter postado, acabei encontrando esse post E a solução é essa mesmo, tem que mudar a configuração para imprimir no layout selecionado. Resolvido Obrigado
    2 pontos
  5. 1- A versão 1.4.0.32 do ACBrMonitorPLUS alterou a leitura do grupo "Pedagio" no MDFe. Atendendo as modificações de Schemas da NT 2021.001 do MDFe foi realizado um ajuste no arquivo .ini com dados de leitura do MDFe no grupo [valePed] - Pedagio, onde foi adicionado também a tag "categCombVeic" A forma de preenchimento já utilizada anteriormente também continuará funcionando mas para adicionar esse novo campo será necessário adequar a leitura conforme abaixo: [valePed] CategCombVeic=06 [disp001] CNPJForn= CNPJPg= nCompra= vValePed= Essa informação está atualizada também na documentação do ACBrMonitor: https://acbr.sourceforge.io/ACBrMonitor/ModeloMDFeINI.html Mais informações na NT 2021.001 2- Devido as validações da NT 2021/002 do MDFe que entraram em vigor, alguns passaram a receber a rejeição " 745 Rejeição: O tipo de transportador não ser informado quando não estiver informado proprietário do veículo de tração" Para que essa tag não seja considerada na geração do XML, passe da seguinte forma, para resolver essa rejeição: tpTransp=0 Veja registro completo
    1 ponto
  6. desmarque em todas a minha instancias agora e so aguardar para ver se nao da mais o problema
    1 ponto
  7. Eu acho que os Servidor da MickeSoft não usam SMTP... Evite Provedores de contas pessoais, use um serviço SMTP profissional, como SendGrid, SparkPost ou MailGrid
    1 ponto
  8. Muito obrigado Ítalo! Ainda estou realizando os testes e adequações na ferramenta. Assim que possível venho com o feedback de emissores de NFS-e na Serra com natureza 616.
    1 ponto
  9. Fiz os testes novamente aqui e retornou com sucesso a linha digitável. Obrigado novamente!
    1 ponto
  10. Boa noite Italo, Desculpe a demora. A prefeitura de Carazinho está com problemas com o seu provedor, sendo que sugeriu a utilização de uma URL secundária, que por hora resolveu o problema. Atualizando o arquivo Cidades.INI o problema foi solucionado. Caso outra pessoa tambem esteja com este problema, a url a ser utilizada temporariamente é: http://nfse.carazinho.dbseller.com.br
    1 ponto
  11. Juliano, Favor atualizar os fontes e faça novos testes.
    1 ponto
  12. Vc precisa ajustar o evento ACBrTEFD1AguardaResp para permitir interromper qdo o campo Arquivo for 23 ou 52.
    1 ponto
  13. Manual de migração para o novo componente de NFS-e. 1. Introdução Foi realizado um refactoring no componente de emissão de NFS-e Nota Fiscal de Serviço Eletrônica, que acabou resultando em um novo componente chamado ACBrNFSeX e consequentemente um novo para impressão do DANFSE (ACBrNFSeXDANFSERL – Fortes Report). O motivo de realizar esse refactoring foi devido a uma grande quantidade de IF e CASE em diversas units para sanar a falta de padronização entre os provedores. O componente também tinha algumas propriedades de configuração repetidas com nomes diferentes e até campos na classe da NFS-e que na verdade deveriam ser propriedades de configuração, ou seja, propriedades de configuração foram implementadas como sendo campos de uma NFS-e. Portanto ao realizar a troca do componente atual (ACBrNFSe) pelo novo (ACBrNFSeX) vai ocorrer quebra de código. Esse manual tem como objetivo apresentar um roteiro de migração e apresentar o que mudou de um componente para o outro. 2. Propriedades de configuração excluídas Foram excluídas as propriedades: SenhaWeb, UserWeb, PathIniCidades, PathIniProvedor e DadosSenhaParams, Key, Auth, RequestId e Resposta. 3. Propriedades de configuração renomeadas As propriedades: WebUser, WebSenha, WebFraseSecr e WebChaveAcesso agora se chamam: WSUser, WSSenha, WSFraseServ e WSChaveAcesso. Essas propriedade se encontram em: Configuracoes.Geral.Emitente 4. Propriedades de configuração novas Foi incluída as propriedades: WSChaveAutoriz (string) em Configuracoes.Geral.Emitente e ConsultaAposCancelar (Boolean) em Configuracoes.Geral. 5. Campos excluídos Foram excluídos da classe IdentificacaoPrestador os campos: Senha, FraseSecreta, cUF, ChaveAcesso, Usuario, CNPJ_Prefeitura, ValorReceitaBruta, DataInicioAtividade, RazaoSocial, Fantasia, Endereco, Telefone, Email, crc e crc_estado. Alguns desses campos que foram excluídos possuem uma propriedade de configuração, logo o componente vai se utilizar da informação que se encontra na configuração do mesmo. Outros campos migraram para uma outra classe. Excluído o campo PrestadorServico da classe NFSe, para informar os dados do prestador devemos utilizar o campo Prestador que já existia na classe NFSe. Os campos CNPJ e InscricaoMunicipal agora estão dentro da classe IdentificacaoPrestador, exemplo: Prestador.IdentificacaoPrestador.CNPJ Prestador.IdentificacaoPrestador. InscricaoMunicipal Excluído os campos Discriminacao, ValorServicos e Codigo da classe ItemServico, usar no lugar os campos Descricao, ValorTotal e CodServ. A classe ItemServico é utilizada pelos provedores que permitem incluir mais de um item de serviço no RPS. 6. Campos renomeados O campo ChaveNFSe da classe NFSe que é utilizado pelo provedor Infisc foi renomeado para refNF para compatibilizar com a nomenclatura da tag no XML, o seu conteúdo é gerado automaticamente, logo não se faz necessário atribuir nada a ele. 7. Campos novos Na classe DadosPrestador passou a ter os campos: cUF (Integer), crc (string), crc_estado (string), DataInicioAtividade (TDateTime) e ValorReceitaBruta (Currency). Na classe NFSe foi incluído o campo SituacaoTrib (TSituacaoTrib) pois estava sendo utilizado um outro campo chamado Situacao, sendo que este contem a situação do processamento do RPS. 8. Campos cujo tipo foi alterado Alterado o tipo de string para TTipoPessoa do campo Tipo que se encontra na classe IdentificacaoTomador. 9. Métodos excluídos Foi excluído o método Enviar, EnviarSincrono e Gerar. 10. Métodos renomeados O método SetConfigMunicipio agora se chama LerParamsMunicipio. 11. Métodos novos Foi implementado o método Emitir que detecta o modo de envio correto para cada provedor. O método Emitir possui 3 parâmetros: aLote do tipo Integer ou String que contém o número do lote de RPS que está sendo enviado para o WebService; aModoEnvio do tipo TmodoEnvio cujos valores aceitos são (meAutomatico é o valor padrão): meAutomatico = o componente vai utilizar o serviço mais adequado ou implementado pelo provedor; meLoteAssincrono = o componente vai utilizar o serviço que recepciona o lote de RPS no modo assíncrono, se o provedor não tem esse serviço será apresentado uma mensagem de erro acusando que o serviço não foi implementado pelo provedor; meLoteSincrono = o componente vai utilizar o serviço que recepciona o lote de RPS no modo síncrono, se o provedor não tem esse serviço será apresentado uma mensagem de erro acusando que o serviço não foi implementado pelo provedor; meUnitario = o componente vai utilizar o serviço que recepciona um RPS por vez, se o provedor não tem esse serviço será apresentado uma mensagem de erro acusando que o serviço não foi implementado pelo provedor; meTeste = alguns provedores possuem um serviço exclusivo para realização de teste de envio de lote de RPS, para esses casos devemos usar esse modo de envio. aImprimir do tipo Boolean (True é o valor padrão), se for True imprimir automaticamente o DANFSE. Foi acrescentado os métodos GravarINI e LerINI, visando gravar e ler o arquivo INI de configuração do componente, esse arquivo INI de configuração será utilizado pelo ACBrMonitor e ACBrLibNFSe. Foi implementado o método LerArqIni visando a leitura de um arquivo INI com os dados do serviço prestado. Esse método também será utilizado pelo ACBrMonitor e ACBrLibNFSe. 12. Métodos que sofreram alteração em seus parâmetros No método ConsultarLoteRps a ordem dos parâmetros foi alterada, agora é: Protocolo e depois Número do lote, uma vez que o número do lote só é utilizado por alguns provedores e não por todos. Definição do método na unit ACBrNFSeX: function ConsultarLoteRps(const AProtocolo: String; const ANumLote: String = ''): Boolean; No método ConsultarNFSePorRps foi removido o último parâmetro: ACodMunicipioTOM em seu lugar foi incluído: ACodVerificacao, o motivo dessa troca é que nenhum provedor está utilizando o código do município do tomador na consulta e por outro lado temos provedores que se utilizam do código de verificação. Definição do método na unit ACBrNFSeX: function ConsultarNFSeporRps(const ANumRPS, ASerie, ATipo: String; const ANumLote: String = ''; const ACodVerificacao: string = ''): Boolean; No método ConsultarNFSe foram removidos todos os parâmetros e no lugar foi colocado o aInfConsultaNFSe que é do tipo TInfConsultaNFSe. Para entender como devemos informar os dados para efetuar a consulta de uma nota vide o programa exemplo do novo componente. Foram criados vários métodos de Consulta de NFSe: Usado pelos provedores que seguem a versão 1 do layout da ABRASF. function ConsultarNFSePorNumero(const aNumero: string; aPagina: Integer = 1): Boolean; Usados pelos provedores que seguem a versão 2 do layout da ABRASF. Realiza uma consulta por faixa de números de notas: function ConsultarNFSePorFaixa(const aNumeroInicial, aNumeroFinal: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por período: function ConsultarNFSePorPeriodo(aDataInicial, aDataFinal: TDateTime; aPagina: Integer = 1; aNumeroLote: string = ''): Boolean; Realiza uma consulta por numero de uma nota – serviço prestado: function ConsultarNFSeServicoPrestadoPorNumero(const aNumero: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por período – serviço prestado: function ConsultarNFSeServicoPrestadoPorPeriodo(aDataInicial, aDataFinal: TDateTime; aPagina: Integer = 1): Boolean; Realiza uma consulta por tomador – serviço prestado: function ConsultarNFSeServicoPrestadoPorTomador(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por intermediário – serviço prestado: function ConsultarNFSeServicoPrestadoPorIntermediario(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; O autor das consultas acima é o prestador de serviço. Realiza uma consulta por numero de uma nota – serviço tomado: function ConsultarNFSeServicoTomadoPorNumero(const aNumero: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por período – serviço tomado: function ConsultarNFSeServicoTomadoPorPeriodo(aDataInicial, aDataFinal: TDateTime; aPagina: Integer = 1): Boolean; Realiza uma consulta por prestador – serviço tomado: function ConsultarNFSeServicoTomadoPorPrestador(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por tomador – serviço tomado: function ConsultarNFSeServicoTomadoPorTomador(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por intermediário – serviço tomado: function ConsultarNFSeServicoTomadoPorIntermediario(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; O autor das consultas acima é o consulente, que pode ser o tomador do serviço ou outra pessoa como por exemplo o contador. Caso o provedor não tenha disponibilizado esses serviços de consultas em seu WebService, uma mensagem de erro será apresentada acusando que o serviço não foi implementado pelo provedor. No método CancelarNFSe foram removidos todos os parâmetros e no lugar foi colocado o aInfCancelamento que é do tipo TInfCancelamento. Para entender como devemos informar os dados para efetuar o cancelamento de uma nota vide o programa exemplo do novo componente. O primeiro parâmetro do método LinkNFSe no novo componente obrigatoriamente tem que ser uma string. 13. Arquivos INI O novo componente não se utiliza mais dos arquivos INI dos provedores e nem do Cidades.ini Agora temos uma unit para cada provedor e o conteúdo do arquivo Cidades.ini migrou para o arquivo ACBrNFSeXServicos.ini que é convertido em um arquivo RES através do BAT chamado Compila_RES. O arquivo ACBrNFSeXServicos.res é incorporado ao executável ao compilar a aplicação, desta forma não se faz necessário disponibilizar junto com o executável nenhum arquivo INI. Layout de uma seção no arquivo ACBrNFSeXServicos.ini [9999999] Código IBGE da cidade. Nome= Nome da cidade de preferência sem cedilha e vogal acentuada. UF= Sigla da UF da referida cidade. Provedor= Nome do provedor, deve-se respeitar a grafia levando em consideração letras maiúsculas e minúsculas. Os 2 campos abaixo são utilizados pelo provedor Governa Params1= Informar a versão do layout do Arquivo que é usado no elemento: tsVrsArq Params2= Informar a versão do layout de Impressão que é usado no elemento: tsVrsImp Os 2 campos abaixo são utilizados pelo provedor DataSmart Params1= O provedor defini uma abreviação do nome da cidade, por exemplo B_SJOSE é utilizado para a cidade de São Jose do Ouro. Params2= Por padrão o valor BANCO_DEMOSTRACAO. O campo abaixo defini o código da Entidade definida pelo provedor Equiplano para cada cidade. Params1= Informar o código da Entidade que usado no elemento: IdEntidade. Os 2 campos abaixo são utilizados para definir a URL do Link para se ter acesso ao DANFSE via navegador. ProLinkURL= Informar a URL do ambiente de Produção. HomLinkURL= Informar a URL do ambiente de Homologação. Os 2 campos abaixo são utilizados para definir a URL do NameSpace, o provedor ISSDSF tem um NameSpace diferente para cada cidade. ProNameSpace= Informar a URL do NameSpace para o ambiente de Produção. HomNameSpace= Informar a URL do NameSpace para o ambiente de Homologação Os 2 campos abaixo são utilizados para definir a URL do NameSpace do XML, o provedor Actcon tem um NameSpace do XML diferente para cada cidade. ProXMLNameSpace= Informar a URL do NameSpace do XML para o ambiente de Produção. HomXMLNameSpace= Informar a URL do NameSpace do XML para o ambiente de Homologação Os 2 campos abaixo são utilizados para definir a URL do SoapAction, o provedor Actcon tem um SoapAction diferente para cada cidade. ProSoapAction= Informar a URL do SoapAction para o ambiente de Produção. HomSoapAction= Informar a URL do SoapAction para o ambiente de Homologação Se o provedor não tem uma URL de serviço padronizada de produção, ou seja, uma para cada cidade devemos utilizar os campos abaixo: ProRecepcaoLoteRPS= Informar a URL para o ambiente de Produção. Os campos abaixo só devem ser incluídos caso a URL seja diferente para cada serviço. ProConsultaSitLoteRPS= ProConsultaLoteRPS= ProConsultaNFSeRPS= ProConsultaNFSe= ProCancelaNFSe= ProGerarNFSe= ProRecepcaoSincrono= ProSubstituiNFSe= ProAbrirSessao= ProFecharSessao= Se o provedor não tem uma URL de serviço padronizada de homologação, ou seja, uma para cada cidade devemos utilizar os campos abaixo: HomRecepcaoLoteRPS= Informar a URL para o ambiente de Homologação. Os campos abaixo só devem ser incluídos caso a URL seja diferente para cada serviço. HomConsultaSitLoteRPS= HomConsultaLoteRPS= HomConsultaNFSeRPS= HomConsultaNFSe= HomCancelaNFSe= HomGerarNFSe= HomRecepcaoSincrono= HomSubstituiNFSe= HomAbrirSessao= HomFecharSessao= 14. Roteiro para migrar do componente atual ACBrNFSe para o novo ACBrNFSeX 1. Fazer uma cópia dos fontes do projeto; 2. Carregar o Delphi; 3. Abrir o projeto; 4. Remover os componentes (ACBrNFSe e ACBrNFSeDANFSeRL); 5. Remover do uses as units: ACBrNFSeDANFSeClass, ACBrNFSeDANFSeRLClass e ACBrNFSe; 6. Remover do uses (implementação) as units: ACBrNFSeNotasFiscais, ACBrNFSeConfiguracoes, pnfsConversao e pnfsNFSe; 7. Comentar as procedures: ACBrNFSe1GerarLote e ACBrNFSe1StatusChange tanto a sua declaração quanto a sua implementação; 8. Salvar o projeto; 9. Incluir os novos componentes: ACBrNFSeX e ACBrNFSeXDANFSeRL; 10. Salvar novamente o projeto; 11. Relacionar o ACBrNFSeX com o ACBrNFSeXDANFSeRL e com o ACBrMail; 12. Criar novamente os eventos GerarLote e StatusChange do componente ACBrNFSeX e inserir o seu código (tome como base o que está comentado); 13. Executar o Replace (ACBrNFSe1 para ACBrNFSeX1); 14. Trocar o NotasFiscais.Add.NFSe por NotasFiscais.New.NFSe; 15. Incluir no uses (implementação) a unit: ACBrNFSeXConversao; 16. Remover as linhas referentes as propriedades de configuração que não existe mais, conforme mencionado no início deste Manual; 17. Alterar o nome de algumas propriedades de configuração conforme mencionado no início deste Manual. 18. Alterar o conteúdo da procedure AtualizarCidades conforme apresentado neste Manual; 19. Alterar a ordem dos parâmetros do Consultar Lote; 20. Alterar o método Enviar(vNumLote) para Emitir(vNumLote, meLoteAssincrono); 21. Alterar o método Gerar(StrToint(vNumRPS)) para Emitir(vNumRPS, meUnitario); 22. Alterar o método EnviarSincrono(vNumLote) para Emitir(vNumLote, meLoteSincrono); 23. Alterar conforme acima os métodos CancelarNFSe e ConsultarNFSe e LinkNFSe; 24. Alterar conforme o programa exemplo do componente ACBrNFSeX a forma de realizar a Consulta a NFSe e o Cancelamento de NFSe; 25. Salvar, compilar (Build) e executar o projeto. 15. Alterar o código da procedure AtualizarCidades Como o novo componente não busca mais no arquivo Cidades.ini as cidades, se faz necessário alterar o código. Como o código deve ficar: procedure TfrmACBrNFSe.AtualizarCidades; var IniCidades: TMemIniFile; Cidades: TStringList; I: Integer; sNome, sCod, sUF: String; begin IniCidades := TMemIniFile.Create(''); Cidades := TStringList.Create; ACBrNFSeX1.LerCidades; IniCidades.SetStrings(ACBrNFSeX1.Configuracoes.WebServices.Params); try IniCidades.ReadSections(Cidades); cbCidades.Items.Clear; for I := 0 to Pred(Cidades.Count) do begin if (StrToIntdef(Cidades[I], 0) > 0) then begin //Exemplo: Alfenas/3101607/MG sCod := Cidades[I]; sNome := IniCidades.ReadString(sCod, 'Nome', ''); sUF := IniCidades.ReadString(sCod, 'UF', ''); cbCidades.Items.Add(Format('%s/%s/%s', [sNome, sCod, sUF])); end; end; //Sort cbCidades.Sorted := false; cbCidades.Sorted := true; edtTotalCidades.Text := IntToStr(cbCidades.Items.Count); finally FreeAndNil(Cidades); IniCidades.Free; end; end; 16. Tabela de mensagens geradas pelo componente Código Descrição X001 Serviço não implementado pelo Provedor. X002 Nenhum RPS adicionado ao componente. X003 Conjunto de RPS transmitidos (máximo de xxx RPS) excedido. Quantidade atual: yyy X101 Número do Protocolo não informado. X102 Número do RPS não informado. X103 Série do Rps não informado. X104 Tipo do Rps não informado. X105 Número Inicial da NFSe não informado. X106 Número Final da NFSe não informado. X107 Pedido de Cancelamento não informado. X108 Número da NFSe não informado. X109 Código de cancelamento não informado. X110 Motivo do Cancelamento não informado. X111 Número do Lote não informado. X112 Série da NFSe não informada. X113 Valor da NFSe não informado. X114 Tipo da NFSe não informado. X115 Data Inicial não informada. X116 Data Final não informada. X117 Código de Verificação/Validação não informado. X118 Chave da NFSe não informada. X201 WebService retornou um XML vazio. X202 Lista de NFSe não encontrada! (ListaNfse) X203 Não foi retornado nenhuma NFSe. X204 Confirmação do cancelamento não encontrada. X205 Retorno da Substituição não encontrada. X206 NFSe Substituída não encontrada. X207 NFSe Substituidora não encontrada. X208 Não foi retornado nenhum Rps. X999 E.Message
    1 ponto
  14. O TEF por API/DLL, PayGoWeb, é muito rápido e simples de instalar... Mas você deve tomar alguns cuidados para que ele funcione corretamente nos seus clientes Finais Se você está recebendo alguma das msgs de erro abaixo: SEQUENCIA INVALIDA DO NUMERO DE SOLICITACAO ERRO DE AUTENTICACAO DO PONTO DE CAPTURA A causa desse problema, pode ser o Fato de sua aplicação, que carrega a DLL da PayGoWeb, estar sendo executada em várias instâncias, ao mesmo tempo, na mesma máquina... Ou seja, o Operador executou a aplicação duas ou mais vezes, e está operando o TEF em várias janelas da sua mesma aplicação... Isso gera uma série de problemas, e deve ser evitado... O PinPad não poderá ser acessado em modo compartilhado, por várias instâncias da DLL da PayGoWeb, ao mesmo tempo, e você pode receber erros de acesso ao PinPad As tabelas internas da PayGoWeb, que ela cria em sua Pasta de Trabalho podem perder o sincronismo, pois agora temos várias instâncias da DLL da PayGoWeb gravando nas mesmas tabelas... Portanto, devemos evitar que a aplicação de Frente de Caixa, possa ser aberta várias vezes, na mesma máquina... Uma das técnica para fazer isso, é usar a API do Windows, com o método CreateMutex Veja um exemplo, abaixo, usando Delphi. program SeuPrograma; uses Interfaces, sysutils, IniFiles, Windows, Dialogs, Forms, .... ; {$R *.res} var Ini : TIniFile; UmaInstancia : Boolean; begin Ini := TIniFile.Create( ExtractFilePath(Application.ExeName)+ 'Config.ini' ) ; try UmaInstancia := Ini.ReadBool('Config', 'Uma_Instancia', false); finally Ini.Free; end; Application.Initialize; if UmaInstancia then begin CreateMutex(nil, True, 'NomeDoSeuPrograma'); // <--------------- AQUI ------------- if GetLastError = ERROR_ALREADY_EXISTS then begin MessageDlg('NomeDoSeuPrograma','O programa já está em execução', mtError, [mbOK], 0); Application.Terminate; exit ; end; end; Application.CreateForm(TFrmMain, FrmMain) ; Application.Run; end. Ou Seja, o Primeiro Mutex será criado com sucesso... Mas quando a segunda aplicação for executada, haverá um erro na criação do Mutex, e isso forçará a entrada no IF que aborta a execução do programa, fechando a segunda instância...
    1 ponto
  15. SAT Go! Bematech Acompanha fonte na caixa SUMÁRIO Se deseja encontrar algo específico, use os links abaixo: Vídeo da Homologação | Ambiente de testes | Características Técnicas | Downloads de Drivers e Manuais | Instalação | Configurações | Testes realizados | Considerações finais | Amostras Homologação em vídeo. Assista: Apresentação do aparelho. Download e instalação de drivers. Homologação com ACBrSAT. Ambiente Computador Notebook DELL G7 Sistema Operacional Windows 10 64Bit Processador Intel(R) Core(TM) i7-8750H Memória 8GB USB 2.0 Características Técnicas SAT Retenção de dados na memória enquanto desligado 10 anos Versão Sw. Básico 01.00.00-5 Layout XML 0.07 e 0.08 Fonte Externa SIM Tipo de Conexão USB Material Gabinete Plástico ABS Sinalização Display de Cristal Líquido Conexão de Rede 2 Conectores RJ45 100BASE-TX (fast ethernet) Alimentação USB / Fonte Externa Dimensões 13cm x 11,5cm x 3cm (LxPxA) Peso 500g. Drivers Windows 10 Download de Drivers e manuais Todos os manuais, drivers e softwares utilizados pelo SAT podem ser baixados através dos links abaixo. Acesse a Pasta principal de downloads do Equipamento, no Github: https://github.com/ElginDeveloperCommunity/SAT/tree/master/Bematech/satGo Documentação: Baixe o Aplicativo de Ativação no site do fabricante. Instale conforme o seu sistema operacional. Consulte na página 18 do Manual do Usuário. Baixe o “Software de Ativação” do equipamento (Bematech). Consulte os passos para instalação, configuração e Ativação do SAT a partir da página 21 do Manual do Usuário. Instalação Acompanhe abaixo a instalação de drivers e configuração de comunicação do Smart SAT. Windows 10 - Não há necessidade de intalação de Driver manualmente, ao plugar o SAT na USB será atualizado automaticamente utilizado o Windows 10. Após o reconhecimento do equipamento o driver SAT Bematech ficará visível no Gerenciador de Dispositivos do Windows da seguinte forma: - Note que automaticamente reconhece como uma porta COM emulada. - O Próximo passo é instalar o Software de ativação Bematech e realizar a ativação do equipamento. Consulte os passos para instalação, configuração e Ativação do SAT a partir da página 18 do Manual do Usuário (OBS Importante: No diretório de instalação do Software de Ativação Bematech você encontrará a dll de comunicação com o aparelho “BemaSat32.dll” e o arquivo de configuração “Bemasat.xml”, esses dois arquivos devem ser copiados para o diretório raiz da aplicação que vai se comunicar com SAT). Configurações: Comunicação com o demo SATTeste O demo SATTeste é um exemplo que utiliza o componente ACBrSAT. Ele realiza todas as operações principais do SAT. Se desejar saber mais sobre o demo e aprender como Ativar o SAT pelo SATTeste, assista este vídeo gravado pelo Junior Santos: Comunicação entre ACBr e SAT Para iniciar os testes utilizando o SAT Go, copie a dll. "BemaSAT32.dll" e o arquivo (Bemasat.xml) para o diretório raiz do SATTest. Recomendamos que verifique o arquivo Bemasat.xml e edite, informando a porta correta do SATGo, conforme está reconhecendo no gerenciador de dispositivos. (Necessário apenas se não estiver reconhecendo a porta automaticamente) Ex: Configurações: Dados do SAT CFe Tipo de chamada satDinamico_stdcall Nome da DLL BemaSAT32.dll Código de Ativação 00000000 Versão XML 0,08 Página de Código 65001 UTF8 Habilitado Configurações: Dados Emitente CNPJ 27101611000182 Insc. Estadual 111111111111 Configurações: Dados Sw. House CNPJ 16.716.114/0001-72 Assiantura Sw. House: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT Teste de Desempenho No teste de desempenho medimos o tempo de envio até o recebimento do XML de resposta (Não é considerado o tempo de decodificação do XML pelo demo).Utilizamos o demo SATTeste para realizar este processo onde realizamos vendas com diferentes quantidade de itens, cada tipo de venda repetida 5 vezes. O último teste realizado foi com 501* itens para simular um erro, pois isso excede o máximo permitido de 500 itens. Desta forma, calculamos também o tempo médio da resposta de retorno do erro. Na tabela abaixo se encontram os resultados obtidos: Nota: O tempo medido nesse teste é computado desde o início da transmissão do XML para o SAT, até a recepção do XML de venda, gerado como resposta pelo SAT. Sendo assim, é uma medição diferente do que a Especificação Técnica do SAT preconiza, onde apenas o tempo de Geração e Assinatura do XML da venda é considerado. * Ao processar o XML de *501 itens o SAT retorna o seguinte erro:|Rejeição: Erro não identificado| Considerações O SAT Go se mostrou bem eficiente com um bom desempenho na transmissão de Cupons com grandes qtd de itens. Além disso se mostra um equipamento bastante robusto para o uso no dia a dia de um PDV. A comunicação com a dll do equipamento é simples e de fácil configuração, precisando se atentar apenas a manter a dll no mesmo diretório da aplicação. A Fonte externa 5v, que acompanha o equipamento é bastante útil, pois garante que o equipamento trabalhe tenha a voltagem necessária para o bom funcionamento do aparelho, não dependendo ser energizado pelo USB do PC. Além disso tem o botão (Liga / Desliga) que garante a integridade das informações que estão sendo processadas. O Painel em Display LCD é um grande diferencial do aparelho, facilitando muito a visualização fácil e objetiva das principais funcionalidades do SAT, além dos Status do cupom, podendo ser visualizado na própria tela do equipamento a qtd de cupons Transmitidos, Pendentes, Cancelados e a Processar. Isso facilita muito na identificação de problemas de comunicação com Internet e acumulos de Cupons pendentes de transmissão. Sendo compatível com o layout de XML 0.08, o SAT Go é compatível com o componente ACBrSAT. Amostras: Cupons Emitidos:
    1 ponto
  16. Smart SAT Elgin SAT Mais rápido do mercado SUMÁRIO Se deseja encontrar algo específico, use os links abaixo: Vídeo da Homologação | Ambiente de testes | Características Técnicas | Downloads de Drivers e Manuais | Instalação | Configurações | Testes realizados | Considerações finais | Amostras Homologação em vídeo. Assista: Apresentação do aparelho. Download e instalação de drivers. Homologação com ACBrSAT. Ambiente Computador Notebook DELL G7 Sistema Operacional Windows 10 64Bit Processador Intel(R) Core(TM) i7-8750H Memória 8GB USB 3.1 de 1º Geração Características Técnicas SAT Retenção de dados na memória enquanto desligado 10 anos Versão Sw. Básico 03.00.18 Layout XML 0.07 e 0.08 Fonte Externa NÃO Tipo de Conexão USB Material Gabinete Plástico Sinalização 5 LEDs Conexão de Rede 2 Conectores RJ45 100BASE-TX (fast ethernet) Alimentação USB / Fonte Externa Dimensões 12cm x 8cm x 4cm (LxPxA) Peso 250g. Drivers Windows 10, Linux Download de Drivers e manuais Todos os manuais, drivers e softwares utilizados pelo SAT podem ser baixados através dos links abaixo. (Obs Caso não esteja conseguindo Baixar com seu Navegador padrão, utilize o Firefox): LINK DO GITHUB PARA DOWNLOADS: https://github.com/ElginDeveloperCommunity/SAT/tree/master/Elgin/SMART SAT Consulte o Manual Unificado: para saber mais detalhes sobre como instalar o equipamento. Baixe o Driver no site do fabricante. Instale conforme o seu sistema operacional. Consulte na página 21 do Manual Unificado. Baixe o “Ativador” do equipamento (Elgin Tools). Consulte os passos para instalação, configuração e Ativação do SAT a partir da página 23 do Manual Unificado . Obs: Se preferir pode baixar o Pacote de Instalação… Já contém o Manual Unificado, Driver e Instalador Elgin Tools. Instalação Acompanhe abaixo a instalação de drivers e configuração de comunicação do Smart SAT. Windows 10 - Baixe o driver “satelgin-5.0.6”, instale conforme a versão do seu Sistema Operacional. verifique os passos de instalação antes de ligar a USB no Computador. Consulte na página 21 do Manual Unificado. - Após instalado o SAT será reconhecido no Gerenciador de Tarefas ao ligar na USB: - O Próximo passo é instalar o Ativador “Ativador-setup1.1.1” Será reconhecido no sistema como “Elgin Tools”. Consulte os passos para instalação, configuração e Ativação do SAT a partir da página 23 do Manual Unificado. (Encontre também as dlls para utilização do SmartSAT junto ao ACBr no diretório de instalação do Elgin Tools. Será necessário a “dllsat.dll” e “zlib.dll”) Configurações: Comunicação com o demo SATTeste O demo SATTeste é um exemplo que utiliza o componente ACBrSAT. Ele realiza todas as operações principais do SAT. Se desejar saber mais sobre o demo e aprender como Ativar o SAT pelo SATTeste, assista este vídeo gravado pelo Junior Santos: Comunicação entre ACBr e SAT A DLL disponibilizada pelo fabricante chama-se "dllsat.dll", ela está disponível na pasta de instalação do Aplicativo Elgin Tools.. Nos nossos testes, a DLL não estava na pasta da aplicação, mas conseguiu comunicar-se corretamente. Em casos de problemas com a DLL, recomendamos que a mesma esteja alocada na mesma pasta da aplicação. Configurações: Dados do SAT CFe Tipo de chamada satDinamico_stdcall Nome da DLL dllsat.dll Código de Ativação 123456789 Versão XML 0,08 Página de Código 65001 UTF8 Habilitado Configurações: Dados Emitente CNPJ 14200166000166 Insc. Estadual 111111111111 Configurações: Dados Sw. House CNPJ 16.716.114/0001-72 Assiantura Sw. House: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT Teste de Desempenho No teste de desempenho medimos o tempo de envio até o recebimento do XML de resposta (Não é considerado o tempo de decodificação do XML pelo demo).Utilizamos o demo SATTeste para realizar este processo onde realizamos vendas com diferentes quantidade de itens, cada tipo de venda repetida 5 vezes. O último teste realizado foi com 501* itens para simular um erro, pois isso excede o máximo permitido de 500 itens. Desta forma, calculamos também o tempo médio da resposta de retorno do erro. Na tabela abaixo se encontram os resultados obtidos: Nota: O tempo medido nesse teste é computado desde o início da transmissão do XML para o SAT, até a recepção do XML de venda, gerado como resposta pelo SAT. Sendo assim, é uma medição diferente do que a Especificação Técnica do SAT preconiza, onde apenas o tempo de Geração e Assinatura do XML da venda é considerado. * Ao processar o XML de *501 itens o SAT retorna o seguinte erro:|Rejeição: Erro não identificado| Considerações O SmartSAT da Elgin se mostrou bem eficiente e principalmente muito rápido na transmissão de arquivos XMLs com maior quantidade de itens. A comunicação com a dll do equipamento é bastante simples e ágil, visto que não depende de permissões do SO e trabalha com uma versão única para todos os modelos de equipamento. Assim como a instalação do driver se mostrou bem automatizada. Apesar de existir entrada para Fonte externa 5v,a utilização do mesmo utilizando apenas alimentação USB se mostrou satisfatória, facilitando também na instalação visto que não precisa ser ligado em uma tomada de energia. Também permite o uso de uma trava de segurança, que ajuda a garantir a integridade do equipamento, de forma a evitar furtos e que o mesmo seja movido sem autorização. O visor frontal facilita na visualização da conexão de internet do aparelho e o status bloqueio e desbloqueio do mesmo. Mas para identificação dos Status de comunicação e transmissão é utilizado a identificação através dos 5 leds na parte superior do aparelho, porém se mostra bem intuitivo para identificação de Cupons pendentes de transmissão ou falha na comunicação com o Fisco. Sendo compatível com o layout de XML 0.08, o SmartSAT é compatível com o componente ACBrSAT. Amostras: Cupons Emitidos:
    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...