PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Gatilho em SC6 Data Entrega
Versão:
12.1.7
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário BANDARRA BANDARRA em 12/12/2018, 21:59 h
Local: RS  Registro: 21/03/2018  Postagens: 17
Boa noite amigos,

Necessito criar um gatilho para calcular a data de entrega do produto solicitado no Pedido de Venda em SC6.

C6_DIAS (QUANTOS DIAS PARA ENTREGAR O PRODUTO)
C6_PREV (DATA DE HOJE)
C6_ENTREG (CAMPO QUE RECEBE A DATA PREVISTA PARA ENTREGA DO PEDIDO)

Gatilho:
C6_GRUPO X C6_ENTREG:
"C6_PREV (DATA DE HOJE) + C6_DIAS (DIAS PARA ENTREGA) = C6_ENTREG (DATA PREVISTA PARA ENTREGA)"

Alguém pode ajudar?

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EMERSON.EN EMERSON.EN em 13/12/2018, 10:01 h
Local: SP  Registro: 20/08/2010  Postagens: 670
se os campos C6_DIAS e C6_PREV forem editáveis pelo usuário, você poderia criar gatilhos em ambos, com contradomínio em C6_ENTREG.
o conteúdo seria:
if(empty(M->C6_DIAS).OR.empty(M->C6_PREV),MSDATE(),M->C6_PREV+M->C6_DIAS)

Campo: C6_DIAS
Cnt.Dominio: C6_ENTREG
Tipo: Primario
Regra: if(empty(M->C6_DIAS).OR.empty(M->C6_PREV),MSDATE(),M->C6_PREV+M->C6_DIAS)
Posiciona: Não
Alias, Ordem, Chave, Condição: vazio

Campo: C6_PREV
Cnt.Dominio: C6_ENTREG
Tipo: Primario
Regra: if(empty(M->C6_DIAS).OR.empty(M->C6_PREV),MSDATE(),M->C6_PREV+M->C6_DIAS)
Posiciona: Não
Alias, Ordem, Chave, Condição: vazio

Outra coisa: se C6_PREV é a data atual, porque da sua existência?

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário BANDARRA BANDARRA em 13/12/2018, 11:18 h
Local: RS  Registro: 21/03/2018  Postagens: 17
Bom dia Emerson,

Acredito que não é necessário o C6_PREV, assim como C6_DIAS, afinal a informação dos dias vem da SBM (Grupo de Produto) BM_ENTREGA; A questão é simples, mas como sou iniciante em ADVPL estou meio perdido ainda.

Em resumo, preciso calcular a DataAtual DDATABASE + BM_ENTREGA (que esta em dias), cujo resultado será a previsão de entrega daquele grupo de produto C6_GRUPO (BM_GRUPO).

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EMERSON.EN EMERSON.EN em 13/12/2018, 13:24 h
Local: SP  Registro: 20/08/2010  Postagens: 670
Tente criar o gatilho assim:

Campo: C6_PRODUTO
Cnt.Dominio: C6_ENTREG
Tipo: Primario
Regra: MSDATE()+SBM->BM_ENTREGA
Posiciona: Sim
Alias: SBM
Ordem: 1
Chave: xFilial("SBM")+SB1->B1_GRUPO
Condição: vazio

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário BANDARRA BANDARRA em 15/12/2018, 12:23 h
Local: RS  Registro: 21/03/2018  Postagens: 17
retorna erro: type mismatch on +

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EMERSON.EN EMERSON.EN em 16/12/2018, 14:36 h
Local: SP  Registro: 20/08/2010  Postagens: 670
Pra funcionar como sugerido, o campo BM_ENTREGA precisa ser numérico.

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário BANDARRA BANDARRA em 19/12/2018, 08:10 h
Local: RS  Registro: 21/03/2018  Postagens: 17
Funcionou! Obrigado Emerson, quebrou o maior galho. Vlw.

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal