Имя: Пароль:
1C
1С v8
УТ 11
0 Renat11111
 
21.11.12
22:04
Сходу не осилил запрос.... Не могу понять зачем в модуле менеджера справочника организации вот эта процедура


Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
   
   ИспользоватьУправленческуюОрганизацию = ПолучитьФункциональнуюОпцию("ИспользоватьУправленческуюОрганизацию");
   
   Если НЕ ИспользоватьУправленческуюОрганизацию
       ИЛИ Параметры.Свойство("ВыборУправленческойОрганизации")
       ИЛИ Параметры.Свойство("ХозяйственнаяОперация")
       ИЛИ Параметры.Свойство("РежимВыбораВзаимосвязанныхОрганизаций") Тогда
       
       СтандартнаяОбработка = Ложь;
       Запрос = Новый Запрос(
       "
       |ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
       |    ОбособленныеПодразделения.ГоловнаяОрганизация КАК Ссылка
       |ПОМЕСТИТЬ ГоловныеОрганизации
       |ИЗ
       |    Справочник.Организации КАК ОбособленныеПодразделения
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ  РАЗРЕШЕННЫЕ
       |    Организации.Ссылка КАК Ссылка,
       |    Организации.Представление,
       |    Организации.Предопределенный,
       |    Организации.Наименование,
       |    ВЫБОР
       |        КОГДА Организации.ОбособленноеПодразделение
       |                ИЛИ ГоловныеОрганизации.Ссылка ЕСТЬ NULL
       |            ТОГДА ЛОЖЬ
       |        ИНАЧЕ ИСТИНА
       |    КОНЕЦ КАК ЭтоГоловнаяОрганизация,
       |    Организации.ОбособленноеПодразделение КАК ЭтоОбособленноеПодразделение,
       |    Организации.ГоловнаяОрганизация
       |ПОМЕСТИТЬ ДанныеОрганизаций
       |ИЗ
       |    Справочник.Организации КАК Организации
       |        ЛЕВОЕ СОЕДИНЕНИЕ ГоловныеОрганизации КАК ГоловныеОрганизации
       |        ПО Организации.Ссылка = ГоловныеОрганизации.Ссылка
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    ДанныеДляФильтрации.Ссылка,
       |    ДанныеДляФильтрации.Представление,
       |    ДанныеДляФильтрации.Предопределенный,
       |    ДанныеДляФильтрации.Наименование,
       |    ДанныеДляФильтрации.ЭтоГоловнаяОрганизация,
       |    ДанныеДляФильтрации.ЭтоОбособленноеПодразделение,
       |    ДанныеДляФильтрации.ГоловнаяОрганизация,
       |    ВЫБОР
       |        КОГДА ДанныеДляФильтрации.Ссылка <> &Организация
       |                И (ДанныеДляФильтрации.ЭтоГоловнаяОрганизация
       |                    ИЛИ ДанныеДляФильтрации.ЭтоОбособленноеПодразделение)
       |                И (&Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
       |                    ИЛИ (ДанныеДляФильтрации.Ссылка = &ГоловнаяОрганизация
       |                        ИЛИ ДанныеДляФильтрации.ГоловнаяОрганизация = &Организация
       |                        ИЛИ &ГоловнаяОрганизация <> ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
       |                            И ДанныеДляФильтрации.ГоловнаяОрганизация = &ГоловнаяОрганизация))
       |            ТОГДА ИСТИНА
       |        ИНАЧЕ ЛОЖЬ
       |    КОНЕЦ КАК Взаимосвязана
       |ПОМЕСТИТЬ ДанныеДляАльтернативнойФильтрации
       |ИЗ
       |    ДанныеОрганизаций КАК ДанныеДляФильтрации
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    ДанныеДляФильтрации.Ссылка КАК Организация,
       |    ДанныеДляФильтрации.Предопределенный,
       |    ДанныеДляФильтрации.Наименование,
       |    ДанныеДляФильтрации.Представление
       |ПОМЕСТИТЬ ДанныеДляОбщейФильтрации
       |ИЗ
       |    ДанныеДляАльтернативнойФильтрации КАК ДанныеДляФильтрации
       |ГДЕ
       |    &РежимВыбораВзаимосвязанныхОрганизаций = ""БезОбособленныхПодразделений""
       |    И ДанныеДляФильтрации.Ссылка <> &Организация
       |    И НЕ ДанныеДляФильтрации.ЭтоОбособленноеПодразделение
       |
       |ОБЪЕДИНИТЬ ВСЕ
       |
       |ВЫБРАТЬ
       |    ДанныеДляФильтрации.Ссылка,
       |    ДанныеДляФильтрации.Предопределенный,
       |    ДанныеДляФильтрации.Наименование,
       |    ДанныеДляФильтрации.Представление
       |ИЗ
       |    ДанныеДляАльтернативнойФильтрации КАК ДанныеДляФильтрации
       |ГДЕ
       |    (&РежимВыбораВзаимосвязанныхОрганизаций = ""ТолькоВзаимосвязанные""
       |                И ДанныеДляФильтрации.Взаимосвязана
       |            ИЛИ &РежимВыбораВзаимосвязанныхОрганизаций = ""ТолькоНеВзаимосвязанные""
       |                И НЕ ДанныеДляФильтрации.Взаимосвязана
       |                И ДанныеДляФильтрации.Ссылка <> &Организация)
       |
       |ОБЪЕДИНИТЬ ВСЕ
       |
       |ВЫБРАТЬ
       |    ДанныеДляАльтернативнойФильтрации.Ссылка,
       |    ДанныеДляАльтернативнойФильтрации.Предопределенный,
       |    ДанныеДляАльтернативнойФильтрации.Наименование,
       |    ДанныеДляАльтернативнойФильтрации.Представление
       |ИЗ
       |    ДанныеДляАльтернативнойФильтрации КАК ДанныеДляАльтернативнойФильтрации
       |ГДЕ
       |    &РежимВыбораВзаимосвязанныхОрганизаций = """"
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    ДанныеДляОбщейФильтрации.Организация
       |ИЗ
       |    ДанныеДляОбщейФильтрации КАК ДанныеДляОбщейФильтрации
       |ГДЕ
       |    НЕ((НЕ &ИспользоватьУправленческуюОрганизацию
       |                ИЛИ &ЗапрещенВыборУправленческойОрганизации)
       |                И ДанныеДляОбщейФильтрации.Предопределенный)
       |    И ДанныеДляОбщейФильтрации.Наименование ПОДОБНО &СтрокаПоиска
       |
       |УПОРЯДОЧИТЬ ПО
       |    ДанныеДляОбщейФильтрации.Наименование");
       
       // В параметрах выбора запрещен выбор управленческой организации
       ЗапрещенВыборУправленческойОрганизации = (Параметры.Свойство("ВыборУправленческойОрганизации") И НЕ Параметры.ВыборУправленческойОрганизации);
       СтрокаПоиска = ?(Параметры.СтрокаПоиска = Неопределено, "", Параметры.СтрокаПоиска);
       
       РежимВыбораВзаимосвязанныхОрганизаций = "";
       Если Параметры.Свойство("РежимВыбораВзаимосвязанныхОрганизаций") Тогда
           РежимВыбораВзаимосвязанныхОрганизаций = Параметры.РежимВыбораВзаимосвязанныхОрганизаций;
       ИначеЕсли Параметры.Свойство("ХозяйственнаяОперация")
           И Параметры.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВнутренняяПередачаТоваров Тогда
           РежимВыбораВзаимосвязанныхОрганизаций = "ТолькоВзаимосвязанные";
       КонецЕсли;
       
       Организация            = ?(Параметры.Свойство("Организация"), Параметры.Организация, Справочники.Организации.ПустаяСсылка());
       ГоловнаяОрганизация    = ОбщегоНазначения.ПолучитьЗначениеРеквизита(Организация, "ГоловнаяОрганизация");
       
       Запрос.УстановитьПараметр("ИспользоватьУправленческуюОрганизацию", ИспользоватьУправленческуюОрганизацию);
       Запрос.УстановитьПараметр("ЗапрещенВыборУправленческойОрганизации", ЗапрещенВыборУправленческойОрганизации);
       Запрос.УстановитьПараметр("СтрокаПоиска", СтрокаПоиска + "%");
       Запрос.УстановитьПараметр("РежимВыбораВзаимосвязанныхОрганизаций", РежимВыбораВзаимосвязанныхОрганизаций);
       Запрос.УстановитьПараметр("Организация", Организация);
       Запрос.УстановитьПараметр("ГоловнаяОрганизация", ГоловнаяОрганизация);
       
       ДанныеВыбора = Новый СписокЗначений;
       ДанныеВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Организация"));
       
   КонецЕсли;
   
КонецПроцедуры
1 zak555
 
21.11.12
22:05
фильтр по организациям ?
2 Renat11111
 
21.11.12
22:06
Есть предопределенный элемент Он не попадает в результат запроса.... понятно дело в условии, накладываемое в запросе, просто хоть убей не могу понять зачем все это нужно было разоаботчикам ут
3 Renat11111
 
21.11.12
22:06
(1) можно чуточку поподробней?
4 Hans
 
21.11.12
22:14
(3) в зависимости от настроек программы. от того откуда вызывается процедура формируется список доступных организаций для выбора. Предопределенный элемент видимо управленческая организация. Видимо ФО надо включить чтоб попадала.
5 Renat11111
 
21.11.12
22:16
(4) ага я уже сам допер.... просто делать такую херн... токо для того, чтобы через ФО определять использовать или нет управл организацию это пиз..ц
6 Hans
 
21.11.12
22:19
(5) в УТ 11 во многих местах так. Простые вещи стали неоправданно сложными.
7 Renat11111
 
21.11.12
22:21
всем спасибо.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс