// reading state
@co_call(par_area, par_class, "get", par_area=>par_area, par_class=>par_class, par_id=>par_id);
__GET_RETURNED_RECORDSET(corec)
state = cor_GetValueByName(cnx, corec, 0, "state");
prop_name = cor_GetValueByName(cnx, corec, 0, "prop_name");
prop_type = cor_GetValueByName(cnx, corec, 0, "prop_type");
// this is new prop
if(strcmp(state, "NEW")==0)
{
//changing state to INSYNC
@co_call(par_area, par_class, "update", par_area=>par_area, par_class=>par_class, par_id=>par_id, par_prop=>'"state"', new_value=>'"INSYNC"', version=>-1);
// getting sql_type
@co_getPropByName(par_area, '"meta_type"', prop_type, '"sql_type"');
sql_type = get_str;
// adding column to table
__CREATE_QUERY("ALTER TABLE co_%s_%s ADD COLUMN %s %s", par_area, par_class, prop_name, sql_type)
__SQL_EXEC
// getting class id
@co_filterByProp(par_area, '"meta_class"', '"id"', '"class_name"', par_class);
id_class = atoi(cor_GetValue(cnx, corec, 0, 0));
// refreshing view for this class
@co_call(par_area, '"meta_class"', "refreshView", par_area=>par_area, par_class=>'"meta_class"', par_id=>id_class);
}