Как добавить поле в отчет на СКД и почему изменения из Конфигуратора не отображаются в режиме Предприятия?

Программист 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет Торговля и дистрибуция
← На главную

При разработке и доработке отчетов на базе Системы компоновки данных (СКД) в 1С разработчики часто сталкиваются с неочевидным поведением платформы. Разберем типичную ситуацию: мы добавили новое поле, например Артикул номенклатуры, в отчет «Остатки запасов» в конфигурации «1С:Управление нашей фирмой». Однако при запуске в режиме «Предприятие» добавленный артикул либо вообще не выводится, либо «слипается» в одной колонке с наименованием номенклатуры. Проанализируем причины такого поведения и рассмотрим рабочие способы решения этой задачи.

Почему изменения схемы СКД не видны пользователю?

Часто программисты вносят изменения в структуру отчета в Конфигураторе, добавляют новые группировки или выбранные поля, но в пользовательском режиме отчет выглядит по-старому. Выясним причину.

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

Решим эту проблему по шагам:

  1. Откроем наш отчет в режиме «Предприятие».
  2. В командной панели (шапке отчета) найдем кнопку Еще.
  3. В выпадающем меню выберем пункт Установить стандартные настройки.
  4. Сформируем отчет заново.

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

Важное дополнение: Иногда схема СКД жестко кэшируется текущим сеансом платформы (особенно если мы работаем с внешним отчетом). Если сброс настроек не помог, закроем режим «Предприятие» и очистим кэш 1С, либо просто сохраним внешний отчет под новым именем файла.

Как правильно вывести Артикул в отдельную колонку?

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

Способ 1: Настройка расположения реквизитов (рекомендуемый)

В СКД предусмотрена специальная настройка, управляющая поведением дополнительных реквизитов. Разберем, как ее использовать:

  1. Откроем настройки нашего отчета (или настройки конкретной группировки).
  2. Перейдем на вкладку Другие настройки (обычно располагается в самом низу окна настроек).
  3. Найдем параметр Расположение реквизитов.
  4. По умолчанию там установлено значение Вместе с владельцем. Изменим это значение на Отдельно.
  5. На вкладке Выбранные поля просто добавим наш Артикул (без создания отдельной группировки для него).

Теперь СКД автоматически выделит под артикул отдельную красивую колонку рядом с номенклатурой.

Способ 2: Настройка расположения полей группировок

Если по какой-то причине нам необходимо добавить Артикул именно как отдельное поле группировки (измерение) на одном уровне с Номенклатура, применим другой параметр:

  1. Зайдем в структуру отчета и добавим группировку, где через запятую будут указаны оба поля.
  2. Снова перейдем на вкладку Другие настройки.
  3. Найдем параметр Расположение полей группировок.
  4. Установим для него значение В отдельных колонках.

Использование пользовательских полей для вывода Артикула

Что делать, если пользователь хочет видеть Артикул перед наименованием (в самой первой колонке отчета), а мы не хотим переписывать схему в Конфигураторе? Рассмотрим отличный инструмент — Пользовательские поля.

Мы можем настроить это прямо в режиме «Предприятие»:

  1. Откроем расширенные настройки отчета.
  2. Перейдем на вкладку Пользовательские поля.
  3. Создадим новое поле типа Новое поле выражение.
  4. В поле выражения укажем путь к нашему реквизиту: [Номенклатура.Артикул].
  5. Зададим полю понятный заголовок, например "Артикул".
  6. Перейдем на вкладку Выбранные поля, добавим наше новое пользовательское поле и переместим его в самый верх списка (стрелочками вверх).

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

← На главную