Amigos,
Apenas para registrar um fato que me tomou bastante tempo para resolver e que talvez venha a ajudar alguém.
Ambiente:
- Última atualização do SC 7 (18)
- Mysql
- Formulário Mestre x Detalhe
Situação:
- Criei um botão PHP onde TINHA o seguinte conteúdo:
$update_table = 'lancamentos';
$update_where = "venda_id = '{venda}'";
$update_fields = array(
"data = '{data_lanca}'",
"categoria = '{categoria}'",
"documento = '{num_nf}'",
"valor = '{total_venda}'",
"descricao = '{descricao}'",
);
$update_sql = 'UPDATE ' . $update_table
. ' SET ' . implode(', ', $update_fields)
. ' WHERE ' . $update_where;
sc_exec_sql($update_sql);
Ao executar não atualizava o campo data do banco. ficava “0000-00-00”
Precisei mudar para:
$data_convertida=sc_date_conv({data_lanca},"ddmmaaaa","db_format");
$update_table = 'lancamentos';
$update_where = "venda_id = '{venda}'";
$update_fields = array(
"data = '$data_convertida'",
"categoria = '{categoria}'",
"documento = '{num_nf}'",
"valor = '{total_venda}'",
"descricao = '{descricao}'",
);
$update_sql = 'UPDATE ' . $update_table
. ' SET ' . implode(', ', $update_fields)
. ' WHERE ' . $update_where;
sc_exec_sql($update_sql);
Imaginava que a conversão era automática, visto que estou dentro no SC. Mas acredito que por ser num “botão PHP” não se façam as conversões como se estivéssemos no ambiente.
Não testei outros formatos pois funcionou nesse ai.
Bom de qualquer forma foi resolvido. Perdi 2 horas. 
Espero que esse tópico ajude outros novatos.
[]s