Ir para conteúdo
  • Cadastre-se

Siepi

Membros
  • Total de ítens

    122
  • Registro em

  • Última visita

Tudo que Siepi postou

  1. Me perdoe, André, por não ter dado detalhes. Estou com um projeto a parte nesse quesito em PHP e não no ACBr. Se postei em um local indevido, peço desculpas. Mas como disse, trabalho em 8 estados diferentes na 4.00 nesse script PHP e somente no Amazonas tenho esse problema.
  2. Prezados, atendo um cliente no Amazonas. Estou fazendo a migração para a versão 4.00 da NFC-e utilizando o endereço https://homnfce.sefaz.am.gov.br/nfce-services/services/NfeAutorizacao4?wsdl e tenho um erro interno, me parece do Java nos servidores que me retorna o seguinte: SoapFault exception: [axis2ns2021:Client] The service cannot be found for the endpoint reference (EPR) https://nfce.sefaz.am.gov.br:443/nfce-services/services/NFeAutorizacao4 No webservice da versão 3.10 comunico sem problemas. Mas como já migramos os clientes em outros estados para a versão 4.00 e modificamos os nossos fontes, deparamos com esse erro no Amazonas, o que impede o funcionamento do cliente. O que pode estar ocorrendo? um cordial abraço e no aguardo
  3. Prezados, procurei e encontrei diversas questoes sobre a Epson TM T20 mas nao em relacão a este problema. Anexei duas imagens de impressao feita na Bematech e na Epson. Notem que na Bematech (bem como Daruma e Elgin que tenho rodando em clientes) imprime corretamente o layout que envio. Mas na Epson ela simplesmente ignora os comandos mandando todos sem as formatações O que pode ser? Cordialmente Ricardo
  4. Pessoal, tenho um cadastro com pouco mais de 17 mil itens apenas de drogaria. Somente itens de NFe importadas dos distribuidores. coloquei ean13, ncm e a descricao caso queiram conferir algo. Se alguem tiver cadastro de drogaria com estas informaçoes, posta aqui. abraço drogaria_ean-ncm-descricao.txt
  5. Olá Daniel, Beleza camarada. Funcionou. Consigo mandar os comandos isolados e apenas imprimir como eu queria. Obrigado
  6. Siepi

    NFCe

    Prezados, uso o ACBRMonitor para os clientes com ECF e possuo rotina própria para NFe em produçao e tudo ok. Estou entrando no nosso sistema com NFCe, adquiri uma MP100s da Bematech e vi que tenho como usar a dll da Bematech para comunicar o PHP com a impressora (o php estará local no cliente). Aí pergunto: Existe a possibilidade de usar o ACBR somente como interface para enviar um arquivo e ele imprimir nas impressoras, visto que todo o resto já tenho rodando? Tentei o ACBRPrinter, mas como outros que tentaram, nao funcionou. A única coisa que me falta e enviar o danfe para a impressao. Alguma sujestao?
  7. Sim, eles controlam por exemplo o portaldadrogaria, a homologação lá é para PBM. VOu dar uma olhada.
  8. Prezados, estou homologando a SevenPDV e em um dos testes eu devo desligar a impressora no meio de uma emissão de um relatório gerencial e o sistema deve dar o alerta ao usuário que houve o erro e se ele quer tentar imprimir novamente. Até aí tudo ok. Mas quando ligo a impressora, o final da impressão do relatório que estava sendo impresso termina de imprimir e logo em seguida consigo mandar a reimpressão. Teria como quando ligar a impressora ela não mandar o restante e já fechar o Relatorio gerencial? O pessoa da SevenPDV diz que teria como, mas realmente como posso intervir na impressora se ela está desligada e se quando ligo ela mesma já descarrega o que estava sendo impresso? Mas coisa com o fim de papel. Quando termina ela acende a luz papel e não recebe comando. Quando alimento o papel ela termina de imprimir o que já estava imprimindo do relatorio gerencial, ao invés de simplesmente fechar o relatório sem imprimir o restante. Agradeço a ajuda.
  9. Entendi Juliomar. Minha dúvida era se o monitor teria algum método que eu indicava a nfe e ele gerava os registros do SINTEGRA
  10. E aí prezados do ACBrNfeMonitor. Temos algo hoje que o ACBr possa fazer em relação aos registros do SINTEGRA?
  11. Siepi

    Gerar Sintegra

    Prezados, meu PAF ta rodando beleza com PHP. Agora é hora de gerar o sintegra. Vi que com os registros 60 é mamão com açucar. Com os registros das NFe que meus clientes recebem dos seus fornecedores, existe algo que me facilite no acbrNfe? Eu pensei em dois caminhos: 1 - Peço o path onde estão todas os xmls das nfes e trato via php mesmo gerando os registro respectivos 2 - Teria como, pelo webservice da Nfe pegar todos os xml de determinado mês, para o cliente nem esquentar a cabeça em guardar os xml? Pensei nisso, acessando o webservice, capturando todos os xmls e tratando para o sintegra, mas sei que para isso eu dependo do webservice me dar um metodo para tal. pesquisei aqui no grupo por nfe sintegra xml e o assunto não fechou na cabeça ainda. O que os senhores me sugerem? Abraço
  12. Sobre NFCe não mexi ainda. Somente ECF. E na legislação o ECF não pode ser online. Aqui em Minas não vi movimentação sobre a NFCe, mas creio que deva ser o futuro a médio prazo, 5, 7 anos.
  13. Não, não pode ser online. Deve funcionar local. Um servidor local com a aplicação local. Estou verificando uma ferramenta para criptografar os fontes.
  14. Boa tarde prezado, eu achei a comunicação via socket meio instável. Houve captura antes do final da comunicação etc. Passei para via txt. Já estou rodando o programa em um cliente e sem problema algum Apache 2.4.10, PHP5.6.0, mysql5.6.20, ZF2.3, Doctrine 2.4, Extjs 4.2.1 ACBrMonitor Qual seria sua dúvida?
  15. Regys, funcionou perfeito. Obrigado Esse método não está listado no help, seria interessante atualiza-lo lá. Muito util para quando se tem que assinar um arquivo criado pelo PAF.
  16. Realmente não tem tal método, e seria exatamente isso. Eu criaria o arquivo e logo após grava-lo chamaria o acbrmonitor invocando um método e passando o path do arquivo como parametro para ele assinar como faz com os demais arquivos. Isso tem como ser implementado?
  17. Uai, se tiver, matou meu problema. Vou conferir no help
  18. Daniel, a assinatura e si está beleza, o meu problema é o tal bloco de 128 bytes que tem que ser assinado. É muito mal explicado na lei como montá-lo. As rotinas em si de assinatura e criptografia estão ok, onde estão sendo aplicadas, o conteúdo que não consigo enxergar com a explicação do documento do Estado. Lá no requisito V do SRE 132 MG001 é dito que: c1) aplicar a função unidirecional MD5 uma única vez na porção do arquivo que compreende entre o seu primeiro byte e os bytes de quebra de linha imediatamente anteriores ao registro EAD, ficando excluído do cálculo do hash o registro EAD. O resultado será um código de 128 bits ou 16 bytes que devem ser inseridos no bloco de dados de 128 bytes que será assinado de acordo com a tabela abaixo: Bloco de dados de 128 bytes que deve ser assinado: Imagem anexada a mensagem bloco128bytes.png onde: - a letra “A” indica o tamanho do hash e deve ser preenchido com valor fixo 16 (em hexadecimal 0x10). - a letra “B” indica o local de preenchimento do hash, sendo que à esquerda fica o byte mais significativo e à direita o menos significativo. - a letra “C” indica os bytes restantes não usados, de preenchimento livre. c2) criar uma chave privada de 1024 bits, equivalente a um número hexadecimal de 256 dígitos, de conhecimento exclusivo da empresa desenvolvedora do PAF-ECF, devendo ser utilizada a mesma chave para todos os PAF-ECF desenvolvidos pela mesma empresa. c3) criptografar o bloco de dados gerado conforme disposto na alínea “a”, utilizando a chave a que se refere a aliena “b” pelo algoritmo RSA de chave pública, sem utilizar nenhuma codificação dos dados além da criptografia RSA, de maneira que o bloco de dados seja recuperado no momento da decriptografia exatamente igual ao detalhado na tabela acima. c4) com o resultado do procedimento descrito na alínea “c3” será obtido um número hexadecimal com até 256 dígitos que deverá ser informado no campo 02 do Registro tipo EAD. Note que da letra B estão preenchido nesse bloco acima 16 posições, mas o md5 por si somente gera uma string com 32 posições. Obrigado pela atenção e se puder me dar um help somente em como montar o tal bloco onde será aplicada a rotina. Abraço
  19. Complementando a informação acima, eu consigo retornar o mesmo conteúdo criptografado com a minha chave privada, usando o openssl_public_decrypt r minha chave pública. Sem problema algum. Quer dizer, está indo e voltando sem perda ou alteração.
  20. Peço ajuda dos prezados no seguinte: Falta apenas a geração do registro do PAF-ECF para eu liberar o nosso sistema. No caso dos meus clientes e de acordo com a MG001, pois atendo apenas Minas, devo ter o registro U1 e o EAD, lembrando que não tenho inscrição estadual e como é alfa, fica tudo branco. Peguei o trecho do componente do ACrEAD que é a function CalcularEAD que vai da liha 738 até 789 para entender a lógica e replicar no php, saindo o seguinte: $data = <<<EOD U106996155000106 02133020017 MULTDATA SISTEMAS LTDA - ME EOD; $pvk = <<<EOD -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQC4TjPRNaDu14Mc7OhQQ+Pro4WQp0ZXdOyXy83FunyYlM4E981A 9W0PC9dO8CRdOdFZOKd0D1fcqLaUf50FiTROTKjzKRxxd6k34eWjJvr3ArkoiuTA ZorhWrhHZ70zFJG3Nc3vGs4rkm5iury30PC7mMCbz1JVp9BlGU5qX5kWtQIDAQAB AoGAQp8yJ+vk0rFgmbIhf/Iqj2E6xMFSsgZ4B58KMPFqXJVdq3oP3e1ZkNjM6aHw 4yolPMU38sIhFoh+B0vh7MBeAVpOt+DiLWcOCsRSwe2V8/7sh/wgYNSyJ4R/p6+H ujC7Yb7OMVPecwyH8oAsDEzSVxkCXVmfhh5cvjlllu7sdDkCQQDpby9d3G6d8kCr aNNOvcLzSF+YcY/3MK0BpEzRvgW7/GTTK7GJtPiF6VXhn+MmEY0bX8DpgHUF3wrw /CdvFIBLAkEAyh85ALgAKD0o2lC9xd6nOUxbqsz1CEAHicepw5V5M2+f3TLpwLwa vvEUdFPfZkROrYPikf9EOWTSRzqtvjBk/wJAfARoA9PSqPNFTEu6x8ClTB8NOq5K sCcaIx8o+N2dqkvjPRWfkuukhXB8Agyx302/y+VJVkS6502iQHmWcbtQlQJAcaxh qK/TFs5evXmPYUs5jRYOr96ZKEyqcKikJ2VXRsBOjl7l7AlemWiIcmwBRkjAXwG/ WRDRU94KDRlJQZ+CDQJBAL/3LZ6xZFQZUbiIfwwlaiPzVmTSkrEVnmeSwCsGGMro mQkHIpVM+FF4jdOBcKKliexdFX+qsqRH265FvTZrME8= -----END RSA PRIVATE KEY----- EOD; $md5File = openssl_digest($data, 'md5'); $hex = dechex(16); $file = str_pad($hex . $md5File, 128, 0, STR_PAD_RIGHT); $rsc = openssl_get_privatekey($pvk); openssl_private_encrypt($file, $signature, $rsc, OPENSSL_NO_PADDING); file_put_contents('c:\Multpaf\arquivosdigitais\ead.txt', $data . chr(10) . 'EAD' . strtoupper(bin2hex($signature)) . chr(10)); Então explicando o que fiz, baseado no ACBrEAD CalculaEAD carrego o conteúdo do arquivo que quero assinar na variável $data (sem assinatura). carrego o conteúdo da minha chave privada em $pvk faço um md5 do $data que é o conteúdo do arquivo. crio um hexa do número decimal 16 com a função dechex, o conteúdo é sempre 10. crio a variável $file que é o hex de 16 mais o md5 o conteúdo do arquivo e preencho com 0 a esquerda até o comprimento de 128, ficando: 000000000000000000.....1082b996e081a5cc4c21db940c7562232c (128 caracteres) para se formar o bloco que será criptografado. Uso o openssl_get_privatekey para criar o resource da chave privada que vou usar a seguir. Uso o openssl_private_encrypt para criptografar o $file, com a minha private key que vai me gerar $signature Depois dou uma saída em ead.txt com signature convertido para hex e dou um upper, junto com a literal EAD e com $data que é o primeiro conteúdo sem a assinatura, sempre com chr(10) para LF. Anexo está o arquivo gerado, mas o acbrvalidadorpafecf sempre dá que a assinatura é invalida. Já coloquei tirei quebra de linha, pas a direita a esquerda dos bytes mais significativos. Alguém me dá uma luz se os passos são estes mesmos e poderia me descrever a função CalcularEAD para eu ver se entendi direito como ela se desenrola no Delphi. ead.txt
  21. Creio que a ordem é conforme o registro da forma de pagamento na memória da impressora. Não temos como controlar isso.
  22. Regys, estes métodos (sintegra e sped) estão presentes no AcbrMonitor? Não achei na documentação.
  23. Vi aqui o seguinte. O comando ECF.DadosUltimaReducaoZ retorna uma série de informações dentre elas a data e hora, observe o trecho que colei abaixo DataECF = 23/06/14 DataMovimento = 22/06/14 DataHoraEmissao = 23/06/14 10:20:58 NumSerie = BE050675600611000668 NumSerieMFD = 6760061105848 NumECF = 0001 NumLoja = 0001 O DataHoraEmissao = 23/06/14 10:20:58 deve te atender, não?
  24. Siepi

    Registro De Pré-Venda

    Prezados, para a finalização de uma pre-venda no ECF, eu tenho que obrigatoriamente interagir com o usuário, por exemplo, mostrando os itens, depois obrigando o usuario acionar algum comando para pagamento e depois para fechamento? Ou posso deixar apenas o usuário escolher a prevenda e já emito todo o cupom encerrando sem nenhum tipo de intervençao do usuário? Existe algo na legislação que me obrigue o sistema interagir com o usuário?
×
×
  • 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.