На Клиенте управляемой формы 1С:Предприятие 8.3

Управляемая форма располагает данными, которые может представлять в пользовательском интерфейсе самыми различными средствами, может позволить пользователю оперировать этими данными и может сохранять данные в самыми различными средствами.

Эта публикация посвящена нюансам управления представлением данных, оперирования и сохранения которые выполняются на клиентской стороне.

Дизайн элементов формы

Динамическая высота строк в таблицах

Таблица на форме может иметь строки различной высоты, которая зависит от содержания элементов в ней. Для этого у всех элементов влияющих на высоту:

  • установить свойство АвтоВысотаЯчейки (уменьшает избыточную высоту элемента)
  • установить в свойстве Высота в максимально разрешенное число строк
  • свойство АвтоМаксимальнаяВысота не влияет и может остаться по умолчанию включенным
  • свойство РастягиватьПоВертикали не влияет и может остаться в значении по умолчанию Авто

Установка картинки в кнопке

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

Установка картинки в строке таблицы

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

  • в свойство таблицы формы КартинкаСтрок поместить картинку  с новым набором высотой 16 пикселей и шириной кратной 16 пикселям
  • в свойство таблицы формы ПутьКДаннымКартинкиСтроки установить источник индекса картинки из набора
    • значение свойства по умолчанию в ряде случаев можно оставить прежними ДанныеДляТаблицы.СтандартнаяКартинка
    • значение индекса определяет кратный 16 пикселям горизонтальный фрагмент картинки строк
    • отсчет фрагмента индексом ведется от нуля

Кнопки в командной панели

Кнопки в командной панели могут быть отображены компактно без зазора, если их объединить в группу и в свойстве группы Отображение выбрать Компактное.

Кнопки могут быть овальными, с произвольным цветом букв, рамки и фона

Источник: Улучшение кнопок формы и командной панели //wonderland.v8.1c.ru

Модуль формы

Позиционирование курсора на строке Дерева значений

Установка курсора на нужной строке дерева осуществляется очень просто через свойство элемента формы .ТекущаяСтрока:

Разворачивание ветки Дерева значений

Развернуть ветку дерева тоже просто, используя метод элемента .Развернуть(…)

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

Обход Дерева значений на Клиенте

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

Вспомогательные средства

В программном коде модуля управляемой формы &НаКлиенте доступны средства не связанные непосредственно с формой

Открытие форм

// https://infostart.ru/1c/articles/236382/
// https://forum.mista.ru/topic.php?id=703231

ПоказатьЗначение()
ОткрытьЗначение(СсылкаНаОбъект);

ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)

П = Новый Структура;
П.Вставить(«Ключ», Проект);
ОткрытьФорму(«Справочник.Проекты.ФормаОбъекта», П);

Меню

//https://www.about1c.ru/v83/driven-forms/method-choose-from-menu

Метод ВыбратьИзМеню()

ПоказатьВыборИзМеню()

 

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