Ir para conteúdo
  • Cadastre-se

adenilton

Membros
  • Total de ítens

    67
  • Registro em

  • Última visita

  • Days Won

    1

adenilton last won the day on 10 Dezembro 2014

adenilton had the most liked content!

4 Seguidores

Últimos Visitantes

2.434 visualizações

adenilton's Achievements

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

38

Reputação

  1. Bom dia, como nenhum dos mantenedores se manifestaram, gostaria de saber se alguém irá analisar esse problema, se vai resolver o problema usando a abordagem proposta ou ainda outra abordagem? Desde já grato pelo atendimento voluntário a esta demanda.
  2. Problema: O XML da NFe está sendo montado de forma incorreta, para produtos com tributação de ICMS com CST 90 - Outros (com partilha do ICMS entre a UF de origem e a UF de destino ou a UF definida ma legislação). Por conta desse problema, durante a validação contra o schema, o seguinte erro é apresentado: 1871 - Element '{http://www.portalfiscal.inf.br/nfe}pBCOp': This element is not expected. Expected is ( {http://www.portalfiscal.inf.br/nfe}modBCST ) Por que ocorre: No arquivo "pcnNFeW.pas", no método TNFeW.GerarDetImpostoICMS, na linha 1641, há uma verificação que só permite a montagem dos campos modBCST, pMVAST, pRedBCST, vBCST, pICMSST e vICMSST, para a CST 90 - Outros e para a CST 90 - Outros com partilha..., caso o valor do campo vBCST ou do campo vICMSST seja maior que zero. Acontece no manual de orientação 6.0, na NT 2016.002, versão 1.61 e no schema de validação, os campos acima mencionados são obrigatórios para a CST 90 - Outros com partilha, com exceção dos campos pMVAST e pRedBCST. Portanto, esses campos devem constar no XML, ainda que zerados. A regra colocada no método, aplica-se perfeitamente a CST 90 - Outros, já que para essa CST, há grupos (sequência XML) opcionais no schema de validação, segundo o manual. Segue recorte da NT 2016.002, v1.61, mostrando a diferença entre as CST's 90 - Outros e 90 - Outros com partilha...: CST 90 - Outros: CST 90 - Outros com partilha: Solução: Alterar o conteúdo do método TNFeW.GerarDetImpostoICMS, do arquivo pcnNFeW.pas, linha 1641 de: if (nfe.Det[i].Imposto.ICMS.vBCST > 0) or (nfe.Det[i].Imposto.ICMS.vICMSST > 0) then para: if (nfe.Det[i].Imposto.ICMS.vBCST > 0) or (nfe.Det[i].Imposto.ICMS.vICMSST > 0) or (nfe.Det[i].Imposto.ICMS.CST = cstPart90) then Essa alteração fará com que os campos modBCST, vBCST, pICMSST e vICMSST sejam informados no XML, para a CST 90 - Outros com partilha..., ainda que os vBCST e vICMSST sejam zerados, conforme NT 2016.002, v1.61.
  3. Fica aqui a solução para quem passou por esse problema: O que ocorre é que o componente ACBrNFe retornava o XML "procEventoNFe" da carta de correção por meio da propriedade WebServices.EnvEvento.RetWS. Em algum momento essa mesma propriedade passou a retornar apenas o XML "retEnvEvento". Se tentar carregar no componente apenas o XML "retEnvEvento", a exceção "campo cOrgao não informado" é lançada. Para sanar o problema, observei que o XML "procEventoNFe" pode ser obtido atualmente através da propriedade EventoNFe.Evento.Items[0].RetInfEvento.XML.
  4. Na versão mais recente do ACBR (revisão 13837), ao tentar imprimir uma carta de correção está ocorrendo o erro "Campo cOrgao não informado". Testado também na aplicação de demonstração de uso (ACBrNFe - Demonstração). Abaixo segue gif demonstrando o problema e os XMLs utilizados estão em anexo. 28170907703290000189550010000016471003172774-NFe.xml 28170907703290000189550010000016471003172774_1_1-procEventoNfe.xml
  5. Obrigado pela rapidez @EliasCesar
  6. Balança: Toledo. Versão dos fontes: Atualizado até a revisão 12865 de 26/01/2017. Descrição do problema: Se configurar o componente TACBrBAL para monitorar a balança (ACBrBAL1.MonitorarBalanca := True;) o componente fica monitorando a balança, mas para de fazê-lo se o método TACBrBAL.LePeso for chamado. Ex: ACBrBAL1.LePeso( TimeOut ); O problema está no método abaixo: function TACBrBAL.LePeso( MillisecTimeOut : Integer) : Double; Var Ativado, Monitorando : Boolean ; begin Ativado := Ativo ; Monitorando := MonitorarBalanca ; try Monitorando := False ; if not Ativado then { Ativa caso não tenha sido ativado antes } Ativar ; Result := fsBAL.LePeso( MillisecTimeOut ) ; if Assigned( fsOnLePeso ) then fsOnLePeso( UltimoPesoLido, UltimaResposta ) ; finally Ativo := Ativado ; MonitorarBalanca := Monitorando ; end ; end; Note que a variável Monitorando está recebendo o valor da propriedade MonitorarBalanca(linha 6) e em seguida, dentro do bloco try, recebe false. Portanto quando o método LePeso for chamado, a propriedade MonitorarBalanca sempre será definida como false. Correção: Alterar método para: function TACBrBAL.LePeso( MillisecTimeOut : Integer) : Double; Var Ativado, Monitorando : Boolean ; begin Ativado := Ativo ; Monitorando := MonitorarBalanca ; try MonitorarBalanca := False ; if not Ativado then { Ativa caso não tenha sido ativado antes } Ativar ; Result := fsBAL.LePeso( MillisecTimeOut ) ; if Assigned( fsOnLePeso ) then fsOnLePeso( UltimoPesoLido, UltimaResposta ) ; finally Ativo := Ativado ; MonitorarBalanca := Monitorando ; end ; end;
  7. Alguém já implementou? Ou tentou? Sim, @RobertoRP. Uso em produção com ECF e NFCe Existe possibilidades de funcionar? Está funcionando. O componente de TEF trabalha com eventos, não está acoplado ao código do componente de ECF. Para funcionar com NFCe basta adaptar os eventos para seu cenário. Só tive problemas com a homologação do SITEF, e para o mesmo tive que fazer algumas alterações no código em delphi do componente. Essas alterações ainda não foram enviadas para o pessoal.
  8. Adicionalmente, no demo em .net, após escolher que a impressão continue (na primeira pergunta que é exibida), se não ligar o ECF a aplicação fica em loop no evento OnInfoECF.
  9. Primeiramente gostaria de agradecer a todos que colaboraram com este projeto tão útil para os desenvolvedores .net. Estava testando a seq. 4 de pré-homologação do Sitef, onde orienta desligar o ECF após começar a impressão do vinculado e percebi o seguinte: No demo do TEF para o Delphi, se o ECF ainda estiver desligado após escolhermos que queremos continuar a impressão (ver imagem 01), o demo exibe novamente a pergunta. Imagem 01: A pergunta é reexibida até que o usuário ligue o ECF e a impressão seja efetuada com sucesso ou então o usuário selecionar que não deseja continuar a impressão. Já no demo em .net essa pergunta só é exibida na primeira vez. Após isso, se o ECF não for ligado, a aplicação devolve uma exceção e não exibe a pergunta novamente. Devo configurar algo pra ter esse comportamento no demo do .net?
  10. Aproveitando a oportunidade, a unit ACBrGNREWebServices.pas, revisão 9129 do regyssilveira (a última que aparece aqui para trunk2), também contém alguns erros que impedem a compilação. Variáveis não declaradas: GNREEnviGNRE: linha 596(Texto := Texto + '<versaoDados>'+GNREEnviGNRE+'</versaoDados>';) ConfAmbiente: linha 710; GNREConsResLote: linha 761(Texto := Texto + '<versaoDados>'+GNREConsResLote+'</versaoDados>';) GNREConsConfigUF: linha 1121(Texto := Texto + '<versaoDados>'+GNREConsConfigUF+'</versaoDados>';) Essas varíaveis não declaradas ainda são usadas nas linhas 875, 947, 1070 e 1239.
  11. O mesmo aqui na trunk2. O problema foi provocado no commit 9950 (Indentação, melhorias e novos blocos no Sped ECFhttp://www.projetoacbr.com.br/forum/topic/23565-sped-ecf-disponibilizado-do-trunk2/?page=6) do juliomar em 11/09 às 16:57, na unit ACBrSpedECF.pas Foi adicionada a propriedade property Conteudo: TStringList read GetConteudo write SetConteudo; No entanto a procedure SetConteudo não foi declarada no arquivo.
  12. Utilize a biblioteca em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe/ que já está no layout 3.10 e suporta NFCe.
  13. Obrigado arezende pelas suas sugestões. Eu centralizei todos os serviços relacionados à NFe na classe "ServicosNFe", pois desejava que a solução fosse mais próxima possível dos manuais da Nfe, já que nestes o foco são os serviços. Por exemplo, o objeto "nfeRecepcaoLote2" que contém um lote de NFe's é apenas um dos muitos objetos que cabem dentro de nfeDadosMsg, por isso não fiz centralizei as operações na classe NFe. Dessa forma poderás ver, como no exemplo que acompanha a biblioteca que o consumo de qualquer serviço, uma vez que vc já tenha o objeto que será convertido em "nfeDadosMsg" pronto, pode ser feito usando a classe "ServicosNFe" da seguinte forma: Consultar recibo de lote: var servicoNFe = new ServicosNFe(_configuracoes.CfgServico); var retornoRecibo = servicoNFe.NFeRetAutorizacao(recibo); Enviar uma NFe: var servicoNFe = new ServicosNFe(_configuracoes.CfgServico); var retornoEnvio = servicoNFe.NFeAutorizacao(Convert.ToInt32(lote), IndicadorSincronizacao.Assincrono, new List<Classes.NFe> {_nfe}); Mas nada impede que seja criada uma classe como vc sugere para abstrair ainda mais o código e deixá-lo mais próximo de como o ACBR trabalha atualmente, na verdade eu ficaria muito grato em receber sua ajuda. Quanto as outras sugestões, são essenciais. Gostaria de adicioná-lo como colaborador do projeto, por acaso seu git é https://github.com/arezende?
  14. Se for um requisito de seu negócio aceitar certificados A3, você pode distribuir um web-service que deverá ser instalado na cpu do cliente. Este receberá o xml e o devolverá assinado para sua aplicação web.
×
×
  • 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...
The popup will be closed in 10 segundos...