Книга: Разработка интерфейса прикладных решений на платформе "1С:Предприятие 8"
Назад: Резюме
Дальше: Первый вариант решения

Запись данных объекта в единой транзакции за один серверный вызов

В процессе работы прикладного решения значения реквизитов объекта могут меняться не только интерактивно, но и программно. При этом запись данных объекта в информационную базу должна выполняться в единой транзакции за один серверный вызов.

Рассмотрим этот вопрос на примере работы с файлами и картинками.

Предположим, в форме элемента справочника Товары содержится поле, отражающее картинку товара. При нажатии кнопки Загрузить картинку, расположенной в форме документа, должен открываться диалог выбора файла картинки. Выбранная картинка должна быть отображена в форме элемента и записана в соответствующий реквизит объекта (рис. 4.60).

Рис. 4.60. Выбор картинки в форме товара

Сначала пользователь должен выбрать картинку товара. Единственный способ работы с файлами пользователя – интерактивно выбрать картинку и поместить ее во временное хранилище на сервере. Затем получить ее из временного хранилища и записать в базу данных, например в реквизит объекта.

В форме картинка отображается автоматически по навигационной ссылке на временное хранилище или на реквизит объекта, содержащий эту картинку.

Когда же нужно записывать картинку из временного хранилища в соответствующий реквизит объекта? Можно записать картинку сразу после выбора, но более эффективно записать ее тогда, когда пользователь захочет сохранить объект.

Рассмотрим возможные варианты решения этой задачи.

Назад: Резюме
Дальше: Первый вариант решения