Поле табличного документа в 1С:Предприятие 8.x

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

Бесплатная консультация юриста

+7 (800) -01-07-30

Реклама jurik.ru

Поле табличного документа – один из самых гибких элементов управляемых форм в 1С:Предприятие 8.x. Он позволяет размещать внутри ячеек табличного документа другие управляемые элементы (поле ввода, флажок, календарь, изображение и т.п.), тем самым превращая обычный отчёт в интерактивный пользовательский интерфейс.

Содержание статьи

  1. Что такое поле табличного документа
  2. Основные свойства и методы
  3. Как использовать элемент в управляемой форме
  4. Обработка событий (Выбор, ПриНачалеРедактирования)
  5. Перетаскивание и позиционирование вложенных элементов
  6. Защита и свойства «Защита»
  7. Лучшие практики и типичные ошибки
  8. Примеры кода
  9. Контакты для обращения

Что такое поле табличного документа

Элемент управления Поле табличного документа предназначен для размещения в форме табличного документа. Он служит «контейнером», в котором могут находиться:

  • Динамические списки (выпадающие списки, автодополнение);
  • Элементы ввода (текстовые поля, числовые, даты);
  • Флажки, переключатели, кнопки;
  • Изображения, планировщики, календарные поля;

Эти вложенные элементы отображаются только в режиме редактирования ячейки, если их свойство Видимость установлено в Ложь. При двойном клике по ячейке (событие Выбор) элемент автоматически становится видимым.

Основные свойства и методы

Свойство / Метод Назначение
СодержитЗначение Если = Истина, в ячейке можно разместить вложенный элемент управления.
Видимость Определяет, будет ли элемент отображаться в режиме просмотра (обычно = Ложь).
Защита Контролирует возможность изменения содержимого ячейки пользователем.
Текст Текстовое представление значения ячейки (используется, если нет вложенного элемента).
Значение Ссылка на объект, привязанный к ячейке (например, объект ТаблицаЗначений).
СоздатьКолонки Метод, позволяющий программно добавить столбцы в табличный документ.

Как использовать элемент в управляемой форме

Для начала необходимо добавить реквизит формы типа ТабличныйДокумент и разместить на нём элемент Поле табличного документа. При перетаскивании мышью IDE автоматически создаёт привязку к реквизиту.

Пример базовой настройки:

&КодОбъекта
Процедура ПриОткрытии(Отказ, СтандартнаяОбработка)
 // Привязываем табличный документ к реквизиту формы
 ЭлементыФормы.ТабДокумент.Значение = ЭтотОбъект.Отчет;
КонецПроцедуры

Обработка событий

Самыми часто используемыми событиями являются:

  • Выбор(Элемент, Строка, Колонка) – вызывается при двойном клике по ячейке. Позволяет определить координаты и, при необходимости, открыть форму редактирования.
  • ПриНачалеРедактирования(Элемент, Строка, Колонка) – срабатывает, когда пользователь начинает вводить данные в ячейку.

Пример кода, проверяющего координаты ячейки:

&НаКлиенте
Процедура ТабДокумент_Выбор(Элемент, Строка, Колонка)
 Если Строка = 5 И Колонка = 3 Тогда
 // Открываем форму ввода значения
 ОткрытьФорму("ФормаВводаЗначения", ЭтотОбъект);
 КонецЕсли;
КонецПроцедуры

Перетаскивание и позиционирование вложенных элементов

В 1С:Предприятие поддерживается перетаскивание элементов в ячейку табличного документа. При этом сохраняются свойства:

  • Размер и положение (автоматически подгоняется под размер ячейки);
  • Привязка к данным (поле ввода может быть привязано к колонке таблицы значений);
  • События (например, ПриИзменении у текстового поля).

Для более сложных сценариев можно использовать метод ПереместитьЭлемент из объекта ЭлементыФормы.

Защита и свойства «Защита»

Свойство Защита позволяет ограничить изменение ячейки пользователем. Возможные варианты:

  • Нет – пользователь может менять значение и редактировать вложенный элемент.
  • ТолькоДляЧтения – ячейка доступна только для просмотра.
  • ТолькоДляЗаписи – пользователь может вводить данные, но не менять структуру (например, нельзя добавить новые строки).

Комбинация СодержитЗначение = Истина и Защита = ТолькоДляЧтения часто используется для отображения справочных таблиц, где пользователь может лишь просматривать данные.

Лучшие практики и типичные ошибки

  1. Не перегружать ячейку множеством элементов. Слишком много вложенных контролов ухудшают производительность и делают форму «тяжёлой».
  2. Устанавливать Видимость = Ложь для всех вложенных элементов, если они нужны только в режиме редактирования. Это избавит от «мусора» в режиме просмотра.
  3. Обрабатывать событие Выбор вместо двойного клика по ячейке, если требуется открыть отдельную форму.
  4. Следить за синхронизацией данных. При изменении значения в вложенном элементе обновляйте соответствующее поле таблицы значений вручную.
  5. Тестировать на разных разрешениях экрана. Элемент «Поле табличного документа» растягивается по ширине ячейки, но высота может обрезаться, если в ячейке слишком много контента.

Примеры кода

Создание табличного документа с полем ввода

&НаСервере
Процедура СформироватьОтчет
 ТабДок = Новый ТабличныйДокумент;
 ТабДок.Колонки.Добавить("Товар");
 ТабДок.Колонки.Добавить("Кол-во");
 ТабДок;Колонки.Добавить("Цена");
 // Добавляем строку
 Стр = ТабДок.Строки.Добавить;
 Стр[ "Товар" ] = "Молоко";
 Стр[ "Кол-во" ] = 10;
 Стр[ "Цена" ] = 55;
 // Устанавливаем свойство СодержитЗначение для столбца «Кол-во»
 ТабДок.Колонки[ "Кол-во" ].СодержитЗначение = Истина;
 ТабДок.Колонки[ "Кол-во" ].Видимость = Ложь; // будет видно только в режиме редактирования

 // Привязываем к реквизиту формы
 ЭлементыФормы.ТабДокумент.Значение = ТабДок;
КонецПроцедуры

Обработка двойного клика и открытие формы редактирования

&НаКлиенте
Процедура ТабДокумент_Выбор(Элемент, Строка, Колонка)
 Если Колонка = ТабДокумент.Колонки.ПолучитьИндекс("Кол-во") Тогда
 // Открываем форму ввода количества
 Форма = ОткрытьФорму("ФормаРедактированияКоличества", ЭтотОбъект);
 Форма.ЭлементТабДок = Элемент; // передаём ссылку на табличный документ
 Форма.Строка = Строка;
 КонецЕсли;
КонецПроцедуры

Синхронизация значения после изменения

&НаКлиенте
Процедура ПолеКоличества_ПриИзменении(Элемент)
 // Получаем текущую строку из табличного документа
 ТекСтр = Элемент.ЭлементТабДок.Строки[ Элемент.Строка ];
 ТекСтр[ "Кол-во" ] = Элемент.Значение;

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

Контакты для обращения

ООО «1С‑Консалтинг Плюс»

Официальный сайт: https://www.1c-consulting-plus.ru

Горячая линия: 8 (800) -55‑33‑22 (круглосуточно)

Номера телефонов отдела поддержки:

  • Москва – +7 (495) -23‑45‑67
  • Санкт‑Петербург – +7 (812) -87‑65‑43
  • Региональный центр – +7 (383) -55‑11‑22

Электронный адрес: support@1c-consulting-plus.ru

Личный кабинет клиента: https://cabinet.1c-consulting-plus.ru

Личный приём (консультации)

Для получения индивидуальной консультации по внедрению и настройке Поля табличного документа записывайтесь заранее.

  • График приёма: Пн‑Пт, 09:00‑18:00
  • Адрес офиса: г. Москва, ул. Тверская, д. 12, офис 305

Отделы

  • Отдел разработки – dev@1c-consulting-plus.ru
  • Отдел внедрения – impl@1c-consulting-plus.ru
  • Техническая поддержка – support@1c-consulting-plus.ru
  • Отдел обучения – training@1c-consulting-plus.ru

Руководство

  • Генеральный директор – Иванов И.И.
  • Технический директор – Петров П.П.
  • Директор по развитию – Сидорова А.А.

Отзывы клиентов

Мы ценим обратную связь. Ниже несколько отзывов наших заказчиков:

«Благодаря внедрению поля табличного документа в нашей системе учёт стал в разы удобнее – сотрудники быстрее заполняют формы, а ошибки почти исчезли». – ООО «ТехноПром»

«Отличный сервис поддержки, быстро отвечают на вопросы по настройке элементов управления». – ИП Смирнов В.В.

Оставить свой отзыв можно в форме обратной связи.


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

Если у вас возникли вопросы по реализации или требуется индивидуальная настройка – обращайтесь по указанным выше контактам. Мы поможем адаптировать решение под ваш бизнес.