Página 1 de 1

Nota Fiscal Paulista Serviço

Enviado: 02 Set 2010 21:16
por imperio
Necessito um luz para fazer a comunicação com a prefeitura de São Paulo para emissão de nota fiscal paulista de serviço pelo sistema fivewin+xharbour se alguem tiver alguma rotina ou exemplo agradeço muito, não vai ta nem quebrando uma arvore mas uma floresta toda

Re: Nota Fiscal Paulista Serviço

Enviado: 13 Set 2010 18:45
por rochinha
Amiguinho,

Verifique no link http://ww2.prefeitura.sp.gov.br/nfe/fil ... s-v2-1.pdf informações sobre importação de sua NF-e e se ajuda em algo.

Eu também cheguei a criar as seguintes funções para envio de um arquivo .TXT contendo dados de notas fiscais, mas não tenho lembraça se fiz algum teste ou se coloquei em prática.

Pelo menos já é um ponto de partida:

Código: Selecionar todos

/*
 * http://www.w3.org/2001/XMLSchema
 * 
 * https://www.nfp.sp.gov.br/ws  ConsultarResponse
 * https://www.nfp.sp.gov.br/ws  Consultar
 * https://www.nfp.sp.gov.br/ws  EnviarResponse
 * https://www.nfp.sp.gov.br/ws  Enviar
 * 
 * https://www.nfp.fazenda.sp.gov.br/ws/arquivocf.asmx?WSDL
 * https://www.nfp.sp.gov.br/ws
 * 
 */
Function ACBrNFPWebService( cXMLFile )
   cMethod    := "POST"
   cURL       := "https://www.nfp.fazenda.sp.gov.br/ws/arquivocf.asmx?WSDL"
   //
   oEDXSend   := TOLEAuto():New( "Microsoft.XMLHTTP" )
   oEDXSend:Open( cMethod, cURL, .F. )
   oEDXSend:Send( cXMLFile )
   //
   MyWait(30)
   //
   cResultado := oEDXSend:ResponseText
   //
   return cResultado

Function NFP_EnviarNFp() /* ****** ////// OK ////// ****** */
   cCNPJ     := "00.000.0000000-00"
   cProtocolo:= ""
   cUsuario  := "USUARIO"
   cSenha    := "SENHA"
   cCategoria:= "2"
   lEnvio    := .f.
   lRetificar:= .f.
   cOBS      := ""
   //
   cNomArq   := "CAT102XX.TXT"
   cConteudo := MemoRead( cNomArq )
   //
   cXMLFile  := ACBrNFPGeraXMLEnviar( cUsuario,;
                               cSenha,;
                               cCNPJ,;
                               cCategoria,;
                               cNomArq,;
                               cConteudo,;
                               lEnvio,;
                               lRetificar,;
                               cObs )
   MemoEdit( cXMLFile )
   cResultado:= ACBrNFPWebService( cXMLFile )
   MemoEdit( cResultado )
   return .t.

Function ACBrNFPGeraXMLEnviar( cUsuario,;
                               cSenha,;
                               cCNPJ,;
                               cCategoria,;
                               cNomArq,;
                               cConteudo,;
                               lEnvio,;
                               lRetificar,;
                               cObs )
   LOCAL cResultado
   //
   cResultado :=              [<?xml version="1.0" encoding="utf-8"?>]
   cResultado := cResultado + [<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">]
   cResultado := cResultado + [  <soap12:Header>]
   cResultado := cResultado + [    <Autenticacao Usuario="] + cUsuario + [" ]
   cResultado := cResultado + [       Senha="] + cSenha + [" ]
   cResultado := cResultado + [       CNPJ="] + cCNPJ + [" ]
   cResultado := cResultado + [       CategoriaUsuario="] + cCategoria + [" ]
   cResultado := cResultado + [       xmlns="https://www.nfp.sp.gov.br/ws" />]
   cResultado := cResultado + [  </soap12:Header>]
   cResultado := cResultado + [  <soap12:Body>]
   if lRetificar
      cResultado := cResultado + [    <Retificar xmlns="https://www.nfp.sp.gov.br/ws">]
   else
      cResultado := cResultado + [    <Enviar xmlns="https://www.nfp.sp.gov.br/ws">]
   endif
   cResultado := cResultado + [      <NomeArquivo>"] + cNomArq + ["</NomeArquivo>]
   cResultado := cResultado + [      <ConteudoArquivo>] + cConteudo + [</ConteudoArquivo>]
   if lEnvio
      cResultado := cResultado + [    <EnvioNormal>true</EnvioNormal>]
   else
      cResultado := cResultado + [    <EnvioNormal>false</EnvioNormal>]
   endif
   cResultado := cResultado + [      <Observacoes>"] + cObs + ["</Observacoes>]
   if lRetificar 
      cResultado := cResultado + [    </Retificar>]
   else
      cResultado := cResultado + [    </Enviar>]
   endif
   cResultado := cResultado + [  </soap12:Body>]
   cResultado := cResultado + [</soap12:Envelope>]
   //
   return cResultado

Function ACBrNFPGeraXMLConsulta( cProtocolo, cUsuario, cSenha, cCNPJ, cCategoria )
   LOCAL cResultado
   //
   cResultado :=              [<?xml version="1.0" encoding="utf-8"?>]
   cResultado := cResultado + [<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">]
   cResultado := cResultado + [  <soap12:Header>]
   cResultado := cResultado + [    <Autenticacao Usuario='] + cUsuario + [' ]
   cResultado := cResultado + [       Senha='] + cSenha + [' ]
   cResultado := cResultado + [       CNPJ='] + cCNPJ + [' ]
   cResultado := cResultado + [       CategoriaUsuario='] + cCategoria + [' ]
   cResultado := cResultado + [       xmlns="https://www.nfp.sp.gov.br/ws" />]
   cResultado := cResultado + [  </soap12:Header>]
   cResultado := cResultado + [  <soap12:Body>]
   cResultado := cResultado + [    <Consultar xmlns="https://www.nfp.sp.gov.br/ws">]
   cResultado := cResultado + [      <Protocolo>'] + cProtocolo + ['</Protocolo>]
   cResultado := cResultado + [    </Consultar>]
   cResultado := cResultado + [  </soap12:Body>]
   cResultado := cResultado + [</soap12:Envelope>]
   //
   return cResultado

Re: Nota Fiscal Paulista Serviço

Enviado: 13 Set 2010 19:23
por imperio
Sr.Rochinha muito agradecido pela sua ajuda, vou colocar em pratica rapidamente, enfatizando, agradecido mesmo pela atenção, obrigado.

Re: Nota Fiscal Paulista Serviço

Enviado: 13 Set 2010 22:02
por rochinha
Amiguinho,

Caso o metodo acima nao seja tao simples de implementar voce pode gerar o arquivo texto dentro do layout da Portaria CAT 102.

O estilo deste arquivo e aceito pelo aplicativo Transmissor de Dados Para Registro de Documento Fiscal(TD-REDF)

Exemplo:

Código: Selecionar todos

10|1,00|00400991000115|24/08/2010|24/08/2010
20|I||VENDA DE PRODUCAO DO ESTABELECIMENTO|1|0|24/08/2010 21:54:42|24/08/2010 21:54:42|1|5101|||01654379000127|INPLAST COM E BENEFICIAMENTO ESPUMAS LTDA|RUA LAGO JAGARE,131|121||,D.DAS OLIVEIRAS|SAO PAULO|SP|08111140||1129632820|114767382111
30|114061|RETALHO||KG|381,0000|0,5000|190,50|000|18,00|0,00|0,00
40|190,50|34,29|0,00|0,00|190,50|0,00|0,00|0,00|0,00|0,00|190,50|||
50|0|00400991000115|NOSSO CARRO|626479717119|AV MARIA DOS SANTOS, 1060|SANTO AMARO|SP|CTM7679|||AGRANEL|||0,000|0,000
90|00001|00001|00001|00001|00000
Eu gero este tipo de arquivo no meu modulo de NF-e. Desta forma, apos o arquivo ser enviado a Prefeitura, esta encaminhara o mesmo para o arquivo do contribuinte.