NOTA FISCAL PAULISTA

JOAOBENEVIDES 17/05/2010 20:35:58
#342010
Ola Pessoal Tenho um sistema de nota fiscal paulista onde eu gero o arquivo txt no meu sistema e vou no programa na receita e envio ele queria deixar a coisa um pouco mais legal tipo enviar o arquivo do meu sistema. validar o arqivo pelo sistema estas coisas sei que o pessoal aqui é fera sera que alguem poderia me dar o caminhos das pedras

Obrigado


Joao
SAMUKA 17/05/2010 21:20:48
#342019
Você pode enviar o arquivo via WebService ...

Baixe e dê uma olhada nessas orientações tecnicas sobre o assunto ...
http://www.nfp.fazenda.sp.gov.br/pdf/webservice.pdf
OTAVIOFAVERO 17/05/2010 21:29:49
#342020
bom eu ja tinha lido o manual mas eu queria uma explicação como funciona! tipo se precisa de assinatura digital

o q deve conter no arquivo enviado

e um exemplo do arquivo enviado e o retorno e como deve-se imprimir

seria bom se alguem desse uma luz assim!!!

alguem pode ajudar abç

SAMUKA 18/05/2010 01:33:54
#342034
Não precisa de assinatura digital.

E acho que você não leu o manual, pq muito do que você tá perguntando está lá
OTAVIOFAVERO 18/05/2010 10:38:32
#342058
ha eu entei em um web service da nfp e pedio assinatura e eu usei a da NFE por isso eu to falando se precisa de assinatura! eu vou pegar o webservice q eu entrei e mostro!
JOAOBENEVIDES 20/05/2010 08:08:26
#342253
ninguem tem um exeplo que possa me passar para eu estudar ?


Obrigado

CAIO.FR.SP 21/05/2010 12:28:55
#342391
Resposta escolhida
joao benevides, voce poderia me ajudar a implementar a NF Paulista no meu sistema? apenas o gerador de txt.
JOAOBENEVIDES 21/05/2010 12:55:12
#342392
claro o que tem pronto posta ai que ti ajudo
CAIO.FR.SP 21/05/2010 16:10:58
#342423
ENTAO, TENHO UM PROGRAMA QUE USO AQUI NA LOJA Q TRABALHO, ELE FUNCIONA PERFEITO, SO NAO TEM A FUNÇÃO DE GERAR NOTA FISCAL, QUERIA Q ME AJUDA-SE, PQ NEM SEI POR ONDE COMEÇAR.
JOAOBENEVIDES 21/05/2010 16:30:32
#342427
segue o codigo que eu uso

Sub GerarNotaFiscal(ByVal DataIni As String, ByVal DataFim As String, ByVal Empresa As Integer, ByVal Serie As Integer, ByVal TipoNota As Integer)
Dim Rs As New ADODB.Recordset
Dim RsProd As New ADODB.Recordset
Dim texto As String
Dim FSO As New FileSystemObject
Dim Arq As TextStream
Dim rsp As New ADODB.Recordset
Dim X30 As Integer
Dim ValorIPI, ValorICMS, Valorprod, ValorFrete, ValorSeguro, ValorDesconto, ValorTotal As Currency
Dim X10 As Integer
Dim X20, X40, X50, x60 As Integer
Dim Valoricms1 As String



texto = [Ô]select * from parametros[Ô]
rsp.Open texto, de.DB, adOpenStatic, adLockReadOnly
If rsp.EOF = True Then Exit Sub

texto = [Ô]select * from escriturafiscal where data_emissao>=[Ô] & PreparaData(DataIni) & [Ô]and data_emissao<=[Ô] & PreparaData(DataFim) & [Ô]and status_nota=[Ô] & TipoNota
[ô] texto = [Ô]select * from escriturafiscal where num_pedido=41898[Ô]
Rs.Open texto, de.DB, adOpenStatic, adLockReadOnly
If Rs.EOF = True Then Exit Sub


Set Arq = FSO.CreateTextFile([Ô]C:\Nota_fiscal_paulista
otas.txt[Ô])

[ô] cabecario X10
texto = [Ô]10[Ô] & [Ô]|[Ô] & [Ô]1,00[Ô] & [Ô]|[Ô] & RetiraChar(Isnull2(rsp([Ô]cgc[Ô])), [Ô]./-[Ô]) & [Ô]|[Ô] & DataIni & [Ô]|[Ô] & DataFim
Arq.WriteLine texto
X10 = X10 + 1
Do While Rs.EOF = False


texto = [Ô][Ô]
texto = [Ô]20[Ô] & [Ô]|[Ô] & [Ô]I[Ô] & [Ô]|[Ô] & Isnull2(Rs([Ô]motivo_cancelamento[Ô])) & [Ô]|[Ô] & [Ô]Venda a consulmidor final[Ô] & [Ô]|[Ô] & [Ô]0[Ô] & [Ô]|[Ô] & Isnull2(Rs([Ô]num_nf[Ô])) & [Ô]|[Ô] & FormatDateTime(Rs([Ô]data_emissao[Ô]), vbGeneralDate) & [Ô]|[Ô] & FormatDateTime(Rs([Ô]data_emissao[Ô]), vbGeneralDate) & [Ô]|[Ô] & [Ô]1[Ô] & [Ô]|[Ô] & Isnull2(Rs([Ô]cfpo[Ô])) & [Ô]|[Ô] & [Ô]000000000000[Ô] & [Ô]|[Ô] & [Ô]000000000000[Ô] & [Ô]|[Ô] & Isnull2(Rs([Ô]cnpj[Ô])) & [Ô]|[Ô] & Isnull2(Rs([Ô]razao_social[Ô])) & [Ô]|[Ô] & Isnull2(Rs([Ô]endereco[Ô])) & [Ô]|[Ô] & Isnull2(Rs([Ô]numero[Ô])) & [Ô]|[Ô] & [Ô]02[Ô] & [Ô]|[Ô] & Isnull2(Rs([Ô]bairro[Ô])) & [Ô]|[Ô] & Isnull2(Rs([Ô]cidade[Ô])) & [Ô]|[Ô] & Isnull2(Rs([Ô]estado[Ô])) & [Ô]|[Ô] & Isnull2(Rs([Ô]cep[Ô])) & [Ô]|[Ô] & [Ô]Brasil[Ô] & [Ô]|[Ô] & RetiraChar(Isnull2(Rs([Ô]telefone[Ô])), [Ô] -()[Ô]) & [Ô]|[Ô]
Arq.WriteLine texto
X20 = X20 + 1

texto = [Ô]select * from escritura_fiscal_prod where num_pedido=[Ô] & Isnull2(Rs([Ô]num_nf[Ô]))
RsProd.Open texto, de.DB, adOpenStatic, adLockReadOnly

[ô] produtos 30 X30
ValorIPI = 0: Valorprod = 0: ValorFrete = 0: ValorSeguro = 0: ValorDesconto = 0: ValorICMS = 0
Do While RsProd.EOF = False

texto = [Ô]30[Ô] & [Ô]|[Ô] & Isnull2(RsProd([Ô]descricao[Ô])) & [Ô]|[Ô] & Isnull2(RsProd([Ô]descricao[Ô])) & [Ô]|[Ô] & [Ô][Ô] & [Ô]|[Ô] & LTrim(RTrim(RsProd([Ô]unidade[Ô]))) & [Ô]|[Ô] & FormatNumber(RsProd([Ô]quantidade[Ô]), 4) & [Ô]|[Ô] & FormatNumber(Isnull2(RsProd([Ô]valor[Ô])), 4) & [Ô]|[Ô] & RetiraChar(FormatNumber(Isnull2(RsProd([Ô]valor_bruto[Ô])), 2), [Ô].[Ô]) & [Ô]|[Ô] & [Ô]060[Ô] & [Ô]|[Ô] & FormatNumber(Isnull2(RsProd([Ô]valor_icms[Ô])), 2) & [Ô]|[Ô] & FormatNumber(Isnull2(RsProd([Ô]ipi[Ô])), 2) & [Ô]|[Ô] & FormatNumber(Isnull2(RsProd([Ô]valor_ipi[Ô])), 2)
X30 = X30 + 1
ValorIPI = ValorIPI + Format$(CCur(Isnull2(RsProd([Ô]valor_ipi[Ô]))), [Ô]#,##0.00[Ô])
ValorICMS = ValorICMS + Format$(CCur(Isnull2(RsProd([Ô]valor_icms[Ô]))), [Ô]#,##0.00[Ô]) [ô] valor total icms
Valorprod = Valorprod + Format$(CCur(Isnull2(RsProd([Ô]valor[Ô]))), [Ô]#,##0.00[Ô]) * RsProd([Ô]quantidade[Ô])
ValorFrete = ValorFrete + Format$(CCur(Isnull2(RsProd([Ô]valor_frete[Ô]))), [Ô]#,##0.00[Ô])
ValorSeguro = ValorSeguro + Format$(CCur(Isnull2(RsProd([Ô]valor_servicos[Ô]))), [Ô]#,##0.00[Ô])
ValorDesconto = ValorDesconto + Format$(CCur(Isnull2(RsProd([Ô]desconto[Ô]))), [Ô]#,##0.00[Ô])

Arq.WriteLine texto
RsProd.MoveNext
Loop

ValorTotal = CCur(ValorIPI) + CCur(Valorprod) + CCur(ValorFrete) + CCur(ValorSeguro) - CCur(ValorDesconto)

[ô] total 40 X40

texto = [Ô]40[Ô] & [Ô]|[Ô] & [Ô]25,00[Ô] & [Ô]|[Ô] & RetiraChar(FormatNumber(ValorICMS, 2), [Ô].[Ô]) & [Ô]|[Ô] & [Ô]0,00[Ô] & [Ô]|[Ô] & [Ô]0,00[Ô] & [Ô]|[Ô] & RetiraChar(FormatNumber(Valorprod, 2), [Ô].[Ô]) & [Ô]|[Ô] & RetiraChar(FormatNumber(ValorFrete, 2), [Ô].[Ô]) & [Ô]|[Ô] & RetiraChar(FormatNumber(ValorSeguro, 2), [Ô].[Ô]) & [Ô]|[Ô] & RetiraChar(FormatNumber(ValorDesconto, 2), [Ô].[Ô]) & [Ô]|[Ô] & RetiraChar(FormatNumber(ValorIPI, 2), [Ô].[Ô]) & [Ô]|[Ô] & [Ô]0,00[Ô] & [Ô]|[Ô] & RetiraChar(FormatNumber(ValorTotal, 2), [Ô].[Ô]) & [Ô]|[Ô] & [Ô]|[Ô] & [Ô]|[Ô]
X40 = X40 + 1
Arq.WriteLine texto



[ô]total 50 transportadora
texto = [Ô]50[Ô] & [Ô]|[Ô] & [Ô]1[Ô] & [Ô]|[Ô] & [Ô][Ô] & [Ô]|[Ô] & [Ô][Ô] & [Ô]|[Ô] & [Ô][Ô] & [Ô]|[Ô] & [Ô][Ô] & [Ô]|[Ô] & [Ô][Ô] & [Ô]|[Ô] & [Ô][Ô] & [Ô]|[Ô] & [Ô]|[Ô] & [Ô]|[Ô] & [Ô]|[Ô] & [Ô][Ô] & [Ô]|[Ô] & [Ô]|[Ô] & [Ô]|[Ô] & [Ô]|[Ô]
Arq.WriteLine texto
X50 = X50 + 1

[ô]INSERIDO QUE A NOTA FOI GERADA
texto = [Ô]UPDATE ESCRITURAFISCAL SET STATUS_NOTA=3 WHERE NUM_NF=[Ô] & Aspas(Isnull2(Rs([Ô]NUM_NF[Ô])))
de.DB.Execute texto
[ô] FIM DO UPDATE

[ô]& Formata(X30, 4, [Ô]0[Ô], eEsquerda) & [Ô]|[Ô]
RsProd.Close
Rs.MoveNext
Loop

[ô]total 90 rodape X50

texto = [Ô]90[Ô] & [Ô]|[Ô] & Formata(X20, 5, [Ô]0[Ô], eEsquerda) & [Ô]|[Ô] & Formata(X30, 5, [Ô]0[Ô], eEsquerda) & [Ô]|[Ô] & Formata(X40, 5, [Ô]0[Ô], eEsquerda) & [Ô]|[Ô] & Formata(X50, 5, [Ô]0[Ô], eEsquerda) & [Ô]|[Ô] & Formata(x60, 5, [Ô]0[Ô], eEsquerda)
Arq.WriteLine texto

End Sub
CAIO.FR.SP 26/05/2010 09:51:39
#342821
Valew peguei seu codigo, e vou estudar para ver se enetendo.
Tópico encerrado , respostas não são mais permitidas