0
Отвечен

Фиксация результата в таблице дополнительных данных

Игорь Шалдин 3 года назад в Прочее обновлен Гашков Николай (Эксперт) 3 года назад 10

В продолжение темы Вызов скрипта из допсправочника.

Добавил в тарификацию столбец "Ввод данных для расчета кл.рук-ва ". При активации ячейки в этом столбце появляется панель запроса для ввода данных, которые затем записываются одной строкой в активированную ячейку, после чего "встают" в соответствующие столбцы таблицы:

Image 6054

И всё бы хорошо, но данные в столбце "Ввод данных для расчета кл.рук-ва" не сохраняются при выходе/входе в таблицу, или при её перерасчете. Чтобы зафиксировать результат, добавил в таблицу столбец "__Fixed" :

Image 6055

После чего, при активации ячейки в столбце "Ввод данных...." стало появляться сообщение об ошибке:

Image 6056

Да, действительно, точно такой же столбец уже есть. Он нужен для фиксации полученного из КЧ значения Коэфф. занятости. 

Но в руководстве сказано, столбцов-"фиксаторов" может быть сколько угодно. И это действительно было так, пока в таблице не появился столбец, в который выводится результат работы скрипта.

Почему так, и как можно побороть?


Таблица доп.данных:Tabl1.Sum

Скрипт:kl_ruk.s

На рассмотрении

Добрый день.

И всё бы хорошо, но данные в столбце "Ввод данных для расчета кл.рук-ва" не сохраняются при выходе/входе в таблицу, или при её перерасчете

А зачем у этого столбца функция расчета "return str;"?

В поставочной тарификации у "фиксаторов" такая настройка

Совпадает с вашей?

(можно же просто скопировать столбец из поставочной таблицы и вставить в вашу..)

А зачем у этого столбца функция расчета "return str;"?

М.б. я что-то не так делаю, но идея была такая:

Ф-я предварительной обработки #return kl_ruk(); запускает скрипт, результат работы которого записывается в переменную str.

Ф-я расчета return str; записывает значение переменной str в ячейку столбца "Ввод данных для расчета кл.рук-ва".

В поставочной тарификации у "фиксаторов" такая настройка
Совпадает с вашей?

Да. В таблице таких "фиксаторов" несколько. Они ни как не конфликтовали до появления столбца "Ввод данных для расчета кл.рук-ва" с вышеуказанными ф-ми расчета и предв. обработки.

М.б. я что-то не так делаю:

Просто уберите вот это из "функции расчета"

значение в столбец "Ввод данных для расчета кл.рук-ва" вам запишет функция предв. обработки "#return kl_ruk();"

результат работы которого записывается в переменную str.

Переменная str локальная и за пределами функции она не существует.

Рано обрадовался...

Теперь данные в столбце сохраняются без "фиксации".

Но по-прежнему, после добавления функции предварительной обработки, вызывающей скрипт, если столбцов-"фиксаторов" в таблице два и более, м-ду ними возникает конфликт "дублирование имени"

в __Fixed можно добавлять любые окончания имени, например   __Fixed2

Сервис поддержки клиентов работает на платформе UserEcho