Регистры это сердце учёта в 1С. Документы фиксируют события, а регистры хранят данные в разрезе нужных аналитик, чтобы быстро получать остатки, обороты и актуальные значения. На собесе почти всегда просят спроектировать регистр под задачу.
Структура регистра
- Измерения: аналитики, в разрезе которых хранятся данные (Номенклатура, Склад).
- Ресурсы: хранимые показатели (Количество, Сумма).
- Реквизиты: дополнительная информация к записи, по ней итоги не считаются.
Регистр сведений
Хранит значения в разрезе измерений: цены, курсы, настройки, адреса. Ресурсы любого типа и не суммируются.
- Периодичность: непериодический или периодический (в пределах секунды, дня, месяца, квартала, года, по позиции регистратора). Периодический хранит историю, его виртуальные таблицы СрезПоследних и СрезПервых.
- Режим записи: независимый (пишут пользователь и код, есть менеджер записи) или подчинение регистратору (записи принадлежат документу).
Ключ записи периодического регистра это период плюс измерения. Повторная запись с тем же ключом замещает старую.
Опасность: набор записей без отбора при записи с замещением удалит все записи регистра.
Регистр накопления
Хранит движения числовых показателей. Ресурсы только числовые.
- Вид Остатки: движения Приход и Расход, таблицы Остатки, Обороты, ОстаткиИОбороты. Для того, что накапливается и расходуется: товары, деньги, долги.
- Вид Обороты: только обороты, без вида движения, таблица Обороты. Для продаж, выручки, закупок.
Регистр накопления всегда подчинён регистратору: движения делает документ при проведении.
Быстрота остатков обеспечена итогами: платформа хранит итоги по месяцам и актуальные итоги, и остаток на дату досчитывает от ближайшей точки. У регистра оборотов можно настроить агрегаты.
Регистр бухгалтерии
Работает с планом счетов: записи это проводки со счетами дебета и кредита (если включена корреспонденция), субконто и суммы. Виртуальные таблицы: Остатки, Обороты, ОстаткиИОбороты, ОборотыДтКт, ДвиженияССубконто.
Регистр расчёта
Работает с планом видов расчёта: начисления и удержания, период регистрации, период действия, базовый период, привязка к графику работы. Механизмы: базовые виды (от чего считать), вытеснение (больничный вытесняет оклад), перерасчёты. Виртуальные таблицы: ДанныеГрафика, ФактическийПериодДействия, базовые данные.
Как выбирать
- Нужно суммировать (остатки, обороты): регистр накопления.
- Нужно значение в разрезе (цена, курс): регистр сведений, периодический для истории.
- Бухгалтерские проводки: регистр бухгалтерии.
- Зарплатные расчёты с периодами действия: регистр расчёта.
Не добавляйте лишние измерения: остаток по менеджеру бессмыслен, а каждое измерение раздувает итоги и мешает блокировкам.
Пример движения
Движения.ТоварыНаСкладах.Записывать = Истина;
Движение = Движения.ТоварыНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = Строка.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = Строка.Количество;
Частые ошибки
- Цены в регистре накопления.
- Строковые ресурсы в регистре накопления (недопустимо).
- Запись набора регистра сведений без отбора.
- Лишние измерения в регистре остатков.
Что спросят на собесе
- Чем регистр сведений отличается от регистра накопления?
- Чем регистр остатков отличается от оборотного?
- Спроектируйте регистры для склада, цен и продаж.
- Что такое подчинение регистратору?
- Как работают итоги регистра накопления?