Ir para conteúdo
  • Cadastre-se

ronnei

Membros
  • Total de ítens

    168
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que ronnei postou

  1. Olá Amigos, deparei com a seguinte situação, fiz um módulo para envio de NFe em lote, selecionamos por exemplo 10 Nfes, de clientes diferentes, e envio junto para agilizar o processo, tenho clientes que vendem externo o mes inteiro e no fim do mes fazem os pedidos e nfes de todos eles, porém quando vou imprimir as Nfes do lote o componente atualiza a informação de Página 1/x para tudo, ou seja, se tenho 10 Nfes ele mostra 1/10,2/10, como se aquela Nota tivesse 10 páginas, mas na verdade são 10 Nfes diferentes, gostaria de saber como os colegas do fórum estão tratando isso, ou se estão imprimindo uma a uma? Obrigado pela atenção e Sucesso!!
  2. Blz Regys, é isso mesmo, na verdade isso é erro meu pois eu estava considerando o Exception, e como não deu eu simplesmente colocava como Autorizada, o lote foi processada, mas a Nfe que estava no Lote não, o correto é verificar o stat da Nfe.... desculpe a ignorância, mas vai que serve para alguém que esteja com o mesmo erro. O Correto é verificar o STAT da NFe e não do Lote, como eu estava tratando anteriormente.
  3. Se não gerou exception passo como autorizada, não estou verificando o retorno do Cstat, pois antes gerava uma exception e eu coloco a consulta em bloco try except. O componente não gera mais o Exception??
  4. Amigos segue em anexo, consegui reproduzir o erro, ela retorna autorizada mas o XML não atualiza, segue os prints, XML e erro quanto tento cancelar a Nfe, dizendo que a Nfe não existe na base da Sefaz, o que fiz foi por um produto e deixar uma diferença de 0,06 entre o valor do produto comercial e o tributável. Fazendo um breakpoint vi que o ACBrNFe.WebServices.Retorno.cStat=630, mas na mensagem ele deu autorizada 104 (print 2) e não gerou exception, será que estou comendo barriga em algo? 50120611758339000178550000000000641000000641-nfe.xml
  5. E ai Kiko, ele retornou na verdade 104 para mim, porém a Nfe não existia na Sefaz, simulei o erro novamente e consegui, apenas colocando o último produto com uma diferença de centavos entre o valorcomercial e o valor tributário... vou ver se posto o XML aqui para analisarmos juntos.
  6. ronnei

    ACBRSMS

    Entendi Regys, vou procurar estou no Windows 7 pode ser por isso, se eu resolver mando aqui.. valew
  7. ronnei

    ACBrSMS

    Regys, as portas foram criadas sim, porem só mostram quando eu abro o aplicativo da VIVO, sem abrir ele elas não existe, depois que eu tiro o modem e coloco de novo elas não aparecem até eu abrir o app de novo, só posso usar o demo do acbr depois de abrir o da vivo, por enquanto vou fazer uma gambi chamando os dois sempre, mas ja viu algo parecido?
  8. ronnei

    ACBRSMS

    Alguem conseguiu resolver a questao de criar as portas com virtuais sem usar o programa da operadora, direto pelo ACBRSMS?
  9. ronnei

    ACBrSMS

    Bom dia Amigos, parabéns pelo projeto, eu tinha iniciado um idêntico mas só para o modelo do Meu Modem ZTE MF100, mas quando vi no ACBR desisti e vou usa-lo, hoje fiz testes de envio e tudo OK, só não conseguir ler as mensagens ainda, mas por mim sem problema por enquanto, o estranho é que o componente só lista as POrtas COM depois que eu acesso o software da VIVO, é como se ele não inicializasse o modem antes disso, depois posso fechar o software da vivo que ele lista normalmente as portas COM, alguma dica para não precisar abrir o software sempre? Pois pretendo fazer um software tipo o ACBRMonitor para enviar mensagens provenientes de diversos softwares meus, mas não vai rolar abrir o software da vivo toda vez que reiniciar a maquina ou plugar o modem... Sucesso!
  10. Olá amigos, hoje presenciei um erro muito estranho, uma Nota com muitos itens retornava como autorizada pela SEFAZ e na hora de imprimir o DANFE estava marcado como Não autorizada pela Sefaz, fiz consulta por XML, imprimir do XML... enfim nada resolvia, depois de muita dor de cabeça descobri que um dos produtos estava com uma divergência entre a quantidade comercial e a quantidade tributável, o normal é em casos como esse retornar um erro e não autorizar a Nfe, mas neste caso tudo remetia a estar ok mas não estava, depois que arrumei esse produto e enviei novamente a Nfe deu certo, alguém já passou por algo parecido?
  11. Em outro Post o Italo me ajudou, existe um problema na forma como eu estava tratando e pode ser que o peterson161 possa ter problemas também, o retorno da Sefaz "nem sempre" vem na mesma ordem que foi enviada as Nfes, o Italo me contou um caso de Cte que as ctes rejeitadas vieram primeiro, portanto para evitar esse problema que eu tive, a dica enviada pelo italo foi resgatar as informacoes cstat e xmotivo com NotasFiscais.items[cont].Nfe.procNfe.... e não como estava antes Retorno.NfeRetorno.protNfe.items[cont]. Segue a dica e a correção do inicio do código para quem estava se baseando no meu codigo e do peterson... obrigado por todos que ajudaram. O link do post que o italo me ajudou foi esse for cont := 0 to (Retorno.NFeRetorno.ProtNFe.Count - 1) do begin (* Tive problemas pois o retorno as vezes nao estava voltando na mesma sequencia enviada, porem o componente atualiza os XMls corretamente, entao devo usar NotasFiscais.items[cont].Nfe.procNfe. CAMPOQUEQUERO substituindo o Retorno.NfeRetorno.protNfe.items[cont].campoquequero *) FInfoDataHora := DateTimeToStr(FcomponentesNfe.ACBrNFe.NotasFiscais.Items[cont].NFe.procNFe.dhRecbto); FInfoProtocolo := FcomponentesNfe.ACBrNFe.NotasFiscais.Items[cont].NFe.procNFe.nProt; FInfoStat := Inttostr(FcomponentesNfe.ACBrNFe.NotasFiscais.Items[cont].NFe.procNFe.cStat); FInfoMotivo := FcomponentesNfe.ACBrNFe.NotasFiscais.Items[cont].NFe.procNFe.xMotivo; FinfoNotaFiscal:=inttostr(FcomponentesNfe.ACBrNFe.NotasFiscais.Items[cont].NFe.Ide.nNf);
  12. Acredito que possa ter sido isso mesmo Italo eu estava usando a informacao cstat e xmotivo do retorno e não do notafiscal procnfe, entao por isso ele deve ter atualizado errado... vou atualizar o outro post que eu deixei meu codigo de exemplo Obrigado!!
  13. Ok Italo, vi isso acontecer na Nfe e tive problemas, estou tentando reproduzir o erro para tentar entender o comportamento, pois tive problemas com o XML, mas não consegui mais reproduzir o erro desde ontem.... Muito obrigado pelos esclarecimentos
  14. Bom dia a todos do Fórum, tenho uma dúvida a respeito do tratamento do Retorno de um Lote, a sequência que eu insiro as Nfes no componente ACBR é a mesma sequência dos Retorno.NFeRetorno.ProtNFe.items ? Posso considerar por exemplo que a posição 0 do retorno refere-se a Nota Fiscal na posicao 0, assim ACBrNFe.NotasFiscais.Items[0].NFe .... ? Estou tentando esclarecer um problema que tive com o retorno de um lote. Obrigado pela Atenção de Todos!
  15. Ressuscitando o POST!! Amigos, terminei a minha implementação porem aconteceu um erro MUITO estranho, preciso de ajudar em um questao: - Monto o componente ACBR na sequencia Notas 1,2 e 3, propositalmente eu preparei a Nota 2 com um erro, quanto mandei consultar o lote ja enviado destas 3 Notas ele me retornar a nota 3 como errada, e era 2, tentei enviar a nota 3 de novo e ela ja estava aceita, entao fiquei na seguinte duvida Fiz um laco for cont := 0 to (Retorno.NFeRetorno.ProtNFe.Count - 1) do begin End Neste laco acima usei o CONT para acessar o numero da NFe daquela posicao do protocolo de retorno, desta forma: PnumeroNfeAtual:=ACBrNFe.NotasFiscais.Items[cont].NFe.Ide.nNF; Pelo que entendi o retorno nao veio na mesma ordem nas Nfes enviadas, isso é possivel? Era como se a segunda posicao do retorno fosse a Nfe 3 a 3º posicao fosse a Nfe 2 Alguem poderia me confirmar essa duvida? Porque se isso ocorrer entao vou ter que usar a Chave da nfe e extrair o numero da nfe direto da Chave do Retorno, seria isso?
  16. O código abaixo foi extraído do código do Peterson, que por sinal foi MUITO útil, obviamente o código abaixo não está completo pois tem as implementações de BD e configuracoes do componente ACBR que eu suprimi, mas pelo menos a logica acredito que ajudara, apesar de nao ser muito diferente da Lógica do Peterson //Antes de tudo limpe o componente FComponentesNfe.ACBrNFe.NotasFiscais.Clear; //adicione todas as Nfes //While notasdobd... do Begin With FcomponentesNfe.ACBrNFe.NotasFiscais.add.Nfe do Begin //procedimento padrao de inserir os dados no componente e nos produtos ... //guarde o Xml de cada Nfe ou em um arquivo XML ou no BD FcomponentesNfe.ACBrNFe.NotasFiscais.Items[FcomponentesNfe.ACBrNFe.NotasFiscais.Count-1].SaveToFile(NumNfe+'temp.xml'); //faca isso para todas as Nfes End; End; //Assine e valide o lote de Nfe que já foi adicionado FcomponentesNfe.ACBrNFe.NotasFiscais.Assinar; FcomponentesNfe.ACBrNFe.NotasFiscais.Valida; //Envie o lote, a variavel Plote é uma variavel com um inteiro que eu uso //para os lotes With FcomponentesNfe.ACBrNFe.WebServices do Begin Try Enviar.Lote := Plote; Enviar.Executar; Recibo_numero := Enviar.Recibo; Recibo_CStat := IntToStr(Enviar.cStat); Recibo_XMotivo := Enviar.xMotivo; Recibo_dhRecbto := DateTimeToStr(Enviar.dhRecbto); if (Enviar.cStat <> 103)//103 lOTE RECEBIDO COM SUCESSO Then begin MensagemErro('Não foi possível enviar o lote. Cstat '+Recibo_Cstat+'-'+Recibo_XMotivo); exit; End; Except on e:Exception do Begin MensagemErro('Erro ao tentar enviar o lote '+e.message); exit; End; End; End; //se chegou até aqui o lote ja foi enviado //guarde no BD o numero do recibo que foi enviado e marque as Nfes do lote //para Enviada em Processamento, eu uso um codigo de situacao "3-Enviada em Processamento" //chame o procedimento de consulta de lote //**************exemplo do procedimento de consulta de lote *************** //selecione no BD todas as Nfes do lote escolhido //limpe o componente ACBR FComponentesNfe.ACBrNFe.NotasFiscais.Clear; //para cada Nfe extraia o XML em um arquivo e carregue o componente adicionando o XML //isso é semelhante a um ADD, deixando o componente carregado com todos os dados FcomponentesNfe.ACBrNFe.NotasFiscais.LoadFromFile(Pnfe+'TEMP.XML'); With FcomponentesNfe.ACBrNFe.WebServices do Begin Try Retorno.Recibo := Self.nfe.get_reciboenvio;//de posso do recibo de envio posso consultar Retorno.Executar; if (Retorno.cStat<>104)//104 É lOTE PROCESSADO SE FOR DIFERENTE DISSO GERA UM ERRO Then Exception.Create(Retorno.Msg); //varrendo os protocolos de retorno for cont := 0 to (Retorno.NFeRetorno.ProtNFe.Count - 1) do begin FInfoDataHora := DateTimeToStr(Retorno.NFeRetorno.ProtNFe.Items[cont].dhRecbto); FInfoProtocolo := Retorno.NFeRetorno.ProtNFe.Items[cont].nProt; FInfoStat := IntToStr(Retorno.NFeRetorno.ProtNFe.Items[cont].cStat); FInfoMotivo := Retorno.NFeRetorno.ProtNFe.Items[cont].xMotivo; case Retorno.NFeRetorno.ProtNFe.Items[cont].cStat of 100: begin // Autorizada //neste ponto o XML ja esta na pasta, basta carregar para o BD //e marcar a Nfe no BD como autorizads end; else begin //nao foi aceita, volta a nfe no BD para digitacao end; end; // case F_Menu.ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[i].cStat End; Except on e:exception do Begin MensagemErro('Erro na consulta do Lote '+#13+E.message); exit; End; End; End; //imprimindo todas as NFes do lote //caso alguma delas nao tenha sido autorizada vai imprimir do mesmo jeito //neste caso o correto era carregar o componente novamente //somente com as aceitas //e mandar imprimir FcomponentesNfe.ACBrNFe.NotasFiscais.Imprimir;
  17. Para os que estavam com a mesma dúvida que eu, depois de codificar e testar, segue a rotina - Preencha o Componente ACBR dando Add, com todas as Nfes que deseja enviar - Envie o lote, apenas verifique se ele foi aceito, se sim, passe todas as Nfe para Em processamento e guarde os XMLs atuais, pois não é certeza que conseguira resposta logo em seguida - Codifique um procedimento de consulta do lote, antes de consultar carregue o componente novamente com as Nfs, uma dica é carregar pelo XML ja salvo usando comando ACBrNFe.NotasFiscais.LoadFromFile('caminhodoarquivo'); - Solicite o retorno, se der certo, varra o vetor de protnfe consultando o Cstat (status) de cada Nfe, ele mostrara as que foram aceitas e as que nao foram aceitas, atualize o XML delas no BD, agora com o novo XML ja com a autorizacao -Limpe o componente -Carregue somente as aceitas -Mande imprimir. Basicamente é isso, se alguem estiver enrolado no código me dá um toque eu ajudo no que for necessario. O código postado anteriormente aqui foi meu norte, foi muito boa a dica! Obrigado pela ajuda de todos!!
  18. Parabéns pela iniciativa, já esclareceu muitas coisas para mim que estava iniciando na questão de enviar mais de uma Nfe! Porém ficam algumas dúvidas ainda Quando o retorno é acionado ele atualiza os XML's, em caso por exemplo de em um lote de 5 Nfe 4 foram aceitas e 1 rejeitada, ele vai atualizar corretamente as outras 4? Pelo que entendi existe um vetor ProtNfe sendo um para cada Nfe e nele está as informações se as Nfe foram aceitas ou não, é isso? Neste retorno no caso uma das Nfe não tenham sido aceitas ele gerará alguma exception, ou tudo funciona sem excessão? Outra dúvida, no caso de lote em processamento, vou tentar posteriormente a consulta, nesse caso ao tentar preciso carregar o componente todo de novo igual ao envio para que ele atualize corretamente o XML caso consiga obter o retorno? Agradeço a todos do fórum na força que tem dado aos iniciantes como eu!
  19. ronnei

    Lote de Nfe

    Obrigado Marcelo, vou iniciar os testes, agradeço sua ajuda, foi valiosa, pelo menos começou a tirar as nuvens... Sucesso
  20. ronnei

    Lote de Nfe

    Amigos, gostaria de indicação de algum material sobre como enviar Nfe em lote pelo ACBR, sempre emiti uma Nfe de cada vez agora surgiu a situação de agrupar diversas Nfes e depois envia-las todas juntas e imprimi-las, mas não sei nem por onde começar, vi que tem uma opção de número de lote no DEMO, mas não sei por exemplo se o número do lote é sempre único, ou se posso usar sempre o número 0 para o lote, como é procedido em casos de 5 Nfes uma delas for negada, como o componente irá tratar isso... enfim nem sei por onde começar, alguém poderia me dar uma força? Obrigado pela atenção!
  21. Alguém sabe algo sobre o Padrão ABRASF, a cidade de Dourados/MS está migrando do ISS.NET para esse ABRASF, o AcbrNFSe também gerará esse formato?
  22. Hoje pela manhã obtive um erro em um cliente de inativo ou inoperante e logo em seguida dezenas de caracteres estranhos ¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢ Na minha máquina e nos demais clientes não havia erro, depois de muito pesquisar, tentar desativar firewall e outros aplicativos encontrei em uma página algo sobre o horário de verão, neste momento atentei que a máquina do cliente estava duas horas a mais, no sábado houve a troca para o horário de verão, voltei o relógio e desmarquei o sincronizar e o problema foi resolvido, estou postando aqui já como CONCLUIDO para que se os demais colegas possam ter problemas como esse possa encontrar uma solução mais rapidamente. Obrigado pela atenção
  23. Amigo, não use o arquivo NotaFiscalEletronica.rav da pasta Report novo que veio no SVN ele que gera o erro, talvez por causa da nossa versão do Rave, eu tinha um outro que ficava dentro da pasta de exemplo do acbr, estou enviando em anexo, para mim resolveu. Abraço e Sucesso! NotaFiscalEletronica.zip
  24. Olá Amigos do Fórum, atualizei hoje meu ACBR, deu erro na hora de re-compilar o AcbrNfeDanFeRV na linha de requires rave90vcl, troquei essa linha para rave50vcl pois meu Rave é o 5.0, troquei os schemas e o arquivo rave para os atualizados pelo acbr, porém na hora de emitir uma Nfe e imprimir a mesma deu o erro de Stack Underflow Alguém poderia me ajudar? Atenciosamente Ronnei Peterson
  25. ronnei

    Lista de Alterações (LOG)

    Olá amigos, dúvida besta, aonde acompanho a lista de alterações das versões do ACBRNfe, atualizei o componente mas não encontrei o TXT de alterações para saber os erros que foram corrigidos, ou novas funcionalidades. Obrigado pela atenção!!
×
×
  • 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...