Учебный курс: Подготовка на 1С:Специалист по платформе 1С:Предприятие 8.3
Решение задач по управляемым формам – тема № 15:
Как организовать хранение картинок товаров во внешних файлах на диске, а также их отображение на форме
Файлы изображений могут быть достаточно объемными, поэтому их хранение в базе может привести к сильному увеличению размеров информационной базы. Это в свою очередь приводит к разрастанию резервных копий базы, к повышенному времени создания таких резервных копий.
Поэтому достаточно часто используется такой подход – вместо изображения в информационной базе хранится только путь к файлу с картинкой, а само изображение хранится на диске в отдельном каталоге. Если возникает потребность отобразить в программе прикрепленное изображение, система обращается к файлу с картинкой на диске, выводит его на форму. Таким образом, в базе не хранится объемная информация графических файлов, а только пути к таким файлам, что существенно уменьшает размеры хранящейся в базе информации.
Однако при таком подходе требуется отдельно выполнять резервное копирование базы данных и отдельно копировать каталог на диске, где хранятся файлы изображений.
Главным недостатком такого способа хранения данных является возможность получения несогласованных данных. Файлы изображений хранятся отдельно, не в информационной базе, поэтому файл может быть удален с диска, а в базе останется ссылка на него. Также возможна обратная ситуация – элемент справочника в базе будет удален, а на диске будет храниться файл, не связанный ни с каким элементом базы данных.
На экзамене может быть предложено реализовать хранение присоединенных изображений во внешних файлах на диске. Условие задачи может быть примерно таким:
Необходимо обеспечить возможность прикреплять изображение к элементу справочника Номенклатура. Изображения следует хранить в виде отдельных файлов на диске. Прикрепленное изображение номенклатуры должно отображаться на форме элемента.
Создадим команду ЗагрузитьКартинку формы элемента справочника Номенклатура и разместим ее на форме. После выбора данной команды пользователь выбирает файл на диске, который будет прикреплен к карточке номенклатуры:
Рисунок 1 – Выбор файла картинки
Как организовать хранение изображений во внешних файлах на диске
Поскольку не требуется хранить само изображение в информационной базе, организуем хранение только имени файла, где расположено изображение, прикрепленное к карточке номенклатуры. Для этого в справочнике Номенклатура создадим реквизит ПутьКФайлуКартинки с типом Строка:
Рисунок 2 – Реквизит справочника Номенклатура для хранения пути к файлу картинки
Путь к файлу и его имя могут быть достаточно длинными, поэтому для реквизита ПутьКФайлуКартинки установим галочку Неограниченная длина:
Рисунок 3 – Свойство Неограниченная длина реквизита «ПутьКФайлуКартинки»
Как загрузить картинку для номенклатуры
Настройка формы элемента справочника Номенклатура для отображения картинки выполняется одинаково как при хранении изображений в информационной базе, так и при хранении изображений во внешних файлах. Подробно основные принципы рассмотрены в предыдущем блоке. Сейчас отметим основные отличия, характерные для хранения изображений во внешних файлах.
К сожалению, у Вас недостаточно прав для дальнейшего просмотра.
Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.
Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.
Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.
Комментарии закрыты