06.03.2008, 13:48 | #1 |
Участник
|
Как запретить заполнять поле таблицы?
Короче ситуация такая. У меня есть таблица. мне нужно сделать так, чтоб поле Field1 нельзя было бы заполнить, пока в поле Field2 не выбрано нужное мне значение из перечисления. как сделать незнаю, опыта нет.
|
|
06.03.2008, 13:53 | #2 |
Участник
|
ValidateField? а че в нем надо написать?
|
|
06.03.2008, 14:07 | #3 |
Участник
|
Это нужно детально проанализировать задание, но как вариант попробуй это:
X++: Datasource_ds.object(fieldNum(DataTable, Field1)).allowEdit(); |
|
06.03.2008, 14:08 | #4 |
Мрачный тип
|
Проверяйте входной параметр на на совпадение с идентификатором нужного поля и там дальше проверку.
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
06.03.2008, 14:22 | #5 |
Участник
|
Зависит от того, что будет в поле Field1. Если это внешний ключ - ссылка на другую таблицу, то может быть достаточно настроить relation с типом Поле ссылки фиксировано.
|
|
06.03.2008, 14:28 | #6 |
Аманд
|
Чисто консультантские "5 копеек":
Выглядит странно, значение 2 зависит от значения 1 и должно вводиться после ввода 1. Расскажите весь процесс, интересно. |
|
06.03.2008, 14:32 | #7 |
Участник
|
Didukh84, ты не понял меня. А я не понял что сказал тасманский дьявол.
В общем у меня нет никаких форм, датасорсов, initов и excuteQueryров. ничего этого нет. есть только одна таблица. на ней есть куча полей. Среди них есть поле field2(Enum) и поле Field1(неважно какое, пусть будет real). так вот мне нужно чтобы ниче нельзя было записать в поле Field1, если Field2 не стоит в нужном мне EnumValue/ щас понятно? |
|
06.03.2008, 14:47 | #8 |
Участник
|
да там никаких секретов. просто поле Field1 - это цена. А поле Field2 это перечесление всякой ерунды. и надо что только когда мы установим field2 в значение item можно было вбить цену, а иначе чтоб поле было как-нить запрешено чтоли. Потому что для других значений цену устанавливать нелогично
|
|
06.03.2008, 15:00 | #9 |
MCTS
|
Ну например вот так
X++: public boolean validateField(fieldId field) { boolean ret; ret = super(field); if (ret) { switch(field) { case fieldnum(Table1, Factor) : if(this.ItemId == '000000000002') ret = true; else ret = false; break; } } return ret; }
__________________
В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
06.03.2008, 15:01 | #10 |
Участник
|
Не понятно: таблица ведь заполняется из формы. Почему нельзя пользоваться возможностями формы?
|
|
06.03.2008, 15:18 | #11 |
Участник
|
Тема закрыта. сделал.
|
|