Имя: Пароль:
1C
1С v8
проверка и возврат значения элемента формы
0 Andy MilkyWay
 
21.06.12
23:34
Я пока новичок в 1с, до этого программировал в Visual FoxPro. Там были стандартные средства проверки значения элемента формы (например, поля ввода) до правки When и после правки Valid. Если Valid возвращал ложь, то значение автоматически восстанавливалось в прежнее. Я что-то не могу найти похожего механизма в 1с и мои коллеги с бОльшим опытом - тоже. Подскажите, пожалуйста, как организовать возврат предыдущего значения (до правки) в элемент формы после его проверки в процедуре ПриИзменении?
1 1C-band
 
21.06.12
23:37
Либо использовать событие ОбработкаВыбора, либо запоминать старое значение в переменной.
2 zak555
 
21.06.12
23:37
на стороне сервера проверяй передЗаписью

МойРеквизит == Ссылка.МойРеквизит
3 zak555
 
21.06.12
23:38
лучше распиши для каких действий
4 Пеппи
 
21.06.12
23:45
(0) а как ты будешь проверять какое значение восстанавливать а какое нет?
5 acsent
 
22.06.12
00:09
для чиловых можно задать
6 Andy MilkyWay
 
22.06.12
00:11
Ситуация такая. Я открыл форму и ввел значение в поле ввода вручную. Предположим, что после проверки ПриИзменении значение оказалось подходящим. Теперь я повторно пытаюсь изменить значение вручную и теперь оно неправильно, после проверки надо вернуть то первое значение, что я уже ввел первый раз.
1) Если использовать ОбработкуВыбора, то это, как я понимаю, по окончании выбора из списка значений, а если пользователь сам вручную изменил значение, тогда же это не сработает?
2) Если использовать схему МойРеквизит == Ссылка.МойРеквизит - то это позволит сравнить со значением из базы данных, а если в текущем сеансе работы с формой уже было изменено значение и оно было правильным, а теперь пытается еще раз изменить, но теперь уже изменил неправильно - тогда эта схема тоже не сработает.
3) Можно, конечно, если значене неправильное, установить его равным пустой ссылке для данного значения, но это не совсем то, что хотелось.
7 Andy MilkyWay
 
22.06.12
00:13
Удивительно, неужели ни у кого не возникало подобной ситуации? Это же типичная ситуация, защита от дурака, как говорят
8 zak555
 
22.06.12
00:15
что в поле ?
9 Andy MilkyWay
 
22.06.12
00:15
в поле - ссылка на элемент справочника
10 zak555
 
22.06.12
00:16
ты может подробнее расписать

моежт тебе проверки и вовсе не нужны
11 Andy MilkyWay
 
22.06.12
00:20
подробнее. У меня поле, в котором выбирается маршрут для данного контрагента. Все маршруты хранятся в Справочнике. Привязка допустимых Маршрутов для конкретного контрагента - в регистреСведений. При открытии формы выбора я делаю отбор по СпискуЗНачений, который получаю запросом из регистра сведений. Но пользователь может указать маршрут по его коду просто вручную, а не выбором из списка, тогда я делаю проверку ПриИзменеии тоже запросом, есть ли такой маршрут для данного контрагента в регистре. Если "нет", то хотелось бы вернуть предыдущее значение маршрута, то что было правильным.
12 Andy MilkyWay
 
22.06.12
00:22
проверки нужны, потому что пользователь не должен выбрать произвольный маршрут, а только тот, который для него разрешен
13 zak555
 
22.06.12
00:32
(12) справочник маршруты большой ?
14 Andy MilkyWay
 
22.06.12
00:56
нет, справочник небольшой
15 razlagator
 
22.06.12
02:11
2) Если использовать схему МойРеквизит == Ссылка.МойРеквизит - то это позволит сравнить со значением из базы данных, а если в текущем сеансе работы с формой уже было изменено значение и оно было правильным

ЭлементыФормы.Реквизит.Значение , не?
16 Exspectator
 
22.06.12
02:14
Может убрать пользователю возможность указывать маршрут вручную без использования выбора из списка? )
17 Пеппи
 
22.06.12
08:45
(12) пользователю нужно показывать только те элементы справочника которые ему разрешены.
18 PiVa123
 
22.06.12
08:49
Для ручного ввода - события "ОкончаниеВводаТекста" и там показывать только то что доступно юзеру.

2Andy MilkyWay - Ник на foxclub скажи.
19 Andy MilkyWay
 
22.06.12
11:46
(18) ник на http://forum.foxclub.ru ник ae23
20 mikecool
 
22.06.12
11:49
передначаломизменения(выбора) + приизменении
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший