Доступные поля
Дерево доступных полей — это единый список значений, которые можно подставить в печатную форму: в параметр области макета, в правило вывода области, в конструктор представления, в поле нумератора и в другие места, где требуется указать «откуда взять значение». Кроме обычных полей наборов в этом дереве есть значения, которые программа вычисляет самостоятельно: функции по полю даты, итоги и агрегаты по числовым колонкам многострочных коллекций, а также системные поля.
Эта глава посвящена именно таким, вычисляемым, полям. Она отвечает на вопросы вида «как вывести месяц документа», «как сделать колонку с нарастающим итогом», «как получить процент строки к итогу таблицы» и «как вывести фамилию в родительном падеже» — то есть на задачи, которые часто пытаются решить произвольным алгоритмом, хотя достаточно выбрать нужное поле в дереве.
Базовые сведения о наборах и их полях описаны в разделе Наборы данных, о связывании наборов — в разделе Соединения, о параметрах и условиях вывода областей — в разделе Макет.
Формы пути поля
Заголовок раздела «Формы пути поля»Любое доступное поле — это путь, который начинается с НаборыДанных и однозначно указывает на значение. Форма пути зависит от того, откуда берётся значение.
| Путь | Что это |
|---|---|
НаборыДанных.[Набор].[Поле] | Поле набора с видом «Первая строка», «Последняя строка» или «Соединение строк» |
НаборыДанных.[Набор].Строка.[Поле] | Поле строки многострочной коллекции; доступно в области, для которой этот набор указан в колонке «Набор» |
НаборыДанных.[Набор].Итог.[Поле].[Агрегат] | Итог по числовой колонке многострочной коллекции |
НаборыДанных.[Набор].КоличествоСтрок | Количество строк многострочной коллекции |
НаборыДанных.[Набор].[Соединение].[Поле] | Поле правого набора, полученное через соединение |
НаборыДанных.СистемныеПоля.[Поле] | Системное поле, которое программа заполняет сама |
Подробное описание форм пути и правил видимости полей приведено в разделе Наборы данных. Здесь важно другое: к пути поля может добавляться ещё один сегмент — имя функции (для полей типа «Дата») или имя агрегата (для числовых колонок коллекции). Эти сегменты и описаны ниже.
Поле выбирается в форме «Доступные поля». Каждый узел дерева показан представлением с пиктограммой типа данных; заголовки колонок не выводятся. Над деревом расположена строка поиска. Дерево заполняется по мере разворачивания узлов: вложенные реквизиты ссылочного поля и функции поля даты подставляются в момент, когда узел разворачивается.

Форма «Доступные поля»
Состав дерева зависит от места вызова: например, построчные поля многострочной коллекции предлагаются только там, где построчный вывод применим. Отдельно ограничивать список не требуется.
Кроме представления, у дерева есть служебные колонки «Тип данных» и «Полный путь». По умолчанию они скрыты и нужны в основном для диагностики — когда требуется убедиться, какой именно путь подставится в макет. Вывести их можно стандартной командой платформы «Ещё» → «Изменить форму».
Функции поля даты
Заголовок раздела «Функции поля даты»Функция поля даты — это преобразование значения даты, которое выполняется в момент вывода. Оно не требует ни изменения запроса, ни произвольного алгоритма: достаточно развернуть в дереве узел поля с типом «Дата» и выбрать нужную функцию. Имя функции добавляется к пути поля отдельным сегментом: НаборыДанных.Заказ.Дата.НачалоМесяца. Сегмент образуется из названия функции без пробелов: «Начало месяца» → НачалоМесяца, «День недели» → ДеньНедели.
Функции делятся на две группы: усечение даты (результат — дата) и извлечение части даты (результат — число).
Усечение даты
Заголовок раздела «Усечение даты»Возвращают дату: исходное значение, «обрезанное» до начала или конца периода. Например, для значения 15.05.2026 14:37:52 функция «Начало месяца» вернёт 01.05.2026 00:00:00, а «Конец месяца» — 31.05.2026 23:59:59.
| Название в дереве | Значение в XML | Что возвращает |
|---|---|---|
| Начало минуты | BegOfMinute | Дата — начало минуты |
| Начало часа | BegOfHour | Дата — начало часа |
| Начало дня | BegOfDay | Дата — начало суток |
| Начало недели | BegOfWeek | Дата — начало недели (понедельник) |
| Начало месяца | BegOfMonth | Дата — первое число месяца |
| Начало квартала | BegOfQuarter | Дата — первое число квартала |
| Начало года | BegOfYear | Дата — 1 января |
| Конец минуты | EndOfMinute | Дата — последняя секунда минуты |
| Конец часа | EndOfHour | Дата — последняя секунда часа |
| Конец дня | EndOfDay | Дата — последняя секунда суток |
| Конец недели | EndOfWeek | Дата — последняя секунда воскресенья |
| Конец месяца | EndOfMonth | Дата — последняя секунда месяца |
| Конец квартала | EndOfQuarter | Дата — последняя секунда квартала |
| Конец года | EndOfYear | Дата — последняя секунда 31 декабря |
Извлечение части даты
Заголовок раздела «Извлечение части даты»Возвращают число — соответствующую часть даты.
| Название в дереве | Значение в XML | Что возвращает |
|---|---|---|
| Секунда | Second | Число: секунда (0–59) |
| Минута | Minute | Число: минута (0–59) |
| Час | Hour | Число: час (0–23) |
| День | Day | Число: день месяца (1–31) |
| День недели | WeekDay | Число: день недели (1 — понедельник, 7 — воскресенье) |
| День года | DayOfYear | Число: день года (1–366) |
| Неделя года | WeekOfYear | Число: номер недели в году |
| Месяц | Month | Число: месяц (1–12) |
| Год | Year | Число: год |
Всего доступно 23 функции. Значения в колонке «Значение в XML» — это то, что записывается в элемент <FunctionName> при экспорте макета; полный перечень со стороны объектной модели приведён в разделе Объектная модель и API.
Пример: вывести месяц документа в заголовке
Заголовок раздела «Пример: вывести месяц документа в заголовке»Требуется вывести в шапке отчёта период вида «май 2026», а сам документ содержит поле Дата с временем.
- В области с заголовком выбираем параметр и тип значения «Значение набора».
- В дереве доступных полей разворачиваем поле
Датанабора и выбираем функцию «Начало месяца» — путь становитсяНаборыДанных.Заказ.Дата.НачалоМесяца. - В колонке форматирования задаём формат даты с выводом месяца и года.
Функция отвечает только за значение. Если требуется сгруппировать сами строки табличной части по месяцам, группировка выполняется в запросе набора — функция поля этого не заменяет.
Пример: вывести день недели
Заголовок раздела «Пример: вывести день недели»Функция «День недели» возвращает число (1 — понедельник). Если в печатной форме нужен день недели прописью, удобнее взять функцию «Начало дня» и задать для поля формат даты с выводом дня недели: значение остаётся датой, а прописное представление формирует форматирование. Числовой результат «Дня недели» подходит там, где день недели нужен именно как число — например, в правиле вывода области.
Пример: сравнение по дате без учёта времени
Заголовок раздела «Пример: сравнение по дате без учёта времени»Поле даты документа почти всегда содержит время, поэтому прямое сравнение «Дата равно 15.05.2026» не сработает: значение 15.05.2026 14:37:52 не равно 15.05.2026 00:00:00. Функция «Начало дня» решает эту задачу — в правиле вывода области в качестве левого значения выбирается НаборыДанных.Заказ.Дата.НачалоДня:
| Использование | Левое значение | Вид сравнения | Значение |
|---|---|---|---|
| ✓ | НаборыДанных.Заказ.Дата.НачалоДня | Равно | 15.05.2026 |
Так же работают сравнения «больше или равно» с началом месяца, квартала или года.
Итоги и агрегаты
Заголовок раздела «Итоги и агрегаты»Для числовых колонок многострочной коллекции программа автоматически строит ветвь Итог.[Поле] с набором агрегатов. Считать итоги в запросе, добавлять отдельный набор или писать алгоритм для этого не требуется — достаточно выбрать нужный агрегат в дереве полей.
Агрегаты доступны только для колонок числового типа наборов с видом «Многострочная коллекция». Для количества строк коллекции отдельного агрегата не нужно — есть готовое поле НаборыДанных.[Набор].КоличествоСтрок.
| Название в дереве | Сегмент пути | Что считает |
|---|---|---|
| Сумма | Сумма | Сумма значений колонки по всем строкам коллекции |
| Среднее | Среднее | Среднее значение колонки по всем строкам |
| Максимум | Максимум | Наибольшее значение колонки |
| Минимум | Минимум | Наименьшее значение колонки |
| Итог накопительный | ИтогНакопительный | Нарастающий итог: сумма значений строк, выведенных с начала коллекции |
| Итог по странице | ИтогПоСтранице | Сумма значений строк, выведенных на текущей странице; обнуляется при переходе на новую страницу |
| Процент к итогу | ПроцентКИтогу | Доля значения текущей строки в общей сумме колонки, в процентах (тип «Число(15,2)») |
Первые четыре агрегата считаются один раз по всей коллекции — их значение одинаково в любой точке печатной формы. Три последних зависят от того, сколько строк уже выведено, поэтому осмысленны в области со способом вывода «По строкам коллекции» и в областях, которые выводятся после неё.
Путь Итог.[Поле].[Агрегат] и агрегаты «Итог накопительный», «Итог по странице» и «Процент к итогу» доступны начиная с версии 2026.2.11. Раньше Итог.[Поле] означал сумму — такие обращения в алгоритмах переписываются в Итог.[Поле].Сумма автоматически при загрузке макета.
Итог в подвале таблицы
Заголовок раздела «Итог в подвале таблицы»Классическая задача: вывести «Итого» под табличной частью.
- В области подвала выбираем параметр (например,
ИтогоСумма) и тип значения «Значение набора». - В дереве разворачиваем набор коллекции → ветвь
Итог→ нужную колонку и выбираем агрегат «Сумма». - Путь принимает вид
НаборыДанных.Товары.Итог.СуммаСНДС.Сумма, гдеСуммаСНДС— имя колонки набора, аСумма— имя агрегата.
Так как агрегат считается по всей коллекции, область подвала может выводиться и до строк, и после них — значение не изменится.

Ветвь «Итог» у колонки коллекции: список агрегатов
Колонка с нарастающим итогом
Заголовок раздела «Колонка с нарастающим итогом»Требуется колонка, в которой к каждой строке накапливается сумма предыдущих: 100, 250, 400 и т. д.
- В макете добавляем в область строки параметр, например
НакопительныйИтог. - Указываем тип значения «Значение набора» и выбираем агрегат «Итог накопительный»:
НаборыДанных.Товары.Итог.Количество.ИтогНакопительный.
Значение обновляется по мере вывода строк коллекции, поэтому в каждой строке отображается сумма по всем выведенным ранее строкам, включая текущую.
Итог по странице
Заголовок раздела «Итог по странице»Агрегат «Итог по странице» работает так же, как нарастающий итог, но обнуляется после вывода каждой страницы. Типичное применение — строка «Перенос» в конце страницы многостраничной накладной.
Процент к итогу
Заголовок раздела «Процент к итогу»Агрегат «Процент к итогу» возвращает долю значения текущей строки в общей сумме колонки, умноженную на 100. Если сумма колонки равна нулю, возвращается 0.
Например, для колонки Сумма со строками 100, 300 и 100 (итог 500) агрегат вернёт 20, 60 и 20 соответственно. Путь: НаборыДанных.Товары.Итог.Сумма.ПроцентКИтогу. Тип результата — «Число(15,2)», при необходимости точность вывода настраивается форматированием числа.
Итоги в алгоритмах
Заголовок раздела «Итоги в алгоритмах»В отличие от функций поля даты, итоги доступны в произвольных алгоритмах — обращение выполняется по тому же пути, например НаборыДанных.Товары.Итог.Сумма.Сумма.
Склонение представлений
Заголовок раздела «Склонение представлений»Русский текст в печатных формах часто требуется в косвенном падеже: «в лице генерального директора Иванова Ивана Ивановича», «выдана Петровой Марии Сергеевне». Отдельного поля для этого не нужно — склонение входит в настройки форматирования строки и применяется к любому строковому значению: параметру области, полю представления, полю набора.
Настройка находится на закладке «Строка» конструктора форматирования, в группе «Склонение в падеже», и состоит из трёх частей:
| Настройка | Назначение |
|---|---|
| Падеж | Падеж, в который нужно просклонять значение. Если падеж не выбран, склонение не выполняется |
| как ФИО | Флажок. Признак того, что значение — фамилия, имя и отчество; включает режим склонения ФИО |
| пол | Уточнение рода: «авто», «мужской» или «женский». Учитывается только при установленном флажке «как ФИО» |
Доступные падежи:
| Падеж | Значение в XML |
|---|---|
| Именительный | Nominative |
| Родительный | Genitive |
| Дательный | Dative |
| Винительный | Accusative |
| Творительный | Instrumental |
| Предложный | Prepositional |
Значения настройки «пол» в файле выгрузки — Auto, Male, Female. Значение «авто» означает, что род определяется автоматически по самому ФИО.
Пример: ФИО в родительном падеже
Заголовок раздела «Пример: ФИО в родительном падеже»Требуется вывести «Доверенность выдана Иванова Ивана Ивановича» — фамилию, имя и отчество в родительном падеже.
- В таблице параметров области находим параметр с ФИО и двойным кликом по крайней правой колонке открываем настройку форматирования.
- Переходим на закладку «Строка» и в группе «Склонение в падеже» выбираем падеж «Родительный».
- Устанавливаем флажок «как ФИО».
- Если автоматическое определение рода даёт неверный результат (например, для редких или несклоняемых фамилий), задаём пол явно.

Склонение в падеже на закладке «Строка» конструктора форматирования
Склонение выполняется до форматирования ФИО по шаблону, поэтому настройки «Склонение в падеже» и «Вариант вывода ФИО» можно использовать вместе: сначала значение склоняется целиком, затем сокращается до нужного шаблона (например, «Иванова И. И.»). Полный порядок операций форматирования приведён в разделе Форматирование.
Системные поля
Заголовок раздела «Системные поля»Системные поля — это набор НаборыДанных.СистемныеПоля, который программа формирует сама. Его не нужно создавать, он всегда присутствует в дереве доступных полей и не зависит от запросов макета.
| Поле | Тип | Что содержит |
|---|---|---|
НаборыДанных.СистемныеПоля.НомерСтраницы | Число | Номер текущей страницы печатной формы |
НаборыДанных.СистемныеПоля.ТекущаяДата | Дата | Дата и время формирования печатной формы |
НаборыДанных.СистемныеПоля.ТекущийПользователь | Ссылка | Пользователь, сформировавший печатную форму (доступно при использовании подсистемы «Пользователи» БСП) |
Системные поля используются так же, как обычные: подставляются в параметры областей, в конструктор представления и в правила вывода. Типичные сценарии — нумерация страниц в колонтитуле, отметка «Сформировано <дата>» в подвале и условный вывод области начиная со второй страницы. Пример правила вывода с полем НомерСтраницы разобран в разделе Макет.
К полю ТекущаяДата применимы функции поля даты — например, НаборыДанных.СистемныеПоля.ТекущаяДата.НачалоДня даёт дату формирования без времени.