- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- DATA VENCIMENTO NFS-E
×
Linguagem de Programação ADVPL
Perguntas DATA VENCIMENTO NFS-E
- mariotchak
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 59
- Obrigados Recebidos: 0
11 anos 9 meses atrás #10831
por mariotchak
DATA VENCIMENTO NFS-E foi criado por mariotchak
Pessoal Boa Tarde,
Estou precisando incluir a data de vencimento de um título na descrição da NFS-e, alguem tem algo sobre isso?
Encontrei um PE SF2460I e o fonte abaixo, porém não esta funcionando corretamente.
#Include "Protheus.ch"
User Function SF2460I()
Local cNota := SF2->F2_DOC
Local cSerie := SF2->F2_SERIE
Private xVenc, xMensagem, xPedido
Private oDescr := ""
Private infVenc := ""
/*
/ Trecho 2 - Montagem da descrição dos serviços /
/ Utilizado somente em faturamento de serviços /
/
*/
//Posiciona na NF e pega numero do pedido
dbselectarea("SD2")
dbsetorder(3)
dbseek(xfilial("SD2")+SF2->F2_DOC+SF2->F2_SERIE)
xPedido := alltrim(SD2->D2_PEDIDO)
SD2->(dbCloseArea())
//Posiciona no Pedido e pega campos de mensagem
dbSelectArea("SC5")
dbSetOrder(1)
dbSeek(xFilial("SC5")+ xPedido)
xMensagem := alltrim(SC5->C5_MENNOTA)
SC5->(dbCloseArea())
/*
//posiciona nos itens do pedido e pega descrição do produto ->somente do primeiro item, pois para serviços todos os itens sao iguais..
dbSelectArea("SC6")
dbSeek(xFilial("SC6")+ xPedido)
xDescr := alltrim(SC6->C6_DESCRI)
SC6->(dbCloseArea())
*/
//Posiciona nos titulos a receber e pega vencimento/parcela e valor
dbSelectArea("SE1")
SE1->(dbGoTop())
if dbSeek(xFilial("SE1")+ cSerie + cNota)
Do while SE1->(!EOF()) .AND. ((SE1->E1_PREFIXO) == cSerie) .AND. ((SE1->E1_NUM) == cNota)
xVenc := transform((SE1->E1_VENCTO),"@E") //+ SE1->E1_PARCELA + " - " + alltrim(transform((SE1->E1_VALOR),"@E 999,999,999.99")) + " / "
infVenc := infVenc + xVenc
SE1->(dbSkip())
endDo
endIf
SE1->(dbCloseArea())
// Monta descrição da nota
oDescr := xMensagem + " | " + "Vencimento(s): " + infVenc
//Grava Informação no campo C5_MENNOTA localizado no cabeçalho do pedido de vendas
dbSelectArea("SC5")
dbSeek(xFilial("SC5")+ xPedido)
recLock("SC5",.F.)
Replace SC5->C5_MENNOTA With oDescr
msUnLock()
SC5->(dbCloseArea())
Return
Estou precisando incluir a data de vencimento de um título na descrição da NFS-e, alguem tem algo sobre isso?
Encontrei um PE SF2460I e o fonte abaixo, porém não esta funcionando corretamente.
#Include "Protheus.ch"
User Function SF2460I()
Local cNota := SF2->F2_DOC
Local cSerie := SF2->F2_SERIE
Private xVenc, xMensagem, xPedido
Private oDescr := ""
Private infVenc := ""
/*
/ Trecho 2 - Montagem da descrição dos serviços /
/ Utilizado somente em faturamento de serviços /
/
*/
//Posiciona na NF e pega numero do pedido
dbselectarea("SD2")
dbsetorder(3)
dbseek(xfilial("SD2")+SF2->F2_DOC+SF2->F2_SERIE)
xPedido := alltrim(SD2->D2_PEDIDO)
SD2->(dbCloseArea())
//Posiciona no Pedido e pega campos de mensagem
dbSelectArea("SC5")
dbSetOrder(1)
dbSeek(xFilial("SC5")+ xPedido)
xMensagem := alltrim(SC5->C5_MENNOTA)
SC5->(dbCloseArea())
/*
//posiciona nos itens do pedido e pega descrição do produto ->somente do primeiro item, pois para serviços todos os itens sao iguais..
dbSelectArea("SC6")
dbSeek(xFilial("SC6")+ xPedido)
xDescr := alltrim(SC6->C6_DESCRI)
SC6->(dbCloseArea())
*/
//Posiciona nos titulos a receber e pega vencimento/parcela e valor
dbSelectArea("SE1")
SE1->(dbGoTop())
if dbSeek(xFilial("SE1")+ cSerie + cNota)
Do while SE1->(!EOF()) .AND. ((SE1->E1_PREFIXO) == cSerie) .AND. ((SE1->E1_NUM) == cNota)
xVenc := transform((SE1->E1_VENCTO),"@E") //+ SE1->E1_PARCELA + " - " + alltrim(transform((SE1->E1_VALOR),"@E 999,999,999.99")) + " / "
infVenc := infVenc + xVenc
SE1->(dbSkip())
endDo
endIf
SE1->(dbCloseArea())
// Monta descrição da nota
oDescr := xMensagem + " | " + "Vencimento(s): " + infVenc
//Grava Informação no campo C5_MENNOTA localizado no cabeçalho do pedido de vendas
dbSelectArea("SC5")
dbSeek(xFilial("SC5")+ xPedido)
recLock("SC5",.F.)
Replace SC5->C5_MENNOTA With oDescr
msUnLock()
SC5->(dbCloseArea())
Return
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #10833
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico DATA VENCIMENTO NFS-E
Veja se funciona agora, só uma dica, não utilize este comando
SD2->(dbCloseArea()) ele só deverá ser utilizado em arquivos temporários, não em arquivos padrões do sistema ok.
#Include "Protheus.ch"
User Function SF2460I()
Local cNota := SF2->F2_DOC
Local cSerie := SF2->F2_SERIE
Private xVenc, xMensagem, xPedido
Private oDescr := ""
Private infVenc := ""
/*
/ Trecho 2 - Montagem da descrição dos serviços /
/ Utilizado somente em faturamento de serviços /
/
*/
//Posiciona na NF e pega numero do pedido
dbselectarea("SD2")
dbsetorder(3)
dbseek(xfilial("SD2")+SF2->F2_DOC+SF2->F2_SERIE)
xPedido := alltrim(SD2->D2_PEDIDO)
//Posiciona no Pedido e pega campos de mensagem
dbSelectArea("SC5")
dbSetOrder(1)
dbSeek(xFilial("SC5")+ xPedido)
xMensagem := alltrim(SC5->C5_MENNOTA)
//Posiciona nos titulos a receber e pega vencimento/parcela e valor
dbSelectArea("SE1")
dbSetOrder(1)
if dbSeek(xFilial("SE1")+ cSerie + cNota)
Do while SE1->(!EOF()) .AND. ((SE1->E1_PREFIXO) == cSerie) .AND. ((SE1->E1_NUM) == cNota)
xVenc := DtoC(SE1->E1_VENCTO) + ' / '
infVenc := infVenc + xVenc
SE1->(dbSkip())
endDo
endIf
// Monta descrição da nota
oDescr := xMensagem + " | " + "Vencimento(s): " + infVenc
If RecLock("SC5",.F.)
SC5->C5_MENNOTA := oDescr
msUnLock()
Endif
Return
SD2->(dbCloseArea()) ele só deverá ser utilizado em arquivos temporários, não em arquivos padrões do sistema ok.
#Include "Protheus.ch"
User Function SF2460I()
Local cNota := SF2->F2_DOC
Local cSerie := SF2->F2_SERIE
Private xVenc, xMensagem, xPedido
Private oDescr := ""
Private infVenc := ""
/*
/ Trecho 2 - Montagem da descrição dos serviços /
/ Utilizado somente em faturamento de serviços /
/
*/
//Posiciona na NF e pega numero do pedido
dbselectarea("SD2")
dbsetorder(3)
dbseek(xfilial("SD2")+SF2->F2_DOC+SF2->F2_SERIE)
xPedido := alltrim(SD2->D2_PEDIDO)
//Posiciona no Pedido e pega campos de mensagem
dbSelectArea("SC5")
dbSetOrder(1)
dbSeek(xFilial("SC5")+ xPedido)
xMensagem := alltrim(SC5->C5_MENNOTA)
//Posiciona nos titulos a receber e pega vencimento/parcela e valor
dbSelectArea("SE1")
dbSetOrder(1)
if dbSeek(xFilial("SE1")+ cSerie + cNota)
Do while SE1->(!EOF()) .AND. ((SE1->E1_PREFIXO) == cSerie) .AND. ((SE1->E1_NUM) == cNota)
xVenc := DtoC(SE1->E1_VENCTO) + ' / '
infVenc := infVenc + xVenc
SE1->(dbSkip())
endDo
endIf
// Monta descrição da nota
oDescr := xMensagem + " | " + "Vencimento(s): " + infVenc
If RecLock("SC5",.F.)
SC5->C5_MENNOTA := oDescr
msUnLock()
Endif
Return
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- mariotchak
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 59
- Obrigados Recebidos: 0
11 anos 9 meses atrás #10840
por mariotchak
Respondido por mariotchak no tópico DATA VENCIMENTO NFS-E
Ficou muito bom......... Obrigado..........
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- DATA VENCIMENTO NFS-E
Tempo para a criação da página:0.098 segundos