Подобно другим настройкам пользователей настройки вариантов отчетов и пользовательские настройки отчетов стандартно хранятся в системных таблицах информационной базы, и разработчик может иметь к ним доступ с помощью встроенного языка.
Заметим, что в стандартном хранилище сохраняются только варианты отчетов и пользовательских настроек, созданные в режиме 1С:Предприятие. Варианты отчета, созданные в конфигураторе, сохраняются в самой схеме компоновки данных и являются частью конфигурации.
Кроме того, разработчик может переопределить стандартное хранилище этих настроек в конфигурации как на уровне всей конфигурации, т. е. сразу для всех отчетов, так и на уровне отдельного отчета.
В первом случае используются свойства конфигурации Хранилище вариантов отчетов и Хранилище пользовательских настроек отчетов (рис. 3.214).
Рис. 3.214. Свойства конфигурации для хранения настроек отчетов
Во втором случае используются свойства конкретного отчета Хранилище вариантов и Хранилище настроек (рис. 3.215).
Рис. 3.215. Свойства отчета для хранения настроек
Таким образом, при сохранении вариантов отчетов и пользовательских настроек отчета платформа использует следующий алгоритм действий. Сначала просматриваются свойства конкретного отчета. Если в них хранилище настроек переопределено, то варианты и настройки отчета сохраняются в это хранилище. Если в свойствах отчета ничего не указано, то платформа просматривает соответствующие свойства конфигурации. Если в них хранилище настроек переопределено, то варианты и настройки отчета сохраняются в это хранилище. Если в свойствах конфигурации тоже ничего не указано, то платформа сохраняет настройки в стандартное хранилище (в системные таблицы информационной базы).
Предполагается, что в простых конфигурациях (как и в демонстрационной конфигурации, прилагающейся к книге) будет использоваться стандартный механизм хранения настроек в стандартном хранилище, который не требует дополнительного кодирования.
В сложных конфигурациях (например, когда требуется обмен настройками в распределенной информационной базе, когда нужна особенная структура хранения настроек и т. п.) разработчик может создавать собственные хранилища настроек и самостоятельно управлять их работой.