- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Inicializador Padrão utilizando execblock
×
Linguagem de Programação ADVPL
Perguntas Inicializador Padrão utilizando execblock
- Rstrozi
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 123
- Obrigados Recebidos: 0
11 anos 9 meses atrás - 11 anos 9 meses atrás #9936
por Rstrozi
Inicializador Padrão utilizando execblock foi criado por Rstrozi
Boa noite pessoal,
Criei um campo na tabela SC5 do tipo data para preencher com a data do dia +1. Se eu colocar no inicializador padrão do campo Date()+1, funciona belezinha, o problema é que preciso que quando a data de digitação cair numa sexta, acrescentar 3 dias, para cair na segunda.
Fiz o seguinte execblock:
e o chamei no inicializador padrao U_NWPRENT
Na hora que vou incluir o pedido, dá erro no inicializador padrão.
Alguém poderia me dar uma luz?
Criei um campo na tabela SC5 do tipo data para preencher com a data do dia +1. Se eu colocar no inicializador padrão do campo Date()+1, funciona belezinha, o problema é que preciso que quando a data de digitação cair numa sexta, acrescentar 3 dias, para cair na segunda.
Fiz o seguinte execblock:
User Function NWPRENT()
Local cDiaSemana := CDOW(Date())
Local lSexta := IIf(cDiaSemana $ "Friday",.T.,.F.)
Local dPrev := Date()+1
If lSexta
dPrev := Date()+3
EndIf
Return dPrev
e o chamei no inicializador padrao U_NWPRENT
Na hora que vou incluir o pedido, dá erro no inicializador padrão.
Alguém poderia me dar uma luz?
Ultima edição: 11 anos 9 meses atrás por Rstrozi. Razão: erro digitação
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
11 anos 9 meses atrás #9942
por kanaamlrr
Respondido por kanaamlrr no tópico Inicializador Padrão utilizando execblock
Você está chamando como no seu inicializador?
U_NWPRENT() ou U_NWPRENT?
O correto é a 1ª forma.
Você pode colocar a fórmula abaixo no seu inicializador que também deve funcionar.
Day()+IIF(CDOW(Date()) $ "Friday",3,1)
U_NWPRENT() ou U_NWPRENT?
O correto é a 1ª forma.
Você pode colocar a fórmula abaixo no seu inicializador que também deve funcionar.
Day()+IIF(CDOW(Date()) $ "Friday",3,1)
Por favor Acessar ou Registrar para participar da conversa.
- Rstrozi
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 123
- Obrigados Recebidos: 0
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #9956
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 Inicializador Padrão utilizando execblock
Conselho:
Substitua CDow(Date())
por Dow(Date)
Assim ao invés da descrição que poderá mudar conforme a linguagem no servidor, vc
utiliza o número 5 que corresponde à Sexta Feira.
Date()+IIF(DOW(Date()) == 5,3,1)
Abraços.
Substitua CDow(Date())
por Dow(Date)
Assim ao invés da descrição que poderá mudar conforme a linguagem no servidor, vc
utiliza o número 5 que corresponde à Sexta Feira.
Date()+IIF(DOW(Date()) == 5,3,1)
Abraços.
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.
- Rstrozi
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 123
- Obrigados Recebidos: 0
11 anos 9 meses atrás #10044
por Rstrozi
Respondido por Rstrozi no tópico Inicializador Padrão utilizando execblock
Boa noite Luiz e Kanaãm. Ficou show de bola com as dicas de vocês, funcionando direitinho... Só um detalhe: ao invés de 5, tive que usar 6.
Achei isso:
fonte: advplbrasil.com.br/advpl/manipulacao-de-data-e-hora/
Valeu ae pessoal!!!
Achei isso:
DOW()
Função que converte uma data para o valor numérico que representa o dia da semana. Útil quando se deseja fazer cálculos semanais. DOW() é similar a CDOW(), que retorna o dia da semana como uma cadeia de caracteres.
Sintaxe: DOW( dData )
Parâmetros:
dData Data que será convertida.
Retorno:
nDia Retorna um número entre zero e sete, representando o dia da semana. O primeiro dia da semana é 1 (Domingo) e o último é 7 (Sábado). Se a data for vazia ou inválida, DOW() retorna zero.
fonte: advplbrasil.com.br/advpl/manipulacao-de-data-e-hora/
Valeu ae pessoal!!!
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Inicializador Padrão utilizando execblock
Tempo para a criação da página:0.089 segundos