Ir para conteúdo
  • Cadastre-se

Renato Rubinho

Consultores
  • Total de ítens

    4.072
  • Registro em

  • Última visita

  • Days Won

    73

Tudo que Renato Rubinho postou

  1. Boa noite, Segue opção. https://github.com/viniciussanchez/dataset-serialize
  2. Boa noite, Primeiro, deve-se verificar se o provedor suporta as 4 casas. No manual que consta no repositório, ele aparentemente suporta 4 no rps, mas na NFSe apenas 2. http://svn.code.sf.net/p/acbr/code/tools/DFe/NFSe/Provedor SimplISS/Manual WebService Nfse.pdf Além de mudar nos schemas, como sua sugestão aparentemente correta, precisa alterar a geração do xml. 1. Blumenau utiliza a versão ABRASF 2.03. 2. Altere o FormatoAliq para tcDe4 no arquivo e local a seguir. 3. Reinstale os componentes após a alteração, recompile a aplicação e faça um novo teste. ../trunk2/Fontes/ACBrDFe/ACBrNFSeX/Provedores/SimplISS.GravarXml.pas { TNFSeW_SimplISS203 } procedure TNFSeW_SimplISS203.Configuracao; begin inherited Configuracao; FormatoAliq := tcDe4;
  3. Boa tarde Allan, Você pode enviar um arquivo de remessa que foi homologado para [email protected] para que o consultor responsável possa validar? Mencione a TK-3727 no e-mail, pois ela foi aberta para análise deste caso. Os descontos por data foram homologados no banco?
  4. Boa tarde, No XML do retorno não consta mais nenhuma informação amém desta? Tente emitir uma NFSe que já funcionou anteriormente para ver se existe algo de diferente entre ela e a que está com problema. Se não houver diferença entre elas e a que funcionou não funcionar mais, tudo indica ser um problema no provedor, além deles não mandarem uma mensagem coerente no retorno.
  5. Com a escala do Windows em 125 e a NovaEscala do componente também em 125 não resolve? Teste ajustes na NovaEscala acima de 100 e veja se resolve.
  6. Tenta habilitar o AlterarEscalaPadrao e teste valores em NovaEscala começando com 100.
  7. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  8. Boa tarde, Faz muito tempo que você não atualiza e reinstala o fortes? Foram feitas correções para corrigir o problema de escala a aproximadamente 1 ano. Por via das dúvidas, atualize o fortes, reinstale, atualize o ACBr, reinstale, recompile sua aplicação e veja se resolve.
  9. Na minha opinião é melhor sempre mostrar todos os erros para o usuário corrigir de uma vez, claro que neste caso a descrição é a mesma, mas veja que o código veio diferente, deve ser uma falha do provedor. É um comportamento do Windows, não teria muito o que fazer no componente, mas você pode ver de talvez enviar e consultar utilizando threads do seu lado se for tão demorado assim. Se for assíncrono, não tem jeito, tem que consultar o lote após o envio.
  10. Boa tarde, Sim, mas como é uma rejeição "incoerente" do provedor, provavelmente precisará verificar com eles. Mas antes vamos validar se o XML ficou de acordo. Gerou agora sem o grupo IdentificacaoTomador? Se ficou de acordo com o XML que foi dito como válido, agora resta passar o arquivo gerado para o provedor verificar se precisam de algum ajuste lá.
  11. Boa noite, Cola o print do programa de exemplo com o retorno do envio. Aparentemente este provedor devolve as mensagens na lista de erros, no campo descrição. procedure TACBrNFSeProviderABRASFv1.ProcessarMensagemErros(RootNode: TACBrXmlNode; Response: TNFSeWebserviceResponse; const AListTag, AMessageTag: string); . . . for I := Low(ANodeArray) to High(ANodeArray) do begin Mensagem := ObterConteudoTag(ANodeArray[I].Childrens.FindAnyNs('Mensagem'), tcStr); if Mensagem <> '' then begin AErro := Response.Erros.New; AErro.Codigo := ObterConteudoTag(ANodeArray[I].Childrens.FindAnyNs('Codigo'), tcStr); AErro.Descricao := ACBrStr(Mensagem); AErro.Correcao := ACBrStr(ObterConteudoTag(ANodeArray[I].Childrens.FindAnyNs('Correcao'), tcStr)); end; end;
  12. Boa tarde, Veja as opções em OptionsView da TableView, não encontrei essa opção. Tenho aqui uma versão antiga do cxGrid e pode ter mudado algo, mas existe a opção ShowColumnFilterButtons que parece atender ao que você precisa.
  13. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  14. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  15. Boa noite, Seguindo no exemplo do ValorCofins, se ao debugar a propriedade Servico.Valores.ValorCofins, ela possui valor e não foi gerada a tag no XML, seus fontes não estão atualizados. Debugando o trecho que destaquei no tópico anterior, se o NrOcorrValorCofins não for 1 é mais um indício dos fontes desatualizados ou não foram reinstalados após a atualização. Atualize os fontes, reinstale os componentes e confirme os dois pontos acima.
  16. Boa noite, Deixe as duas propriedades a seguir em branco. NFSe.Tomador.IdentificacaoTomador.CpfCnpj NFSe.Tomador.IdentificacaoTomador.InscricaoMunicipal Comparando os xmls, o dito como correto não possui o grupo IdentificacaoTomador Olhando o fonte do ABRASF2, ao deixar essas duas propriedades em branco, o grupo não é gerado. ../trunk2/Fontes/ACBrDFe/ACBrNFSeX/Base/Provedores/ACBrNFSeXGravarXml_ABRASFv2.pas function TNFSeW_ABRASFv2.GerarTomador: TACBrXmlNode; . . . if (NFSe.Tomador.IdentificacaoTomador.CpfCnpj <> '') or (NFSe.Tomador.IdentificacaoTomador.InscricaoMunicipal <> '') then Result.AppendChild(GerarIdentificacaoTomador);
  17. Não tem como. O link é um acesso ao documento emitido pelo provedor. Acesse o link recebido para ver como ele é disponibilizado.
  18. Abra o XML que você anexou no primeiro post que vai ficar mais claro. Este provedor não devolve o XML da NFSe, somente essas poucas informações que constam no XML. O componente não gera XML da NFSe, o provedor que tem que devolver. Alguns provedores não devolvem o XML, como é o caso deste, com isso, não tem XML para o componente. Veja que ele disponibiliza o link para o PDF do DANFSe, você pega esse link e abre ou armazena para seu cliente emitir quando quiser.
  19. Boa tarde, Teste com o programa de exemplo e veja se ocorre a mesma situação. Veja que no tratamento do retorno, a rotina alimenta os valores na nota localizada pelo número do RPS. procedure TACBrNFSeProviderISSGoiania200.TratarRetornoEmitir( Response: TNFSeEmiteResponse); . . . ANota := TACBrNFSeX(FAOwner).NotasFiscais.FindByRps(NumRps); ANota := CarregarXmlNfse(ANota, ANode.OuterXml); SalvarXmlNfse(ANota); Se este problema acontecer apenas na sua aplicação, veja se falta limpar o componente antes do envio (ACBrNFSeX1.NotasFiscais.Clear) ou se você está adicionando um item a mais.
  20. Boa tarde Adhelmar, Desmarque o checkbox "Consultar lote após o envio", no programa de exemplo. Envie uma nova NFSe e veja o retorno apenas com dados da emissão. Debugue o ChecarResposta para entender os campos alimentados no trecho que comentei.
  21. Bom dia Adhelmar, Vamos lá, não sei se eu não estou entendendo sua dúvida ou você não está entendendo minha explicação. Mais uma coisa, este provedor não possui o método para consultar o lote. Veja os métodos existentes. TACBrNFSeXWebserviceSiappa = class(TACBrNFSeXWebserviceSoap11) public function RecepcionarSincrono(ACabecalho, AMSG: String): string; override; function ConsultarNFSe(ACabecalho, AMSG: String): string; override; function Cancelar(ACabecalho, AMSG: String): string; override; function GerarToken(ACabecalho, AMSG: String): string; override; function TratarXmlRetornado(const aXML: string): string; override; end; 1. Caso necessário, tente usar o método ConsultarNFSe para buscar os dados que não armazenou no envio. * Em tese isso não é necessário, pois o retorno da emissão já possui as mesmas informações. 2. No retorno do seu envio está trazendo os dados que este provedor retorna: número da nota, data, link e código de verificação. * O provedor não devolve mais nenhuma informação, nem XML da NFSe. 3. Não pegue os dados das propriedades a seguir no retorno da emissão para este provedor: ACBrNFSeX1.NotasFiscais.Items[i].NFSe e for i := 0 to ACBrNFSeX1.NotasFiscais.Count -1 do 3.1. Debugue o ChecarResposta no trecho a seguir para entender como pegar as informações possíveis deste provedor, que destaquei no print do item 2 deste post e a seguir no fonte que alimenta as propriedades. Obs: apaguei o XML de envio, do seu primeiro post, pois continha dados sensíveis de autenticação no provedor.
  22. Não existe XML da NFSe neste provedor. Como não tem XML de NFSe, os dados da NFSe não serão preenchidos. Como você viu na procedure TratarRetornoEmitir, as propriedades preenchidas são outras, conforme o trecho que destaquei no post anterior. O programa de exemplo serve para demonstrar um cenário geral de todos os provedores. Alguns provedores devolvem os dados da NFSe, outros não, por isso esses dados estão em branco neste provedor. Debugue novamente o programa de exemplo e veja o trecho que destaquei na ChecarResposta para entender os campos alimentados.
  23. Tente preencher 99999999 ou 0000000 Existe um impasse que provavelmente precisará ver com o provedor, pois: * Se você não preenche o documento pedem para preencher zeros. * Se preencher zeros, pedem para não preencher * Tente preencher 14 zeros ao invés de 11, por desencargo
  24. Boa tarde, Veja no XML de retorno, este provedor não devolve o XML da NFSe, com isso não será salvo na pasta. Segue o tratamento do retorno deste provedor para a emissão, coloque um ponto de parada nele para análise. Entre outras coisas, preenche o número da nota recebido na propriedade NumeroNota do Response. ../trunk2/Fontes/ACBrDFe/ACBrNFSeX/Provedores/Siappa.Provider.pas procedure TACBrNFSeProviderSiappa.TratarRetornoEmitir(Response: TNFSeEmiteResponse); . . . if AuxNode <> nil then begin with Response do begin xSucesso := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('ws_001_out_status_retorno'), tcStr); Sucesso := (xSucesso = 'S'); NumeroNota := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('ws_001_out_nfse_numero'), tcStr); Data := EncodeDataHora( ObterConteudoTag(AuxNode.Childrens.FindAnyNs('ws_001_out_nfse_data_hora'), tcStr), 'DD/MM/YYYY HH:NN:SS' ); CodigoVerificacao := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('ws_001_out_nfse_cod_validacao'), tcStr); Link := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('ws_001_out_nfse_url_emissao'), tcStr); end; end; Veja no programa de exemplo como pegar essas informações. procedure TfrmACBrNFSe.ChecarResposta(aMetodo: TMetodo); . . . with ACBrNFSeX1.WebService do begin case aMetodo of tmRecepcionar, tmTeste: begin with Emite do begin memoLog.Lines.Add('M�todo Executado: ' + ModoEnvioToStr(ModoEnvio)); memoLog.Lines.Add(' '); memoLog.Lines.Add('Par�metros de Envio'); memoLog.Lines.Add('Numero do Lote: ' + NumeroLote); memoLog.Lines.Add(' '); memoLog.Lines.Add('Par�metros de Retorno'); memoLog.Lines.Add('Data de Envio : ' + DateToStr(Data)); memoLog.Lines.Add('Numero do Prot: ' + Protocolo); memoLog.Lines.Add('Numero da Nota: ' + NumeroNota); memoLog.Lines.Add('Link : ' + Link); memoLog.Lines.Add('C�digo Verif. : ' + CodigoVerificacao); memoLog.Lines.Add('Sucesso : ' + BoolToStr(Sucesso, True)); LoadXML(XmlEnvio, WBXmlEnvio, 'temp1.xml');
×
×
  • 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.