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

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

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

⚠️ Внимание: Перед внесением изменений в конфигурацию или сохранением вариантов отчетов обязательно создайте резервную копию базы данных. Ошибки в схеме запроса могут привести к неработоспособности отчета.

Анализ источника данных и структуры отчета

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

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

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

💡

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

Добавление поля через настройки в режиме Предприятия

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

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

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

  • 📊 Выбор ресурса: Найдите в дереве полей нужный реквизит, например, «Номенклатура.Артикул».
  • 🔢 Настройка агрегации: Для числовых полей выберите функцию (Сумма, Среднее, Минимум), если поле попадает в итоговую строку.
  • 🎨 Оформление: Задайте условное оформление, чтобы выделять важные значения цветом.
  • 📑 Группировка: Решите, будет ли поле использоваться как измерение для группировки строк или только как детализация.
📊 Какой способ добавления полей вы используете чаще?
Настройки в режиме 1С
Доработка в Конфигураторе
Консоль запросов
Внешние обработки

Создание вычисляемых полей в Схеме компоновки данных

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

Перейдите в редактор схемы компоновки данных. В дереве объектов найдите узел «Наборы данных» и выберите основной набор. В свойствах набора данных перейдите к коллекции «Ресурсы». Добавьте новый элемент, задав ему уникальное имя и выражение.

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

ВЫРАЗ(Товары.Цена * Товары.Количество, Число(15, 2))

Обратите внимание на тип возвращаемого значения. Если вы складываете строки с числами без явного приведения типов, система выдаст ошибку при выполнении отчета. Используйте функцию ВЫРАЗ для явного указания типа данных, как показано в примере выше.

⚠️ Внимание: Сложные вычисления в ресурсах СКД могут значительно замедлить формирование отчета на больших объемах данных. Оптимизируйте формулы или переносите расчеты на уровень запроса.

☑️ Проверка вычисляемого поля

Выполнено: 0 / 4

Редактирование запроса для получения новых данных

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

Откройте редактор запроса в составе схемы компоновки данных. В секции ВЫБРАТЬ добавьте новое поле из нужной таблицы. Не забудьте указать псевдоним для поля, если вы используете вычисления прямо в тексте запроса. Псевдоним станет именем ресурса в схеме.

При добавлении таблиц через ЛЕВОЕ СОЕДИНЕНИЕ убедитесь, что условия соединения корректны. Ошибки в джойнах могут привести к дублированию строк или потере данных. После изменения текста запроса обязательно нажмите кнопку «Обновить схему», чтобы система распознала новые поля.

Элемент запроса Назначение Пример использования
ВЫБРАТЬ Список выводимых полей Товары.Наименование
ИЗ Основная таблица данных Справочник.Номенклатура
СОЕДИНЕНИЕ Присоединение связанных таблиц ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения
ГДЕ Фильтрация записей Товары.ЭтоГруппа = ЛОЖЬ
Что делать, если поле не появляется после обновления схемы?

Если поле не появилось в списке ресурсов, проверьте, нет ли в тексте запроса синтаксических ошибок. Также убедитесь, что вы сохранили изменения в наборе данных и обновили именно тот набор, который используется в макете. Иногда помогает полное переоткрытие объекта схемы компоновки данных.

Настройка отображения и форматирования нового поля

После того как поле добавлено в схему и запрос, важно настроить его визуальное представление. Сырые данные часто выглядят непрезентабельно: даты могут отображаться с временем, числа — с лишними знаками после запятой, а булевы значения — как «Истина/Ложь».

В макете компоновки данных выберите добавленное поле. В палитре свойств найдите раздел «Формат». Здесь можно задать строку формата, аналогичную тем, что используются в функциях форматирования 1С. Например, для денежного поля подойдет формат ЧЦ=15; ЧДЦ=2; Б=.

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

  • 💰 Денежный формат: Используйте формат ЧЦ=10; ЧДЦ=2; РД=. для валютных полей.
  • 📅 Формат даты: Настройте отображение как ДФ="dd.MM.yyyy" для краткости.
  • 📏 Ширина колонки: Задайте минимальную и максимальную ширину, чтобы текст не обрезался.
  • 🔄 Перенос слов: Включите перенос длинных строк, если поле содержит текстовые комментарии.

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

💡

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

Сохранение варианта отчета и права доступа

Финальным этапом является сохранение изменений. Если вы работали в режиме предприятия, нажмите кнопку «Сохранить вариант» или «Записать». Дайте варианту отчета осмысленное имя, чтобы другие пользователи могли его найти. Можно установить этот вариант как вариант по умолчанию для вашей учетной записи.

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

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

Часто задаваемые вопросы (FAQ)

Можно ли добавить поле в отчет без прав администратора?

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

Почему добавленное поле отображается пустым?

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

Как удалить добавленное поле из отчета?

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

Влияет ли добавление поля на скорость работы отчета?

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