Ítens do mestre/detalhe já vindo abertos

Costumo fazer esse código, não sei se é o correto, mas costuma ajudar bastante para os ítens ja virem abertos.

É apenas a inserção do iten pai antes.

No menu você cria um ítem “Novo pedido” que envia para uma aplicação blank(na v4 pode ser controle) com o seguinte codigo:

$str_sql = “INSERT INTO venda (empregados_idempregados, data_venda, pago, enviado) VALUES (’”. [var_login] ."’, NOW(), ‘N’, ‘N’)";
sc_exec_sql($str_sql);

sc_lookup(rs, “SELECT LAST_INSERT_ID()”);

sc_redir(form_venda.php, idvenda={rs[0][0]});

É apenas a inserção e a passagem da chave primaria (pedido) para o formulario no sc_redir.
Obvio que o insert vai mudar de acordo a estrutura de cada banco (os not null) e o comando last_insert_id vai variar tambem de cada banco, para pegar a ultima chave inserida.
Esse exemplo de codigo é especificamente para MySQL.

Diogo, essa função garante que o ID do último registro inserido é o que você cadastrou, ou seja, ela garante que é na mesma transação?
Se não garantir, quando houver múltiplos acessos, ela retornará o último ID inserido, que não necessariamente será o do meu registro.

No meu caso, eu uso o SQLServer e a função que recupera o último ID é o @@identity.
Tens idéia de como posso recuperar o último0 degistro em uma transação como o banco citado?

o mysql garante sim que nao vai ter concorrencia e voce vai pegar o ultimo registro inserido usando auto incremento naquela sessão.

Para sql server:
http://msdn.microsoft.com/pt-br/library/ms190315.aspx

Oracle e postgres recomendo usar objetos de sequencia. Ai eh so utilizar nextval, curval …