Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 16-01-2019 em todas as áreas
-
Bom dia a todos, Foi feito uma generalização nas Units: pcnConsCad, pcnRetConsCad, pcnConsStatServ, pcnRetConsStatServ, pcnDistDFeInt e pcnRetDistDFeInt. A motivação é porque elas aparecem de forma repetidas com nomes diferentes nos fontes dos componentes ACBrNFe, ACBrCTe, ACBrMDFe e ACBrBPe. A generalização e migração para a pasta PCNComum faz com que tenhamos mais controle das correções e melhorias, sem falar na redução de código. Infelizmente ao generalizar o pcnRetDistDFeInt ocorreu uma quebra de código, pois se fez necessário alterar o nome de uma classe e de algumas propriedades publicas. Para quem usa o DistribuicaoDFe será necessários fazer alguns ajustes no código da aplicação. Trocar os resNFe por resDFe e chNFe por chDFe (para quem baixa as Notas). Trocar os resCTe por resDFe e chCTe por chDFe (para quem baixa os Conhecimentos). Trocar os resMDFe por resDFe e chMDFe por chDFe (para quem baixa os Manifestos).8 pontos
-
4 pontos
-
3 pontos
-
Bom, lendo ai o que você disse eu atinei para um possível erro por falta de informação. Realmente o comando que eu tentei usar era o "NFe.CriarEnviarNFe". Agora eu tentei aqui o comando de apenas criar e ai sim ele não tentou enviar. Existem outras dúvidas mas são para outro tópico, esse aqui podem fechar. Obrigado!!3 pontos
-
Boa tarde Arce, Muito obrigado pela colaboração, já enviei para o repositório.3 pontos
-
Alexandre Marcondes, foi o primeiro (e único) a responder a meu Post... ele me ajudou MUITO, na organização das Ideias, dos fontes, e me passou os fundamentos básicos sobre o funcionamento de um Projeto de código aberto, como Repositório de Fontes, licenças de código, Source forge, etc... Muito obrigado Alexandre...3 pontos
-
Lembrei disso hoje... e decidi procurar se o Post n.1 ainda existe... SIM, ele ainda está no Fórum da DevMedia, o qual eu frequentei por um bom tempo, e foi o espírito de cooperação dos usuários do fórum, que me motivou a criação do Projeto ACBr... Reparem no Post, que ainda não há menção do nome ACBr, e a ideia inicial, era fazer uma classe de Suportes a ECF (Emissor de Cupom Fiscal)... https://www.devmedia.com.br/forum/classe-para-acesso-direto-a-ecf-em-linux-windows/229474 Na abertura do último Dia do ACBr, eu menciono um pouco sobre a criação do Projeto... Classe para acesso Direto a ECF em Linux/Windows 03/05/2004 Ola, para todos.... Estou desenvolvendo uma Classe Multiplataforma para acesso direto a diversas Impressoras Fiscais. Na verdade o projeto ainda está engatinhando, mas já tive sucesso em Comunicação com a Bematech em Windows e Linux. Entretanto, como muitos programadores também necessitam ou já fazem acesso a ECF, resolvi usar a ideia de tornar isso um projeto OpenSource. P1 - Porque fazer mais uma biblioteca de acesso a ECF ? A ideia é fazer uma Classe que possa rodar em Linux / Windows. algo que nao existe hoje.... Alem de não exigir nenhuma DLL ou SO, a fim de evitar o ´inferno das DLL´s´ P2 - Como fazer acesso aos ECFs ? Como a classe deve rodar em Linux, fica descartado o uso de DLL´s... Todas as impressoras fiscais (pelo menos as que já programei) possuem manuais descrevendo os codigos de comandos e protocolos seriais. Atualmente acesso as impressoras: Bematech, Daruma, Schalter, Sweda, Mecaf (e compativeis) de forma direta, em DOS, usando a linguagem CLIPPER 5.02e.+Clipper Tools... O Executável não depende de nenhum arquivo externo ou device driver no CONFIG.SYS. A ideia é migrar as funçoes de Clipper para Delphi, usando um componente de acesso a Serial. P3 - Qual componente fará acesso a serial ? Dos que testei, apenas a classe SynaSer http://www.ararat.cz/synapse/ é multiplataforma (Kylix) P4 - Porque rodar em Linux ? Já pensou oferecer para os seus clientes uma solução de Aplicacação Comercial totalmente legalizada ? e sem pagar uma fortuna por isso ? Sem falar na estabilidade e segurança do Linux.... Qual usuário consegue apagar o sistema ? (alem do Root é claro Caracteristicas do projeto: - Deve ser OpenSource e com a distribuição dos fontes: - Deve ser Multi-plataforma (Windows ( CLX / VCL ) / Linux) - Nao deve depender de nehuma DLL ou SO. - Deve suportar as diferença entre os diversos modelos de ECF - As Classes Filhas devem tratar de forma transparente as pequenas diferenças na programaçao de Versoes diferente do mesmo Modelo de ECF. Ex: A classe TECFBematech deve ser capaz de trabalhar com todas as versoes da Bematech FI Vantagens do Projeto: - Total controle da Aplicação: Já vi DLL´s que simplesmente param o processamento do programa (Quem já homologou TEF discado, sabe o que eu quero dizer...) - Facil distribuição: Não precisa distribuir e instalar nenhuma DLL - Livre-se do Inferno das DLL´s Quando o usuário instala outro programa que usa a mesma DLL que você usa, porém em uma versão antiga (causando Bugs no seu programa) - Multiplataforma: Linux / Windows - Programação Limpa e Clara. Basta criar uma classe TECF com o modelo apropriado. O Codigo fonte sempre se refere a Classe criada, sem se preocupar com o Modelo Desvantagens do Projeto: - Se o hardware mudar, ficamos dependendo de novas informaçoes do fabricante, ou até mesmo de um modelo do equipamento para testes... - Geralmente as DLL´s incorporam novos Hardwares do mesmo fabricante.... Aqui teremos que implementar um novo filho da classe TECF para cada Hardware novo (somente se o novo hardware nao for compativel com o antigo) Estou lançando a ideia para ver a aceitação... Existe algum disposto a colaborar ? Posso enviar os fontes por e-mail para que estiver interessado... Em breve farei uma pagina para download do projeto... (Ou se alguem estiver disposto a fazer... ) A ser desenvolvido: - Terminar a implementação da Classe TECFBematech - Implementar as demais Classes (Daruma, Schalter, Sweda, Mecaf) - Criar Classe para Manupilação de TEF Discado para interagir com TECF Na verdade, nunca fiz nenhum projeto OpenSource... Gostaria de sugestões... Duvidas: - Como / Onde hospedar o projeto ? - Como cordernar ?.... - Como fica a questão legal de OpenSource ? É preciso registrar isso em cartório ? Ps: Srs Moderadores, desculpe postar essa msg em 2 áreas, mas acredito que seja do interesse...2 pontos
-
Boa tarde pessoal.... Conforme o ajuste da contribuição do tópico abaixo, fiz uns ajustes nos registros M210/M610 Também estou adicionando um ajuste para incluir o registro F559 @EMBarbosa ACBrEPCBloco_M_Class.pas ACBrSpedPisCofins.pas ACBrEPCBloco_F_Class.pas2 pontos
-
Já resolvi! Se puderem fechar o post, agradeço. Se alguém passar por isso no futuro, segue a solução abaixo. Tive que fazer as seguintes modificações no código: [DllImport("dllsat.dll", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr EnviarDadosVenda(int iNumSessao, string pcCodAtivacao, string pcDadosVenda); e no meu método: public static void enviarDadosCFeToSat() { try { readFileXML(); int numSessao = 2; string codAtivacao = "123456789"; IntPtr ptr = EnviarDadosVenda(numSessao, codAtivacao, xml); string s = Marshal.PtrToStringAnsi(ptr); } catch { throw; } }2 pontos
-
2 pontos
-
O problema está descrito na mensagem... trata-se de uma propriedade que não existe no seu Delphi... a solução não é difícil... basta abrir o formulário, ignorar os erros, e salvar novamente..2 pontos
-
2 pontos
-
O cNF (código numérico) deve ter no máximo 8 dígitos: Para a chave 23190124854238000142550010000002281524745605 o cNF é 52474560, o último caractere é o dígito verificador da chave.2 pontos
-
2 pontos
-
Obrigado pessoal, eu fiz da maneira que o Felipe disse mas na verdade o que estava ocorrendo foi que eu tive que atualizar o fortes report ai deu tudo certo. Valeu gente.2 pontos
-
Bom dia @Nelson A Sousa Não consegui simular exatamente o erro relatado, mas a resposta da SEFAZ não está ficando gravada no log.txt? De fato a estrutura dos comandos gera a resposta a partir da execução total dos Métodos realizados com exito. Mas os processos já realizados ficam no log... Talvez possa separa os comandos, utilizando o "CriarEnviarNFe" e Posteriormente o "ImprimirDANFE" pois o cancelamento da impressão pelo usuário é uma interação após a execução do comando...2 pontos
-
Enviei uma correção ao SVN na revisão 16305. Queiram por favor atualizar e reportar qualquer problema.2 pontos
-
Boa tarde! Teria que ver a sequencia de comando. Isto é um universo de "ifs" e não é fácil a gente detectar o que vc está tentando dizer. Exemplo: O título do seu tópico está dizendo NFe. Ai você comenta em off-line. Ai o manual orienta que "off line" é de uso exclusivo para NFCe (Modelo 65). Se você estiver falando de NFCe, cuide para não usar comando que envie, pois off-line não envia nota e sim imprime a NFCe enquanto não há "comunicação com a SEFAZ".2 pontos
-
Boa tarde. Estamos trabalhando em algumas implementações para a integração com os WS dos bancos, assim que tivermos finalizado criaremos um tópico no Noticias do ACBr. Att.2 pontos
-
Se nem a página de teste não está imprimindo pode ser algum problema no driver/instalação da impressora. Verifique se/Siga os passos do tópico abaixo para ver se resolve o problema.1 ponto
-
Boa tarde, Nesses vários anos que dou manutenção no componente ACBrNFSe notei o seguinte: 1. Os provedores que seguem o layout da ABRASF seja a versão 1 ou 2 não conseguem seguir um padrão. 2. Tem provedor que não consegue manter um padrão entre as cidades que ele atende. Como você pode ver, é uma zorra a NFS-e. Tem um provedor que para uma determinada cidade se faz necessário incluir o NameSpace no inicio do XML do RPS caso contrario o mesmo não é aceito. O pior que essa exigência é só para uma cidade, as demais não precisam. Não vejo a hora da NFS-e Padrão Nacional começar pra valer, assim acaba com toda essa palhaçada.1 ponto
-
Acredito ser a melhor opção. Aqui não aparece o menu de impressão, pode ser do software da impressora... Se selecionar a impressora no monitor, não vai direto sem aparecer a caixa de diálogo?1 ponto
-
Roberto, Veja a definição do grupo <Comp> na página 164 do Manual do CT-e versão 3.001 ponto
-
Boa tarde! Entendo, Juliana! Nesse caso o SAC não parece ser bom para nossa empresa, pois seria para solução mais imediata de questões como essa da nota. Não sei como vcs caracterizam essa mudança de provedor, se é erro ou alteração, mas sabendo disso, já estamos depurando e corrigindo nós mesmo o fonte do ACBr. Agradeço a atenção.1 ponto
-
Então, mas ao executar LerArqIni ele vai ler o valor que já foi atualizado no passo anterior, visto que o subtotaliza é executado sem erros. Só os valores da venda do item são retornados e não os subtotais: procedure TACBrECFVirtualClass.SubtotalizaCupom(DescontoAcrescimo: Double; MensagemRodape : AnsiString ); var ValorTotal: Double; PosAliqItem, I: Integer; begin GravaLog( ComandoLOG ); if not (Estado in [estVenda, estNaoFiscal]) then raise EACBrECFERRO.create(ACBrStr('O Estado nao é "VENDA" Cupom não Aberto')) ; if SubTotal <= 0 then raise EACBrECFERRO.create(ACBrStr('Nenhum Item foi vendido ainda')) ; try { Essa atribuição irá recomputar o total por aliquota, considerando o Rateio desse Desconto / Acrescimo, nos totais por aliquota do Cupom. Veja "TACBrECFVirtualClassCupom.SetDescAcresSubtotal" } fpCupom.DescAcresSubtotal := DescontoAcrescimo; fpEstado := estPagamento ; if (DescontoAcrescimo < 0) then begin fpTotalDescontosICMS := fpTotalDescontosICMS - fpCupom.DescAcresSubtotalICMS; fpTotalDescontosISSQN := fpTotalDescontosISSQN - fpCupom.DescAcresSubtotalISSQN; end else begin fpTotalAcrescimosICMS := fpTotalAcrescimosICMS + fpCupom.DescAcresSubtotalICMS; fpTotalAcrescimosISSQN := fpTotalAcrescimosISSQN + fpCupom.DescAcresSubtotalISSQN; { Se for Acréscimo, deve somar em GT e Venda Bruta } fpVendaBruta := fpVendaBruta + DescontoAcrescimo; fpGrandeTotal := fpGrandeTotal + DescontoAcrescimo; end; { Recomputando Total Diário das Aliquotas. Lista fpCupom.Aliquotas, contem o total por Aliquota do Cupom, já considerando se o rateio de Desconto e Acrescimo no SubTotal } if fpCupom.Aliquotas.Count > 0 then begin { Primeiro, vamos remover o ValorTotal por Item, que já havia sido adicionado em "VendeItem"; } For I := 0 to fpCupom.Itens.Count-1 do begin with fpCupom.Itens do begin ValorTotal := TotalLiquido; PosAliqItem:= AliqPos; end; with fpAliquotas[ PosAliqItem ] do Total := max(Total - ValorTotal, 0) ; end; { Agora, vamos adicionar o total computado por aliquota usada no cupom. Essa lista já contem o rateio do Desconto/Acrescimo dessa operação } for I := 0 to fpCupom.Aliquotas.Count-1 do begin with fpCupom.Aliquotas do begin ValorTotal := TotalLiquido; PosAliqItem:= AliqPos; end; with fpAliquotas[ PosAliqItem ] do Total := max(Total + ValorTotal, 0) ; end; end; SubtotalizaCupomVirtual( MensagemRodape ); GravaArqINI ; - - - > aqui atualiza o valor do fpTotalDescontosICMS por exemplo, sem erros except LeArqINI ; raise; end ; end;1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Se o Exception seguir o fluxo normal, o próprio ACBr irá desfazer a alteração no INI... em: procedure TACBrECFVirtualClass.FechaCupom(Observacao: AnsiString; IndiceBMP : Integer); begin GravaLog( ComandoLOG ); if Estado <> estPagamento then raise EACBrECFERRO.create(ACBrStr('O Estado nao é "PAGAMENTO", não houve SubTotal')) ; if CompareValue(TotalPago, SubTotal, 0.001) < 0 then raise EACBrECFERRO.create(ACBrStr('Total Pago é inferior ao Total do Cupom')) ; Observacao := StringReplace( Observacao, #10, CRLF, [rfReplaceAll] ) ; try EnviaConsumidorVirtual; FechaCupomVirtual(Observacao, IndiceBMP); // <--- AQUI ocorrerá o Fechamento do TACBrECFVirtualSATClass fpEstado := estLivre ; GravaArqINI ; except LeArqINI; // <----- AQUI as alterações feitas no fechamento serão desfeitas, em caso de Exception raise; end ; end;1 ponto
-
BigWings, amigo reinstalei p trunk2 e rodou. Sabe me dizer qual era o problema? Muito obrigado pela ajuda, salvou minha pele!!!1 ponto
-
1 ponto
-
BigWings obrigado pela ajuda, Atualizei, notei que o pacote do AcbrBoleto foi atualizado, mas o erro persiste. Seria necessário reinstalar o componente?1 ponto
-
Bom dia Rafael, Muito obrigado pela colaboração, ainda hoje estarei enviando para o repositório.1 ponto
-
Olá, Italo Consegui resolver o problema aumentando os parametros relacionados a tempos de tentativa. Esse provedor em alguns casos demora 5 minutos para processar a nota fiscal. Porém, eu só consegui fazer isso no meu computador. Ao tentar na maquina do cliente, recebo mensagem de Schema Inválido. Já conferi e os schemas estão exatamente iguais o que eu usei no meu teste. Quais dll eu preciso registrar lá para que funcione? Obrigado.1 ponto
-
Bom dia. Basta setar as propriedades LayoutVersaoArquivo e LayoutVersaoLote com as informações solicitadas. Att.1 ponto
-
Bom dia, Queira por favor observar essa regra do fórum quanto a sua dúvida. Se aderir ao SAC, tenho direito a solicitar desenvolvimento específico ? Não. Ser membro do SAC não dá o direito de solicitar o desenvolvimento de rotinas ou componentes específicos. A correção de erros sempre será a prioridade, mas antes é fundamental averiguar se o problema está realmente nos fontes do ACBr. Os usuários do SAC tem um peso maior nas decisões de quais componentes devem ser desenvolvidos ou melhorados https://www.projetoacbr.com.br/forum/sac/questoes-importantes/ Att.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Bom dia Qual comando está utilizando? O ACBrMonitor não faz controle automático de contingência... Se tentou enviar e teve rejeição de conexão e precisa emitir off-line, então altere o tipo de emissão para "9" e utilize apenas o comando "NFe.CriarNFe" e imprima o XML gerado, posteriormente tente enviar novamente o XML (Sem alterar) utilizando o comando "NFe.EnviarNFe".1 ponto
-
Bom dia Preencha o arquivo .ini seguindo recomendações do manual (Sem espaços) : https://acbr.sourceforge.io/ACBrMonitor/CartadeCorrecao.html Se estiver compilando a versão do ACBrMonitor, certifique-se de que os Schemas da NFe estão atualizados na pasta do ACBrMonitor, se utilizar o instalador isso é feito de forma automática...1 ponto
-
Bom dia, Italo. O erro ocorre na terceira vez que ele Consulta o Lote. A Nota é autorizada normalmente, porém eu não consigo recuperar as informações. Estou debugando pra trazer informações mais detalhadas.1 ponto
-
1 ponto
-
Não! Você tem que baixar o lote e extrair o XML do cupom específico. Editado: Dos cupons específicos.1 ponto
-
Uma correção para esse problema foi enviado ao SVN. Veja mais detalhes no seguinte tópico:1 ponto
-
Enquanto não termino as demais implementações... se possível, por favor me auxilie nos testes com as Units abaixo...1 ponto
-
Obrigado @valterpatrick... Consegui implementar algumas coisas..muito bom1 ponto
-
Alex, a reunião é restrita pois o governo quer atender apenas alguns representantes, mas irei passar mais detalhes assim que puder.1 ponto
-
@Italo Jurisato Junior Boa tarde Estou tratando o retorno do evento S-5003 e criando as classes para atribuição dos valores contidos no XML. Porém está dando erro ao instanciar o objeto TInfoTrabFGTSCollection, devo ter me equivocado em alguma atribuição, porém não estou encontrando o erro. Usei como base o S-5001 pcesS5003.pas1 ponto
-
@Italo Jurisato Junior Até a pouco tempo para emitir a NFSe de Floripa, era preciso instalar um programa o qual fazia integração com nosso software e ele que enviava o RPS para prefeitura, depois pegavamos o retorno gerado por essa aplicação. Agora parece que mudou, primeiro tem que credenciar a nossa aplicação na prefeitura no link abaixo : https://nfps-e.pmf.sc.gov.br/frontend/#!/credenciais-integracao Após feito o credenciamento, será enviado via email um ID_Client e ID_Secret válidos para homologação e produção. Observação: A empresa desenvolvedora do ERP é a responsável pela solicitação e utilização das credenciais. Exemplo, a empresa X desenvolveu a integração e N clientes utilizam a mesma ferramenta, todos os clientes deveram as mesmas credenciais (client_id e client_secret) pertencentes a empresa desenvolvedora. Após a nossa aplicação estar cadastrada e credenciada deve-se solicitar um token. E assim vai......... Segue o manual para quem tiver interesse. Dercide. 2019-Manual de integração de serviços.pdf1 ponto
-
Italo, bom dia! Segue o que estava faltando... Obrigado pcesS2399.pas pcesS5003.pas1 ponto
-
Percebi esse erro de retorno, a solução que fiz foi apenas copiar os arquivos da pasta "C:\Acbr\DLLs\OpenSSL\1.0.2.13\x86" Todos os arquivos, joguei na pasta do demo e deu certo. Talvez exista solução mais "elegante" que seria jogar no Windows \system... ou syswow... (o que não gosto de fazer, pois pode ter outros aplicativos que usam a dll em outras versões).1 ponto
-
Entendo, o problema são os outros relatórios do caixa, hoje tenho vários que ainda não dá para converter para ESC, e o ESC e Spooler juntos vira um rolo rsrsrsr' (Experiencia, pois usei o ESC para abrir gaveta) Ref. ao Fast estou programando no tempo livre, já estou quase terminando o layout, copiei o codigo que gera o QRCode e Linha de Venda do Produto1 ponto