![]() |
Редактирование контура скриптом
Не могу понять как редактировать панель через скрипт.
Выделить и определить какую сторону сделал, а как редактировать не пойму. В справке пример брал, но у меня выдает ошибку по функции. Спасибо https://ibb.co/d9hMZ7 |
Цитата:
|
Добрый день. В форме имею
Window1.Material1 = Props.NewMaterial("1я ДВЕРЬ"); и числовое окно,значение которого предполагалось будет зависеть от Window1.Material1.SetActive(); Window1.ThickMaterial1=Window1.AktiveMaterial.Thic kness; if(Window1.ThickMaterial1.Value==10){ Window1.BNapl1.Value=Window1.LGProf.Value+15; не получается.(не считает) Добавлено через 12 минут Другими словами, для выбора формулы мне нужно привязаться к толщине материала Спасибо. |
Цитата:
Код:
Window1.BNapl1.Layout.Top = Window1.BNapl1.Layout.Top |
Прошу прощения, еще раз прошу помощи.
Для выбора формулы мне нужно считать толщину активного материала из таблицы "используемый материал".При смене материала на материал с другой толщиной меняется формула. Добавлено через 4 минуты В моем коде Window1.Material1.OnChange=function(){ Window1.Material1.SetActive(); Window1.ThickMaterial1=Window1.ActiveMaterial.Thic kness; if(Window1.ThickMaterial1.Value==10){ Window1.BNapl1.Value=Window1.LGProf.Value+15; Window1.BNapl1.Layout.Top=Window1.BNapl1.Layout.To p; }; } указывает на ошибку в 3й строке Спасибо. Добавлено через 2 минуты Но, наверное,мой код вообще не то. |
Цитата:
Window1.ThickMaterial1 = ActiveMaterial.Thickness; И еще одна странная вещь в вашем коде. Это как раз то же самое присвоение. Судя по коду, Window1.ThickMaterial1 - это числовое поле. Но в "ошибочной" строке вы пытаетесь записать толщину материала в переменную этого поля, из-за чего скрипт будет работать неверно. Подробное пояснение, почемуПосле выполнения присвоения в третьей строке, в переменной Window1.ThickMaterial1 будет находиться число (16, например). Следующим шагом идет проверка на равенство значений Window1.ThickMaterial1.Value (то есть 16.Value) и 10. У переменной Window1.ThickMaterial1 числовое значение, у которого, в свою очередь, свойство Value отсутствует. В итоге Window1.ThickMaterial1.Value вернет undefined и условие будет выглядеть так: if (undefined == 10). В итоге, это условие не будет никогда верным, но из-за особенностей JS, оно не является ошибочным, поэтому скрипт продолжит работу. [свернуть] Выход из этой ситуации следующий: третью строку необходимо исправить, чтобы она выглядела так: Window1.ThickMaterial1.Value = ActiveMaterial.Thickness; P.S На будущее: если скрипт выдает ошибку, связанную с вашим вопросом, неплохо было бы и текст ошибки тоже добавлять, ведь в ней сказано почти все, что нужно для поиска ошибки и причин ее возникновения. |
Цитата:
Спасибо большое. С Вашими поправками Цитата:
Цитата:
Вообще-то, мне это поле не нужно и в своем варианте Window1.ThickMaterial1.=ActiveMaterial.Thickness; я предполагал, что ThickMaterial1-переменная, принимающая значение толщины активного материала.А уже от этой переменной зависило if(Window1.ThickMaterial1.Value==10){ Window1.BNapl1.Value=Window1.LGProf.Value+15; Window1.BNapl1.Layout.Top=Window1.BNapl1.Layout.To p; Возможно ли обойтись без поля? Если нет,я его скрою, присвоив Visible-false Еще раз позволю себе повторить задачу,которую хотелось бы решить. 1)Объявить переменную,принимающую значение толщины активного материала. 2)при изменении материала,если толщина активного материала=10,запустить формулу Window1.BNapl1.Value=Window1.LGProf.Value+15; Window1.BNapl1.Layout.Top=Window1.BNapl1.Layout.To p; которая выводит результат вычисления в окно BNapl1. |
Цитата:
Код:
var thick = ActiveMaterial.Thickness; |
Спасибо огромное. Все заработало как хотелось.
Теорию я читаю,не просто тупо прошу выдать ответ.Просто доходит не так быстро как хотелось бы. Еще раз спасибо. Удачи. |
Добрый день.
Есть ли возможность имортировать через скрипт в Базис 8 данные из формата csv, например артикул1;длина1;ширина1;колво1 артикул2;длина2;ширина2;колво2 ... После импорта будут созданы панели с этими параметрами. |
Текущее время: 06:22. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
© 2007-2021 PROMEBEL