Gerar lançamento em outra tabela

(Paulo (ClickInformatica)) #1

Bom dia a todos
Estou com dificuldade no seguinte:
Tenho um mestre x detalhe, gerando entrada em estoque tudo funcionando, com ajuda do pessoal do forum.
A questão e que criei ou formulario filho para informar os vencimentos e valores da referida entrada.
O problema:

Preciso lançar essas informações em outra tabela, só que preciso também pegar informações do form principal (pai).

Ex: Pai

Cod.Fornecedor
CCusto
Vlr total pedido

Na tabela parcelas

Dt. vencimento
Vlr parcela

Daí o que preciso é que quando informar o vencimento e a parcela ele lançe essa informação no contas a pagar – pegando tb os dados do form pai.

Agradeço a todos que ajudarem
Paulo José
Garanhuns - PE

(Rodrigo Lins) #2

Bom Dia,

Pelo que entendi, você está na aplicação “filha” e precisa pegar algumas informações do “pai”, para colocar em uma outra tabela estas informações…
Sendo assim, você poderá utilizar a macro sc_lookup para fazer um SELECT na tabela “Pai”, passando o código corretamente e pegando os valores necessários. Depois disso, você poderia estar utilizando a macro sc_exec_sql para fazer o ‘Insert’ na tabela desejada.

Creio que seja mais ou menos isto que você deseja. Segue abaixo os links do manual correspondentes às macros, caso nunca tenha utilizado elas.

http://www.scriptcase.com.br/scriptcase4_pt_br/doc/manual_mp/80-Apendice/08-Programacao/01-Macro_sc/00-macros_sc.htm#sc_lookup

http://www.scriptcase.com.br/scriptcase4_pt_br/doc/manual_mp/80-Apendice/08-Programacao/01-Macro_sc/00-macros_sc.htm#sc_exec_sql

Rodrigo Lins.

(Paulo (ClickInformatica)) #3

Olá, exatamente isso, vejo o código que fiz:

/* Macro sc_lookup */
sc_lookup(resultado, "
SELECT
ent_num_nf,
ent_dt_nota,
ent_fornecedor,
ent_obs,
ent_ccusto
FROM
entrada
WHERE
(ent_id = ‘{ent_id}’)
");

/* Erro no lookup /
if (FALSE === {resultado}) {
sc_error_message(“Ocorreu um erro no acesso ao banco de dados.
”);
}
elseif (empty({resultado})) { /
EOF /
sc_error_message(“Nenhum valor foi retornado pelo banco.
”);
}
else {
$ent_num_nf = {resultado[0][0]};
$ent_dt_nota = {resultado[0][1]};
$ent_fornecedor = {resultado[0][2]};
$ent_obs = {resultado[0][3]};
$ent_ccusto = {resultado[0][4]};
/
Inclua aqui sua rotina de processamento /
}
/
Macro sc_exec_sql */
sc_exec_sql("INSERT INTO contas
(cont_data, cont_dtvencimento,cont_numnota, cont_ccusto,cont_cliente,cont_parcela,cont_valor,cont_obs,cont_pago)
VALUES
(’$ent_dt_nota’,{ent_dt1],’$ent_num_nf’,’$ent_ccusto’,’$ent_fornecedor’,1,{ent_vlr1},’$ent_obs’,‘N’)
);

Coloquei isso em um método, e coloquei para chamar no evento OnAfterInsert,
O problema e que isso não grava, não esta gravando na tabela contas.

Conto a ajuda de todos
Grato
Paulo José

(Haroldo) #4

Observe seu código, tem um erro no INSERT: ,{ent_dt1],