Загрузка данных


Процедура ЗагрузитьКаталог()

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
        Номенклатура.Ссылка КАК Ссылка,
        Номенклатура.Наименование КАК Наименование,
        Номенклатура.Цена КАК Цена,
        Номенклатура.Картинка КАК Картинка
     ИЗ
        Справочник.Номенклатура КАК Номенклатура";

    Результат = Запрос.Выполнить().Выбрать();

    HTML = "
    <html>
    <head>
    <style>
        body { font-family: Arial; margin:0; padding:10px; }
        .grid {
            display: flex;
            flex-wrap: wrap;
        }
        .card {
            width: 48%;
            margin: 1%;
            border: 1px solid #ddd;
            border-radius: 10px;
            padding: 10px;
            box-sizing: border-box;
            text-align: center;
        }
        .card img {
            width: 100%;
            height: 120px;
            object-fit: contain;
        }
        .name {
            font-size: 14px;
            margin: 5px 0;
        }
        .price {
            font-weight: bold;
            color: green;
        }
    </style>
    </head>
    <body>
    <div class='grid'>
    ";

    Пока Результат.Следующий() Цикл

        КартинкаBase64 = "";

        Если НЕ Результат.Картинка = Неопределено Тогда
            КартинкаBase64 = ПолучитьBase64(Результат.Картинка);
        КонецЕсли;

        HTML = HTML + "
        <div class='card'>
            <img src='data:image/png;base64," + КартинкаBase64 + "' />
            <div class='name'>" + Результат.Наименование + "</div>
            <div class='price'>" + Формат(Результат.Цена, "ЧДЦ=2") + " ₽</div>
        </div>";
    
    КонецЦикла;

    HTML = HTML + "
    </div>
    </body>
    </html>";

    Элементы.HTMLКаталог.ДокументHTML = HTML;

КонецПроцедуры