Здравствуйте, реализую в форму подбора справочника "Номенклатура" в виде динамических кнопок в РМК, код не свой, я ещё начинающий))
При выборе товара, товар должен добавляться в корзину "Товары", как можно реализовать такую функцию как ещё доработать код?
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
КоличествоКнопокНоменклатурыПоШирине = 2;
НеОтображатьНоменклатуруБезПапок = Ложь;
РазмерШириныКнопокНоменклатуры = 25;
РазмерВысотыКнопокНоменклатуры = 4;
РазмерШрифтаКнопокНоменклатуры = 8;
ТекущийУровень = 0;
ТекущийРодитель = Справочники.Номенклатура.ПустаяСсылка();
Группа = Неопределено;
Индекс = 0;
ИндексГруппы = 0;
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Номенклатура,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.Наименование КАК Наименование,
| ВЫБОР
| КОГДА Номенклатура.Ссылка.Родитель = &ПустойРодитель
| ТОГДА 0
| КОГДА Номенклатура.Ссылка.Родитель.Родитель = &ПустойРодитель
| ТОГДА 1
| КОГДА Номенклатура.Ссылка.Родитель.Родитель.Родитель = &ПустойРодитель
| ТОГДА 2
| КОГДА Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель = &ПустойРодитель
| ТОГДА 3
| КОГДА Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель = &ПустойРодитель
| ТОГДА 4
| КОГДА Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = &ПустойРодитель
| ТОГДА 5
| КОГДА Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = &ПустойРодитель
| ТОГДА 6
| КОГДА Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = &ПустойРодитель
| ТОГДА 7
| КОГДА Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = &ПустойРодитель
| ТОГДА 8
| КОГДА Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = &ПустойРодитель
| ТОГДА 9
| КОГДА Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = &ПустойРодитель
| ТОГДА 10
| КОНЕЦ КАК Уровень,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| ЭтоГруппа УБЫВ,
| Наименование";
Запрос.УстановитьПараметр("ПустойРодитель", Справочники.Номенклатура.ПустаяСсылка());
ТЗНоменклатура .Загрузить(Запрос.Выполнить().Выгрузить());
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Уровень", 0);
Если НеОтображатьНоменклатуруБезПапок = Истина Тогда
ПараметрыОтбора.Вставить("ЭтоГруппа", Истина);
КонецЕсли;
НайденныеСтроки = ТЗНоменклатура.НайтиСтроки(ПараметрыОтбора);
ТекШрифт = Новый Шрифт( ,РазмерШрифтаКнопокНоменклатуры);
// ТекШрифт.Размер = РазмерШрифтаКнопокНоменклатуры;
Для Каждого Стр Из НайденныеСтроки Цикл
ТекИндекс = ОтсечьПробелы(Строка(ТЗНоменклатура.Индекс(Стр)));
ИмяКнопки = "Товар_" + ТекИндекс;
Если Группа = Неопределено ИЛИ Индекс >= КоличествоКнопокНоменклатурыПоШирине Тогда
ИндексГруппы = ИндексГруппы + 1;
Группа = Элементы.Добавить("Группа_" + ИндексГруппы, Тип("ГруппаФормы"), ЭтаФорма.Элементы.Группа2);
Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа.ОтображатьЗаголовок = Ложь;
Группа.Отображение = ОтображениеОбычнойГруппы.Нет;
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная;
Индекс = 0;
КонецЕсли;
Индекс = Индекс + 1;
//Сообщить(ИмяКнопки);
НоваяКоманда = ЭтаФорма.Команды.Добавить(ИмяКнопки);
НоваяКоманда.Действие = "ВыбранТовар";
НоваяКоманда.Отображение = ОтображениеКнопки.Текст;
НоваяКоманда.Заголовок = Стр.Наименование;
НоваяКнопка = Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"), Группа);
НоваяКнопка.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
НоваяКнопка.ИмяКоманды = НоваяКоманда.Имя;
НоваяКнопка.Высота = РазмерВысотыКнопокНоменклатуры;
НоваяКнопка.Ширина = РазмерШириныКнопокНоменклатуры;
НоваяКнопка.Шрифт = ТекШрифт;
Если Стр.ЭтоГруппа = Истина Тогда
НоваяКнопка.ЦветФона = WebЦвета.Желтый;
Иначе
НоваяКнопка.ЦветФона = WebЦвета.Бежевый;
КонецЕсли;
КонецЦикла;
СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);
КонецПроцедуры
Показать