|
проверка и возврат значения элемента формы | ☑ | ||
---|---|---|---|---|
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
|
передначаломизменения(выбора) + приизменении
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |