Структура справочника
08.08.2011
09:53
#21
"вот, типа, "наброска"! Сразу предупреждаю, что я в этом не бум-бум! 
//В документе:
Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФлагСтандОбр)
Если ИдентЭлемДиалога = "ТорговаяТочка" Тогда
ФлагСтандОбр=0;
Параметры = СоздатьОбъект("СписокЗначений");
Если ВыбрРодитель.Выбран() = 1 Тогда // поле на форме
Параметры.ДобавитьЗначение(ВыбрРодитель, "ВыбрРодитель");
Иначе
Параметры.ДобавитьЗначение("""", "ВыбрРодитель");
КонецЕсли;
Параметры.ДобавитьЗначение(флРазрешитьВыбор, "Выбор"); // флаг на форме
ОткрытьФорму("Справочник.МестаХранения.ФормаСписка", Параметры);
КонецЕсли;
КонецПроцедуры
//В справочнике Справочник.МестаХранения.ФормаСписка:
Процедура ПриОткрытии()
Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
Если ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений" Тогда
Параметры = Форма.Параметр;
ВыбрРодитель = Параметры.Получить("ВыбрРодитель");
Если ПустоеЗначение(ВыбрРодитель) = 0 Тогда
Если ТипЗначенияСтр(ВыбрРодитель) = "Справочник" Тогда
Если (ВыбрРодитель.Вид() = Вид()) И (ВыбрРодитель.ЭтоГруппа() = 1) Тогда
ИспользоватьРодителя(ВыбрРодитель, флРазрешитьВыбор);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры"
//В документе:
Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФлагСтандОбр)
Если ИдентЭлемДиалога = "ТорговаяТочка" Тогда
ФлагСтандОбр=0;
Параметры = СоздатьОбъект("СписокЗначений");
Если ВыбрРодитель.Выбран() = 1 Тогда // поле на форме
Параметры.ДобавитьЗначение(ВыбрРодитель, "ВыбрРодитель");
Иначе
Параметры.ДобавитьЗначение("""", "ВыбрРодитель");
КонецЕсли;
Параметры.ДобавитьЗначение(флРазрешитьВыбор, "Выбор"); // флаг на форме
ОткрытьФорму("Справочник.МестаХранения.ФормаСписка", Параметры);
КонецЕсли;
КонецПроцедуры
//В справочнике Справочник.МестаХранения.ФормаСписка:
Процедура ПриОткрытии()
Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
Если ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений" Тогда
Параметры = Форма.Параметр;
ВыбрРодитель = Параметры.Получить("ВыбрРодитель");
Если ПустоеЗначение(ВыбрРодитель) = 0 Тогда
Если ТипЗначенияСтр(ВыбрРодитель) = "Справочник" Тогда
Если (ВыбрРодитель.Вид() = Вид()) И (ВыбрРодитель.ЭтоГруппа() = 1) Тогда
ИспользоватьРодителя(ВыбрРодитель, флРазрешитьВыбор);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры"
08.08.2011
10:03
#24
"Отбор["Код"].ВидСравнения =
?(Код.ЭтоГруппа,
ВидСравнения.ВСпискеПоИерархии,
ВидСравнения.Равно);"
?(Код.ЭтоГруппа,
ВидСравнения.ВСпискеПоИерархии,
ВидСравнения.Равно);"
08.08.2011
10:04
#25
не о "переносе" речь! Если это, действительно, возможно в семерке, то уж в 8-ке, думаю, "и подавно"? Или я не прав?
08.08.2011
13:52
#27
"Может так?
На 8.2 не пробовал, тем более на управляемых формах."
Процедура ПриОткрытии() СписокГрупп = Новый СписокЗначений; // Любым способом определяем группы, которые не надо видеть, т.е. "скрыть часть его структуры", например... СписокГрупп.Добавить(Справочники.КакойТоСправочник.НайтиПоКоду("000000004")); Отбор.Ссылка.Видсравнения = ВидСравнения.НеВСпискеПоИерархии; Отбор.Ссылка.Значение = СписокГрупп; Отбор.Ссылка.Использование = Истина;КонецПроцедуры На 8.2 не пробовал, тем более на управляемых формах."
Читают тему
(гостей: 1)