Ir para conteúdo
  • Cadastre-se

Roberto.Godinho

Membros
  • Total de ítens

    192
  • Registro em

  • Última visita

Tudo que Roberto.Godinho postou

  1. Ola, Este fim de semana no paraná esta ativo o SCAN, ao efetuar a consulta do status do serviço na segunda feira esta retornando status "113-SCAN sera desabilitado para a PR as hh:mm dd/mm/yy", neste caso, a situação do SCAN era ativo, no entanto, o ACBr estava retornando como inativo devido ao fato de verificar se o retorno é = 107. Para este caso, o retorno não deveria ser "Ativo"?
  2. Bom dia, estava testando a NFC-e e verifiquei um problema durante a emissão, quando envio uma NFC-e de forma asincrona e retornou uma exceção com conteúdo vazio, durante a depuração notei que não esta lendo corretamente o conteúdo do RetWS. Anexei um print pra ficar mais claro.
  3. Pessoal, alguém mais chegou a dar uma olhada nisso? to com um cliente no meu pé por causa disso.
  4. Bom dia, Chegou a dar uma olhadinha nos arquivos enviados ANFM? Vai ser possível fazer a modificação no componente ou há alguma outra solução para o caso?
  5. Ola anfm, anexei os dois arquivos XML. Note que o arquivo WebService.xml está com o conteudo M&M e com assinatura valida, o outro arquivo (sistema.xml) baixado pelo sistema está M&MS que alem da assinatura estar inválida está com erro de formação do xml devido ao &. Obrigado. webservice.xml sistema.xml
  6. Ola, Estou com este mesmo problema, no entanto não é no envio e sim no download da NF-e. Alguns emitentes enviam a NF-e para o SEFAZ contendo nas informações complementares caracteres especiais convertidos antes da assinatura, neste caso, no WS esta da seguinte forma "Choc. M&ampM ..." que seria equivalente a "Choc. M&M...", no entanto, quando faço o download através do componente acbr a função NFeUtils.ParseText está substituindo "&amp" por "&" tornando assim inválida. Alguem tem alguma idéia do que fazer pra resolver este problema? Grato, Roberto Godinho
  7. Ola Pessoal, é o seguinte, estou tendo um probleminha ao efetuar o download de uma NF-e, a nas infCpl tem um & em maisculo e no acbr é desfeito o filtro xml apenas com o identificador em minusculo que é o correto, mas pro cliente parece não haver certo e errado, o mesmo acontece efetuando o download pelo site, portanto, a assinatura do arquivo fica inválida. teria alguma possibilidade de alterar a função FiltrarTextoXML da unit pcn para converter identificadores em maiuscula? Grato
  8. Bom dia Ariel. você está enviando o cOrgao 35 para SP, deve enviar 91, passei por este problema ainda esta semana e isto resolveu. espero que ajude
  9. eu identifiquei o mesmo problema somente no MS. notei o seguinte, quando autorizo a NF-e no protocolo a hora fica correta, no entanto quando eu faço a busca do status do WS ele retorna 1 hora a menos, ou seja, neste momento no mato grosso seria 10:49 e está retornando 9:49, sendo assim, aparentemente por algum problema está retornando 1 hora menos, no cancelamento ocorre a mesma coisa.
  10. Bom dia Romulo, Estou ciente disto, é por isso que eu faço a busca do status uma unica vez, armazeno a hora e mantenho 1 timer incrementando essa hora, justamente para evitar sair das regras.
  11. boa tarde pessoal, eu passei por este mesmo problema, esse erro da-se devido a mudança de fuso horario, horario de verão, até mesmo de horário do PC quando este está adiantado ou atrasado. acontece que ao informar a dhEvento, você vai basear-se na hora da maquina, e isso algumas vezes vai causar problemas. quanto a este erro de falta de sincronia de horas eu resolvi da seguinte forma: quando eu abro o modulo de gerenciamento ou efetuo qual operação com o WS, eu faço uma busca do Status do WS, sendo assim, irá me retornar o dhRcbto, armazeno esta hora e mantenho um timer incrementando ela normalmente, assim, quando vou utilizar o dhEvento eu pego desta variavel que vai estar sempre correta... tive que aderir a esta gambiara por que alguns clientes meus que utilizam ECF não puderam alterar a data e hora do PC, e isso preojudicou no cancelamento por evento. quanto as problemas de fuso horário e hora de verão resolvi utilizando uma implementação de uma outra pessoa disponibilizou aqui no forum a um tempo atrás (não lembro o nome da pessoa), até estive conversando com o italo de manha e ele ficou de dar uma olhada nas implementações, vou disponibilizar aqui as units alteradas do componente, a unica soulução foi separar uma versão do ACBr com as novas alterações até que uma solução seja implementada. as units alteradas estão no endereço abaixo: https://docs.google.com/folder/d/0B-LbD ... FvemM/edit Essas alterações definem automaticamente o fuso horario de acordo com a UF configurada no ACBrNFe, decrescendo em -1 o UTC quando for horario de verão. Para meus problemas funcionou perfeitamente e creio que poderá ser uma solução temporária para vocês também, pelo menos até que surja uma solução definitiva. Abraço e bom trabalho
  12. testei a alteração e está funcionando perfeitamente... Obrigado pela presteza ItaloJr.
  13. Boa tarde, estive testando o CT-e em Fortes Report e detectei que quando o CST do ICMS for 90, o componente esta imprimindo o DACTE e informando no campo Aliquota do ICMS (pICMS) o percentual de redução da base de calculo (pREDBC). segue trecho do código. Linha 314 da unit ACBrCTeDACTEFRDM.pas. cst90: begin FieldByName('TXTSITTRIB').AsString := CSTICMSToStr(cst90)+'-'+ CSTICMSToStrTagPosText(cst90); FieldByName('pRedBC').AsFloat := FCTe.Imp.ICMS.ICMS90.pRedBC; FieldByName('vBC').AsFloat := FCTe.Imp.ICMS.ICMS90.vBC; FieldByName('pICMS').AsFloat := FCTe.Imp.ICMS.ICMS90.pRedBC; <<<< erro FieldByName('vICMS').AsFloat := FCTe.Imp.ICMS.ICMS90.vICMS; FieldByName('vCredito').AsFloat := FCTe.Imp.ICMS.ICMS90.vCred; end; corrigido para: cst90: begin FieldByName('TXTSITTRIB').AsString := CSTICMSToStr(cst90)+'-'+ CSTICMSToStrTagPosText(cst90); FieldByName('pRedBC').AsFloat := FCTe.Imp.ICMS.ICMS90.pRedBC; FieldByName('vBC').AsFloat := FCTe.Imp.ICMS.ICMS90.vBC; FieldByName('pICMS').AsFloat := FCTe.Imp.ICMS.ICMS90.pICMS; FieldByName('vICMS').AsFloat := FCTe.Imp.ICMS.ICMS90.vICMS; FieldByName('vCredito').AsFloat := FCTe.Imp.ICMS.ICMS90.vCred; end; obrigado
  14. boa tarde! esta validação pode ser feita em separado utilizando a classe NFeW da unit pcnGerador. Em NFeW.Gerador.Opcoes.FormatoAlerta é possivel personalizar as mensagens de alerta. segue commentario do procedimento wAlerta: eu normalmente valido a nota antes do processo de envio, pego a lista de erros do gerador (propriedade ListaDeAlertas) e valido uma a uma. meu formato é mais ou menos assim: '[TN]%TAGNIVEL%[/TN] [TG]%TAG%[/TG] [DSC]%DESCRICAO%[/DSC] [MSG]%MSG%.[/MSG]' por exemplo: percorro a lista de erros geradas e verifico qual a tag nivel: for i:0 to ListaDeErros.Count-1 do begin if pos('[TN][/TN]) > 0 then // significa que retornou um erro nos dados do emitente begin erros_emit.add(RetornarConteudoEntre(ListaDeErros[i], '[DSC]','[/DSC]') +': '+RetornarConteudoEntre(ListaDeErros[i], '[MSG]','[/MSG]') ; end; ... end; depois de ler e organizar todos os erros, eu pego de bloco por bloco e organizo a mensagem. Exemplo: msg_erro.add('DADOS DO EMITENTE'); tot_erros := tot_erros + erros_emit.count; msg_erro.add(erros_emit.Text); assim no final eu tenho uma mensagem apresentavel para o usuario final que fica mais ou menos assim: Quando gera 3 ou 4 mensagens eu mostro ao usuário na tela, se gerar mais que isso, verifico se ele quer ver o relatório de erros e gero um arquivo html com os erros e apresento num WebBrowser. Faço isso pra não ter que mostrar uma mensagem gigante para o usuario como o nosso amigo a alguns posts atras. Até hoje houve pouquissimas reclamações sobre isso, alem domais, se houver alguma tag que precisa de um traqtamento especial ou se eu quizer apresentar uma mensagem diferente eu ja vou tratando tudo dentro do primeiro exemplo que citei. é isso ai pessoal, fica uma sugestão pra quem precisa melhorar a apresentação das mensagens, peço desculpas se houver erros mas eu fui fazendo tudo de cabeça. abraço
  15. Olá meus amigos. Alguem poderia me ajudar com a configuração dos arquivos ini para emissão pro ws ISS.NET de Cascavel?
  16. Boa tarde pessoas! Primeiro gostaria de agradecer a parabenizar a todos os desenvolvedores e colaboradores do projeto ACBR. realmente muito bom! Bom, vamos ao assunto do dia. Constatei que ao efetuar a leitura do XML do CTe utilizando a classe TCTeR função LerXml, mais especificamente na linha 237, não esta sendo carregado o valor da propriedade TipoData e TipoHora do objeto TEntrega. Fiz a correção aqui e estou enviando abaixo a parte corrigida para ser adicionada ao projeto. if Leitor.rExtrai(2, 'Entrega') <> '' then begin if Leitor.rExtrai(3, 'semData') <> '' then begin CTe.Compl.Entrega.TipoData := tdSemData; // 02/05/2012 13:51:33 - Roberto Godinho CTe.Compl.Entrega.semData.tpPer := StrToTpDataPeriodo(ok, Leitor.rCampo(tcStr, 'tpPer')); end; if Leitor.rExtrai(3, 'comData') <> '' then begin CTe.Compl.Entrega.TipoData := tdNaData; // 02/05/2012 13:51:33 - Roberto Godinho CTe.Compl.Entrega.comData.tpPer := StrToTpDataPeriodo(ok, Leitor.rCampo(tcStr, 'tpPer')); CTe.Compl.Entrega.comData.dProg := Leitor.rCampo(tcDat, 'dProg'); end; if Leitor.rExtrai(3, 'noPeriodo') <> '' then begin CTe.Compl.Entrega.TipoData := tdNoPeriodo; // 02/05/2012 13:51:33 - Roberto Godinho CTe.Compl.Entrega.noPeriodo.tpPer := StrToTpDataPeriodo(ok, Leitor.rCampo(tcStr, 'tpPer')); CTe.Compl.Entrega.noPeriodo.dIni := Leitor.rCampo(tcDat, 'dIni'); CTe.Compl.Entrega.noPeriodo.dFim := Leitor.rCampo(tcDat, 'dFim'); end; if Leitor.rExtrai(3, 'semHora') <> '' then begin CTe.Compl.Entrega.TipoHora := thSemHorario; // 02/05/2012 13:51:33 - Roberto Godinho CTe.Compl.Entrega.semHora.tpHor := StrToTpHorarioIntervalo(ok, Leitor.rCampo(tcStr, 'tpHor')); end; if Leitor.rExtrai(3, 'comHora') <> '' then begin CTe.Compl.Entrega.TipoHora := thNoHorario; // 02/05/2012 13:51:33 - Roberto Godinho CTe.Compl.Entrega.comHora.tpHor := StrToTpHorarioIntervalo(ok, Leitor.rCampo(tcStr, 'tpHor')); CTe.Compl.Entrega.comHora.hProg := StrToTime(Leitor.rCampo(tcStr, 'hProg')); end; if Leitor.rExtrai(3, 'noInter') <> '' then begin CTe.Compl.Entrega.TipoHora := thNoIntervalo; // 02/05/2012 13:51:33 - Roberto Godinho CTe.Compl.Entrega.noInter.tpHor := StrToTpHorarioIntervalo(ok, Leitor.rCampo(tcStr, 'tpHor')); CTe.Compl.Entrega.noInter.hIni := StrToTime(Leitor.rCampo(tcStr, 'hIni')); CTe.Compl.Entrega.noInter.hFim := StrToTime(Leitor.rCampo(tcStr, 'hFim')); end; end; Obrigado galera e no decorrer dos testes se encontrar mais alguma coisa estarei postando aqui. T+
×
×
  • 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.