Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 17-10-2016 em todas as áreas

  1. Testamos o SAT Nitere NSAT-4200, utilizando o exemplo do ACBr, SATTeste.exe, e o programa de Ativação do Fabricante. Sobre a instalação e ativação do SAT Nitere NSAT-4200: O manual de instalação, driver e o aplicativo de ativação podem ser encontrados em: http://www.nitere.com.br/suporte-downloads-nitere. O site do fabricante é bastante intuitivo, e não tivemos dificuldades em encontrar as bibliotecas e programas do SAT. O SAT foi testado em uma máquina com Windows 8.1, e o próprio Windows identificou um driver genérico (ELMO GMAS), segundo o fabricante não é necessário instalar o driver neste caso, o próprio que foi identificado é suficiente, porém foram testados tanto o driver genérico quanto o driver do próprio fabricante (seguindo o manual disponível no site citado anteriormente). Os dados de código de ativação padrão, encontravam-se em uma folha, junto ao manual, na caixa do equipamento. Dados de Ativação: CNPJ do contribuinte: 10.261.693/0001-20 Código de ativação: 12345678 Associar Assinatura: CNPJ do contribuinte: 10.261.693/0001-20 CNPJ da software house: 16.716.114/0001-72 Assinatura do AC: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT Para realizar a ativação do SAT é muito simples, basta seguir os seguintes passos: Instalar drivers-dll-nsat-4200-ev9sm.exe disponível no site. Após instalado, será criado uma pasta com o nome: sygmansat na unidade C. Abrir o sygma_nsat.exe que encontra-se nesta pasta. Em Configurar Rede SAT (Passo 01), deverá ser preenchido com os dados corretos e clicar em Enviar. A interface de rede já será configurada neste passo. Nota: As configurações de Proxy deverá ser configurada no caso dessa configuração existir na rede local. Após o envio dos dados do passo 01, clicar em Ativar SAT (Passo 02), preencher corretamente os dados e clicar em Enviar. Pronto seu SAT está ativado. Agora é necessário associar a assinatura, em Associar Assinatura SAT, preencher corretamente os dados de clicar em Enviar. Após a configuração, os leds que deverão ficar acessos são: Equipamento energizado, Equipamento operando e/ou em comunicação com o AC e Parametrização Instalada. O processo de ativação, também pode ser realizado pelo SATTeste.exe. Basta seguir os seguintes passos para ativar o SAT: O ACBrSAT deverá estar configurado da seguinte maneira: Em inicialização, deverá estar na opção: satDinamico_stdcall; Página de código: UTF8 ou 65001; Versão: 0,07; Formatar XML deverá estar desmarcado. (veja tópico: “Sobre a Utilização”, abaixo) Remover Acentos deverá estar marcado. (veja tópico: “Sobre a Utilização”, abaixo) Configurar na aba Dados do SAT CFe, no nosso caso, os dados necessários encontravam-se em uma folha junto ao manual Configurar no campo “Nome DLL” o caminho para a dllsat.dll (veja nota 1). Clicar em Inicializar. Ir no menu Ativação, e clicar em Ativar SAT. Para associar assinatura: Clicar em Ativação > Associar Assinatura É possível também configurar a Interface de Rede pelo SATTeste. Para o tipo de interface ETHERNET: Escolher a opção ETHE, dentro da aba Rede > Tipo Rede. Escolher conforme as configurações de sua rede entre DHCP/PPPoE/IPIFIX Em Configuração de Proxy, configurar caso haja proxy em sua rede. Nota 1: A DLL encontra-se na pasta sygmansat conforme instalação. Sobre o equipamento SAT NSAT-4200: O equipamento funciona bem e suas configurações são simples. Sua apresentação física é boa, e seu gabinete é de material plástico ABS. Seus Leds podem confundir um pouco o usuário, pois não há descrição de cada led, e é necessário consultar o manual para compreender os símbolos, principalmente quando a luz do equipamento comunicando com o fisco estiver acessa, dando a impressão de que o estado de rede local está acessa também. O equipamento é alimentado pela porta USB, o cabo usado é o USB-B (o mesmo utilizado pela maioria das Impressoras), possui também duas portas para Rede, para permitir a redistribuição do cabo a outro equipamento. NSAT-4200 Versão Sw.Básico 02.00.03 Layout XML Entrada 00.07 Fonte Externa Não Portas de Eth 2 Chave Liga/Desliga Não Wi-Fi Não Tipo Cabo USB USB-B Tipo Gabinete Plástico ABS Fixação Gabinete Não Trava Antifurto Sim Sinalização Leds Bom Software de Ativação Bom Suporte a Windows 32/64 Suporte a Linux* 32/64 * Foi necessário entrar em contato com o fabricante, e o mesmo disponibilizou a Lib utilizada no sistema operacional Linux. Sobre a utilização do SAT NSAT-4200: Para a utilização do SAT, no primeiro momento, deixamos com o driver genérico. Neste cenário, apontamos para a DLL da pasta de instalação do próprio programa da Nitere, não houve erros. Notamos que o SAT não aceita XMLs com espaços, e portanto quando a opção “Formatar XML” estiver ligada, ao realizar uma venda, ocorreu o erro: “Resposta:949632|06010|1999|Erro nao identificado||”, porém desmarcando essa opção, funcionou corretamente. Detectamos um problema em relação a Tag “Dest.xNome”. No XML gerado pelo SATTeste.exe, é definido campo “Dest.xNome” com a seguinte descrição. Dest.xNome := 'D.J. SYSTEM ÁÉÍÓÚáéíóúÇç teste de nome Longo muito LONGO'; O Objetivo é testar como o SAT se comporta com caracteres acentuados, e com uma Descrição com o limite próximo do máximo permitido pelo campo xNome (60 caracteres). O SAT da Nitere está recusando o XML, com o erro: “Resposta:418632|06010|1999|Erro nao identificado||”. Observamos que se a opção “Remover Acentos”, estiver marcada, o XML é enviado com sucesso. O problema ocorre, pois caracteres acentuados em UTF8 podem consumir até 2 bytes, e a validação do SAT está erroneamente considerando o número de Bytes e não de caracteres. O problema foi reportado ao Fabricante, que nos informou que já existe uma correção para o mesmo, e que será lançada na próxima atualização do Software Básico. Foram realizadas diversas vendas com o aplicativo SATTeste.exe, e os XMLs com retorno das vendas foram geradas corretamente. Realizado testes de tempo de envio pelo próprio SATTeste, conforme imagem abaixo. O tempo que medimos 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... Ou seja, é uma medição diferente do que a Especificação Técnica do SAT preconiza, onde apenas o tempo de Geração do XML da Venda é considerado. Tempo em Segundos * Venda máxima de quantidade de itens para a venda com o SAT é de 500, acima dessa quantidade o SAT retorna “Erro não identificado”, o tempo calculado neste caso, foi do retorno do erro. As seguintes informações abaixo, nos foram recebidas pela engenharia do Fabricante: Nosso SAT possui alguns diferenciais sobre os demais SATs de mercado que têm sido bastante elogiados em outras avaliações semelhantes à sua, dentre eles podemos citar: – Possui bateria interna que permite o desligamento seguro do SAT, evitando-se a corrupção do sistema. –Tempo de processamento dos cupons inferior à média dos concorrentes, graças ao processador de performance superior, 800Mhz contra 350MHz em média dos demais. – 3 sistemas de watchdog, sendo um deles com hardware independente, que monitoram e garantem o funcionamento do sistema sem travamentos. Cupom gerado pelo SAT XML que foi enviado e o XML de retorno anexo abaixo. XML de Envio: AD20161011150701-625430-env.xml XML de Resposta: AD31161010261693000120599000096000000171043879.xml SAT NSAT-4200
    4 pontos
  2. Porque a minha aplicação, quando compilada no Trunk2 exige as DLLs do XMLSec ? O Trunk2, tem a habilidade de suportar OpenSSL (XMLSec) e CAPICOM, na mesma aplicação... e no ACBrNFe, existe a Classe TDFeSSL, que permite configurar qual será a biblioteca de SSL em Design ou Run-time Para isso, basta mudar a configuração usando comandos como abaixo: ACBrNFe1.Configuracoes.Geral.SSLLib := libOpenSSL; ACBrNFe1.Configuracoes.Geral.SSLLib := libCapicom; ACBrNFe1.Configuracoes.Geral.SSLLib := libCapicomDelphiSoap; // Mesmo que "libCapicom", mas usando a Indy Porém, para efetuar essa "magica", precisamos compilar todas as Units que dão suporte a CAPICOM e OpenSSL\XMLSec, e elas injetam a dependência de DLLs externas Porque eu usaria o suporte a OpenSSL ? O OpenSSL é ótimo para certificados do tipo A1... pois você não precisa instalar o certificado no Windows... basta apontar o caminho do arquivo PFX e a Senha: ACBrNFe1.Configuracoes.Certificados.ArquivoPFX := edtCaminho.Text; ACBrNFe1.Configuracoes.Certificados.Senha := edtSenha.Text; Porque remover o suporte a uma das bibliotecas de SSL ? A desvantagem, é que a sua aplicação agora ficou dependente de mais DLLs, e para alguns pode ser um problema, distribuir e instalar as mesmas Onde eu encontro as DLLs ? \ACBr\DLLs\OpenSSL \ACBr\DLLs\XMLSec Para onde eu copio essas DLLs ? Você deve copiar TODAS as DLLs das pastas acima indicadas (e não apenas algumas). Você pode copiar para a mesma pasta da sua aplicação .EXE ou para o "System" do Windows Observe que, essas DLLs são 32 bits, e portanto só funcionarão para aplicações compiladas com um compilador 32 bits (que é o padrão para Delphi e Lazarus)... Uma aplicação 32 bits roda em um S.O. 64 bits, mas o oposto não ocorre... Considerando que essa DLLs são 32 bits, então: Se o seu Windows for 32 bits, copie para a pasta: C:\Windows\System32 Se o seu Windows for 64 bits, copie para a pasta: C:\Windows\SysWOW64 Se você estiver instalando DLLs de 64 bits em um Windows 64 bits, então a pasta correta é: C:\Windows\System32 (vai entender... pergunte pra Microsoft) Como eu removo a dependência ? Nunca usou o OpenSSL ? Nunca deseja usar ? Então você pode remover o suporte do ACBr ao OpenSSL/XMLSec, e com isso, remover a dependência de sua aplicação das DLLs do XMLSec.. Edite o ACBr.inc... Observe que no inicio do mesmo, existem as linhas abaixo: {.$DEFINE DFE_SEM_OPENSSL} {.$DEFINE DFE_SEM_CAPICOM} Apenas remova o ".", se quiser ativar a remoção... {$DEFINE DFE_SEM_OPENSSL} Por que mesmo assim, a sua aplicação fica dependente das DLLs do OpenSSL (libeay32.dll, ssleay32.dll) ? O ACBr usa o OpenSSL para várias outras tarefas, como: criptografia e assinatura (ACBrEAD), comunicação segura (ACBrMail, ACBrHttp)... e outras... Então hoje, elas sempre serão necessárias... essa dependência já existia no "Trunk1"
    1 ponto
  3. Minha nova classe para importação e exportação de Dados usando o formato parecido com o do SPED para troca de informações, com criptografia de dados, compressão de linhas, extração de blobs para formato Base64, Header de TAG para os campos que foram adicionados serem utilizados na importação de forma automática, Mascaras de Tipos, Tabela indexada por TAG de forma que você pode ter várias TAG's de várias tabelas dentro de um único TXT que o Sistema irá identificar sua importação a partir da TAG que você escolher utilizar. Vários outros recursos estão sendo adicionados para futuramente ser usado também como um Database TXT. Meu Blog Delphi Projeto no SourceForge
    1 ponto
  4. Postei na lista do FreePascal sobre como saber a codificação de uma string. Espero que alguém dê alguma ideia por lá...
    1 ponto
  5. Bom dia André, Já fiz a alteração e enviei para o repositório.
    1 ponto
  6. Boa noite André, Pelo que entendi o componente compara o valor de rootNode com infElement. O infElement é passado para a rotina como sendo "ns3:LoteRps" mas o valor de rootNote retornado pela função xmlDocGetRootElement é "LoteRps". Sendo que no XML existe o prefixo ns3: na tag LoteRps. O problema é que somente uns 2 ou 3 provedores existem o prefixo, um deles é o Ginfes. Talvez a solução seria: (...) if Pos(':', infElement) > 0 then infElement := Copy(infElement, Pos(':', infElement) +1, Length(infElement)); { Se tem InfElement, procura pelo mesmo. Isso permitirá acharmos o nó de assinatura, relacionado a ele (mesmo pai) } if (InfElement <> '') then begin (...) Com isso removemos o prefixo do infElement caso ele exista. Tente essa solução.
    1 ponto
  7. Pessoal, Ontem a Ana da Dimep me mandou uma versão nova da DLL e aparentemente o problema foi resolvido. Depois da instalação da DLL nenhum erro de TIMEOUT gerado. Segue anexo - Nova versão 2.0.0.7 A Ana também se colocou à disposição para ajudar quem precise aí Ana Paula Costa – Coord. De Integração e Suporte – Automação Tel: 11 3646 4100 - Opção 2 Suporte ou ou 11 9.9170-0914 Skype: suporte.dsat1 email [email protected] DLL.zip
    1 ponto
  8. Possível correção no Commit [r12409]
    1 ponto
  9. 1 ponto
  10. Bom dia Agnaldo, segue em anexo um modelo do arquivo .txt que é passado ao Acbr. Com estes dados, inclusive consegui autorizar esta NFe. Espero ter ajudado. Até mais. NFE.CriarNFe.txt
    1 ponto
  11. Se alguém precisar tbm, troquei o método para salvar o XML da CC-e. var vSalvar : TStrings; vSalvar := TStringList.Create; vSalvar.Text := UTF8Encode(ACBrNFe1.WebServices.EnvEvento.DadosMsg); vSalvar.Text := StringReplace(vSalvar.Text, '<-><->', '', [rfReplaceAll]); vSalvar.SaveToFile( ChecaBarra(ExtractFilePath(Application.ExeName)) + 'tempCCe.xml'); vSalvar.Free; Att, Alex.
    1 ponto
  12. Em minha opinião, me dá uma reviravolta no estômago lendo que pessoas tão inteligentes como vocês são, se deixam levar por uma coisa que do ponto de vista comercial é tão clara. Porque vou perder meu tempo, em desenvolver algo que somente vai me quebrar ali na frente... Porque vou dar uma ferramenta para alguém que amanha só vai dar dor de cabeça. E o porque pior de todos, porque vender 1 SAT, se poderia vender 3? Única ressalva, se seu cliente tiver, 5 ou mais PDV's, aew acho que ele tem total capacidade de bancar seu desenvolvimento, mais único e exclusivo a ele, pois os outros clientes você vai cair no erro do meu 3º Porque. Isto é o que vejo.
    1 ponto
  13. Atualize seu repositório e teste novamente, enviei uma possível correção para o problema no FastReport, no EscPOS está normal.
    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...