Что касается поиска - несколько способов было здесь
Список полей таблиц на базе конкретного EDT
изменить можно например так:
PHP код:
static void Job2(Args _args)
{
DictTable dt;
DictField df;
str newvalue = "new'name";
str oldvalue = "old'name";
str execstr;
XppCompiler xppCompiler = new XppCompiler();
;
dt = new DictTable(tablenum(LedgerTable));
df = new DictField(tablenum(LedgerTable), fieldnum(LedgerTable, AccountName));
execstr = strfmt('void updatejob() {%1 t; update_recordset t setting %2 = "%3" where t.%4 == "%5";}',
dt.name(),
df.name(),
newvalue,
df.name(),
oldvalue);
info (execstr);
if (xppCompiler.compile(execstr))
{
info ("ok");
runbuf(execstr);
}
else
error ("error");
}
Правда, надо еще как минимум поаккуратнее работать с нестроковыми типами, но это уже мелочи