[RESOLVIDO] - Macro sc_lookup

Olá gente, estou começando no script case e na aplicação que estou tentando desenvolver possuir o campo CPF… se eu digitar gostaria que já trouxesse nos demais campos como NOME DO CLIENTE, EMAIL e etc o que já tem cadastrado.

Um outra situação é, caso não esteja cadastrado, para abrir uma mensagem informando que o cliente não está cadastrado.

Me orientaram a criar uma Macro sc_lookup, só que já vi a documentação e mesmo assim estou super confusa… Será que conseguem me dar uma luz ou um exemplo prático para conseguir entender a dinâmica?

Muito Obrigada1

Campo CPF:
Exemplo de um campo Texto Auto Complete, no filtro:

SELECT clienteId, CONCAT(clienteId, ’ | ', nome, ’ | ‘, fantasia,’ | ', cpf, ’ | ', cidade, ’ | ', email)
FROM clientes
WHERE userCod != ‘10’
ORDER BY clienteId, nome, fantasia

Na outra situação, depois tentarei posta exemplo.

Para outra situação, se não existir cadastro do cliente consultado, ele não aparecerá no campo Auto Complete.

Siatuação no formulário, Evento Ajax, campo cnpj, onChange:

if(!empty({cnpj})) {
sc_lookup(conclie,“select nome, cnpj, endereco from clientes where cnpj=’{cnpj}’”);
$nome={conclie[0][0]};
$cnpjconf={conclie[0][1]};
$endereco={conclie[0][2]};
if(!empty($cnpjconf)) {
sc_error_message("".$cnpjconf." - “. “existe para:
”.$nome.”
");
sc_set_focus(‘cnpj’);
//{cnpj}=’’;

	}

}

1 Curtida

Olá consegui fazer!

Muito Obrigada!

Consegui fazer, utilizei o seguinte processo para ajudar quem está com dúvida como eu tive!

  1. Criei um novo evento AJAX no campo Codigo do Cliente
  2. Criei a Macro SC_LOOKUP da seguinte forma:

/*

  • Esta macro executa o comando SELECT informado no segundo parâmetro e retorna os dados em uma variável.
    */
    $ticketvar = {ticket}; – Declarei a variavel
    sc_lookup(variavel,“select a.VENDEDOR, b.VENDEDOR_APELIDO, a.QTDE_TOTAL, a.VALOR_TIKET from LOJA_VENDA a inner join LOJA_VENDEDORES b on a.VENDEDOR = b.VENDEDOR WHERE a.ticket = ‘$ticketvar’”); – fiz o select filtrando os dados da variável

– Estes são os campos que precisa preencher, ou seja, no meu campo no SC chamado VENDEDOR, ele vai trazer a primeira informação do select e assim por diante!
{vendedor} = {variavel[0][0]};
{vendedor_apelido} = {variavel[0][1]};
{qtde_total} = {variavel[0][2]};
{valor_total} = {variavel[0][3]};

Espero ter ajudado!
Abço!

1 Curtida

Evite Joins no SC…use views… terás problemas no futuro…

Olá Ricardo,

Também sou novo no Scriptcase e fiquei curioso sobre qual o problema de usar Joins nele. Isso poderia afetar a performance da aplicação é isso?

Joins é uma coisa Views outra.

Views podem ser compostas por Joins.

A questão é usar uma visualização para simplificar a escrita da instrução ou usar a instrução diretamente: Usar a instrução diretamente sempre é mais rápido do que usar Visualização.

Views usamos apenas quando a instrução SQL se tora tão complexa que o SC se perde nela causando erros.

Minha orientação é utilizar Views sempre em último caso.