Вычисляемое поле...

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Вычисляемое поле...

Сообщение n0where »

Доброе время суток.
Столкнулся с проблемой.
Задача: Необходимо добавить в интерфейс накладной в таблице спецификации вычисляемое поле, которое бы рассчитывалось по формуле "количество в спецификации x внешний атрибут из МЦ".

Как можно решить проблему?
через iExtAttr не получается
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Вычисляемое поле...

Сообщение Den »

Должно получаться. Покажите как пробуете
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Вычисляемое поле...

Сообщение n0where »

Через функцию doTXOGetExtAttr заработало.
Но при этом интерфейс логично стал тормозить. Есть другие варианты провернуть задачу другим способом.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5185
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Вычисляемое поле...

Сообщение edward_K »

1. doTXOGetExtAttr раньше требовал InitServTxo. Если вы сие делаете на каждой строке, то да.
Надо хотя бы простенькую докомпиляшку, чтобы запихать это в cmInit - будет слегка шустрее.
2. Лучше юзать докомпиляцию с добавлением AttrVal в логическую таблу с фиксой переменная == сAttrnam and coSpSopr == Attrval.wtable and SpSopr.Nrec == Attrval.cRec, вычислением поля в select if(isvalid(tnAttrVal) and isvalid(tnSpSopr),AttrVal.vDouble*SpSopr.Kol,0) (Fieldname=Cost2)
3. А уж это поле можно добавить и конфигуратором.
Ответить