Closed admake closed 6 years ago
есть кнопка перезаполнения параметров фурнитуры, у неё cnstr !== 0 есть кнопка перезаполнения параметров изделия, , у неё cnstr === 0 в чём вопрос? Может, надо формулу подпроавить, а не код аккордеона?
Вычисляемый параметр добавлен во вкладку параметры фурнитуры, но из формулы параметра стек вызовов ведет именно в кнопку перезаполнения параметров изделия.
Для примера в dev система EUROLINE: окно, параметр: Признак прямоугольности контура
Еще раз. Хоть вычисляемый параметр и добавлен в Параметры фурнитуры, вычисляющая формула вызывается с кнопки обновить параметры во вкладке Свойства продукции
Код на кнопке обновить параметры в Фурнитуре такой:
case 'refill':
const {_obj} = this.stv._grid;
_obj.furn.refill_prm(_obj);
this.stv.reload();
break;
в _obj
объект Contour, но метод _refillprm ожидает другой состав аргументов:
refill_prm: {
value(ox, cnstr = 0) {
Отставить. Я не прав. У фурнитуры refill_prm({project, furn, cnstr})
. Дальше смотрю.
Вычисляемый параметр просто не существует при выполнении обновления параметров фурнитуры. Его проигнорируем здесь как вычисляемый https://github.com/oknosoft/windowbuilder/blob/c49a41ad9029a5e3c578c4357f8b8239c6ebb629/src/modifiers/catalogs/cat_furns.js#L154
this.selection_params.each((row) => {
aprm.indexOf(row.param)==-1 && !row.param.is_calculated && aprm.push(row.param)
});`
Евгений. Все не так получается. Параметр в фурнитуре влияет на расчет уже выбранного набора. А я хочу предварительно ограничить наборы фурнитур, недоступных в текущей геометрии.
Я не против, но при чем тут аккордеон рисовалки?
при чем тут аккордеон рисовалки?
Да уже совсем ни при чём. Я пытаюсь над задачей подумать шире, как вычисляемым параметром продукции повлиять список выбора фурнитур для разных контуров. Коммит отменю, но мне совет нужен.
Можно сделать неаккуратно - через текущий активный слой текущего проекта глобального объекта paper. Работать будет, но своей разрешающей подписи я под таким не поставлю. Чтобы советовать конкретно, надо вникать, а я почти в отпуске и ещё куча вопросов не закрыта.
Если будете делать через paper, не забудьте в формуле проверить его существование, чтобы в node не загнулось. Ваши формулы попадают в сервис рендеринга эскизов, который работает посредником при загрузке в упп. Кривые формулы могут эту загрузку парализовать.
Наверное, надо контекст вычисляемого параметра расширить, но это после 14-го.
Прошу обратить внимание. Я решаю задачу по связям параметров для ограничения фурнитур. В свою очередь хочу использовать вычисляемый параметр Признак прямоугольности контура, который сейчас всегда принимает только
{ cnstr: 0 }
и никак иначе.