(RESOLVIDO)Botão em cada registro da consulta para abrir outro formulário e pegar algumas informações da grid e auto preencher alguns campos desse forms

Olá, por favor me ajude o SC consegue fazer isso, se sim como?

Você na consulta ‘Grid’ deve criar uma Ligação, e selecionar o formulário que quer
a ligação tipo ‘Edição’, ai selecione o campo que corresponde a chave primária no formulário.

Ligação de Edição - Documentação Scriptcase

1 Curtida

dessa forma eu ja fiz, porém eu preciso que fique em todos os registros um botão,
Motivo: Tenho uma consulta de manutenções não realizada essa consulta vai listar todas manutenções ainda não realizada, e cada registro devo ter um botão para um form de manutenção realizada, nesse form deve vim o valor do registro, como o numero de serie, data do ocorrido e equipe_proprietaria

Esse botão você vai criar um Novo campo na Grid ‘Imagem Html’ e usar ele como o botão,
pode usar uma imagem ativa e inativa, tipo ‘Verde’ / ‘Vermelho’,
ai se estiver verde use a macro sc_link no Evento OnRecord para redirecionar
para o formulário desejado.

Trocar Imagens no Evento OnRecord:

switch ({STATUS}) {
    case 'EM ANALISE':
         {Imagem_STATUS} = "<img src='../_lib/img/bolinha_em_analise.png'>";
         sc_link(Imagem_STATUS, pedido.php , pedidoid = {id}, "Pedido", "_self");
         break;
    case 'LIBERADO':
         {Imagem_STATUS} = "<img src='../_lib/img/bolinha_em_liberado.png'>";
         sc_link(Imagem_STATUS, pedido.php , pedidoid = {id}, "Pedido", "_self");
         break;
    case 'NEGADO':
         {Imagem_STATUS} = "<img src='../_lib/img/bolinha_em_negado.png'>";
         sc_link(Imagem_STATUS, "" , "", "Pedido", "_self");
         break;
}
2 Curtidas

obrigado vou tentar, seu link nao acessa na minha maquina(já conseguir ver aqui, obrigado novamente)

Caso não precisar fazer o tratamento do ‘Status’ só crie o campo imagem HTML escolha,
uma imagem de botão para ele, e depois crie uma ligação tipo campo informando o formulário
de destino.

1 Curtida

Eu preciso retornar o valor do numero de serie, data do ocorrido e equipe_proprietaria, preciso criar uma variavel global? para pegar esses valores individuas de cada registro? e como faria isso? ligaria em algum evento? passaria alguma condição?

desculpa incomodar mais uma vez

Se não puder aproveitar o formulário onde é digitado a informação original para
trazer na ligação de campo, crie um formulário pode ser ‘controle’ e nele
coloque as informações que vai precisar, e variáveis globais nas SQL relacionadas
nele, ai na ligação assim que você criar ele já vai solicitar essas variáveis para
serem passadas ai você seleciona elas a partir dos campos da grid.

No ‘Controle’ no OnLoad usando a macro sc_lookup você pode preencher os campos
que vai precisar, e no sc_lookup você vai poder usar variáveis globais neles vindo
da grid.

1 Curtida

Opa, vou tentar fazer aqui

Atualizando, não conseguir fazer, a tabela ainda não me retorna

Conseguiu criar o Botão Imagem?

Cole a imagem ‘Print-Screen’ aqui da Grid inteira feita com todos os campos e o botão imagem já no lugar.

E uma imagem ‘Print-Screen’ do formulário ‘que’ vai ser chamado com os campos que quer mostrar.

1 Curtida

essa parte do botão conseguir, o problema é esse formulário “controle”, eu abro esse formulário “controle” para realizar a manutenção, eu preciso que ele me retorna os dados da manutenção, vou mandar umas fotos.

Essa é a consulta, circulado está o botão

esse botao me leva ao formulário controle, nesses campos selecionados eu preciso trazer as informações que essa grid tem. para nao precisar de escrever a mesma informação na grid

esse é meu onLoad, nessa seta é a variável global que criei para fazer esse procedimento

porém ainda não compreendi como vou ligar esse onLoad do meu formulário nessa grid

Remova esse sc_lookup(dataset, … do formulário não vai precisar dele,
vamos pegar os campos direto da grid.

No Formulário coloque:
Evento OnLoad:

{num_doc}=[glo_OcorrenciaID];
{dt_execucao}=[glo_DataExecucao];

Ai crie a Ligação na Grid, ligação tipo ‘CAMPO’ escolha
o Campo imagem e procure o formulário na lista,
clique prosseguir ele vai pedir os valores para
[glo_OcorrenciaID] e [glo_DataExecucao] selecione os
campos relativos da Grid.

Depois só gerar todas as app e fazer o teste.

Não deu certo, ainda não mostra no registro do forms.

essa forma que voce explicou serve também para relacionamentos entre outras tabelas? no caso esse forms linkado é correspondente a outra tabela. eles só se relaciona

Sim serve para relacionar ‘passar’ parâmetros e ligar qualquer aplicação do Scriptcase.

Opa, Jaiton conseguir resolver a questão fazendo algo assim no evento OnLoad do forms
sc_lookup(dataset, “SELECT
id,
dt
FROM tb_prod_producao as P
WHERE id =’”.[glo_id_producao]."’");
{id} = {dataset[0][1]};
{Dt} = {dataset[0][2]};

e na grid após criar o campo imagrem html e definir ele, criei um evento ajax para armazenar minha global
[glo_id_producao] = {idtb_prod_producao};

Ok

Mas você não precisa usar o ‘Evento Ajax’ da Grid, normalmente na própria ligação
depois que você já colocou as variáveis globais na app destino ‘formulário’, na
hora que criar a ligação é só referenciar os campos da grid e relacionar nas globais de destino,
assim: