Форма выбора с отбором по запросу
Код на форме выбора:
|
1 2 3 4 5 |
&НаКлиенте Процедура ПриОткрытии(Отказ) // Запретим удалять строки кнопкой Delete Элементы.Список.ИзменятьСоставСтрок = Ложь; КонецПроцедуры |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка, | Номенклатура.Наименование КАК Наименование, | ВидыНоменклатуры.Ссылка КАК ВидНоменклатуры |ИЗ | Справочник.Номенклатура КАК Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры КАК ВидыНоменклатуры | ПО (НоменклатураЕРП.ВидНоменклатуры = ВидыНоменклатуры.Ссылка) |ГДЕ | Номенклатура.ВидНоменклатуры.Ссылка = ВидыНоменклатуры.Ссылка | И ВидыНоменклатуры.Родитель.Наименование = ""Документация"" |"; РезультатЗапроса = Запрос.Выполнить(); ТЗ_Запроса = РезультатЗапроса.Выгрузить(); СписокИзЗапроса = ТЗ_Запроса.ВыгрузитьКолонку("Ссылка"); ОтборПоГруппе = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборПоГруппе.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка"); ОтборПоГруппе.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ОтборПоГруппе.ПравоеЗначение = СписокИзЗапроса; // Убираем иерархию ЭтаФорма.Элементы.Список.Отображение = ОтображениеТаблицы.Список; КонецПроцедуры |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
&НаСервере Процедура ВидыНоменклатурыПриИзмененииНаСервере(ВидНом) Список.Отбор.Элементы.Очистить(); Список.УсловноеОформление.Элементы.Очистить(); СтандартнаяОбработка = Ложь; // 1 часть Стираем ОтборПоГруппе = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборПоГруппе.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидНоменклатуры"); ОтборПоГруппе.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборПоГруппе.ПравоеЗначение = ВидНом; ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить(); ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь); // 2 часть Рисуем ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить(); ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Истина ); ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Отображать",Истина ); ОтборПоГруппе = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборПоГруппе.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидНоменклатуры"); ОтборПоГруппе.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборПоГруппе.ПравоеЗначение = ВидНом; КонецПроцедуры |
|
1 2 3 4 5 6 7 8 |
&НаКлиенте Процедура ВидыНоменклатурыПриИзменении(Элемент) ВидНом = ЭтаФорма.ВидыНоменклатуры; ВидыНоменклатурыПриИзмененииНаСервере(ВидНом); КонецПроцедуры |


Комментарии закрыты