Имя: Пароль:
1C
1C 7.7
v7: Интерактивный подбор элемента из ФормыСписка и параметр "ФлагИзменения"
,
0 Zhuravlik
 
20.02.13
10:39
Здравствуйте. Хочу выбрать элемент справочника из списка, из определенной группы, пользователь не должен иметь возможности менять группу. Использую вот такой код:

   спрКонтрагенты = СоздатьОбъект("Справочник.Контрагенты");
   Если спрКонтрагенты.НайтиПоНаименованию("Обратный груз", 0) = 1 Тогда
       грОбратныйГруз = спрКонтрагенты.ТекущийЭлемент();
   КонецЕсли;
   спрКонтрагенты.ВыборГруппы(0);
   спрКонтрагенты.ИспользоватьРодителя(грОбратныйГруз.ТекущийЭлемент(), 0);
   Если спрКонтрагенты.Выбрать("Выберите контрагента:",) = 1 Тогда
       глВзятьКонтекст(Контекст).Контрагент = спрКонтрагенты.ТекущийЭлемент();
       тзРедактор.Контрагент = спрКонтрагенты.ТекущийЭлемент();
   КонецЕсли;


Цитата из ЖКК:
"ИспользоватьРодителя(<?>,);
Синтаксис:
ИспользоватьРодителя(<Родитель>,<ФлагИзменения>)
Назначение:
Установить выборку  элементов по группе справочника.
Возвращает: значение текущей группы для справочника (на момент до исполнения метода).
Параметры:
<Родитель> - значение группы справочника, среди элементов которой делается выборка.
<ФлагИзменения> - необязательный параметр. Этим флагом регулируется возможность интерактивного изменения родителя. 1 - пользователь может изменить родителя интерактивно, 0 - пользователь не может интерактивно изменить родителя. Значение по умолчанию: 1. Данный параметр действует при интерактивном выборе элемента справочника - в случае, когда метод применен для элементов диалога типа ''Справочник''. Если метод применен для объекта, созданного функцией СоздатьОбъект, то данный параметр срабатывает при вызове метода **Выбрать**.



Но у меня доступна кнопка группы. Не пойму, что не так, подскажите?
1 1Сергей
 
20.02.13
10:40
(0) Что за кнопка группы?
2 Zhuravlik
 
20.02.13
10:42
(1) Ну, в системной панели формы списка, кнопка переключения режима иерархии. Желтая такая.
3 Ёпрст
 
20.02.13
10:44
(2) ИерархическийПросмотр(1,0)
4 Ёпрст
 
20.02.13
10:44
или иерархсписок, не помню, как там метод называется
5 antoneus
 
20.02.13
10:51
Процедура ПриВыбореРодителя()
   
   СтатусВозврата(0);
   
КонецПроцедуры
6 antoneus
 
20.02.13
10:52
+

Процедура ПриСменеИерархии()
   
   СтатусВозврата(0);
   
КонецПроцедуры
7 Zhuravlik
 
20.02.13
11:07
(3)(5)(6) Но это же все предпределенные в ФормеСписка, а мне именно в "Выбрать" нужно запретить.
Сам справочник контров трогать не хочу.
Значит штатно - никак :(
Не хотел списком значений выбирать, там такая кнопка хорошая есть в контрах "Долги", да и выбирать из справочника удобнее...
8 Zhuravlik
 
20.02.13
11:08
+ сейчас еще подбором попробую, мож прокатит...
9 Zhuravlik
 
20.02.13
11:12
И в подборе не катит.
10 Ёпрст
 
20.02.13
11:18
(9) в подборе всё катит
11 Zhuravlik
 
20.02.13
11:21
(10) И можно запретить вкл/выкл режима иерархии? Не трогая сам справочник?
12 antoneus
 
20.02.13
11:21
в Выбрать() указываешь форму списка, свою можешь добавить, в конце концов.

и добавить одну процедуру - не очень-то "тронуть"
13 Zhuravlik
 
20.02.13
11:22
(12) Лучше обойдусь обработкой для выбора значения из списка) Чем типовые трогать.
Так чуть-почуть и получается болото из базы.
14 Ёпрст
 
20.02.13
12:09
(11) да
15 Ёпрст
 
20.02.13
12:10
через контекст формы делаешь что хочешь.
16 Zhuravlik
 
20.02.13
15:05
(15) Точно) Спасибо!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.