Ajuda para criar condição

Bom dia a todos

Estou precisando da ajuda de vocês no seguinte:

Estou fazendo um lançamento em outra tabela, até aqui tudo bem, a questão e que tenho uma condição SE CHEQUE - lança na tabela de CHEQUES. SE DINHEIRO lança no FLUXO DE CAIXA.

Vejam com esta a instrução que esta no evento ONAFTERINSERT

Estou colocando a função toda, poder ser que sirva para alguém no futuro.

sc_lookup(dadosvenda, "
SELECT
venda_veiculos.venda_id,
venda_veiculos.venda_data,
venda_veiculos.venda_cliente,
clientes.cli_nome
FROM
venda_veiculos INNER JOIN prazo_pagamento ON venda_veiculos.venda_id = prazo_pagamento.pz_venda_veiculos
INNER JOIN clientes ON venda_veiculos.venda_cliente = clientes.cli_id
WHERE
(pz_venda_veiculos = ‘{pz_venda_veiculos}’)
");
/* Erro no lookup /
if (empty({dadosvenda})) { /
EOF */
sc_error_message(“Tem alguma coisa errada,nenhum valor foi retornado pelo banco.
”);
} else {
{venda_id} = {dadosvenda[0][0]};
{venda_data} = {dadosvenda[0][1]};
{vendacliente} = {dadosvenda[0][2]};
{cli_nome} = {dadosvenda[0][3]};
[font=Verdana][b]
if ({tipo_pgto} === ‘C’)
{
sc_error_message(“Gravando registro no Cadastro de Cheques
”);

{dt_vencimento} = sc_date_conv({dt_vencimento},“dd/mm/aaaa”,“aaaa-mm-dd”);
sc_exec_sql(“INSERT INTO cheques (chq_dtcadastro,chq_cliente,chq_banco,chq_agencia,chq_num_conta,chq_numero,chq_valor,chq_vecto, chq_titular,chq_observacao,chq_status)
VALUES (’{venda_data}’,’{vendacliente}’,’{banco}’,’{agencia}’,’{num_conta}’,’{num_cheque}’,’{valor}’,’{dt_vencimento}’,’{cli_nome}’,‘Lancamento Venda Veiculos’,‘N’)”
);
}
else if ({tipo_pgto} === ‘D’)
{
sc_error_message(“Devera gravar no fluxo de caixa do dia
”);
}
[/b][/font]}

A parte que esta em vermelho é a minha questão. Não esta funcionando desse jeito. Na verdade não esta nem gravando mais na tabela de CHEQUES depois que coloquei essas condições.

Agradeço a ajuda de todos.

Forte abraço.

Use “==” no lugar de “===’.

if ({tipo_pgto} == ‘C’)

George Carvalho

Oi, fiz a alteração conforme sua dica, mas infelizmente não esta correto ainda.

Quando clico para gravar o registro ele grava no banco, mas não libera a tela para incluir o proximo registro. fico no modo de inclusão, a unica opção disponivel é excluir o registro.

Aguardo a ajuda

A dica que dei foi para o IF funcionar, não estou entendo o problema agora.

George Carvalho

Opa,

Não sei se entendi o último problema, mas após um insert no formulário ele permanece no registro atual, sendo necessário clicar no botão incluir / novo para adicionar uma nova entrada, e este botão precisa estar habilitado.

Se não me engano tem uma opção chamada “retornar após inclusão” que controla isso, mas tbm dá pra usar a macro sc_apl_conf no fim do evento onAfterInsert:

[tt]sc_apl_conf(‘nome_do_form’,‘start’,‘new’);[/tt]

Assim, após realizar um insert o form deverá ser aberto no modo de inclusão…

Espero ter ajudado.

Att.
Robson

Exatamente Robson, a função existe e se encontra em Formulário -> Barra de Ferramentas -> Opções : ative a opção “retornar após inclusão”

Brother, sei que já faz tempo que seu post foi criado, mas preciso de sua ajuda.
Me de algumas dicas de como vc montou seu banco de dados, estou criando o mesmo sistema e as mesmas condições.
Aguardo seu contato
Grato,
Tiago Sanches