Имя: Пароль:
1C
1С v8
с клиента на сервер и обратно - теряется отображение данных
0 Stim
 
14.06.12
14:41
Описание: имеется док с управляемой формой. У него есть реквизит ВидОперации. У него стоит галочка "режим выбора из списка". я управляю списком выбора программно.

У документа заполнен реквизит ВидОперации (значение1). Если в приОткрытии() выполняется такой код:

Процедура ПриОткрытии()
элементы.видОперации.СписокВыбора.Очистить();
если    ВозвратИСТИНА()  Тогда
элементы.видОперации.СписокВыбора.Добавить(Перечисления.моеперечисление.Значение1);
   Конецесли;
КонецПроцедуры

Функция ВозвратИСТИНА()
Возврат ИСТИНА    
КонецФункции


то в поле видОперации документа не заполнен собственно вид операции. там отображается пустое значение.

Если код будет тот же самый, но функция ВозвратИСТИНА() будет выполняться на клиенте, то видОперации отобразится заполненным.

Почему так?
И как сделать так, чтобы ВозвратИСТИНА() выполнялась все же на сервере, и отображение данных при этом не страдало.
1 H A D G E H O G s
 
14.06.12
14:45
Ниче не понял.
2 Stim
 
14.06.12
14:46
(1) что именно не понятно?
3 H A D G E H O G s
 
14.06.12
14:47
(2) Кинь обработку, лениво моделировать
4 Mort
 
14.06.12
14:48
По опыту: Режим выбора из списка не стоит использовать с реквизитами.
5 Mort
 
14.06.12
14:49
Другое дело "быстрый выбор".
6 Stim
 
14.06.12
14:56
вот обработка

http://zalil.ru/33442512

простая, как 2 пальца. Если раскомменить "НаКлиенте", то видДоговора заполнится. если будет выполняться на сервере - то нет.
Нужно чтобы и вид договора заполнялся и проверка выполнялась на сервере.
7 Stim
 
14.06.12
15:02
+ делал для БП 3.0..
но можно выбрать любой тип перечисления в той базе УФ, в которой она открывается, изменив его и в коде
8 H A D G E H O G s
 
14.06.12
15:07
Ну бывает.
9 H A D G E H O G s
 
14.06.12
15:07
Не учли разработчики такой фигни
10 H A D G E H O G s
 
14.06.12
15:07
И не надо, ибо хрень.
11 Stim
 
14.06.12
15:08
(10) почему хрень? Нужно ограничить значения выбираемых реквизитов - это хрень?
12 acsent
 
14.06.12
15:09
во первых присозданиинасервере
во вторых насерверебезконтекста
13 acsent
 
14.06.12
15:09
за код в при открытии руки отрубать нещадно
14 Stim
 
14.06.12
15:15
(12) так?

&НаСервере
Процедура ПриСозданииНаСервере()
элементы.видОперации.СписокВыбора.Очистить();
если    ВозвратИСТИНА()  Тогда
элементы.видОперации.СписокВыбора.Добавить(Перечисления.моеперечисление.Значение1);
   Конецесли;
КонецПроцедуры

&НасерверебезКонтекста
Функция ВозвратИСТИНА()
Возврат ИСТИНА    
КонецФункции

не работает
15 H A D G E H O G s
 
14.06.12
15:16
СписокЗначений (ValueList)
ДоступныеЗначения (AvailableValues)
Использование:

Чтение и запись.
Описание:

Тип: СписокЗначений; Неопределено.
Применяется в случаях, когда требуется ограничить возможность задания значений для элементов списка некоторым подмножеством значений допустимого типа (если для списка установлено описание типа).
Неопределено - ограничения отсутствуют.
Установка этого свойства влияет на работу диалога редактирования списка значений, элементов управления "Таблица" и "Поле ввода" , связанных со списком значений, а также на программное добавление-вставку нового элемента списка значений и установку значений элементам списков.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
16 Stim
 
14.06.12
15:29
(15) точно!

формирую список доступных значений на сервере и передаю его элементу. Спасибо
17 Stim
 
14.06.12
15:42
а, ни фига не работает((
18 Stim
 
14.06.12
15:44
список выбора ограничивается доступными типами, но пользователю все равно доступны все значения для выбора