Показать сообщение отдельно
Старый 22.12.2004, 20:43   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Что касается поиска - несколько способов было здесь

Список полей таблиц на базе конкретного 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(LedgerTableAccountName));

    
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");

Правда, надо еще как минимум поаккуратнее работать с нестроковыми типами, но это уже мелочи