Добрый день,
Версия 1.9.2-771
Есть таблица, для нее определены вычисления, которые меняют значения полей записи при сохранении, по определенной формуле.
В данный момент в таблице более 1000 записей.
Возникла потребность сменить формулу вычислений в таблице.
Можно ли сделать так, чтобы программа сама для каждой записи запустила вычисления по новой формуле (чтобы обновить значение полей), или же придется в ручную открывать каждую запись и нажимать кнопку Сохранить?
И еще ситуация, аналогичная. Я добавляю в таблицу новое поле, значение которого формируется автоматически "вычислениями в таблице".
Как заполнить это новое поле в автоматическом режиме (иначе придется вручную открыть каждую из 1000 записей и нажать кнопку сохранить).
(использовать "вычисления в полях" не предлагать)
Вычисления в таблице (не в полях)
Автор kg0, 01 янв. 2011 22:30
Сообщений в теме: 5
#1
Отправлено 01 Январь 2011 - 22:30
#2
Отправлено 10 Январь 2011 - 11:11
А зачем собственно возникла необходимость принудительного пересчета значений полей? По идее пока пользователь не откроет запись с данным полем, ему без разницы что там хранится: старое или новое значение.
#3
Отправлено 10 Январь 2011 - 14:08
Разработчик (10.1.2011, 11:11) писал:
А зачем собственно возникла необходимость принудительного пересчета значений полей? По идее пока пользователь не откроет запись с данным полем, ему без разницы что там хранится: старое или новое значение.
Например, если есть поле, в котором хранится некий "код (идентификатор)", который формируется на основании значений других полей записи.
Код формируется по определенной формуле, которая не зависит от пользователя (а зависит от разработчика).
И при этом этот "код" используется в других таблицах через "связь".
Потом вдруг разработчик меняет формулу для "кода" и возникает необходимость сменить алгоритм генерации этого "кода" - и, соответственно, пересчитать значение во всех полях, где этот "код" хранится. Пользователь к этому никакого отношения не имеет.
#4
Отправлено 10 Январь 2011 - 14:28
Когда пользователь откроет поле с данным кодом (через поле связи, как вы пишите), тогда код у него и пересчитается. Необходимости открывать само исходное поле для пересчета значения нет.
#5
Отправлено 10 Январь 2011 - 15:19
Разработчик (10.1.2011, 14:28) писал:
Когда пользователь откроет поле с данным кодом (через поле связи, как вы пишите), тогда код у него и пересчитается. Необходимости открывать само исходное поле для пересчета значения нет.
Это касается только вычисляемых полей (т.е. полей, которые вычисляются при каждом отображении) ?
Как я писал изначально, мне бы очень хотелось избежать использования "вычисляемых полей" и использовать только "вычисления в таблице" (т.е. вычисления, которые происходят только при сохранении записи).
Это связано с тем, что я уже ранее обращался с проблемой быстродействия КБ и Вы мне тогда порекомендовали уменьшить кол-во записей в рабочих таблицах.
Уменьшить кол-во записей я не могу, поэтому пришлось перейти от использования "вычислений в полях" на "вычисления в таблице".
Поэтому у меня и возник такой вопрос - можно ли принудительно запустить таблицу на перерасчет...
#6
Отправлено 10 Январь 2011 - 15:35
Понятно, значит я Вас неправильно понял, думал речь идет о вычисляемых полях. В этом случае действительно может возникнуть проблема перерасчета. По всей видимости придется доработать программу на запрос перерасчета в случае изменения кода вычисления.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных













