Доброе время суток.
Столкнулся с проблемой.
Задача: Необходимо добавить в интерфейс накладной в таблице спецификации вычисляемое поле, которое бы рассчитывалось по формуле "количество в спецификации x внешний атрибут из МЦ".
Как можно решить проблему?
через iExtAttr не получается
Вычисляемое поле...
Модераторы: m0p3e, edward_K, Модераторы
Вычисляемое поле...
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Вычисляемое поле...
Должно получаться. Покажите как пробуете
Re: Вычисляемое поле...
Через функцию doTXOGetExtAttr заработало.
Но при этом интерфейс логично стал тормозить. Есть другие варианты провернуть задачу другим способом.
Но при этом интерфейс логично стал тормозить. Есть другие варианты провернуть задачу другим способом.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Вычисляемое поле...
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. А уж это поле можно добавить и конфигуратором.
Надо хотя бы простенькую докомпиляшку, чтобы запихать это в 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. А уж это поле можно добавить и конфигуратором.