- Fórum
- Protheus/Microsiga/Totvs
- Módulos do Protheus
- Módulo Financeiro
- FINA050 - Alterar data de Vencimento de títulos
Perguntas FINA050 - Alterar data de Vencimento de títulos
- pabloleite
- Autor do Tópico
- Desconectado
- Membro Júnior
- Postagens: 30
- Obrigados Recebidos: 0
Não consigo alterar o campo de vencimento real (E2_VENCREA) e nem de Vencimento (E2_VENCTO) de títulos que foram gerados apartir do módulo GPE. Os Campos ficam em cinza, desabilitados. Outros títulos conseguimos trabalhar normalmente.
Alguém tem ideia do que pode ser?
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
- Postagens: 3676
- Obrigados Recebidos: 6
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.
- pabloleite
- Autor do Tópico
- Desconectado
- Membro Júnior
- Postagens: 30
- Obrigados Recebidos: 0
O Administrador pode alterar via MPSDU, mais e o usuário, ele faz o que nesse caso?
Por favor Acessar ou Registrar para participar da conversa.
- pabloleite
- Autor do Tópico
- Desconectado
- Membro Júnior
- Postagens: 30
- Obrigados Recebidos: 0
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
- Postagens: 3676
- Obrigados Recebidos: 6
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³FA050Venc ³ Autor ³ Wagner Xavier ³ Data ³ 29/05/92 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Verifica a data de vencimento informada ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ FA050Venc() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ FINA050 ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
Function FA050Venc(nTpVenc)
LOCAL lRetorna := .T.
Local lPCCBaixa := SuperGetMv("MV_BX10925",.T.,"2") == "1" .and. (!Empty( SE5->( FieldPos( "E5_VRETPIS" ) ) ) .And. !Empty( SE5->( FieldPos( "E5_VRETCOF" ) ) ) .And. ;
!Empty( SE5->( FieldPos( "E5_VRETCSL" ) ) ) .And. !Empty( SE5->( FieldPos( "E5_PRETPIS" ) ) ) .And. ;
!Empty( SE5->( FieldPos( "E5_PRETCOF" ) ) ) .And. !Empty( SE5->( FieldPos( "E5_PRETCSL" ) ) ) .And. ;
!Empty( SE2->( FieldPos( "E2_SEQBX" ) ) ) .And. !Empty( SFQ->( FieldPos( "FQ_SEQDES" ) ) ) )
Local dDataIni := FirstDay (SE2->E2_VENCREA)
Local dDataFim := LastDay (SE2->E2_VENCREA)
Local aSoluPor := {}
Local aHelpPor := {}
DEFAULT nTpVenc := 1 //1= Validando E2_VENCTO, 2 = Validando E2_VENCREA
//Validando data de vencto
If M->E2_VENCTO < M->E2_EMISSAO
Help(" ",1,"NOVENCREA")
lRetorna := .F.
//Validando data de vencimento Real
ElseIf nTpVenc == 2 .and. M->E2_VENCREA < M->E2_VENCTO
lRetorna := .F.
//Caso o titulo tenha sido contabilizado, nao podera ser alterado em nada
//que influencie no calculo dos impostos
ElseIf cPaisLoc == "BRA" .and. lAltera .and. !lPccBaixa
//Apenas para E2_VENCTO
//Atualizacao do E2_VENCREA
If nTpVenc == 1
M->E2_VENCREA := DataValida(M->E2_VENCTO,.T.)
Endif
//Verifico se houve mudança de mes para o PCC
If (Month(M->E2_VENCREA) <> Month(dVencReaAnt))
nRecAtu := SE2->(RECNO())
//Busco a informacao de qual o titulo retentor do PCC do titulo em alteracao
SFQ->(DbSetOrder(2)) //-- FQ_FILIAL+FQ_ENTDES+FQ_PREFDES+FQ_NUMDES+FQ_PARCDES+FQ_TIPODES+FQ_CFDES+FQ_LOJADES
If SFQ->(DbSeek(xFilial("SFQ")+"SE2"+SE2->(E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA)))
//Posiciono no cadastro de C.Pagar para verificar se o titulo retentor
//foi contabilizado ou veio de outro modulo
SE2->(DbSetOrder(1)) //-- E2_FILIAL+E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA
If SE2->(DbSeek(xFilial("SE2")+SFQ->(FQ_PREFORI+FQ_NUMORI+FQ_PARCORI+FQ_TIPOORI+FQ_CFORI+FQ_LOJAORI)))
//Titulos contabilizados
//os titulos vindos de outros modulos sempre tem E2_LA = 'S' ja que a contabilizacao ocorre na origem
If SE2->E2_LA == "S"
//|MENSAGEM|
Aadd(aHelpPor,"Título não poderá ser alterado em nada ")
Aadd(aHelpPor,"que influencie no cálculo dos impostos")
Aadd(aHelpPor,"pois o titulo retentor foi contabilizado")
Aadd(aHelpPor,"ou tem como ogiem um outro módulo.")
//³SOLUCAO³
Aadd(aSoluPor,"Para alterar a data de vencimento, ")
Aadd(aSoluPor,"utilize as rotinas de renegociação ")
Aadd(aSoluPor,"(Faturas a Pagar ou Liquidação).")
PutHelp("PF050ALPCC",aHelpPor,,,.T.)
PutHelp("SF050ALPCC",aSoluPor,,,.T.)
Help(" ",1,"F050ALPCC")
lRetorna := .F.
//Apenas para E2_VENCTO
//Atualizacao do E2_VENCREA
If nTpVenc == 1
M->E2_VENCREA := DataValida(SE2->E2_VENCTO,.T.)
Endif
Endif
Endif
Else
//Verifico se o titulo eh retentor do PCC de outros titulos
SFQ->(DbSetOrder(1)) //-- FQ_FILIAL+FQ_ENTORI+FQ_PREFORI+FQ_NUMORI+FQ_PARCORI+FQ_TIPOORI+FQ_CFORI+FQ_LOJAORI
If SFQ->(DbSeek(xFilial("SFQ")+"SE2"+SE2->(E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA)))
//Titulos contabilizados
//os titulos vindos de outros modulos sempre tem E2_LA = 'S' ja que a contabilizacao ocorre na origem
If SE2->E2_LA == "S"
//|MENSAGEM|
Aadd(aHelpPor,"Título não poderá ser alterado em nada ")
Aadd(aHelpPor,"que influencie no cálculo dos impostos")
Aadd(aHelpPor,"pois o titulo retentor foi contabilizado")
Aadd(aHelpPor,"ou tem como ogiem um outro módulo.")
//³SOLUCAO³
Aadd(aSoluPor,"Para alterar a data de vencimento, ")
Aadd(aSoluPor,"utilize as rotinas de renegociação ")
Aadd(aSoluPor,"(Faturas a Pagar ou Liquidação).")
PutHelp("PF050ALPCC",aHelpPor,,,.T.)
PutHelp("SF050ALPCC",aSoluPor,,,.T.)
Help(" ",1,"F050ALPCC")
lRetorna := .F.
//Apenas para E2_VENCTO
//Atualizacao do E2_VENCREA
If nTpVenc == 1
M->E2_VENCREA := DataValida(SE2->E2_VENCTO,.T.)
Endif
Endif
Endif
Endif
dbSelectArea("SE2")
SE2->(DbGoto(nRecAtu))
//****************************************
// Quando alterou o mes e PCC na emissão *
// Utilizado para calcular o pcc quando *
// data alterada na inclusão. *
//****************************************
If (Month(M->E2_VENCREA) <> Month(dVencReaAnt)) .and. nTpVenc==2
FA050Nat2()
dVencReaAnt := M->E2_VENCREA
EndIf
Endif
ElseIf cPaisLoc == "BRA" .and. INCLUI .and. !lPccBaixa
//****************************************
// Quando alterou o mes e PCC na emissão *
// Utilizado para calcular o pcc quando *
// data alterada na inclusão. *
//****************************************
If (Month(M->E2_VENCREA) # Month(dVencReaAnt))
FA050Nat2()
dVencReaAnt := M->E2_VENCREA
EndIf
Endif
If lRetorna
//Vencimento original do titulo
If Empty(SE2->E2_VENCORI)
M->E2_VENCORI := M->E2_VENCTO
EndIf
//Apenas para E2_VENCTO
//Atualizacao do E2_VENCREA
If nTpVenc == 1
M->E2_VENCREA := DataValida(M->E2_VENCTO,.T.)
Endif
//Data de Agendamento do titulo
If SE2->(FieldPos("E2_DATAAGE")) > 0
M->E2_DATAAGE := M->E2_VENCREA
EndIf
lRefresh := .T.
EndIf
Return lRetorna
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.
- lalberto
- Desconectado
- Administrador
- Postagens: 3676
- Obrigados Recebidos: 6
Luiz Alberto escreveu: /*/
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Fun‡…o ³FA050Venc ³ Autor ³ Wagner Xavier ³ Data ³ 29/05/92 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Verifica a data de vencimento informada ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Sintaxe ³ FA050Venc() ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ FINA050 ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
Function FA050Venc(nTpVenc)
LOCAL lRetorna := .T.
Local lPCCBaixa := SuperGetMv("MV_BX10925",.T.,"2") == "1" .and. (!Empty( SE5->( FieldPos( "E5_VRETPIS" ) ) ) .And. !Empty( SE5->( FieldPos( "E5_VRETCOF" ) ) ) .And. ;
!Empty( SE5->( FieldPos( "E5_VRETCSL" ) ) ) .And. !Empty( SE5->( FieldPos( "E5_PRETPIS" ) ) ) .And. ;
!Empty( SE5->( FieldPos( "E5_PRETCOF" ) ) ) .And. !Empty( SE5->( FieldPos( "E5_PRETCSL" ) ) ) .And. ;
!Empty( SE2->( FieldPos( "E2_SEQBX" ) ) ) .And. !Empty( SFQ->( FieldPos( "FQ_SEQDES" ) ) ) )
Local dDataIni := FirstDay (SE2->E2_VENCREA)
Local dDataFim := LastDay (SE2->E2_VENCREA)
Local aSoluPor := {}
Local aHelpPor := {}
DEFAULT nTpVenc := 1 //1= Validando E2_VENCTO, 2 = Validando E2_VENCREA
//Validando data de vencto
If M->E2_VENCTO < M->E2_EMISSAO
Help(" ",1,"NOVENCREA")
lRetorna := .F.
//Validando data de vencimento Real
ElseIf nTpVenc == 2 .and. M->E2_VENCREA < M->E2_VENCTO
lRetorna := .F.
//Caso o titulo tenha sido contabilizado, nao podera ser alterado em nada
//que influencie no calculo dos impostos
ElseIf cPaisLoc == "BRA" .and. lAltera .and. !lPccBaixa
//Apenas para E2_VENCTO
//Atualizacao do E2_VENCREA
If nTpVenc == 1
M->E2_VENCREA := DataValida(M->E2_VENCTO,.T.)
Endif
//Verifico se houve mudança de mes para o PCC
If (Month(M->E2_VENCREA) <> Month(dVencReaAnt))
nRecAtu := SE2->(RECNO())
//Busco a informacao de qual o titulo retentor do PCC do titulo em alteracao
SFQ->(DbSetOrder(2)) //-- FQ_FILIAL+FQ_ENTDES+FQ_PREFDES+FQ_NUMDES+FQ_PARCDES+FQ_TIPODES+FQ_CFDES+FQ_LOJADES
If SFQ->(DbSeek(xFilial("SFQ")+"SE2"+SE2->(E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA)))
//Posiciono no cadastro de C.Pagar para verificar se o titulo retentor
//foi contabilizado ou veio de outro modulo
SE2->(DbSetOrder(1)) //-- E2_FILIAL+E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA
If SE2->(DbSeek(xFilial("SE2")+SFQ->(FQ_PREFORI+FQ_NUMORI+FQ_PARCORI+FQ_TIPOORI+FQ_CFORI+FQ_LOJAORI)))
//Titulos contabilizados
//os titulos vindos de outros modulos sempre tem E2_LA = 'S' ja que a contabilizacao ocorre na origem
If SE2->E2_LA == "S"
//|MENSAGEM|
Aadd(aHelpPor,"Título não poderá ser alterado em nada ")
Aadd(aHelpPor,"que influencie no cálculo dos impostos")
Aadd(aHelpPor,"pois o titulo retentor foi contabilizado")
Aadd(aHelpPor,"ou tem como ogiem um outro módulo.")
//³SOLUCAO³
Aadd(aSoluPor,"Para alterar a data de vencimento, ")
Aadd(aSoluPor,"utilize as rotinas de renegociação ")
Aadd(aSoluPor,"(Faturas a Pagar ou Liquidação).")
PutHelp("PF050ALPCC",aHelpPor,,,.T.)
PutHelp("SF050ALPCC",aSoluPor,,,.T.)
Help(" ",1,"F050ALPCC")
lRetorna := .F.
//Apenas para E2_VENCTO
//Atualizacao do E2_VENCREA
If nTpVenc == 1
M->E2_VENCREA := DataValida(SE2->E2_VENCTO,.T.)
Endif
Endif
Endif
Else
//Verifico se o titulo eh retentor do PCC de outros titulos
SFQ->(DbSetOrder(1)) //-- FQ_FILIAL+FQ_ENTORI+FQ_PREFORI+FQ_NUMORI+FQ_PARCORI+FQ_TIPOORI+FQ_CFORI+FQ_LOJAORI
If SFQ->(DbSeek(xFilial("SFQ")+"SE2"+SE2->(E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA)))
//Titulos contabilizados
//os titulos vindos de outros modulos sempre tem E2_LA = 'S' ja que a contabilizacao ocorre na origem
If SE2->E2_LA == "S"
//|MENSAGEM|
Aadd(aHelpPor,"Título não poderá ser alterado em nada ")
Aadd(aHelpPor,"que influencie no cálculo dos impostos")
Aadd(aHelpPor,"pois o titulo retentor foi contabilizado")
Aadd(aHelpPor,"ou tem como ogiem um outro módulo.")
//³SOLUCAO³
Aadd(aSoluPor,"Para alterar a data de vencimento, ")
Aadd(aSoluPor,"utilize as rotinas de renegociação ")
Aadd(aSoluPor,"(Faturas a Pagar ou Liquidação).")
PutHelp("PF050ALPCC",aHelpPor,,,.T.)
PutHelp("SF050ALPCC",aSoluPor,,,.T.)
Help(" ",1,"F050ALPCC")
lRetorna := .F.
//Apenas para E2_VENCTO
//Atualizacao do E2_VENCREA
If nTpVenc == 1
M->E2_VENCREA := DataValida(SE2->E2_VENCTO,.T.)
Endif
Endif
Endif
Endif
dbSelectArea("SE2")
SE2->(DbGoto(nRecAtu))
//****************************************
// Quando alterou o mes e PCC na emissão *
// Utilizado para calcular o pcc quando *
// data alterada na inclusão. *
//****************************************
If (Month(M->E2_VENCREA) <> Month(dVencReaAnt)) .and. nTpVenc==2
FA050Nat2()
dVencReaAnt := M->E2_VENCREA
EndIf
Endif
ElseIf cPaisLoc == "BRA" .and. INCLUI .and. !lPccBaixa
//****************************************
// Quando alterou o mes e PCC na emissão *
// Utilizado para calcular o pcc quando *
// data alterada na inclusão. *
//****************************************
If (Month(M->E2_VENCREA) # Month(dVencReaAnt))
FA050Nat2()
dVencReaAnt := M->E2_VENCREA
EndIf
Endif
If lRetorna
//Vencimento original do titulo
If Empty(SE2->E2_VENCORI)
M->E2_VENCORI := M->E2_VENCTO
EndIf
//Apenas para E2_VENCTO
//Atualizacao do E2_VENCREA
If nTpVenc == 1
M->E2_VENCREA := DataValida(M->E2_VENCTO,.T.)
Endif
//Data de Agendamento do titulo
If SE2->(FieldPos("E2_DATAAGE")) > 0
M->E2_DATAAGE := M->E2_VENCREA
EndIf
lRefresh := .T.
EndIf
Return lRetorna
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.
- Fórum
- Protheus/Microsiga/Totvs
- Módulos do Protheus
- Módulo Financeiro
- FINA050 - Alterar data de Vencimento de títulos