Ir para conteúdo
  • Cadastre-se

Gustavo Déo da Silva

Membros
  • Total de ítens

    67
  • Registro em

  • Última visita

Tudo que Gustavo Déo da Silva postou

  1. ***Na verdade, colocar no final traria problemas ainda maiores quando a SEFAZ criasse outro valor...**** Não, pois estou usando '', problema se ela criasse o valor '', mas ela usa sempre valores. No caso dos outros desenvolvedores, não teria problema de validação, pois se alguém usa número, nada mudaria, e caso vier uma nova numeração da SEFAZ, não precisar ser em ordem para a validação funcionar; Se alguém usa a posição do enumerator, a posição anterior não seria alterada. Pra mim isso é um "bug" no componente, pois está trazendo uma informação equivocada. Mas ok, já percebi que não tive apoio na alteração, me desculpe pelo transtorno e pelo tempo "perdido" de vcs. Att.: Gustavo Déo.
  2. Boa tarde, Não precisaria, pois ele faz isso na conversão dos dados, hj fica errado devido a falta do "nenhum". Se vc não usa if nessas tag, qd vc recebe uma nf que não consta essas informações, vc vai armazenar dados errado, pois ele vai trazer um dado padrão na conversão que não existe na nf. Muitos devem estar fazendo errado sem saber que está errado. Att.: Gustavo Déo Entendo a preocupação de compatibilidade com o código dos usuários, porém como foi adicionado por último no enumerator, não traria problema, pois estaria fora da faixa do valor gravado. E se o pessoal está usando da forma que está hj, estão gravando informação errada. Mas ok, entendi que vcs julgam não ser viável a alteração. Só tentei seguir o padrão que havia em outras conversões onde está previsto o "nenhum". Att.: Gustavo Déo
  3. Bom dia... Por outro lado, já tem outros enumerator do sistema que já fazem esse tratamento, ex. csticms... Acho que poderia ir corrigindo conforme aparecer solicitações, eu mesmo faria todas que eu encontrasse... Eu estava fazendo a leitura do xml manualmente, achei que com o componente minimizaria a possibilidade de erro, pois temos uma comunidade muito grande utilizando ele. O componente é fantástico, mas com esses pequenos detalhes, tive problemas de validações. Se precisar de voluntário para ajudar a validação de enumerator, sou voluntário.. Obrigado. Att.: Gustavo Déo.
  4. Boa tarde, Desculpe a insistência, mas a solução que eu propus, acho que seria de grande valia para a comunidade. Pois eu vou trabalhar com a unit alterada, mas toda vez que eu atualizar o meu componente, terei que lembrar de fazer tudo novamente. Seria muito difícil de a equipe do AcBr reavaliar este caso? Obrigado.. Att.: Gustavo....
  5. Boa tarde @Italo Giurizzato Junior, Obrigado pelo retorno... Sim... a classe usa enumeradores, e eu editei esses enumerados, pois em outras propriedades que tb utilizam os enumerados foi feito um enumerador do tipo "vazio" para contemplar a falta da propriedade em um xml. Fiz a correção e sugeri como melhoria, pois assim evito ficar fazendo if cst = xx then... dessa forma, eu poderia ler todos os campos do xml, os que não existe, me retorna vazio e não me causa nenhum problema. Mas ok, se pra vcs não ficou viável fazer a alteração na unit, vou contornar de outra forma. Obrigado.
  6. Boa tarde, Quando o xml não tem as tags modBCST e motDesICMS (NF do simples nacional) o componente retorna valor para nas propriedades, sendo que deveriam ficar ''; Obrigado!!!
  7. Boa Tarde, @Juliomar Marchetti, não sei seria para encaminhar para você, mas segue sugestão de correção do componente, caso não seja com vc, favor, citar a pessoa para conhecimento... Ao utilizar o método ACBrNFe.NotasFiscais.LoadFromString me deparei com erros ao carregar propriedades dos Itens da NF-e. Erro 1 ************ unit pcnNFeR; Linha 650 (*N18*)NFe.Det[i].Imposto.ICMS.modBCST := StrToModBCST(ok, Leitor.rCampo(tcStr, 'modBCST')); Erro encontrado - Ao fazer a leitura do campo 'modBCST' o valor é '', porém ao fazer a conversão, não existe a opção para vazio retornando um valor não nulo errado na propriedade. Correção Aplicada: unit pcnConversao; Linha 90 = Adicionado a propriedade 'dbisNenhum' para a classe TpcnDeterminacaoBaseIcmsST; Linha 875 = function modBCSTToStr(const t: TpcnDeterminacaoBaseIcmsST): string; begin // 0 – Preço tabelado ou máximo sugerido; // 1 - Lista Negativa (valor); // 2 - Lista Positiva (valor); // 3 - Lista Neutra (valor); // 4 - Margem Valor Agregado (%); // 5 - Pauta (valor); // 6 - Valor da Operação result := EnumeradoToStr(t, ['0', '1', '2', '3', '4', '5', '6', ''], [dbisPrecoTabelado, dbisListaNegativa, dbisListaPositiva, dbisListaNeutra, dbisMargemValorAgregado, dbisPauta, dbisValordaOperacao, dbisNenhum]); end; Adicionado '' e dbisNenhum Linha 889 function StrTomodBCST(out ok: boolean; const s: string): TpcnDeterminacaoBaseIcmsST; begin result := StrToEnumerado(ok, s, ['0', '1', '2', '3', '4', '5', '6', ''], [dbisPrecoTabelado, dbisListaNegativa, dbisListaPositiva, dbisListaNeutra, dbisMargemValorAgregado, dbisPauta, dbisValordaOperacao, dbisNenhum]); end; Adicionado '' e dbisNenhum Erro 2 *************** Linha 668 (*N28*)NFe.Det[i].Imposto.ICMS.motDesICMS := StrTomotDesICMS(ok, Leitor.rCampo(tcStr, 'motDesICMS')); Erro encontrado - Ao fazer a leitura do campo 'motDesICMS' o valor é '', porém ao fazer a conversão, não existe a opção para vazio retornando um valor não nulo errado na propriedade. Correção Aplicada: unit pcnConversao; Linha 93 = Adicionado a propriedade 'mdiNenhum' para a classe TpcnMotivoDesoneracaoICMS; Linha 897 function motDesICMSToStr(const t: TpcnMotivoDesoneracaoICMS): string; begin // 1 – Táxi; // 2 – Deficiente Físico; // 3 – Produtor Agropecuário; // 4 – Frotista/Locadora; // 5 – Diplomático/Consular; // 6 – Utilitários e Motocicletas da // Amazônia Ocidental e Áreas de // Livre Comércio (Resolução // 714/88 e 790/94 – CONTRAN e // suas alterações); // 7 – SUFRAMA; // 8 – Venda a Orgãos Publicos; // 9 – outros. (v2.0) // 10 – Deficiente Condutor (Convênio ICMS 38/12). (v3.1) // 11 – Deficiente não Condutor (Convênio ICMS 38/12). (v3.1) // 12 - Orgão Fomento // 16 - Olimpiadas Rio 2016 result := EnumeradoToStr(t, ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '16', '90', ''], [mdiTaxi, mdiDeficienteFisico, mdiProdutorAgropecuario, mdiFrotistaLocadora, mdiDiplomaticoConsular, mdiAmazoniaLivreComercio, mdiSuframa, mdiVendaOrgaosPublicos, mdiOutros, mdiDeficienteCondutor, mdiDeficienteNaoCondutor, mdiOrgaoFomento, mdiOlimpiadaRio2016, mdiSolicitadoFisco, mdiNenhum]); end; Adicionado '' e mdiNenhum nas comparações; Linha 923 function StrTomotDesICMS(out ok: boolean; const s: string): TpcnMotivoDesoneracaoICMS; begin result := StrToEnumerado(ok, s, ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '16', '90', ''], [mdiTaxi, mdiDeficienteFisico, mdiProdutorAgropecuario, mdiFrotistaLocadora, mdiDiplomaticoConsular, mdiAmazoniaLivreComercio, mdiSuframa, mdiVendaOrgaosPublicos, mdiOutros, mdiDeficienteCondutor, mdiDeficienteNaoCondutor, mdiOrgaoFomento, mdiOlimpiadaRio2016, mdiSolicitadoFisco, mdiNenhum]); end; Adicionado '' e mdiNenhum nas comparações; Segue unit para validação das alterações... Att: Gustavo Déo... pcnConversao.pas
  8. Bom dia... Você fez alguma alteração no componente? Pois, de padrão o componente não está preparado para estes estados devido a falta de WS. Poderia compartilhar com nós a solução?
  9. Boa tarde @BigWings.... Unit: ACBrGNREGuiaFRDM Método: procedure TdmACBrGNREFR.CarregaDados; Linha: 170 Na melhoria da impressão da GNRE que eu havia sugerido e vc fez uma modificação para Retrocompatibilidade, acabou ficando com uma pequena falha, no momento do teste, eu não percebi que o SVN não havia sobreposto minha modificação no arquivo local, e acabei testando em cima da minha própria sugestão... Agora que deletei os fontes e baixei novamente, percebi que ficou com falha.. Segue nova sugestão, respeitando a sua alteração anterior, somente a origem da comparação ficou errada... Antes case TipoDocEmitente of Agora : case FieldByName('TipoDocEmitente').AsInteger of Me desculpe pela falha no teste... Fico no aguardo.. Att.: Gustavo Déo ACBrGNREGuiaFRDM.pas
  10. Boa tarde amigo... a primeira coisa a verificar seria o código dos campos extras "c39_camposExtras"... pois na versão de produção, não existe o campo 91 e 73 na tabela... Se vc pegou estes campos na homologação, infelizmente o governo não manteve os mesmos códigos na produção... Também passei por esta dificuldade... Verifique esta configuração, e reporte se deu certo... Obrigado!! Att.: Gustavo Déo
  11. Boa Tarde @Italo Jurisato Junior, @Juliana Tamizou... O Distrito Federal ainda se encontra na Versão 1.00, não está disponível a versão 2.00 Realizei uma nova transmissão, e agora foi realizado com sucesso... Pode ter sido uma instabilidade da receita... De momento o tópico está resolvido.. Obrigado!!!
  12. Eu que agradeço... O tópico pode ser encerrado... Obrigado...
  13. Bom dia... Eu já havia testado com a versão 1.00 no modelo que passei e havia funcionado... Mas sua solução tb funcionou perfeitamente... Obrigado!!! Att.: Gustavo Déo
  14. Se resolver o problema, reportar no fórum para que possam fechar o tópico.. Se tiver mais alguma dificuldade, deixe um comentário, eu passei por algumas dificuldades e agora estou conseguindo emitir as guias.. Abraços!!!...
  15. Boa tarde amigo @Leonardo Moreira... Também passei por essa dificuldade... Acontece que essa inscrição estadual, só deve ser informada, caso a empresa emitente tenha inscrição estadual na UF de destino para o recolhimento por apuração do imposto, no geral, ela não deve ser informada... Espero que tenha ajudado com o problema... Att.: Gustavo Déo
  16. Boa Tarde amigo @adrhohmann... Amigo, alguns estados ainda estão gerando na versão 1.0, sendo assim o arquivo "xxxx-GUIA" é TXT, no componente, tem a propriedade "SalvarTXT", e na sua imagem está marcado como False... Deixe como True.. Abraços... Att.: Gustavo Déo...
  17. ACBrGNREGuiaFRDM.pas Segue o anexo... Att.: Gustavo Déo ACBrGNREGuiaFRDM.pas
  18. Soluções sugeridas e em produção no tópico abaixo.
  19. Bom dia @Italo Jurisato Junior, @Juliana Tamizou... Nova sugestão de melhoria para a impressão da GNRE.. Unit : ACBrGNREGuiaFRDM método: procedure TdmACBrGNREFR.CarregaDados; Na impressão da Guia em Fast Report, quando a origem do dado é o XML da Versão 2.0, o cnpj do emitente está ficando em branco, pois uma propriedade (TipoDocEmitente) usada no Case, é vazia devido a não existir no XML... Sendo assim proponho a seguinte solução... Antes case TipoDocEmitente of 1: FieldByName('DocEmitente').AsString := FormatMaskText('000\.000\.000\-00;0', DocEmitente); 2: FieldByName('DocEmitente').AsString := FormatMaskText('00\.000\.000\/0000\-00;0', DocEmitente); 3: FieldByName('DocEmitente').AsString := RemoverZeros(DocEmitente); end; Corrigido... if Length(DocEmitente) = 11 then FieldByName('DocEmitente').AsString := FormatMaskText('000\.000\.000\-00;0', DocEmitente) else if Length(DocEmitente) = 14 then FieldByName('DocEmitente').AsString := FormatMaskText('00\.000\.000\/0000\-00;0', DocEmitente) else FieldByName('DocEmitente').AsString := RemoverZeros(DocEmitente); Segue unit corrigida em anexo... Att.: Gustavo Déo ACBrGNREGuiaFRDM.pas
  20. Muito obrigado Italo... Abraços!!!
  21. Bom dia @Juliana Tamizou, @Italo Jurisato Junior, @Juliomar Marchetti estou validando o GNRE, e fiz novas melhorias para a impressão... Unit: ACBrGNREGuiasRetorno No método LerXML, acrescentado as informações Complementares if Leitor.rExtrai(Nivel, 'informacoesComplementares') <> '' then GNRERetorno.InfoComplementares := Leitor.rCampo(tcStr, 'informacao'); No método LoadFromString Antes... if Pos('ns1:guia versao="2.00">', XMLString) > 0 then Agora if Pos('guia versao="2.00">', XMLString) > 0 then Retirado o 'ns1:', pois quando é carregado através do arquivo Guia, não há esse prefixo nas tag... Segue em anexo para validação.. Seria de grande valia entrar em produção... ACBrGNREGuiasRetorno.pas
  22. Bom dia @Juliana Tamizou... Não... no outro, eu estava com problema de comunicação no Web Service com um erro genérico em vários estados.. Neste em específico, consigo fazer o envio da Guia, porém o DF me retorna um erro de layout sendo que no Site da fazenda, não exige tal informação do erro. Att.: Gustavo Déo
  23. Bom dia @Italo Jurisato Junior... Sim... estou conseguindo capturar o xml que é gerado como Guia... Tópico encerrado... Obrigado pela atenção...
  24. Acho que consegui pegar as informações da Guia para impressão... Versão 1.00 = ACBrGNRE.WebServices.Retorno.GNRERetorno.resultado Versão 2.00 = ACBrGNRE.WebServices.Retorno.GNRERetorno.resGuia.Items[0].XML Se essas informações estão corretas, de momento resolvido... Obrigado!!!
  25. Boa tarde... UF = DF Ambiente = Produção Versão = 1.00 Estou tentando fazer o envio da GNRE para o DF, porém estou com o seguinte erro... 703Falha na validacao do retorno da UF: O campo 'c39_camposExtras' deve ter um elemento no seu conteudo No site do gnre, não há campos extras para o DF... Tentei forçar um campo extra e o erro persiste.. Alguma sugestão?? Att.: Gustavo Dé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...