|
Как вызвать форму выбора справочника с запретом на изменение его данных? |
☑ |
0
Беата Смит
19.02.19
✎
18:20
|
На форме есть 2 поля. Тип, которое, допустим, может принимать только значения 1 и 0. И Адрес, которое является ссылкой на справочник Места.
Мне надо, чтобы когда тип = 1, поле Адрес открывало форму выбора справочника Места, но с запретом на добавление в справочник новых записей.
А когда тип = 0, открывалась бы уже полноценная форма выбора (с возможностью вносить изменения), но с действующими условиями отбора.
Вторую часть я пыталась делать так:
Форма = ПолучитьФорму("Справочник.Места.ФормаВыбора");
Форма.Список.Отбор.Контрагент.Значение = Объект.Контрагент;
//Форма.Список.Отбор.Контрагент.Ссылка указывать тоже пыталась и даже просто Форма.Список.Отбор.Контрагент
Форма.Список.Отбор.Контрагент.Использование = Истина;
Форма.Открыть();
Но выскакивает ошибка "Поле объекта не обнаружено (Контрагент)". На самой форме выбора, если что, поле такое есть.
Вопроса два. Что я, тупица, делаю не так. И как вообще реализовать первую часть задачи? В гугл не посылать. Там мне встречались только версии с установкой прав на запрет определенным пользователям редактировать справочник. Но мне-то только временный запрет нужен. Помогите, пожалуйста. Голова уже сломалась (
|
|
1
Вафель
19.02.19
✎
18:21
|
параметр "ТолькоПрсмотр"
|
|
2
Беата Смит
19.02.19
✎
18:41
|
(1) Я так делала:
СтандартнаяОбработка = Ложь;
Форма = ПолучитьФорму("Справочник.Места.ФормаВыбора");
Форма.ТолькоПросмотр = Истина;
Форма.Открыть();
Только кнопка "выбрать" вверху на панели пропадает, а при тыке в нужную строку открывается форма элемента, а не запись выбирается. Выбор данных из справочника, получается, надо как-то отдельно прописывать?
|
|
3
Беата Смит
19.02.19
✎
19:05
|
(2) Попробовала наудачу дописать:
Форма.РежимВыбора = Истина;
Разумеется, не сработало. Выскакивает ошибка "Поле объекта не обнаружено (РежимВыбора)" Меня преследует эта ошибка сегодня...
|
|
4
Беата Смит
20.02.19
✎
13:27
|
СтандартнаяОбработка = Ложь;
Если Тип = 1 Тогда
ЗначениеОтбора = Новый Структура("Контрагент", Объект.Контрагент);
ПараметрыВыбора1 = Новый Структура("Отбор", ЗначениеОтбора);
ОткрытьФорму("Справочник.Места.ФормаВыбора", ПараметрыВыбора1, Элемент);
Иначе
ФормаВыбора1 = ПолучитьФорму("Справочник.Места.ФормаВыбора",,Элемент);
ФормаВыбора1.ТолькоПросмотр = Истина;
ФормаВыбора1.Открыть();
КонецЕсли;
Вот так будет правильно, если вдруг кому-то потом помоэет.
|
|
5
sqr4
20.02.19
✎
13:28
|
(3) Режим выбора не у формы, а у динамического списка.
|
|
6
Ёпрст
гуру
20.02.19
✎
13:40
|
(5) это обычные формы
|
|
7
Serg_1960
20.02.19
✎
13:51
|
У автора вопрос типа "Как запретить редактировать записи в форме выбора списка".
|
|
8
Ник080808
20.02.19
✎
14:07
|
(2) Брехня.
ФормаВыбора = Справочники.Контрагенты.ПолучитьФормуВыбора("ФормаВыбора");
ФормаВыбора.ТолькоПросмотр = Истина;
//ФормаВыбора.РежимВыбора = Истина;
ФормаВыбора.Открыть();
Норм открыло и дает выбирать.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший