Процедура ПриОткрытии()
ЗагрузитьКаталог();
КонецПроцедуры
Процедура ЗагрузитьКаталог()
// получаем макет
Макет = ПолучитьОбщийМакет("МакетКаталога");
HTML = Макет.ПолучитьТекст();
// запрос
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Ссылка,
| Наименование,
| Цена,
| Картинка
|ИЗ
| Справочник.Номенклатура";
Результат = Запрос.Выполнить().Выбрать();
HTMLТовары = "";
Пока Результат.Следующий() Цикл
Base64 = КартинкаВBase64(Результат.Картинка);
HTMLТовары = HTMLТовары +
"<div class=""card"" onclick=""selectItem('" + Строка(Результат.Ссылка) + "')"">" +
"<img class=""img"" src=""data:image/png;base64," + Base64 + """ />" +
"<div class=""name"">" + Результат.Наименование + "</div>" +
"<div class=""price"">" + Формат(Результат.Цена, "ЧДЦ=2") + " ₽</div>" +
"</div>";
КонецЦикла;
// вставляем товары в макет
HTML = СтрЗаменить(HTML, "%ТОВАРЫ%", HTMLТовары);
// выводим
Элементы.HTMLКаталог.ДокументHTML = HTML;
КонецПроцедуры
Функция КартинкаВBase64(Хранилище)
Если Хранилище = Неопределено Тогда
Возврат "";
КонецЕсли;
ДвоичныеДанные = Хранилище.Получить();
Если ДвоичныеДанные = Неопределено Тогда
Возврат "";
КонецЕсли;
Возврат СтрКодироватьBase64(ДвоичныеДанные);
КонецФункции
Процедура ВыбратьТовар(СсылкаСтрокой) Экспорт
Сообщить("Выбран товар: " + СсылкаСтрокой);
// сюда потом можно открыть карточку товара
КонецПроцедуры