Colocar Consulta dentro de Controle

Gostaria de saber se tem como colocar uma aplicação consulta dentro de uma aplicação controle, como se fosse um mestre detalhe.

No meu ver, nativamente do SC não.
Quando quero fazer isso, faço manual, não é muito complexo.

Sua consulta, vai querer apenas mostrar os dados de acordo com uma determinada ligação ou vai ter os botões de inserir, deletar alterar?

Somente apresentar, nada de edição. E gostaria de poder atualizar ou recarregar essa consulta através de algum evento meu.

Amigo,
Quando quero fazer esse tipo de controle, faço assim, segue alguns passos, vamos ver se ajuda:

paço 1: crio um bloco e um campo tipo label, coloco o campo label no bloco que criei, configuro o bloco para label acima.
paço 2: no onload do controle coloco um iframe no campo label e faço source do iframe buscando a grid, configuro o style do iframe de acordo com o desejado, como width, height e borda. No source do iframe já passo os valores que desejo usar como filtro via GET e trato os na grid.

Caso tenha alguma ou quiser mais detalhes, exemplos poste aqui.

Almeida, ajuda sim, mas não faço a mínima ideia de como colocar esse iframe, fazer o source é só colocar o src do iframe (ok) apontando para o index da aplicação consulta que quero, e o style é somente CSS (ok também), e o filtro ?mov_caixa_coc_id={coc_id}.

Precisava de uma ajuda com a questão de colocar o iframe, e veja se o restante está ok.

Valeu.

ex: codigo onload:

$valor = "meu parametro 1";
$valor2 = "meu parametro 2";
$link_consulta = "../minhaconsulta/minhaconsulta.php?param1=$valor&&param2=$valor2... etc"; //exemplo passando os valores via get para a consulta
{campo_label} = "<iframe style=\"width:100%;height:300px;border:none\" src=\"$link_consulta\" ></iframe>";

Se preferir pode definir uma variàvel global no evento onload do controle e use ela na consulta, ai nem precisa passar por link os parâmetros, mais tudo depende da necessidade.

E para recarregar o iframe é só mandar executar o comando novamente?

Tem diferentes formas de fazer, eu gosto de usar o Javascript, tiro o src do iframe e coloco novamente, para isso é preciso colocar um id no iframe para facilitar, ai você cria o metodo javascript e chama apartir do evento que quiser usando a função, sc_ajax_javascript(). Vou dar o exemplo do metodo javascript usando o id do iframe como “id_iframe_endrigo”.

Código do método JS:

var srcAnt, elemento;
elemento = document.getElementById('id_iframe_endrigo');
srcAnt = elemento.src;  //salva sorce anterior
elemento.src = 'about:blank'.
elemento.src = srcAnt;

PS: Tem várias formas, eu uso essa.
PS2: Por o código do iframe estar no onload sempre que carregar seu controle o iframe e recarregado.
PS3: Se quizer usar um parametro para passar um source no metodo também é interessante.

Valeu Almeida. Já estou fazendo testes aqui.

Não posso utilizar somente dessa forma pois irei mudar os parâmetros da consulta em alguns momentos.

Crie 1 parametro no metodo javascript que vai servir para passar os novos parametros.
Exemplo Método:

//parametro do metodo
@p1; //parametro_metodo vai ser passado a string dos novo link e  parâmetros do src.
@p1; //extrutura do parametro = link.php?param=valor&&param=valor... etc.

//codigo metodo
var elemento;
elemento = document.getElementById('id_iframe_endrigo');
elemento.src = p1;

Chamada do método js:

sc_ajax_javascript(
     'nome_do_metodo',
     array(
       '../link/link.php?parametros_get' //1o parametro do metodo.
     )
);

Pelos seus post vi que conhece o metodo sc_ajax_javascript, então creio que não terá problemas.

Estou montando o src em tempo de execução passando os parâmetros que preciso para o método do javascript.

Ficou muito bom o meu movimento de caixa. Fantástico.

Meu método PHP:

[code]/**

  • Calcula a data inicial e final de acordo com o tipo de controle utilizado, dia ou mês
    */
    $coc_id = {caixa_conta};
    $dt_ini = “”;
    $dt_fin = “”;
    if ( {tipo_mov} == “D” ) {
    $dt_ini = {data_mov};
    $dt_fin = $dt_ini;
    } else {
    $dt_ini = {mes_mov};
    $dia = sc_date_conv($dt_ini, “aaaa-mm-dd”, “dd”);
    $dia -= 1;
    $dt_ini = sc_date($dt_ini, “aaaa-mm-dd”, “-”, $dia, 0, 0);
    $dt_fin = sc_date($dt_ini, “aaaa-mm-dd”, “+”, 0, 1, 0);
    $dt_fin = sc_date($dt_fin, “aaaa-mm-dd”, “-”, 1, 0, 0);
    }

/**

  • Chama a função JavaScript para atualizar o iframe da consulta após a função AJAX
    */
    $js_func = ‘jsCarregaConsulta’;
    $js_pars = array($coc_id, $dt_ini, $dt_fin);

sc_ajax_javascript($js_func, $js_pars);
[/code]

Meu método JavaScript:

var srcAnt, elemento; elemento = document.getElementById('iframe_mov_caixa'); elemento.src = "../cad_movimento_caixa_lancamentos/cad_movimento_caixa_lancamentos.php?coc_id=" + coc_id + "&&lan_data_ini='" + dt_ini + "'&&lan_data_fin='" + dt_fin + "'";

Fiz praticamente da maneira que você explicou Almeida. Valeu mesmo, ficou muito bom, graças a sua ajuda.

Agora estou vendo que realmente não tem limites para o que eu posso fazer com o ScriptCase e PHP + JavaScript. (Quero ver na hora que eu chegar na NFS-e para certificado A3. rsrs)

Nunca desenvolvi com outra ferramenta, mais creio que entre todas o SC é o único que te da liberdade total, pois até agora não me limitou em nada.
Fico triste apenas com o suporte da NM.

Aqui um exemplo de consulta dentro de controle (sem iframe).

http://infinitusweb.net.br/pluginsc/7/pdv/FrenteCaixa

Códigos de produtos: 111, 211, 112, 101, 102, 120
901= cancela item
902= cancela venda
999= pagamento e fecha venda*
900= pagamento

  • Não terminado
    O modo debug esta ativo e a aplicação não está 100% funcional ainda.

O Debug: http://www.scriptcase.com.br/forum/index.php/topic,7422.msg35314.html#msg35314

Caraca Haroldo. Fantástico. Pena que para o PAF-ECF não é permitido aplicações Web. O meu PAF-ECF está homologado a nível nacional e todo em Delphi XE2.

As vezes crio alguma sem o uso de iframes também, mais muitas vezes prefiro o iframe que uso a prórpria do SC, ai não preciso desenhar o html na mão.

Ficou muito bom esse seu exemplo de frente-caixa.

O Leiaute na versão 3 vai permitir sim: CF-e : Cupom fiscal eletrônico, já é possível baixar o leiaute.

E mais:
O sistema pode estar numa vm localmente na máquina.

O que é exigido no ECF é que ao desconectar o terminal da rede a emissão do cupom deve continuar funcionando.

Fiz experiências com o ACBrMonitor, frente de caixa numa vm local, e esta vm sincronizando com o servidor central, foi super bem.