Справочники и Данные · 11 мин
Что не является справочником в 1С: как отличить объекты конфигурации
Разбираем, какие объекты конфигурации 1С не относятся к справочникам: документы, регистры, перечисления, планы счетов. Признаки, отличия и частые ошибки.
Вопрос «что не является справочником в 1С» возникает и на экзаменах по платформе, и в реальной работе при проектировании конфигурации. Путаница объяснима: многие объекты 1С внешне похожи на списки значений, но по внутреннему устройству и назначению относятся к совершенно другим типам метаданных. Ошибка в выборе типа объекта приводит к проблемам: теряется история изменений, невозможно корректно построить отчёты, ломается логика проведения документов.
Справочник в 1С — это объект конфигурации для хранения условно-постоянной нормативно-справочной информации: номенклатуры, контрагентов, сотрудников, складов, договоров. Ключевые признаки — наличие кода и наименования, возможность иерархии, владельца, предопределённых элементов и произвольного набора реквизитов. Всё, что не соответствует этому назначению и устройству, справочником не является — даже если выглядит как «список».
Ниже разобраны основные типы объектов, которые чаще всего ошибочно принимают за справочники, с конкретными признаками отличия и практическими рекомендациями по выбору правильного типа.
Документы — главный «двойник», который справочником не является
Документ — самый частый ошибочный ответ. Внешне документ похож на справочник: у него есть реквизиты, табличные части, он отображается списком. Но назначение принципиально иное: документ фиксирует событие хозяйственной жизни в конкретный момент времени, а справочник описывает постоянно существующий объект учёта.
Ключевые отличия документа от справочника:
- обязательные системные поля — дата и номер; у справочника даты нет, вместо неё код и наименование;
- документ может проводиться и формировать движения по регистрам — справочник движений не создаёт;
- документы образуют последовательность во времени, справочники существуют вне временной оси;
- элемент справочника изменяется «по месту» (перезаписывается), а изменение прошлого фиксируется новым документом.
Пример из практики: «Приходная накладная» — это документ, а «Номенклатура», указанная в ней, — справочник. Если попытаться хранить факты поступления товара в справочнике, вы потеряете историю: каждая новая поставка будет затирать предыдущую, и восстановить картину движений станет невозможно.
Регистры сведений и регистры накопления
Регистры сведений часто путают со справочниками, потому что и те и другие хранят «таблицы значений». Например, цены номенклатуры или курсы валют хранятся в регистре сведений, а не в справочнике. Разница в структуре: регистр сведений хранит записи в разрезе измерений (и, для периодических, — во времени), а справочник — самостоятельные ссылочные объекты, на которые можно ссылаться из других объектов.
Регистр накопления вообще не содержит самостоятельных записей, введённых вручную: его строки (движения) порождаются только при проведении документов. Попытка использовать регистр накопления как справочник лишена смысла — данные там существуют только как следствие проведённых документов.
Когда выбрать регистр сведений вместо справочника
Если данные не требуют ссылок на них из других объектов, а нужны только значения в разрезе каких-то измерений — правильный выбор регистр сведений. Классический пример: курсы валют хранятся в периодическом регистре сведений с измерением «Валюта», а сама валюта — элемент справочника «Валюты».
Справочник или регистр сведений
Нужны ссылки на объект из документов и других справочников, иерархия, владельцы, предопределённые элементы.
Нужны значения в разрезе измерений или периода без самостоятельных ссылок: цены, курсы, штрихкоды, настройки.
Нужны остатки и обороты, формируемые только проведением документов: товары на складах, деньги, взаиморасчёты.
Перечисления — фиксированный список, а не справочник
Перечисление — это жёстко заданный на конфигураторе список значений, который пользователь не может пополнять в режиме предприятия. Примеры: «Виды операций», «Ставки НДС», «Пол». Значения перечисления существуют только внутри конфигурации и изменяются только разработчиком.
Признаки, по которым перечисление отличают от справочника:
- набор значений фиксирован на этапе разработки, пользователь не добавляет элементы;
- нет кода, наименования в пользовательском смысле, иерархии, реквизитов и табличных частей;
- значения перечисления нельзя пометить на удаление или переименовать из режима предприятия.
Типичная ошибка проектирования — создавать перечисление для данных, которые со временем меняются: список статусов заказа, видов услуг, причин отказов. Как только пользователю понадобится добавить новое значение, придётся дорабатывать конфигурацию. Если есть хоть малейшая вероятность расширения списка силами пользователя — создавайте справочник.
Планы видов характеристик, планы счетов и планы видов расчёта
Эти три типа объектов внешне очень похожи на справочники: у них есть код, наименование, иногда иерархия и предопределённые элементы. Тем не менее справочниками они не являются — у каждого специализированное назначение.
План видов характеристик описывает виды дополнительных свойств (характеристик) объектов: «Цвет», «Размер», «Материал». Его особенность — тип значения характеристики может быть задан для каждого вида отдельно. Используется в механизмах свойств и аналитического учёта.
План счетов — основа бухгалтерского учёта: хранит счета и субсчета (10, 41, 62, 90.01 и т.д.) с признаками учёта (количественный, валютный) и субконто. Элементы плана счетов используются в проводках регистра бухгалтерии, а не как обычные ссылки.
План видов расчёта применяется в расчётах зарплаты: описывает виды начислений и удержаний (оклад, премия, больничный) с формулами, базами и вытеснением. Это отдельный механизм с периодом действия, которого у справочников нет.
Отчёты, обработки, константы и другие объекты
Отчёты и обработки вообще не предназначены для хранения данных — это алгоритмы. Отчёт формирует результат на основе данных информационной базы, обработка выполняет действия (загрузку, групповое изменение, печать). Ни тот ни другой не содержат собственных постоянных данных, поэтому вопрос об их отнесении к справочникам не стоит.
Константы хранят одиночные значения на всю информационную базу: наименование организации, признак учёта по нескольким складам, дату запрета изменения данных. Константа — это всегда одно значение, а не список элементов, поэтому справочником она не является даже формально.
К объектам, не являющимся справочниками, также относятся:
- журналы документов — только объединяют отображение документов разных видов;
- регистры бухгалтерии и регистры расчёта — хранят проводки и записи расчётов;
- планы обмена — описывают состав узлов распределённой базы;
- задачи и бизнес-процессы — объекты маршрутизации работ;
- внешние источники данных, критерии отбора, подсистемы, роли — технологические объекты без пользовательских данных.
Как быстро определить тип объекта в конфигураторе и в режиме предприятия
В конфигураторе откройте дерево конфигурации: каждый тип объектов сгруппирован в отдельной ветке — «Справочники», «Документы», «Регистры сведений» и так далее. Если объект находится не в ветке «Справочники», справочником он не является, как бы ни назывался.
В режиме предприятия ориентируйтесь на косвенные признаки. У справочника в форме списка есть колонки «Код» и «Наименование», часто доступны команды создания группы и кнопка иерархического просмотра. У документа обязательно видны дата и номер, есть кнопка проведения. Значения перечисления выбираются из короткого выпадающего списка без возможности добавить новое.
Как проверить тип объекта
Даты и проведения нет — возможно, это справочник
Есть дата и проведение — это документ, не справочник
Добавление доступно — справочник или регистр
Список фиксирован — это перечисление
Есть — справочник или план (счетов, видов характеристик)
Нет — регистр, константа или перечисление
Находится в ветке «Справочники»
Любая другая ветка — объект не справочник
Практические критерии выбора: когда нужен именно справочник
Создавайте справочник, когда одновременно выполняются условия: данные представляют собой самостоятельные объекты учёта; на них нужны ссылки из документов, регистров и других справочников; пользователь должен пополнять и редактировать список; требуется иерархия, владельцы или дополнительные реквизиты.
Не создавайте справочник, если значения фиксированы и известны на этапе разработки (перечисление), если нужны только записи в разрезе измерений (регистр сведений), если данные — это события во времени (документ), если нужны остатки и обороты (регистр накопления с документами-регистраторами).
Как выбрать тип объекта
Перед изменением структуры метаданных в рабочей базе сделайте резервную копию. Удаление или пересоздание объекта другого типа приводит к потере хранившихся в нём данных — платформа не конвертирует справочник в перечисление или регистр автоматически.
Что важно запомнить
Справочник — только один из типов объектов 1С для нормативно-справочных данных. Документы, регистры, перечисления, планы счетов и видов характеристик, константы, отчёты и обработки справочниками не являются. Выбор типа определяется назначением данных: ссылки и пополняемость — справочник, события — документ, фиксированный список — перечисление, значения в разрезе измерений — регистр сведений.
Частые вопросы
Является ли справочником перечисление «Ставки НДС»?
Нет. Значения перечисления заданы в конфигураторе и не могут пополняться пользователем в режиме предприятия. Если ставки могут меняться силами администратора базы, правильнее хранить их в справочнике или регистре сведений с периодичностью.
Можно ли хранить список сотрудников в регистре сведений?
Технически можно, но это ошибка проектирования: на записи регистра сведений нельзя ссылаться из документов и других объектов, нет иерархии и владельцев. Сотрудники — классический пример сущности, для которой нужен справочник.
Чем план счетов отличается от справочника «Счета»?
План счетов связан с регистром бухгалтерии: его элементы участвуют в проводках, имеют признаки учёта и субконто. Обычный справочник таких механизмов не поддерживает, и проводки по элементам справочника сформировать нельзя.
Почему документ нельзя использовать как справочник?
Документ привязан к дате и описывает событие, а не постоянный объект. Ссылаться на документ из других данных можно, но семантически это ссылка на факт, а не на сущность учёта; кроме того, документы создают нагрузку механизмами проведения и нумерации.
Как понять, что вместо справочника нужно было перечисление?
Признак: список элементов за годы работы не менялся, все значения известны заранее и используются в алгоритмах конфигурации. В таком случае перечисление надёжнее — оно исключает случайное удаление или переименование значения пользователем.
Относятся ли отчёты и обработки к объектам хранения данных?
Нет. Это алгоритмические объекты: они читают и обрабатывают данные, но не имеют собственных таблиц для постоянного хранения. Поэтому в классификации «справочник / не справочник» они вообще стоят в стороне.