Autor Tópico: Dúvida com formulário ao cadastrar item  (Lida 255 vezes)

Emanuel

  • Novato
  • *
  • Mensagens: 16
Dúvida com formulário ao cadastrar item
« Online: Julho 18, 2016, 08:59:35 pm »
Boa noite pessoal do SC.

Seguinte, eu estou com uma baita dúvida com um formulário que eu estou fazendo. Tudo começa numa aplicação de filtro, na qual o usuário faz uma busca pelos itens de um departamento em um mês e ano, até aí tudo ok... O problema começa quando há a necessidade de que um departamento superior cadastre um item para uma divisão subordinada (se não deu pra entender essa parte, só falar).

O passo a passo começa assim:

1- usuário consulta pelo departamento superior
2- clica em novo item
3- preenche todos os campos necessários, mas ao em vez de colocar no campo 'Departamento' o nome do superior, coloca o nome da divisão
4- clica em salvar
5- a página é redirecionada para o formulário novamente, só que tudo em branco
6- se ele pesquisar pela divisão no filtro inicial, ele também consegue preencher corretamente, só que quando ele clica em salvar o formulário recarrega já exibindo esse item recém criado

Uma opinião aqui da equipe é que, na hora do filtro inicial quando é colocado algum departamento na pesquisa, ele salva esse valor de alguma forma que, quando o usuário coloca outro departamento ou divisão na hora de criar um novo item e clica em salvar, na hora que a tela é recarregada, ele tenta exibir algum item, só que a tela pesquisa com o nome do departamento/divisão que foi colocado no filtro lá no início, junto com as novas informações que foram adicionadas, só que usando a divisão subordinada.

O que os usuários estão pedindo é o seguinte: "já que quando eu acesso diretamente pela divisão subordinada no filtro, cadastro um novo item e o sistema exibe o item recém cadastrado para a subordinada, por que não fazer com que, quando eu pesquise pelo departamento superior e inclua um novo item em nome da subordinada, exiba esse item cadastrado da divisão subordinada"?

Eu já tentei umas gambiarras meio loucas, usei um sc_redir no onAfterInsert, passando todos os valores que ele digitou, pra ver se funcionava, mas aconteceu o pior: esse novo item nem sequer era salvo no banco de dados.

PS: os usuários têm noção de que não dá pra fazer tudo do jeito que todos sonham na ferramenta, mas seria uma boa funcionalidade para eles se isso puder ser feito. E, aparentemente, há um requisito no cadastro de itens, onde uma divisão não pode pedir certos itens, nesse caso o departamento pai dessa divisão que deve fazer o pedido.

Agradeço a ajuda de quem puder e até.

Jailton

  • Expert
  • *****
  • Mensagens: 2026
Re:Dúvida com formulário ao cadastrar item
« Responder #1 Online: Julho 18, 2016, 10:53:20 pm »
Adapta este campo 'Divisao' no 'PLANO DE SENHAS' que o SC cria, ai os ADMINISTRADORES, podem cadastrar para qualquer divisão, e depois cadastra outro grupo = MANUTENÇÃO e
adiciona o campo: Divisao na tabela de usuários, ai você já terá o usuário preso da DIVISÃO dele, depois usando variáveis globais no login vc memoriza o Grupo e a Divisao, se for Administrador
pode cadastrar qualquer coisa lá, se for das Divisão subordinadas, ai você filtra para não aparecer os itens, bloquear campos, etc.

http://www.scriptcase.com.br/docs/pt_br/v81/manual_mp.htm#aplicacoes-de-calendario/aplicacao/variaveis-globais

http://www.scriptcase.com.br/docs/pt_br/v81/macros-scriptcase/macros-scriptcase#sc_field_display
http://www.scriptcase.com.br/docs/pt_br/v81/macros-scriptcase/macros-scriptcase#sc_block_display
http://www.scriptcase.com.br/docs/pt_br/v81/macros-scriptcase/macros-scriptcase#sc_field_readonly


E não é que na prática vai dar até pra fazer melhor que 'o sonho dos usuários': PS: os usuários têm noção de que não dá pra fazer tudo do jeito que todos sonham na ferramenta, mas seria uma boa funcionalidade para eles se isso puder ser feito. E, aparentemente, há um requisito no cadastro de itens, onde uma divisão não pode pedir certos itens, nesse caso o departamento pai dessa divisão que deve fazer o pedido.
« Última modificação: Julho 18, 2016, 10:58:35 pm por Jailton »
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Emanuel

  • Novato
  • *
  • Mensagens: 16
Re:Dúvida com formulário ao cadastrar item
« Responder #2 Online: Julho 19, 2016, 08:03:06 am »
Adapta este campo 'Divisao' no 'PLANO DE SENHAS' que o SC cria, ai os ADMINISTRADORES, podem cadastrar para qualquer divisão, e depois cadastra outro grupo = MANUTENÇÃO e
adiciona o campo: Divisao na tabela de usuários, ai você já terá o usuário preso da DIVISÃO dele, depois usando variáveis globais no login vc memoriza o Grupo e a Divisao,
se for Administrador
pode cadastrar qualquer coisa lá, se for das Divisão subordinadas, ai você filtra para não aparecer os itens, bloquear campos, etc.

O problema é que não posso fazer isso, tem que exibir todos os departamentos e divisões. A única coisa que eu não consigo fazer é que exiba o item cadastrado para uma divisão por um departamento superior, é como se ele perdesse a referência e tentasse exibir o item, mas como sendo do departamento superior (que foi escolhido no filtro de pesquisa), mas quando um departamento ou divisão cadastra um item para ele próprio, ele exibe sem problemas após salvar.

Emanuel

  • Novato
  • *
  • Mensagens: 16
Re:Dúvida com formulário ao cadastrar item
« Responder #3 Online: Julho 19, 2016, 09:13:47 am »
Eu quase consegui. Vi em outro post aqui no fórum sobre o sc_select_where e consegui inserir uma WHERE que solucionaria meu problema. Mas, pra variar, ele não funcionou da forma como eu esperava (ai fui ler a documentação do SC e vi o porque), ele apenas incluiu um AND e toda as cláusulas que eu passei como parâmetro.

Se tiver alguma forma que eu possa sobrescrever a WHERE original da aplicação tipo formulário, resolvo meu problema na hora.

Jailton

  • Expert
  • *****
  • Mensagens: 2026
Re:Dúvida com formulário ao cadastrar item
« Responder #4 Online: Julho 19, 2016, 09:33:30 am »
Ok, qual os nomes dos campos que você tem que filtrar?

Em vez de usar um formulário Filtro no Inicio use um formulário controle, ai coloque os campos que tem que filtrar.

E junte eles em uma variável global de filtro: no OnValidate [glo_Filtro] e depois faça a ligação dela com o formulário desejado.

[glo_Filtro]="DataLancamento>='{DataInicial}' AND DataLancamento<='{DataFinal}'";

No formulário desejado, tem lá em SQL = WHERE ai só colar lá [glo_Filtro]

Ai você sempre vai poder manipular o [glo_Filtro] e trocar os dados do filtro, usando código.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Emanuel

  • Novato
  • *
  • Mensagens: 16
Re:Dúvida com formulário ao cadastrar item
« Responder #5 Online: Julho 19, 2016, 11:14:04 am »
Pessoal, consegui resolver aqui.

Travamos o formulário pra exibir apenas os itens do departamento que foi escolhido no filtro.

Caso resolvido.