Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 05-05-2017 em todas as áreas

  1. Bom dia. Fizemos algumas alterações na unit ACBrMDFeDAMDFEFR.pas. A principal é a criação dos objetos em tempo de execução, não sendo mais necessário o Data Module ACBrMDFeDAMDFEFRDM, semelhante ao DACTeFR. Outra alteração feita foi a possibilidade de utilizar a propriedade FastFile e FastFileEvento para carregar o relatório a partir do conteúdo do arquivo FR3. O DPK também foi alterado, retirando o DataModule. Estamos enviando também uma atualização do aplicativo de Exemplo do ACBrMDFe, para que seja realizado o teste das alterações acima. Como não usamos o Fortes Report, foi apenas trocado o componente pelo Fast Report. Testado no Delphi 10.1 Berlin e Delphi 7. ACBrMDFeDAMDFEFR.pas ACBr_MDFeDamdfeFR.dpk DemoMDFe.zip
    2 pontos
  2. Algumas dicas para quem está utilizando o Integrador MFE: Onde encontrar os arquivos para download? O site oficial é http://cfe.sefaz.ce.gov.br/mfe/informacoes/downloads#/, mas nem sempre os links estão funcionando, atualmente as últimas versões foram disponibilizadas pelo @luiz renato da silva abade no seguinte link: https://drive.google.com/drive/folders/0B0H-Nn7Nqhd7QkNIWDFCeElSQzQ O que preciso instalar para que o Integrador funcione? Após instalar o integrador e executá-lo pela primeira vez, abra a pasta em que ele foi instalado(Geralmente %LOCALAPPDATA%\Programs\Integrador) e instale a última versão do Driver MFE(Atualmente DriverMFE_Instalador_01.04.01.exe). Após isto instale seu hardware MFE com os drivers específicos da marca do seu equipamento e configure o integrador com os dados abaixo. Quais os dados que devem ser usados na configuração do integrador? CNPJ do Estabelecimento: 30146465000116 Inscrição Estadual do Estabelecimento: 065911482 CNPJ da Software House: 98155757000159 Código de Validação do Aplicativo Comercial: MD2Nof/O0tQMPKiYeeAydSjYt7YV9kU0nWKZGXHVdYIzR2W9Z6tgXni/Y5bnjmUAk8MkqlBJIiOOIskKCjJ086k7vAP0EU5cBRYj/nzHUiRdu9AVD7WRfVs00BDyb5fsnnKg7gAXXH6SBgCxG9yjAkxJ0l2E2idsWBAJ5peQEBZqtHytRUC+FLaSfd3+66QNxIBlDwQIRzUGPaU6fvErVDSfMUf8WpkwnPz36fCQnyLypqe/5mbox9pt3RCbbXcYqnR/4poYGr9M9Kymj4/PyX9xGeiXwbgzOOHNIU5M/aAs0rulXz948bZla0eXABgEcp6mDkTzweLPZTbmOhX+eA== Selecione o checkbox "Servidor" (Talvez seja necessário alterar o campo IsServer para True no arquivo Integrador.cnf - Use o SQLiteStudio -http://sqlitestudio.pl/) O XML enviado para o aparelho de teste deve usar os mesmos dados do Integrador? Não, no caso cada marca possui dados específicos que deverão ser informados no XML de venda. TANCA: Código de Ativação: 12345678 CNPJ do Contribuinte: 08.723.218/0001-86 IE do Contribuinte: 562.377.111.111 CNPJ da Software House: 16.716.114/0001-72 Assinatura da Software House: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT ELGIN: Código de Ativação: 123456789 CNPJ do Contribuinte: 14.200.166/0001-66 IE do Contribuinte: 1234567890 CNPJ da Software House: 08.490.295/0001-33 Assinatura da Software House: MD2Nof/O0tQMPKiYeeAydSjYt7YV9kU0nWKZGXHVdYIzR2W9Z6tgXni/Y5bnjmUAk8MkqlBJIiOOIskKCjJ086k7vAP0EU5cBRYj/nzHUiRdu9AVD7WRfVs00BDyb5fsnnKg7gAXXH6SBgCxG9yjAkxJ0l2E2idsWBAJ5peQEBZqtHytRUC+FLaSfd3+66QNxIBlDwQIRzUGPaU6fvErVDSfMUf8WpkwnPz36fCQnyLypqe/5mbox9pt3RCbbXcYqnR/4poYGr9M9Kymj4/PyX9xGeiXwbgzOOHNIU5M/aAs0rulXz948bZla0eXABgEcp6mDkTzweLPZTbmOhX+eA== * Caso receba o erro "Rejeicao: Emitente nao autorizado para uso do SAT", verifique se no XML informou os dados acima, lembrando que os dados do integrador serão diferentes dos dados enviados no XML. Onde obter suporte? O suporte atualmente é prestado através do email [email protected] ou por um grupo no WhatsApp que pode ser acessado pelo link https://chat.whatsapp.com/2OjHVks1Q3sGMTgeZityxm Atualizado em 30/04/2017 - Novo grupo de suporte: https://groups.google.com/forum/?hl=pt-BR#!forum/sefaz_integrador_fiscal Existem módulos para desenvolvedores? Sim, atualmente TANCA e Elgin possuem equipamentos disponíveis. Consigo testar o integrador sem um aparelho de desenvolvimento? Sim, para isso crie na pasta quem que o Integrador está instalado(%LOCALAPPDATA%\Programs\Integrador) um arquivo com o nome debug.dbg. (Funciona apenas até a versão 1.5.86 do Integrador) Como simular os comandos de pagamento? Para usar os métodos EnviarPagamento e VerificarStatusValidador é necessário o uso do Simulador POS. Para cada comando EnviarPagamento deve ser gerado um valor diferente para o campo SerialPOS(Em ambiente de produção esse número será único para cada POS do estabelecimento). Após o comando EnviarPagamento ser executado, guarde o valor do campo IDPagamento, abra o programa simulador_pos.exe e no campo TERMINAL SERIAL informe o mesmo valor que foi informado no campo SerialPOS do comando EnviarPagamento. Clique na opção 1-VFP-e e será exibido o valor do pagamento solicitado. Depois você deve efetuar o pagamento clicando na opção 2-PAGAR. Após estes passos, você pode usar o comando VerificarStatusValidador informando o IdPagamento no campo IdFila para receber a confirmação do pagamento. Caso vc use o comando VerificarStatusValidador antes de efetuar o pagamento no simulador o campo Codigo Autorização virá com o seguinte conteúdo: <CodigoAutorizacao>queue item XXX not complete</CodigoAutorizacao>, onde o XXX se refere ao IdPagamento. Todos os comandos já estão implementados no ACBr? Além dos comandos já existentes no SAT, foram implementados os seguintes comandos no componente ACBrSAT - EnviarPagamento, VerificarStatusValidador, RespostaFiscal e EnviarStatusPagamento.
    1 ponto
  3. Bom pessoal, tenho visto muitos comentários aqui no fórum a respeito de como tratar a emissão online / offline da nfc-e. Eu tenho feito assim, e por enquanto tem dado certo. Se alguém tiver alguma experiência e quiser postar aqui seria de muita utilidade. Eu divido em duas etapas: a primeira etapa é o envio da nota offline e a segunda etapa seria o descarregamento (envio) das notas que ficaram offline. Na primeira etapa eu faço o envio usando a rotina normal NFCE.ENVIAR colocando o comando de envio dentro de um bloco try except end. Ficaria mais ou menos assim: Try Rotina de envio de nota Except On E: Exception do if (pos('requisição não enviada', LowerCase(E.Message)) <> 0) or (pos('tempo limite', LowerCase(E.Message)) <> 0) then // Gerar a nota de forma offline end; O erro "requisição não enviada" ocorre quando o cliente está sem internet, já o erro "tempo limite" ocorre quando tem internet mas houve problema de conexão durante o envio. Portanto se ocorrer estes dois erros você emite o nfce offline e grava para posterior envio. Uma nota importante: Ao enviar o componente acbr já vai estar carregado com os dados da nota. Portanto antes de fazer o envio offline altere as seguintes propriedades do componente: NFCE.NotasFiscais.Items[0].NFe.Ide.tpEmis := teoffline; NFCE.NotasFiscais.Items[0].NFe.Ide.xJust := 'Problemas técnicos no envio do cupom eletrônico'; NFCE.NotasFiscais.Items[0].NFe.Ide.dhCont := now; NFCE.NotasFiscais.GerarNFe; NFCE.NotasFiscais.Assinar; NFCE.NotasFiscais.Validar; Feito isto faça o envio offline. Vamos agora a segunda etapa. Enviar os cupons que foram emitidos offline. Da mesma forma você vai fazer o envio em um bloco protegido do try except end como no exemplo acima. Try Rotina de envio de nota Except On E: Exception do if (pos('requisição não enviada', LowerCase(E.Message)) <> 0) or (pos('tempo limite', LowerCase(E.Message)) <> 0) then // Não vai fazer nada, pois o cupom já foi emitido if pos('duplicidade', LowerCase(E.Message)) <> 0 then // tratar duplicidade. end; Para tratar a duplicidade eu fiz da seguinte maneira: Pesquisei o código retornado pelo componente (NFCE.WebServices.Enviar.cStat). Se retornar o código 204 é porque por algum motivo (sabe-se lá qual) a sua nota já foi enviada e está no sefaz com o mesmo número e chave que você está enviando. Neste caso basta colocar uma flag de enviada nesta nota e pronto. Se retornar o código 539 é porque tem uma nota com o mesmo número e chave diferente. Aí que está o pulo do gato. Isso provavelmente ocorreu porque você guardou esta nota para enviar posteriormente quando teve um erro de "Tempo Limite Atingido". A sua nota foi enviada mas você não recebeu o retorno devido a problemas na conexão. E porque a diferença da chave ? Justamente porque você fez alteração (conforme exemplo acima) na propriedade tpemis. Tem um campo da chave nfce que vai com o valor 1 quando emitida online e 9 quando emitida offline, portanto quando você alterou o tipo de emissão automaticamente alterou a chave. Então você faz o seguinte procedimento: NFCE.NotasFiscais.Items[0].NFe.Ide.tpEmis := teNormal; NFCE.NotasFiscais.Items[0].NFe.Ide.xJust := ''; NFCE.NotasFiscais.Items[0].NFe.Ide.dhCont := 0; Try NFCE.NotasFiscais.GerarNFe; NFCE.NotasFiscais.Assinar; NFCE.NotasFiscais.Validar; NFCE.Enviar(NFCE.NotasFiscais.Items[0].NFe.Ide.nNF, False, true); Except //exceção muda para pegar o cstat em seguida. End; if NFCE.WebServices.Enviar.cStat = 100 then //cstat = 100 nota foi enviada e aceita //marca a flag da nota como enviada. Bom, fica aí a minha dica e se puder postem sugestões sobre como otimizar esse tratamento online / offline.
    1 ponto
  4. Consultando pela chave o ACBr não sabe em que ambiente ela foi emitida, então usa a configuração do componente. Já pelo XML, usa o ambiente em que a nota foi emitida.
    1 ponto
  5. Ao abrir novo tópico, coloque um título descritivo do problema, não use "Help", "Alguém me ajuda", etc. Você deve ter uma unit ou .dcu blcksock no seu path de compilação diferente da usada pela ACBr. Faça uma varredura no HD por esse arquivo.
    1 ponto
  6. Ok entendí... Mas aí mais estranho ainda (por isso te disse que estou com saudades do Delphi 7 rsss) é que a instalação do Fortes Report é por linha de comando também e a mesma funcionou ... Vou entrar em contato com o suporte da Embarcadero e retorno o resultado aqui. Muito Obrigado ! Aí piorou mais ainda minha questão. Rssss Vou entrar em contato com o suporte da Embarcadero e retorno..
    1 ponto
  7. A SEFAZ de RO já emitiu comunicado ameaçando de aplicar penalizações para as empresas que adotam esse procedimento. http://www.nfce.sefin.ro.gov.br/lerNoticia.jsp?id=9
    1 ponto
  8. Olá Pessoal Segue mais uma atualização do Recopi. Criei um pcnRecopiConversao Obrigado pela dica @EMBarbosa mas a ideia era tentar manter o mesmo padrão dos objetos usados no DFE ai eu iniciei um pcnRecopi. Abraços. acbr.zip
    1 ponto
  9. A mensagem de erro, vem do Compilador do Delphi... ou seja, ele está recusando a compilar, quando invocado por linha de comando... isso é uma limitação das versões Trial do Delphi O único erro do ACBrInstall, é não reconhecer essa mensagem como erro... e mesmo após corrigirmos isso... ele não funcionará no seu Delphi Se o seu Delphi é original... use o suporte da Embarcadero, para compreender o porque da mensagem
    1 ponto
  10. Boa tarde Italo. Consegui fazer os testes hoje porque o cliente ainda usava o exe do trunk1. Alterei conforme você disse de acordo com o programa exemplo. Deu certo. Obrigado pela ajuda. Atenciosamente Hélio Almeida.
    1 ponto
  11. Olá Duarte, Tem várias perguntas sobre como fazer isso no StackOverflow. Exemplo: http://stackoverflow.com/a/558290/460775 Tem também como incluir um form que mostra durante a execução a situação da memória usando um exemplo que vem com o FastMM. Veja a resposta abaixo e note o comentário: http://stackoverflow.com/a/6150640/460775
    1 ponto
  12. São só dados? Se for, acho que é só utilizar records.
    1 ponto
  13. Desculpem mas agora consegui implementar a solução do "carlosmarian" eu havia esquecido de adicionar o "ActiveX" a uses. Porem o pessoal do desenvolvimento vai adicionar aos fontes do SVN?
    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...