1С бухгалтерия картинки

Пошаговый пример 1С 8.2: загрузка, хранение и отображение картинок (фотографий) в справочниках (1 часть)

Довольно часто возникает необходимость отображения различных картинок в справочниках или документах. Так, например, нам может понадобиться отображать фотографии нашей продукции в справочнике Товары или фото наших сотрудников в справочнике Сотрудники. Понятно, что такие фотографии лучше всего хранить непосредственно в нашей базе данных 1С. И сегодня мы разберемся, как же добавлять и хранить фотографии в базе данных 1С 8.2, а также как отображать данные фотографии в справочниках и документах.

Пример является универсальным и без труда может быть использован в любой конфигурации платформы 1С: Предприятие 8.2

1. Постановка задачи: нам необходимо реализовать для нашей кадровой службы возможность добавления фотографий в наш справочник Сотрудники и сделать так, чтобы данные фотографии отображались при просмотре информации по конкретному сотруднику. Каждому сотруднику будет устанавливаться 1 фотография.

2. Приступаем к реализации: решение данной задачи будет выполняться с использование платформы 1С:Предприятие 8.2. .

3. Создайте новую конфигурацию и запустите систему в режиме конфигуратора. Более подробную информацию вы найдете в шагах с 1 по 9 данного пошагового примера.

4. Создайте новый справочник Файлы. Перейдите на закладку «Данные», длину кода и наименования оставьте без изменений. Создайте новый реквизит справочника «Файл»с типом значения ХранилищеЗначения.

Для хранения файлов, в том числе и Картинок в системе 1С Предприятие 8.2 используется особый тип значений — ХранилищеЗначения.

Зачем нам понадобился отдельный справочник Файлы? Ведь можно было создать справочник Сотрудники и в этом справочнике сделать дополнительный реквизит Файл с типом значения ХранилищеЗначения?
Фотографии могут быть довольно большого объема. А если еще у нас будет много сотрудников, то работать с таким справочником очень скоро станет некомфортно. Дело в том, что при открытии списка справочника, считываются все реквизиты (поля) его элементов, а значит, если мы будем хранить фото в его реквизитах, то будут считываться и все фотографии. Понятно, что при выборках и работе со списком справочника Сотрудники система будет «тормозить». Чтобы этого не было, мы создаем отдельный служебный справочник Файлы, а в справочнике Сотрудники будем в одном из реквизитов хранить лишь ссылку на определенный элемент справочника Файлы (ссылку на фото). В таком режиме работать со справочником Сотрудники будет комфортно.

5. Создайте новый справочник Сотрудники. Перейдите на закладку «Данные», длину кода и наименования оставьте без изменений. Создайте новый реквизит справочника Картинка с типом значения СправочникСсылка.Файлы.

6. Перейдите на закладку «Формы» нашего справочника Сотрудники. Для создания формы элемента справочника нажмите на кнопку Открыть.

На первом шаге выбираем тип формы: Форма элемента справочника. На втором шаге убираем галку с реквизита Картинка, так как данный реквизит (ссылку на фото) мы будем заполнять программно, а не интерактивно.

7. Перед нами открывается конструктор форм. Создайте новый реквизит формы Фото, тип – Строка, длина 0.

8. Мышкой перетащите созданный в шаге 7 реквизит Фото на Форму элемента справочника Сотрудники. В свойстве «Вид» получившегося поля меняем значение с «Поле ввода» на «Поле картинки».

Именно в этом поле (Фото) у нас на Форме и будет отображаться фотография, установленная данному сотруднику.

9. Для того, чтобы можно было загружать фотографии в базу данных 1С, создадим команду ДобавитьКартинку.

Перейдите на закладку «Команды» и создайте новую команду «ДобавитьКартинку». Далее нажмите на увеличительное стекло в свойстве «Действие» для перехода в программный модуль и создания шаблона процедуры ДобавитьКартинку(Команда).

10. Теперь в программном модуле нам необходимо описать действие нашей команды «ДобавитьКартинку». Пишем следующий программный код:

&НаКлиенте
Процедура ДобавитьКартинку(Команда)
ИмяФайла = «»;
ПутьФайла = «»;
//Вызываем Диалоговое окно и помещаем файл Картинки из локальной файловой системы во временное хранилище
Если ПоместитьФайл(ПутьФайла, , ИмяФайла, Истина) = Истина Тогда
//в строковый реквизит ФОТО нашей формы сохраняем ссылку на Картинку во временном хранилище
Фото = ПутьФайла;
//для создания нового элемента в Справочнике Файлы и записи Картинки в его реквизит Файл
//переходим на сервер с помощью вызова серверной процедуры
УстановитьКартинку();
КонецЕсли;
//условие ЕСЛИ нужно для того, чтобы если пользователь отказался от выбора файла
//мы не вызывали серверную процедуру УстановитьКартинку()
КонецПроцедуры

11. Действия по установке (загрузке) картинки и ее отображения на форме нашего справочника Сотрудника необходимо выполнять на стороне сервера. Это особенность работы системы с файлами. Именно для этого в тексте процедуры ДобавитьКартинку осуществляется вызов другой процедуры УстановитьКартинку(), которая будет выполняться на сервере.

В программном модуле, ниже процедуры ДобавитьКартинку(Команда) пишем следующий программный код:

&НаСервере
Процедура УстановитьКартинку()
//создаем новый элемент в Справочнике Файлы
НовыйФайлКартинки = Справочники.Файлы.СоздатьЭлемент();
//в реквизит СправочникаФайлы Файл помещаем выбранную ранее Картинку
НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Фото));
Фото = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());
//записываем новый элемент справочника Файлы
НовыйФайлКартинки.Записать();
//устанавливаем значение реквизита Картинка Справочника Сотрудники
Объект.Картинка = НовыйФайлКартинки.Ссылка;
КонецПроцедуры

12. Теперь нам остается добавить на Форму Кнопку и связать Кнопку с нашей командой «ДобавитьКартинку».

13. Как мы уже говорили в шаге 11, для отображения картинки на форме процедуру необходимо выполнять на сервере. Для этого выделяем Форму, в свойствах нашей Формы переходим на закладку «События» и переходим к событию ПриСозданииНаСервере.

14. Напишем программный код процедуры ПриСозданииНаСервере(Отказ, СтандартнаяОбработка):

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//отображение картинки при открытии формы справочника
Фото = ПолучитьНавигационнуюСсылку(Объект.Картинка, «Файл»);
//устанавливаем автомасштаб для картинки
Элементы.Фото.РазмерКартинки = РазмерКартинки.АвтоРазмер;
КонецПроцедуры

15. Запускаем систему в режиме 1С:Предприятие и смотрим что у нас получилось:

На этом упрощенная реализация отображения картинок в справочника закончена. Вы можете скачать кофигурацию с данным примером по ссылке ниже:

О том, как можно улучшить нашу конфигурацию и какие дополнительные проверки можно добавить мы поговорим во второй части пошагового примера.

Вывод изображения на управляемую форму

  • Добавить свою публикацию
  • для этого требуется регистрация

YPermitin 23.04.2013 +2

Небольшая задача

В тестовой конфигурации для элементов справочника «Сотрудники» был создан механизм прикрепления файлов изображений. Однако при открытии элемента текущее изображение можно посмотреть лишь открыв прикрепленный файл.

Наша задача будет заключаться в отображении на форме элемента текущего изображения. Главное условие — доработка осуществляется для управляемой формы.

Как это было раньше

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

  • «Фото» — реквизит с типом «ХранилищеЗначений», в котором хранятся двоичные данные файла изображения.
  • «ИмяФайла» — строковой реквизит, в который записывается имя файла прикрепленного изображения.

На обычной форме добавляется элемент «ФотоСотрудника» с типом «Поле картинки». В событии «ПередОткрытием» формы добавляем следующий код: Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) // Получаем картинку из двоичных данных КартинкаВХранилище = Новый Картинка(Фото.Получить()); // Подставляем картинку в элемент формы ЭлементыФормы.ФотоСотрудника.Картинка = КартинкаВХранилище; КонецПроцедуры

И, вуаля! При открытии отображается прикрепеленной ранее фото!

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

На управляемой форме

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

Для отображения изображения для начала добавим строковой реквизит формы «ФотоСотрудника», для которого на форме создадим элемент с типом «Поле картинки».

Теперь в обработчике формы «ПриСозданииНаСервере» добавим следующий программный код:

&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ОбновитьИзображение(); КонецПроцедуры &НаСервере Процедура ОбновитьИзображение() // Конвертируем объект формы в объект справочника, чтобы //можно было работать с реквизитом типа «Хранилище значений» ОбъектЭлемента = РеквизитФормыВЗначение(«Объект»); // Помещаем двоичные данные из реквизита во временное хранилище. //Адрес из хранилища помещаем в строковой реквизит // формы «Фото сотрудника» ФотоСотрудника = ПоместитьВоВременноеХранилище(ОбъектЭлемента.Фото.Получить(), УникальныйИдентификатор); КонецПроцедуры

Здесь методом «ПоместитьВоВременноеХранилище» мы помещаем двоичные данные из реквизита «Фото» элемента справочника во временное хранилище. Метод возвращает адрес помещенных данных во временном хранилище в виде строки. Подробнее о временном хранилище, его назначении и примеров работы с ним Вы можете прочитать по ссылке.

В результате при открытии элемента мы увидим следующее:

На этом задача полностью решена!

Задача решена

Задачу мы решили, но есть куда оптимизировать! Файл лучше вынести в отдельную таблицу, чтобы время открытия элемента справочника не возросло при прикреплении изображений больших размеров. Но оптимизация уже выходит за рамки статьи.

Как загрузить картинки в 1С (или выгрузить)

Обработка для массовой загрузки и выгрузки картинок номенклатуры (загрузка в карточку номенклатуры из произвольного каталога или сайта и выгрузка в произвольный каталог).

Если нам нужно загрузить картинки из папки на диске, то заполняем первую закладку Загрузка в базу:

Выбираем папку и вариант поиска номенклатуры в программе (на скрине показано настройка, при которой в названии файлов картинок есть код справочника номенклатуры, и мы карточки тоже ищем по коду. Так же можно искать по артикулу или наименованию номенклатуры. Нужный вариант выбирайте, исходя из того, какая информация у вас в названии файлов картинок). В выбранной папке обработка будет искать файлы с расширением PNG, JPG, BMP и GIF. Для загрузки картинок нажимаем Загрузить картинки, по окончании процесса появится протокол:

Для выгрузки картинок из базы воспользуемся второй закладкой Выгрузка на диск:

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

Видим, что картинки успешно появились в папке назначения:

Обновление от 16.02.2018

Добавлена возможность загрузки картинок с сайтов, для этого нужно заполнить таблицу для загрузки. В первой колонке указать номенклатуру (код, артикул или наименование), во второй — адрес картинки.

Обновление от 05.11.2018

Теперь можно загружать произвольное количество картинок для одной номенклатурной карточки, допустим есть такие фотографии:

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

По окончании появится протокол:

Помимо картинок, можно грузить и прочие файлы по одноименной кнопке (pdf, word, excel, xml):

Теперь можем посмотреть загруженные файлы из товарной карточки:

Помимо выгрузки прикрепленных файлов номенклатуры теперь можно помечать их на удаление (не забудьте затем удалить помеченные файлы используя типовые средства 1С):

  • Разработка интерфейса прикладных решений на платформе «1С:Предприятие 8»
    • Обложка
    • Титульный лист
    • Выходные данные
    • Введение
    • Часть 1. Конструирование интерфейса
      • Глава 1.1. Пользователь, интерфейс, команда
      • Глава 1.2. Прикладное решение глазами пользователя
        • Первый взгляд
        • Основное окно приложения
          • Состав панелей интерфейса
          • Настройка панелей интерфейса
          • Режимы основного окна приложения
        • Окно клиентского приложения
      • Глава 1.3. Командный интерфейс системы
        • Команды «1С:Предприятия»
        • Структура командного интерфейса
          • Влияние подсистем
        • Формирование состава командного интерфейса
          • Обеспечение доступности команд
          • Оптимизация командного интерфейса
          • Доступность команд по функциональным опциям
          • Пользовательская настройка командного интерфейса
        • Краткие итоги
      • Глава 1.4. Настраиваем состав команд
        • Постановка задачи
        • Состав разделов
        • Стандартные команды
        • Основные действия для создания командного интерфейса
      • Глава 1.5. Настраиваем доступность команд по ролям
        • Система прав доступа
        • Система управления пользователями
      • Глава 1.6. Редактирование командного интерфейса
        • Автоматическое размещение и видимость команд
          • Категории и группы команд
          • Правила размещения глобальных команд
        • Система настройки командного интерфейса
          • Редактор командного интерфейса
          • Редактор командного интерфейса конфигурации
          • Редактор командного интерфейса основного раздела
          • Редактор «Все подсистемы»
          • Ручное размещение и видимость команд
      • Глава 1.7. Влияние функциональных опций на командный интерфейс
        • Механизм функциональных опций
        • Отключаем неиспользуемые команды
      • Глава 1.8. Пользовательская настройка интерфейса
        • Настройка области системных команд
        • Настройка командного интерфейса
          • Настройка панели разделов
          • Настройка меню функций текущего раздела
        • Одновременное отображение двух окон
        • Настройка масштаба форм приложения
      • Глава 1.9. Настраиваем представление команд
      • Глава 1.10. Модель разработки глобального командного интерфейса
      • Глава 1.11. Создаем произвольные команды
        • Произвольные команды
        • Особенности размещения
        • Развитие функциональности ценообразования
          • Общая независимая команда
          • Подчиненная параметризуемая команда
        • Зависимость от функциональных опций
        • Произвольные группы
      • Глава 1.12. «Командуем» формами
        • Необходимые сведения о формах
        • Функциональность по умолчанию
        • Команды формы
          • Для обработки данных формы – стандартные команды формы
          • Для работы со связанными данными – глобальные параметризуемые команды
          • Для работы с функциональностью приложения – глобальные независимые команды
        • Способы формирования состава команд формы
        • Автоматическое формирование состава команд формы
          • Стандартные команды формы
          • Глобальные параметризуемые команды
        • Доступность команд формы для пользователя
        • Управляем командами формы
          • Стандартные команды формы
          • Глобальные команды
        • Если не хватает стандартных команд
        • Краткие итоги
    • Часть 2. Конструирование форм
      • Глава 2.1. Что такое форма
        • Концепция построения форм
          • Формы как элемент общения программы с пользователем
        • Среда существования формы
      • Глава 2.2. Создание формы
        • Создание формы с помощью конструктора
        • Создание формы методом копирования
      • Глава 2.3. Редактирование формы
        • Описание редактора формы
        • Иерархия элементов формы
        • Свойства формы
          • «Заголовок», «Автоматический заголовок», «Отображать заголовок»
          • «Положение командной панели»
          • «Доступность»
          • «Режим открытия окна»
          • «Проверять заполнение автоматически»
          • «Условное оформление»
          • «Разрешить изменять форму»
          • «Группировка»
          • «Вертикальная прокрутка»
          • «Вариант масштаба», «Масштаб»
          • «Список групп»
        • Виды элементов формы
          • Поле
          • Группа
          • Таблица
          • Кнопка
          • Декорация
          • Дополнение элемента формы
        • Контекстное меню элементов формы
        • Свойства элементов формы
          • Общие свойства
          • Свойства группы
          • Свойства поля
          • Свойства таблицы
          • Свойства кнопки
        • Как добавить новые элементы формы
      • Глава 2.4. Влияние объектов конфигурации на форму
        • Заголовок формы
        • Интерфейсные свойства реквизитов объектов конфигурации
          • Выбор групп и элементов
          • Быстрый выбор
          • История выбора при вводе
          • Связи параметров выбора
          • Параметры выбора
          • Создание при вводе
          • Связь по типу
          • Форма выбора
          • Проверка заполнения
          • Значение заполнения
          • Заполнять из данных заполнения
        • Стандартные реквизиты объектов конфигурации
      • Глава 2.5. Реквизиты формы
      • Глава 2.6. Командный интерфейс окна клиентского приложения
        • Панель навигации
        • Командная панель основной формы
        • Команды формы
      • Глава 2.7. Управление видимостью элементов формы
        • Влияние прав и ролей пользователя на элементы формы
          • Пример 1
          • Пример 2
          • Пример 3
          • Пример 4
        • Влияние функциональных опций на элементы формы
          • Пример 1
          • Пример 2
      • Глава 2.8. Окно сообщений клиентского приложения
      • Глава 2.9. Примеры конструирования форм
        • Как и зачем объединять элементы формы в группы
        • Как изменить состав кнопок у элементов формы
        • Как добавить поле для ввода значений подчиненного справочника
        • Как добавить в форму табличную часть
        • Как добавить в форму группу страниц
        • Как добавить в форму таблицу, отображающую связанные данные
        • Как создать и заполнить объект с учетом установленного отбора списка
        • Как отобразить в списке реквизиты реквизитов
        • Как сгруппировать данные в списке
        • Как настроить условное оформление динамического списка
        • Как усовершенствовать внешний вид формы
          • Выравнивание между группами
          • Относительное расположение элементов группы
          • Создание горизонтального отступа с помощью декораций
      • Глава 2.10. Начальная страница
    • Часть 3. Программирование форм и интерфейса
      • Глава 3.1. Форма как элемент клиент-серверного взаимодействия
        • Клиент-серверная архитектура
        • Форма – клиент-серверный объект
        • Общий подход к программированию форм
      • Глава 3.2. Параметры и реквизиты формы
        • Реквизиты
        • Параметры
        • Выводы
      • Глава 3.3. Открытие форм
        • Последовательность событий при открытии формы
        • Общая методика открытия форм
        • Основная форма нового объекта
        • Форма констант
        • Форма группы
        • Произвольная форма
        • Форма существующего объекта
        • Открыть список, чтобы курсор был на нужном элементе
        • Список подчиненного справочника с отбором по владельцу
        • Передача параметров в произвольный запрос динамического списка
        • Метод «ПолучитьФорму()»
        • Открытие формы в блокирующем режиме без использования модальности
        • Открытие и запуск отчета
        • Переопределение открываемой формы
      • Глава 3.4. Преобразование прикладных данных в данные формы
      • Глава 3.5. Исполнение модуля формы на клиенте и на сервере
        • Переменные модуля формы
        • Экспортируемые процедуры формы
      • Глава 3.6. Контекстные и внеконтекстные серверные вызовы
      • Глава 3.7. Работа с данными объекта в форме
        • Пример 1
        • Пример 2
        • Пример 3
      • Глава 3.8. Последовательность событий при открытии формы объекта
        • Чтение данных прикладного объекта
        • Событие «При чтении на сервере»
        • Событие «При создании на сервере»
        • Событие «При открытии»
      • Глава 3.9. Последовательность событий при записи объекта из формы
        • Событие «Перед записью»
        • Проверка заполнения
        • Событие «Перед записью на сервере»
        • Запись данных в базу данных
        • Событие «После записи на сервере»
        • Передача формы на клиент
        • Событие «После записи»
        • Событие «Перед закрытием»
        • Событие «При закрытии»
        • Параметры записи
      • Глава 3.10. Начальное заполнение
        • Свойство «Значение заполнения»
        • Свойство «Заполнять из данных заполнения»
          • Создание объекта из отобранного списка
          • Программная установка данных заполнения
        • Событие «Обработка заполнения»
      • Глава 3.11. Проверка заполнения
        • Заполнение и проверка заполнения
        • Свойство «Проверка заполнения»
        • Программная обработка проверки заполнения
        • Вывод сообщений с привязкой к элементам формы
        • Проверка заполнения и функциональные опции
        • Проверка заполнения и проверка при записи
      • Глава 3.12. Сообщения пользователю
      • Глава 3.13. Способы информирования пользователя
      • Глава 3.14. Обновление данных в динамических списках
        • Метод «ОповеститьОбИзменении()»
        • Метод «Оповестить()»
        • Обновление формы извне
        • Коллекция окон
      • Глава 3.15. Оформление списков
        • Динамические списки
          • Отбор
          • Сортировка
          • Группировка
          • Условное оформление
        • Табличная часть
      • Глава 3.16. Дополнительные колонки в списках
        • Динамический список
          • Дополнительная обработка данных, получаемых динамическим списком
        • Табличная часть
      • Глава 3.17. Работа с таблицей в форме
        • Ввод данных по колонкам
        • Сохранение текущей строки после загрузки данных
      • Глава 3.18. Работа с файлами и картинками
        • Стандартные возможности
        • Расширенные возможности
        • Получение файла и сохранение его в базе данных
        • Картинка товара в форме
        • Картинки, используемые для оформления
      • Глава 3.19. Поле ввода
        • Ввод по строке
          • Последовательность событий при вводе по строке
          • Формирование собственного списка выбора
            • Событие «Обработка получения данных выбора»
            • Метод «ПолучитьДанныеВыбора()»
          • Событие «Обработка выбора»
          • Событие «Начало выбора»
        • История выбора при вводе
        • Создание при вводе
          • Стандартная проверка при выборе значения
          • Передача дополнительных параметров выбора в форму нового элемента
          • Собственная проверка при выборе значения
      • Глава 3.20. Программное изменение формы
        • Общие подходы
        • Добавление поля
        • Добавление динамического списка
        • Добавление колонки в таблицу
        • Добавление команды
      • Глава 3.21. Программная настройка интерфейса
        • Настройка состава панелей интерфейса
        • Настройка состава форм на начальной странице
    • Часть 4. Оптимизация клиент-серверного взаимодействия в формах
      • Глава 4.1. Общие рекомендации по оптимизации клиент-серверного взаимодействия
      • Глава 4.2. Инструменты, используемые при оптимизации клиент-серверного взаимодействия
        • Показатели производительности
        • Режим низкой скорости соединения
        • Имитация задержек при вызове сервера
        • Отображение серверных вызовов в замерах производительности
        • Проверка серверных вызовов в обработчиках событий
      • Глава 4.3. Примеры оптимизации клиент-серверного взаимодействия
        • Объединение нескольких вызовов сервера в один
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Использование внеконтекстных серверных процедур в модуле формы
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Использование клиентских процедур для небольших расчетов данных формы
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Использование контекстных серверных процедур для пересчета данных коллекций форм
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Управление открываемой формой путем передачи параметров
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Реализация функциональности в клиентских и серверных обработчиках событий формы в зависимости от их назначения
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Использование стандартных полей запроса в динамических списках на клиенте
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Использование стандартного параметра формы отчета для автоматического формирования отчета при его открытии
          • Первый вариант решения
          • Второй вариант решения
          • Третий вариант решения
          • Резюме
        • Получение предопределенных значений на клиенте
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Запись данных объекта в единой транзакции за один серверный вызов
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Использование временного хранилища для передачи данных между формами
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Реализация пересчета данных объекта в модуле объекта или в модуле формы в зависимости от логики объекта
          • Первый вариант решения
          • Второй вариант решения
          • Резюме
        • Изменение оформительских свойств элементов формы, не требующих обращения к серверу
          • Первый вариант решения
          • Второй вариант решения
          • Третий вариант решения
          • Резюме
    • Часть 5. Мобильный клиент
      • Глава 5.1. Что такое мобильный клиент
      • Глава 5.2. Адаптация конфигураций для работы в мобильном клиенте
        • Общий подход
        • Интерфейс мобильного клиента
          • Поведение таблиц при сжатии по горизонтали
          • Сворачивание элементов форм по важности
          • Использование текущей строки таблицы
            • Использование текущей строки командой формы
            • Использование текущей строки группой формы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *