Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Rodolfo Sousa
    @rodolfowf
    @igorocampos pois é, estranho que estou baixando todas as dlls (total de 6) do hardware direto do fabricante (Sweda) na versao do sistema operacional (64bits) . coloco na raiz do C: e dou permissao total para a pasta. Vou continuar tentando aqui, se conseguir posto aqui para historico.
    ah, e obrigado pela dica @igorocampos
    Rodolfo Sousa
    @rodolfowf
    Fiz um teste aqui, baixei a dll de outro fabricante(tanca) e o codigo funcionou. Na tanca só precisa de uma dll, e na sweda precisa de 6. Vou falar com o suporte da Sweda para ver se eles tem outra versão ou ate uma correção....
    Igor
    @igorocampos
    Isso é uma droga mesmo. Um dos grandes pontos fortes do Sat na epoca que foi concebida era justamente parar com a palhaçada de cada fabricante fazer uma dll, cada um de um jeito... De que adianta especificar nomes de metodos sem padronizar convenção de chamada na biblioteca. Ou como é o seu caso, fabricante condicionar uso de sei la qtas dlls... No minimo deveriam obrigar a embutir td num so arquivo...
    Rodolfo Sousa
    @rodolfowf
    exatamente, deveria ter alguma bancada para manter isso em "ordem", esse tipo de coisa pode sair dos trilhos, e oq era pra ser mais pratico e simples, vai se tornando complexo e demorado...
    Rodolfo Sousa
    @rodolfowf
    Pessoal, para deixar registrado. A Sweda me respondeu e me orientou a copiar as DLLs dentro da pasta system32, fiz isso e funcionou. Fica ai para referência . As DLLs das outras fabricantes eu nao tive problema (Tanca e Bematech). Vlw
    thmrdev
    @thmrdev
    Boa tarde Galera...ao tentar rodar no windows, estou recebendo:

    SATHub versao 0.3
    [-] "Equipamento SAT 1"
    [-] Biblioteca "/opt/fabricante/libsat.so"
    [-] Convencao Chamada 1 - Standard C
    [-]

    Traceback (most recent call last):
    File "runserver.py", line 4, in <module>
    from sathub import app
    File "C:\Users\Thiago\sathub\sathub__init__.py", line 35, in <module>
    import sathub.api
    File "C:\Users\Thiago\sathub\sathub\api.py", line 20, in <module>
    from flask.ext import restful
    ImportError: No module named ext

    Alguém consegue e tem disponibilidade p/ me ajudar?
    Daniel Gonçalves
    @danielgoncalves
    @thmrdev Primeiro vc precisa resolver o acesso a DLL do SAT. Note que está dizendo "Biblioteca /opt/fabricante/libsat.so" e "Convenção de chamada 1 - Standard C"... No Windows a biblioteca será uma DLL e a convenção de chamada será 2 - Windows stdcall
    @thmrdev Mas o problema aí é ainda anterior, porque tá acusando um erro de 'import'. Isso significa que os requisitos não foram instalados.
    Eu te aconselho a fazer o SATHub rodar em uma VM usando uma distro como Ubuntu server
    Na documentação do SATHub tem um passo-a-passo para criar uma VM como essa: https://sathub.readthedocs.io/pt_BR/latest/
    O projeto do SATHub faz tempo que não tem mudanças, mas ele é bastante funcional. Eu mesmo uso muito aqui todo dia.
    Ele roda no Windows também (conheço um pessoal que usa no Windows), mas não é minha área de domínio
    thmrdev
    @thmrdev
    @danielgoncalves Obrigado, realmente pulei essa parte na doc, instalando os requisitos tudo funcionou.
    Obrigado.
    Nicolás David Muñoz Cuervo
    @nicdamun

    Hello, when I try to execute the python library. It says:

    Erro ao tentar abrir a porta
    Traceback (most recent call last):
    File "SATTest.py", line 6, in <module>
    response = client.consultar_sat()
    File "/home/muy/Development/satcfe-master/satcfe/clientelocal.py", line 109, in consultar_sat
    return RespostaSAT.consultar_sat(retorno)
    File "/home/muy/Development/satcfe-master/satcfe/resposta/padrao.py", line 120, in consultar_sat
    resposta = analisar_retorno(retorno, funcao='ConsultarSAT')
    File "/home/muy/Development/satcfe-master/satcfe/resposta/padrao.py", line 225, in analisar_retorno
    ).format(retorno))
    satcfe.excecoes.ErroRespostaSATInvalida: Resposta n\xe3o possui pipes separando os campos: 'Erro ao tentar abrir a porta'

    Do you know how to fix this? We have the SAT connected to a linux server and to the internet
    image.png
    This is the only code we have for the moment
    Daniel Gonçalves
    @danielgoncalves

    @nicdamun Take a look at your SAT device's manual. On Linux systems you usually have to create a udev rule [1] to map the USB port to a "/dev/XXX" file (where "XXX" representing some serial tty device). For example, SAT model TS1000 (vendor Tanca [2]), you have to create a udev rule similar to:

    # 0525:a4a7 Netchip Technology, Inc. Linux-USB Serial Gadget (CDC ACM mode)
    SUBSYSTEM=="tty", ACTION=="add", KERNELS=="2-1.2:2.0", ATTRS{idVendor}=="0525", ATTR{idProduct}=="a4a7", SYMLINK+="ttyTS0"
    SUBSYSTEM=="tty", ACTION=="remove", KERNELS=="2-1.2:2.0", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a4a7", SYMLINK-="ttyTS0"

    But these instructions my vary from vendor to vendor and model to model. If you still get in trouble, write in your SAT vendor and model, and we'll try to help.

    [1] http://reactivated.net/writing_udev_rules.html
    [2] https://tanca.com.br/automacao-comercial-produto.php?cod=53

    @nicdamun (forgot the KERNELS part in the above example, since they aren't really necessary)
    Nicolás David Muñoz Cuervo
    @nicdamun
    Thank you @danielgoncalves , our SAT vendor is DIMEP and model is D-SAT 2.0 / VERSAO: 01.01.01
    Nicolás David Muñoz Cuervo
    @nicdamun
    We created the rule just as you told us but no luck, we have idVendor=0525 and idProduct=14a7
    Nicolás David Muñoz Cuervo
    @nicdamun
    It worked, we had to add sudo before the command that ran the library and add the rule you wrote. Thanks!
    Daniel Gonçalves
    @danielgoncalves
    @nicdamun Nice! Glad it worked :smile:
    edilson1235
    @edilson1235
    Estou Usando Devian9/Python3.8 o aparelho SAT da ControlId, quando tento executar o comando "ConsultarSAT" recebo uma string vazia.
    Daniel Gonçalves
    @danielgoncalves

    Com o SAT iD conectado na máquina, o comando lsusb deve mostrar o dispositivo como 1D6B:0104 Linux Foundation Multifunction Composite Gadget. Se o aparelho estiver sendo listado, aí vc deveria checar:

    1) A bilioteca está onde deveria? O arquivo é libsatid.so.1.2.3 e deveria ficar em /usr/lib64 ou equivalente no Debian (eu uso Fedora);

    2) Quando o SAT é plugado no PC ele fica associado à /dev/ttyACM0 ou /dev/ttyACM1 (a que estiver disponível). Checa isso com o comando: udevadm info /dev/ttyACM0, a saída deverá ser algo como:

    $ udevadm info /dev/ttyACM1
    P: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/tty/ttyACM1
    N: ttyACM1
    L: 0
    S: serial/by-path/pci-0000:00:1d.0-usb-0:1.4:1.0
    S: serial/by-id/usb-Control_iD_S@T-iD_900025017-if00
    E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/tty/ttyACM1
    E: DEVNAME=/dev/ttyACM1

    3) As dependências da biblioteca estão resolvidas? Checa com o comando ldd /caminho/para/libsatid.so.1.2.3, a saída deverá ser algo como:

    $ ldd /usr/lib64/libsatid.so.1.2.3 
    linux-vdso.so.1 (0x00007fff8f94b000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fcb68973000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fcb68959000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fcb68793000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fcb6864d000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fcb68e1b000)

    Se tudo isso estiver OK, a pergunta final é: Você já tentou conectar no SAT usando o software do fabricante? Eles tem pra Linux também. Mesmo sendo um equipamento para desenvolvimento é quase certeza que precisa ser ativado. Confirma com o suporte deles antes. O meu aqui teve que ser ativado, mesmo sendo de desenvolvimento.

    @edilson1235 A resposta acima ficou dificil de ler porque a formatação de texto do gitter não ajuda. Se não der pra entender, só perguntar de novo ;)
    (a formatação melhorou, deu pra editar, eu é que tava fazendo arte, kkk)
    edilson1235
    @edilson1235
    1) A bilioteca está onde deveria? O arquivo é libsatid.so.1.2.3 e deveria ficar em /usr/lib64 ou equivalente no Debian (eu uso Fedora); Sobre isso, a biblioteca deve ser setada no componente satcfe cliente = ClienteSATLocal(
    ... BibliotecaSAT('/caminho/para/libsat.so'),
    ... codigo_ativacao='12345678') o caminho é /usr/lib64/libsatid.so.1.2.3?
    edilson1235
    @edilson1235
    Ignora mensagem anterior, deu certo, funcionou perfeitamente, segui os passos citado por você e foi, só executei um comando a mais que foi "chmod 2777 /dev/ttyACM0
    ", mas tá ok você ajudou muitos valeu e bom dia.
    edilson1235
    @edilson1235
    Boa tarde, uma dúvida se tenho uma impressora por exemplo ControlId que não está na lista "https://github.com/base4sistemas/pyescpos" de impressora suportadas oque posso fazer, seria o caso de gerar um pdf na mão e enviar para impressora?
    Daniel Gonçalves
    @danielgoncalves
    @edilson1235 O modelo Print iD Touch acabou de ser implementado na biblioteca, mas os fontes ainda não foram liberados. Isso deverá acontecer dentro das próximas semanas. Enquanto isso você pode usar a implementação do modelo Epson TMT20 que existe na biblioteca, sem nenhum ajuste necessário.

    Ignora mensagem anterior, deu certo, funcionou perfeitamente, segui os passos citado por você e foi, só executei um comando a mais que foi "chmod 2777 /dev/ttyACM0
    ", mas tá ok você ajudou muitos valeu e bom dia.

    Legal, que bom que funcionou :wink:

    edilson1235
    @edilson1235
    Valeu pela atenção, resolvi a impressão de outra forma, deu tudo certo, esse fórum é muito útil, quando eu tiver mais experiencia posso ajudar os outros, vou participar mais.
    edilson1235
    @edilson1235
    Boa tarde, tem alguma expectativa de implementar o tipo de documento PIX na biblioteca.
    Daniel Gonçalves
    @danielgoncalves

    @edilson1235 Sim! O projeto é separado em 3 bibliotecas: satcomum, satcfe e satextrato.

    Há alguns dias eu publiquei a satcomum versão 2.2 que contém as constantes de meios de pagamento, incluindo o novo Pix, em conformidade com a ER SAT 2.28.05 (que é mais recente).

    Nas próximas semanas, vou atualizar as outras duas bibliotecas também. Se estiver interessado em saber da movimentação no repositório, clique em "Watch" nos repositórios e escolha as notificações que quer receber.

    edilson1235
    @edilson1235
    Obrigado vou acompanhar sim!!!
    Bruno Alves
    @Brunoazzireluto
    Opa Pessoal, tudo certo?
    Esse código de Ativação do Sat que pede no satcfe eu acho aonde??
    1 reply
    Luis Felipe Miléo
    @mileo
    image.png

    Bom dia Pessoal, alguem já teve algum problema ao usar o satcfe no windows?

    Não consegui nem abrir a DLL...

    Python error: OSError: [WinError 193] %1 is not a valid Win32 application

    Luis Felipe Miléo
    @mileo
    Pqp, descobri, instalei o python 32 bits, no windows 7 64 bits e rolou.
    Lucas Silva
    @lucassilvagc
    Bom dia pessoal. Uma dúvida. No SAT, há alguma transação para "flush" das transações?
    Caso paradigma: faço uma transação, ela é recebida pela SEFAZ, mas a luz de CFE do equipamento fica acesa até que alguma outra transação (que não seja de cancelamento e/ou venda) seja realizada, ex.: atualização do SAT.
    Lucas Silva
    @lucassilvagc
    Não sei se esqueci de algo ou se o equipamento está com dificuldades de processar (ou se estou esperando algo que não ocorre imediatamente...)
    Daniel Gonçalves
    @danielgoncalves

    Bom dia pessoal. Uma dúvida. No SAT, há alguma transação para "flush" das transações?

    Não existe (que eu saiba). Se houverem cupons para serem transmitidos, o equipamento vai indicar no painel e, estando conectado, fará a transmissão dos cupons pendentes.

    Caso paradigma: faço uma transação, ela é recebida pela SEFAZ, mas a luz de CFE do equipamento fica acesa até que alguma outra transação (que não seja de cancelamento e/ou venda) seja realizada, ex.: atualização do SAT.

    Somente documentos fiscais válidos são transmitidos para a SEFAZ/SP. A medida que você realiza vendas ou cancelamentos, esses documentos são armazenados na memória do equipamento e são transmitidos em lotes de tempos de tempos, basta que o equipamento esteja conectado.

    Daniel Gonçalves
    @danielgoncalves

    Não sei se esqueci de algo ou se o equipamento está com dificuldades de processar (ou se estou esperando algo que não ocorre imediatamente...)

    Ao vender ou cancelar um documento, você vai notar que o SAT acende a luz de CF-e pendente de transmissão. Se vc mantiver o equipamento desconectado, ele irá acumular os documentos em memória, até que o equipamento seja conectado. A transmissão pode não ocorrer imediatamente, mas se tudo estiver OK com a conexão e nenhuma porta necessária estiver bloqueada pelo firewall da sua rede, o equipamento vai conectar e transmitir em algum momento. Dá uma olhada na documentação da SEFAZ/SP sobre os detalhes de conexão.

    1 reply