|
| Erro NFS-e Londrina | |
| | Autor | Mensagem |
---|
alreis2002
Mensagens : 1 Data de inscrição : 09/08/2013
| Assunto: Erro NFS-e Londrina Sex Ago 09, 2013 3:47 pm | |
| Boa tarde Estou implementando a NFS-e para o municipio de Londrina/Pr, porem, ela não esta no modelo nacional, e a documentação fornecida é incompleta. Estou com este erro no método GerarNota, em ( retorno = emissor.GerarNota(descricaoRps, out mensagem);), e não acho solução. Será que alguém passou por isso e pode ajudar? - Log:
System.InvalidOperationException was caught Message=Erro ao refletir 'RetornoNota'. Source=System.Xml StackTrace: em System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter) em System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, XmlMappingAccess access) em System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean openModel) em System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc) em System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.XmlSerializerImporter.ImportMembersMapping(XmlName elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean isEncoded, String mappingKey) em System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, String mappingKey) em System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.LoadBodyMapping(MessageDescription message, String mappingKey, MessagePartDescriptionCollection& rpcEncodedTypedMessageBodyParts) em System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.CreateMessageInfo(MessageDescription message, String key) em System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.EnsureMessageInfos() em System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.EnsureMessageInfos() em System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.get_Request() em System.ServiceModel.Description.XmlSerializerOperationBehavior.CreateFormatter() em System.ServiceModel.Description.XmlSerializerOperationBehavior.System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy) em System.ServiceModel.Description.DispatcherBuilder.BindOperations(ContractDescription contract, ClientRuntime proxy, DispatchRuntime dispatch) em System.ServiceModel.Description.DispatcherBuilder.ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime clientRuntime) em System.ServiceModel.Description.DispatcherBuilder.BuildProxyBehavior(ServiceEndpoint serviceEndpoint, BindingParameterCollection& parameters) em System.ServiceModel.Channels.ServiceChannelFactory.BuildChannelFactory(ServiceEndpoint serviceEndpoint) em System.ServiceModel.ChannelFactory.CreateFactory() em System.ServiceModel.ChannelFactory.OnOpening() em System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) em System.ServiceModel.ChannelFactory.EnsureOpened() em System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via) em System.ServiceModel.ChannelFactory`1.CreateChannel() em System.ServiceModel.ClientBase`1.CreateChannel() em System.ServiceModel.ClientBase`1.CreateChannelInternal() em System.ServiceModel.ClientBase`1.get_Channel() em NFSe.WS_PRLondrina_Hom.ModuloEmissorNFSePortTypeClient.NFSe.WS_PRLondrina_Hom.ModuloEmissorNFSePortType.GerarNota(GerarNotaRequest request) na D:\Projetos\Hatti-NFSe\CMS\Service References\WS_PRLondrina_Hom\Reference.cs:linha 1186 em NFSe.WS_PRLondrina_Hom.ModuloEmissorNFSePortTypeClient.GerarNota(tcDescricaoRps DescricaoRps, tcEstruturaDescricaoErros[]& Mensagens) na D:\Projetos\Hatti-NFSe\CMS\Service References\WS_PRLondrina_Hom\Reference.cs:linha 1192 em NFSe.UI.Default1.Page_Load(Object sender, EventArgs e) na D:\Projetos\Hatti-NFSe\CMS\Default.aspx.cs:linha 428 InnerException: System.InvalidOperationException Message=O elemento XML superior 'RetornoNota' do espaço para nome '' faz referência aos tipos distintos NFSe.WS_PRLondrina_Hom.tcRetornoNota e System.String. Use atributos XML para especificar outro espaço para nome ou nome XML para o elemento ou tipos. Source=System.Xml StackTrace: em System.Xml.Serialization.XmlReflectionImporter.ReconcileAccessor(Accessor accessor, NameTable accessors) em System.Xml.Serialization.XmlReflectionImporter.ReconcileLocalAccessor(ElementAccessor accessor, String ns) em System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String ns, Type choiceIdentifierType, Boolean rpc, Boolean openModel, RecursionLimiter limiter) em System.Xml.Serialization.XmlReflectionImporter.ImportMemberMapping(XmlReflectionMember xmlReflectionMember, String ns, XmlReflectionMember[] xmlReflectionMembers, Boolean rpc, Boolean openModel, RecursionLimiter limiter) em System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter) InnerException:
- Código:
-
WS_PRLondrina_Hom.ModuloEmissorNFSePortTypeClient emissor = new WS_PRLondrina_Hom.ModuloEmissorNFSePortTypeClient(); WS_PRLondrina_Hom.tcDescricaoRps descricao = new WS_PRLondrina_Hom.tcDescricaoRps();
descricaoRps.ccm = 123455; ............
WS_PRLondrina_Hom.tcEstruturaDescricaoErros[] mensagem;
try { WS_PRLondrina_Hom.tcRetornoNota retorno;
retorno = emissor.GerarNota(descricaoRps, out mensagem);
foreach (var a in mensagem) { Console.WriteLine(String.Format("{0} {1} {2}", a.id, a.DescricaoProcesso, a.DescricaoErro)); } Console.ReadKey(); } catch (Exception ex) { String ret = ex.Message; }
Obrigado André | |
| | | Guilherme Alves
Mensagens : 6 Data de inscrição : 23/08/2013
| Assunto: Re: Erro NFS-e Londrina Sex Ago 23, 2013 10:56 am | |
| Bom Dia André, Realizei a integração com esta prefeitura recentemente, tive alguns problemas no inicio também, mais basicamente o que fiz foi o seguinte:
Dim londrinaHomologacao As New LONDRINA_H.ModuloEmissorNFSe() Dim envio As LONDRINA_H.tcDescricaoRps = New LONDRINA_H.tcDescricaoRps() Dim resposta As LONDRINA_H.tcRetornoNota = Nothing Dim erros As LONDRINA_P1.tcEstruturaDescricaoErros() = Nothing
resposta = londrinaHomologacao .GerarNota(envio, erros)
A linguagem que utilizo é VB.net, lembrando que o meu dado "erros" é um array de erros, pois a prefeitura preenche este array caso ocorram erros.
Att. Guilherme Alves Desenvolvedor C# | VB.Net | Flex | Java | |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Ter Abr 01, 2014 9:03 am | |
| Bom dia Guilherme Alves
Peguei seu modelo mas estou com "Erro ao refletir 'RetornoNota'." "O elemento XML superior 'RetornoNota' do espaço para nome '' faz referência aos tipos distintos WindowsApplication1.SW.tcRetornoNota e System.String. Use atributos XML para especificar outro espaço para nome ou nome XML para o elemento ou tipos."
Poderia me ajudar. | |
| | | José Victor
Mensagens : 8 Data de inscrição : 01/04/2014
| Assunto: NFSe Londrina - Erro ao refletir 'RetornoNota' Ter Abr 01, 2014 2:37 pm | |
| Boa tarde.. Também estou com o mesmo problema que o Juliano. Depois de várias tentativas utilizei o código do Guilherme Alves, porém o erro é o mesmo Peço para que se alguém conseguir resolver, me ajude. Segue o código. Referenciei o WebService de teste, presente no documento disponível no site da prefeitura. Segue o código: - Código:
-
Sub Main() Try Dim modulo As New NFSeLondrina.ModuloEmissorNFSePortTypeClient() Dim descricao As New NFSeLondrina.tcDescricaoRps() Dim resposta As NFSeLondrina.tcRetornoNota = Nothing Dim erros As NFSeLondrina.tcEstruturaDescricaoErros() = Nothing
'Dados nota fiscal 'descricao.ccm=00000 <-- Exemplo
resposta = modulo.GerarNota(descricao, erros) Catch ex As Exception Console.WriteLine(ex.StackTrace) Console.ReadKey() End Try End Sub Obrigado, José Victor. | |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 8:37 am | |
| Boa Tarde ..
Usei Web Referencia e não da mais este erro . Agora da o erro "A resposta não é um XML bem-formado"
exatamente na linha resposta = modulo.GerarNota(descricao, erros) | |
| | | Guilherme Alves
Mensagens : 6 Data de inscrição : 23/08/2013
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 8:48 am | |
| Bom dia, eu estou utilizando a forma postada aqui sem nenhum problema, vou postar aqui a forma que fiz para a comunicação:
Dim errosH As LONDRINA_H.tcEstruturaDescricaoErros() = Nothing Dim londrinaH As New LONDRINA_H.ModuloEmissorNFSe() Dim respostaH As LONDRINA_H.tcRetornoNota = Nothing
Dim envio As LONDRINA_H.tcDescricaoRps = New LONDRINA_H.tcDescricaoRps() envio = vOBJ_De_Envio
londrinaH.Url = urlWebService londrinaH.Timeout = 100000
respostaH = londrinaH.GerarNota(envio, errosH)
Esta é a forma que utilizei, lembrando que o LONDRINA_H é a webReferencia do webService de homologação, "http://testeiss.londrina.pr.gov.br/ws/v1_01/sigiss_ws.php?wsdl". o envio ocorre em respostaH = londrinaH.GerarNota(envio, errosH), onde se ocorrerem erros, é alimentado o array errosH, caso der certo, retorna respostaH.
Caso ainda não der certo, me avisem, que monto um projetinho simples em C# e disponibilizo a vocês.
Att. Guilherme Alves Desenvolvedor C# | VB.Net | Flex | Java | |
| | | Guilherme Alves
Mensagens : 6 Data de inscrição : 23/08/2013
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 9:14 am | |
| Segue o método em C#:
public void transmitir(String nfe) { XmlDocument xml = new XmlDocument(); XmlDocument xmlResposta = new XmlDocument(); xml.LoadXml(nfe);
Londrina_H.ModuloEmissorNFSe londrinaH = new Londrina_H.ModuloEmissorNFSe(); Londrina_H.tcRetornoNota respostaH = null; Londrina_H.tcEstruturaDescricaoErros[] errosH = null;
Londrina_H.tcDescricaoRps envio = new Londrina_H.tcDescricaoRps(); envio = deserializarXml(xml.LastChild.OuterXml, envio.GetType());
londrinaH.Url = "http://testeiss.londrina.pr.gov.br/ws/v1_01/sigiss_ws.php?wsdl"; londrinaH.Timeout = 100000;
respostaH = londrinaH.GerarNota(envio, out errosH);
if (respostaH.Resultado == 0) xmlResposta.LoadXml(serializeXml(errosH)); else xmlResposta.LoadXml(serializeXml(respostaH)); }
Neste método passo o objeto Londrina_H.tcDescricaoRps serializado como parâmetro, em forma de XML, depois converto ele para objeto novamente. Utilizei webReference ao invés de ServiceReference. Acredito que assim de certo.
Att. Guilherme Alves Desenvolvedor C# | VB.Net | Flex | Java
| |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 9:33 am | |
| Estou usando v1_02
na v1_01 que passou passa tranquilo mas não gera a nota | |
| | | José Victor
Mensagens : 8 Data de inscrição : 01/04/2014
| Assunto: NFSe Londrina - JAVA Qua Abr 02, 2014 10:01 am | |
| Bom Dia Consegui Gerar a Nota utilizando Java Apesar de conseguir gerar a nota, consultando via website da prefeitura elas são geradas... Mas está dando erro.. Código Java - Código:
-
try { ModuloEmissorNFSePortTypeProxy modulo = new ModuloEmissorNFSePortTypeProxy(); TcDescricaoRps descricao = new TcDescricaoRps(); TcRetornoNotaHolder retorno = new TcRetornoNotaHolder(); TcListaErrosAlertasHolder mensagem = new TcListaErrosAlertasHolder(); //TcRetornoNota retorno1 = new TcRetornoNota(); descricao.setCcm(00000000); descricao.setCnpj("0000000000000"); descricao.setCpf("0000000000"); descricao.setSenha("xxxxx"); descricao.setAliquota("5,00"); descricao.setSituacao("tp"); descricao.setValor("100,5"); descricao.setBase("100,5"); descricao.setIr(""); descricao.setPis(""); descricao.setCofins(""); descricao.setCsll(""); descricao.setInss(""); descricao.setRetencao_iss(""); descricao.setTomador_tipo(2); descricao.setServico(104); descricao.setDescricaoNF("xxxxxxxxxxxxxxxxxxxxxxxxxx"); descricao.setTomador_cnpj("000000000"); descricao.setTomador_email("xxxxxxx@xxxxxxxxx"); descricao.setTomador_ie(""); descricao.setTomador_im(""); descricao.setTomador_razao("Teste Teste Teste"); descricao.setTomador_endereco("AVENIDA Teste"); descricao.setTomador_numero("1500"); descricao.setTomador_complemento("SALA 1"); descricao.setTomador_bairro("VILA IPIRANGA"); descricao.setTomador_CEP("86010150"); descricao.setTomador_cod_cidade("4113700"); descricao.setTomador_fone(""); descricao.setTomador_ramal(""); descricao.setTomador_fax(""); descricao.setRps_serie(""); descricao.setCod_pais_prestacao_servico("01058"); descricao.setCod_municipio_incidencia("4113700"); modulo.gerarNota(descricao, retorno, mensagem); <-- ERRO está no retorno, a nota é gerada mas o retorno da erro.... for (int i = 0; i < mensagem.value.length; i++) { System.out.println(mensagem.value[i].getDescricaoErro()); }
} catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e){ e.printStackTrace(); } AxisFault faultCode: {"://"schemas.xmlsoap.org/soap/envelope/"}Server.userException faultSubcode: faultString: org.xml.sax.SAXException: Bad envelope tag: br faultActor: faultNode: faultDetail: {"://"xml.apache.org/axis/"}stackTrace:org.xml.sax.SAXException: Bad envelope tag: br at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:71) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) ... att. José Victor | |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 11:29 am | |
| José Victor deve estar se conectando com a v01_01 mas estão usando a v01_02 | |
| | | José Victor
Mensagens : 8 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 1:18 pm | |
| Não Juliano, estou usando a v01_02
"http:'http://testeiss.londrina.pr .gov.br/ws/v1_02/sigiss_ws .php? wsdl" | |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 2:01 pm | |
| Guilherme Alves
Como você alimenta o objeto "vOBJ_De_Envio" e como é declarado
eu estou alimentando o array envio assim
envio.ccm = 65465465 envio.cnpj = "65165664654646" envio.cpf = "32132132132" envio.senha = "123456"
Mas quando tento retornar ele da erro "A resposta não é um XML bem-formado"
Deve ser pelo modo que estou alimentando o array envio
Gostaria de sua ajuda. | |
| | | José Victor
Mensagens : 8 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 2:16 pm | |
| Juliano, você poderia postar seu código vb.net? | |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 2:44 pm | |
| Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim erros As SW.tcEstruturaDescricaoErros() = Nothing Dim londrina As New SW.ModuloEmissorNFSe() Dim resposta As SW.tcRetornoNota = Nothing
Dim envio As SW.tcDescricaoRps = New SW.tcDescricaoRps()
envio.ccm = 99999999 ' envio.cnpj = "99999999999999" envio.cpf = "99999999" envio.senha = "123456" envio.servico = 705 envio.situacao = "tt" envio.codigo_obra = "" envio.obra_art = "" envio.aliquota = "3" envio.cod_municipio_prestacao_servico = "4113700" envio.cod_pais_prestacao_servico = "" envio.cod_municipio_incidencia = "4113700" envio.incentivo_fiscal = 1 envio.valor = "100" envio.base = "100" envio.retencao_iss = "0" envio.ir = "0" envio.pis = "0" envio.cofins = "0" envio.csll = "0" envio.inss = "0" envio.descricaoNF = "Nota de teste para testar" envio.tomador_tipo = 2 envio.tomador_cnpj = "12345678911" envio.tomador_email = "e-mail"
londrina.Url = link prefeitura.......... londrina.Timeout = 100000
resposta = londrina.GerarNota(envio, erros)
End Sub | |
| | | José Victor
Mensagens : 8 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 3:13 pm | |
| Juliano, você está usando a versão v1_02, como disse..
Você adiciona a referência de Serviço, endereço: "http:'http://testeiss.londrina.pr.gov.br/ws/v1_02/sigiss_ws.php?wsdl"
Faz o import do namespace dela...
Onde acha a classe ModuloEmissorNFSe() para instanciar e criar um objeto, eu só consigo instanciar a classe ModuloEmissorNFSePortTypeClient() Obrigado | |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 3:31 pm | |
| José Victor passei por este erro. Tem que ser no web references dai ele acha o ModuloEmissorNFSe() | |
| | | José Victor
Mensagens : 8 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 3:45 pm | |
| Muito Obrigado Juliano, mudei para web references e consegui {"A resposta não é um XML bem-formado."}
Continuarei tentando | |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 4:45 pm | |
| José
To parado nesse erro tambem!!! | |
| | | José Victor
Mensagens : 8 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 4:48 pm | |
| Se descobrir o problema, coloque aqui fazendo o favor, estou quebrando a cabeça com isso...
Obrigado. | |
| | | Guilherme Alves
Mensagens : 6 Data de inscrição : 23/08/2013
| Assunto: Re: Erro NFS-e Londrina Qua Abr 02, 2014 8:04 pm | |
| Boa Noite Juliano, desculpe a demora na resposta. Segue abaixo o método que utilizo para alimentar o objeto.
Public Shared Function gerarXml(ByVal lista As ArrayList) As String
Dim arquivo As String = "EnviarLoteRps.xml") Dim path As String= LONDRINA_pathEnviosLoteRps & arquivo
Dim nota As NotaDados = Nothing Dim rps As LONDRINA_H.tcDescricaoRps = Nothing
Try For a As Integer = 0 To lista.Count - 1 nota = New NotaDados() nota = lista.Item(a)
Dim vXmlDocument As New XmlDocument
rps = New LONDRINA_H.tcDescricaoRps()
Dim data As String = nota.dataEmissao Dim dia As String = Format(CDate(Left(nota.dataEmissao, 10)), "dd") Dim mes As String = Format(CDate(Left(nota.dataEmissao, 10)), "MM") Dim ano As String = Format(CDate(Left(nota.dataEmissao, 10)), "yyyy")
If dadosEmpresa.Item("inscricaoMunicipal").ToString() <> "" Then rps.ccm = Convert.ToInt32(Left(dadosEmpresa.Item("inscricaoMunicipal"), 7)) End If
rps.cnpj = dadosEmpresa.Item("cnpj") 'CNPJ do prestador de serviços rps.senha = "" 'Senha do prestador de serviço rps.servico = nota.itemListaServico 'Código de Tributação do Município identificando o tipo de serviço conforme Lista rps.situacao = situacao 'Especifica aspectos da tributação da operação registrada na nota fiscal eletrônica: tp – Tributada no prestador; tt – Tributada no tomador; tf – Tributado Fixo; is – Isenta/Imune; nt – Outro município; si– Exportação; ca - Cancelada rps.aliquota = strAliquota 'Alíquota do ISSQN aplicada à base de cálculo rps.cod_municipio_prestacao_servico = strMunPrestacao 'Código do município em que o serviço foi prestado rps.cod_municipio_incidencia = strMunIncidencia 'Código do município onde ocorre a incidência do ISSQN rps.valor = nota.valorServicos.Replace(".", ",") 'Valor da nota fiscal. 100,50 não utilize ponto rps.base = nota.baseISS.Replace(".", ",") 'Valor da base de cálculo Ex 100,5 Não utilize ponto. Nesta versão a base corresponderá ao valor dos serviços menos o valor das deduções, quando permitidas rps.retencao_iss = strRetencao 'Valor de retenção do ISS. Ex 100,5 Não utilize ponto. Preencher somente na ocorrência de retenção do imposto pelo tomador, quando o município ‘cod_municipio_incidencia’ for diferente de Londrina não utilizar nas situações de retenção do imposto por tomador com domicílio em Londrina rps.ir = IIf(nota.deduzIR = "1", nota.valorIR.Replace(".", ","), "0,00") 'Valor do IR Ex 100,5 Não utilize ponto rps.pis = IIf(nota.deduzPIS = "1", nota.valorPIS.Replace(".", ","), "0,00") 'Valor do PIS. Ex 100,5 Não utilize ponto rps.cofins = IIf(nota.deduzCOFINS = "1", nota.valorCOFINS.Replace(".", ","), "0,00") 'Valor da COFINS. Ex 100,5 Não utilize ponto rps.csll = IIf(nota.deduzCSLL = "1", nota.valorCSLL.Replace(".", ","), "0,00") 'Valor da CSLL. Ex 100,5 Não utilize ponto rps.inss = IIf(nota.deduzINSS = "1", nota.valorINSS.Replace(".", ","), "0,00") 'Valor da contribuição ao INSS. Ex 100,5 Não utilize ponto rps.descricaoNF = removerCaracteresEspeciais(nota.discriminacaoServico) 'Descrição do Serviço Prestado rps.tomador_tipo = Convert.ToInt32(tipoTomados) 'Tipo do tomador que se quer escriturar: 1 – PFNI; 2 – Pessoa Física; 3 – Jurídica do Município; 4 – Jurídica de Fora; 5 – Jurídica de Fora do País rps.tomador_cnpj = nota.cnpjCpf.Replace("Cpf", "").Replace("Cnpj", "") 'CPF ou CNPJ do tomador dos serviços rps.tomador_email = nota.clienteEmailNotaDigital 'Email do tomador dos serviços
If nota.clienteCodIBGE = dadosEmpresa.Item("ibge") Then rps.tomador_im = nota.clienteInscricaoMunicipal 'Correspondente ao número da inscrição no Cadastro Fiscal do Município de Londrina (CMC) Não preencher com número de inscrição pertencente a cadastro do Tomador em outro Município End If
rps.tomador_ie = nota.clienteInscricaoEstadual 'Inscrição Estadual do tomador dos serviços rps.tomador_razao = nota.clienteRazao 'Razão Social do tomador dos serviços rps.tomador_endereco = nota.clienteEndereco 'Endereço do tomador dos serviços rps.tomador_numero = nota.clienteEnderecoNumero 'Número do endereço do tomador dos serviços rps.tomador_complemento = nota.clienteComplementoEndereco 'Complemento do endereço do tomador dos serviços rps.tomador_bairro = nota.clienteBairro 'Bairro do tomador dos serviços rps.tomador_CEP = nota.clienteCEP 'CEP do tomador dos serviços rps.tomador_cod_cidade = nota.clienteCodIBGE 'Código da cidade do tomador dos serviços rps.tomador_fone = nota.clienteTelefone 'Telefone do tomador dos serviços rps.rps_num = vNOTAi 'Número do recibo provisório de serviços rps.rps_serie = nota.serie 'Série do recibo provisório de serviços rps.rps_dia = dia 'Dia em que foi emitido o recibo provisório de serviços rps.rps_mes = mes 'Mês em que foi emitido o recibo provisório de serviços rps.rps_ano = ano 'Ano em que foi emitido o recibo provisório de serviços
vXmlDocument.LoadXml(Serializar(rps)) vXmlDocument.Save(path) Next
Return Path
Catch ex As Exception MsgBox("Erro: " & Err.Number & " - " & Err.Description, MsgBoxStyle.Critical, "Erro") End Try
Return Path End Function
O código é em vb.net. Qualquer dúvida estou a disposição.
Att. Guilherme Alves Desenvolvedor C# | VB.Net | Flex | Java | |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Qui Abr 03, 2014 8:25 am | |
| Guilherme Alves
Vou precisar da função Serializar()
E o gerarXml onde chamo | |
| | | Guilherme Alves
Mensagens : 6 Data de inscrição : 23/08/2013
| Assunto: Re: Erro NFS-e Londrina Sex Abr 04, 2014 3:06 pm | |
| Boa Tarde Juliano, Segue os métodos de Serializar e deserializar o xml,
public static String Serializar(Object Objeto) { StringWriter writer = new StringWriter(); XmlSerializer serializer = new XmlSerializer(Objeto.GetType()); serializer.Serialize(writer, Objeto); return writer.ToString(); }
public static Object deserializarXml(String xml, Type type) { StringReader reader = new StringReader(xml); XmlSerializer serializer = new XmlSerializer(type); return serializer.Deserialize(reader); }
Estes métodos servem somente para eu comunicar meus métodos, como o meu sistema possui diversas integrações, e a maioria é padrão ABRASF, sempre utilizo o xml em forma de string na comunicação de meus métodos. Se caso queira salva-lo em máquina, é desta forma que deve ser feito também.
O método que postei gerarXml , é onde alimento meu objeto de envio. Só utilizo ele para isto, e gravo o objeto em forma de XML. Quando chamo meu método de transmitir, passo este objeto serializado, se achar melhor, pode ser passado o objeto de envio.
Acredito que desta forma de certo. Qualquer dúvida estou a disposição. Se achar melhor, suba no gitHub que eu vou ajudando nas alterações.
Abrass
Att. Guilherme Alves Desenvolvedor C# | VB.Net | Flex | Java | |
| | | José Victor
Mensagens : 8 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Seg Abr 07, 2014 2:51 pm | |
| Código está funcionando, gerando a nota, e retornando o link para impressão. - Código:
-
Module Module1
Sub Main() Try Dim modulo As New ModuloEmissorNFSe() Dim erros As tcEstruturaDescricaoErros() = Nothing Dim resposta As tcRetornoNota = Nothing
Dim descricao As tcDescricaoRps = New tcDescricaoRps()
descricao.ccm = 0000000 descricao.cnpj = "00000000000000" descricao.cpf = "00000000000" descricao.senha = "senha" descricao.aliquota = "0,00" descricao.situacao = "tp" descricao.valor = "100,5" descricao.base = "100,5" descricao.ir = "" descricao.pis = "" descricao.cofins = "" descricao.csll = "" descricao.inss = "" descricao.retencao_iss = "" descricao.tomador_tipo = 2 descricao.servico = 104 descricao.descricaoNF = "ELABORAÇÃO DE PROGRAMAS DE COMPUTADORES, INCLUSIVE DE JOGOS ELETRÔNICOS" descricao.tomador_cnpj = "00000000000" descricao.tomador_email = "" descricao.tomador_ie = "" descricao.tomador_im = "" descricao.tomador_razao = "Teste" descricao.tomador_endereco = "Rua Teste" descricao.tomador_numero = "1500" descricao.tomador_complemento = "" descricao.tomador_bairro = "VILA IPIRANGA" descricao.tomador_CEP = "86010150" descricao.tomador_cod_cidade = "4113700" 'Londrina descricao.tomador_fone = "" descricao.tomador_ramal = "" descricao.tomador_fax = "" descricao.rps_serie = ""
descricao.cod_pais_prestacao_servico = "01058" 'Brasil descricao.cod_municipio_incidencia = "4113700" 'Londrina
modulo.Url = "http ://testeiss.londrina.pr.gov.br/ws/v1_02/sigiss_ws.php?wsdl" modulo.Timeout = 100000
resposta = modulo.GerarNota(descricao, erros)
Console.WriteLine(resposta.LinkImpressao) Console.ReadKey()
For Each erro In erros Console.WriteLine(erro.DescricaoErro) Console.ReadKey() Next
Catch ex As Exception Console.WriteLine(ex.StackTrace) Console.ReadKey() End Try End Sub
End Module Att. José Victor | |
| | | Juliano
Mensagens : 10 Data de inscrição : 01/04/2014
| Assunto: Re: Erro NFS-e Londrina Ter Abr 08, 2014 7:32 am | |
| Bom dia,
Pedi uma ajuda na Prefeitura e tinha uma validação errada lá, depois que eles acertaram começou dar mensagem de tipo invalido , coloquei o tipo correto e passou com o código do Guilherme Alves.
Obrigado | |
| | | Conteúdo patrocinado
| Assunto: Re: Erro NFS-e Londrina | |
| |
| | | | Erro NFS-e Londrina | |
|
Tópicos semelhantes | |
|
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| |