14.04.2005, 04:30 | #1 |
Участник
|
Конфигуратор продукции - событийный вывод значения в диалоговом окне
Помогите решить проблему :
Есть две переменные в модели продукта - Pattern и Color. - Pattern может принимать значения A, B, AnyColor. - Color может принимать произвольное текстовое значение. Если для Pattern в диалоговом окне выбирается значение A, нужно переменной Color присваивать значение 'Green'. Однако я обнаружила, что простой кусок кода в модельном дереве: Color = 'Green'; не приводит к обновлению поля Color в диалоговом окне. Какой код необходим, чтобы обновлять поле Color в диалоговом окне (чтобы вывелось 'Green') при выборе 'A' в Pattern, да к тому же, чтобы при этом Color становился недоступным для редактирования? |
|
14.04.2005, 08:48 | #2 |
Участник
|
Попробуйте посмотреть "правила проверки" перменных
|
|
14.04.2005, 09:30 | #3 |
Участник
|
Попробовала, не получается. Какие в этой ситуации должны быть правила проверки?
|
|
14.04.2005, 09:42 | #4 |
MCTS
|
Для Pattern нужно поставить правило проверки После
в правиле нужно указать условие Pattern = 'A' затем нужно указать мероприятие, если "Истина" (нужно еще создать произвольное мероприятие если "Ложь", если необходимо, чтобы для Pattern можно было выбирать другое значение, кроме 'A') в мероприятии в поле переменная указываете переменную Color убираете галочку Разрешено редактирование нажимаете кнопку Значение в поле Тип указываете Значение в поле текст 'Green' |
|
14.04.2005, 11:31 | #5 |
Участник
|
ура, работает, спасибо! А почему значение в Default в модели продукта упорно не выводится для переменной при открытии диалогового окна? В чем здесь хитрость?
|
|
14.04.2005, 11:48 | #6 |
MCTS
|
Оно выводится, если откомпилировать модель и запустить диалоговое окно из строки заказа, а не по кнопке Тест модели
|
|
14.04.2005, 13:10 | #7 |
Участник
|
точно, работает. А почему возникает проблема с куском кода в модельном дереве?:
select firstonly InventTable where InventTable.ItemId == FA28; SA28 = InventTable.InventSizeId; пытаюсь присвоить переменной SA28 размер по умолчанию номенклатуры FA28 (ItemId). Система выдает ошибку, что переменная InventTable не объявлена. |
|
14.04.2005, 13:10 | #8 |
Участник
|
О, смотрю меня уже опередили....
Главное что все заработало |
|
14.04.2005, 13:14 | #9 |
Участник
|
А Вы переменную табличного типа определили? (В модели на закладке Таблица)
|
|
14.04.2005, 13:32 | #10 |
Участник
|
Спасибо, определила, теперь что-то с синтаксисом:
select firstonly InventTable InventTable.ItemID == FA28; SA28 = InventTable.InventSizeId; ругается на синтаксис |
|
14.04.2005, 13:46 | #11 |
Участник
|
Что-то глючу:
select firstonly InventTable where InventTable.ItemID == FA28; SA28 = InventTable.StandardInventSizeId; теперь ошибка This symbol cannot be used in scripts. Какой же это символ? |
|
14.04.2005, 14:03 | #12 |
Участник
|
Потусовала текст кода, он остался таким же, однако теперь работает.
Спасибо. |
|