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

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

Что такое регистр накопления и зачем он нужен

Регистр накопления — это объект метаданных в 1С:Предприятие, предназначенный для хранения информации об остатках (на определенную дату) и оборотах (за период) по различным измерителям. В отличие от регистров сведений, которые хранят справочную информацию, регистры накопления фиксируют динамические данные, изменяющиеся в результате хозяйственных операций.

Примеры использования регистров накопления:

  • 📦 Остатки товаров на складах — сколько единиц каждого товара есть в наличии.
  • 💰 Взаиморасчеты с контрагентами — дебиторская и кредиторская задолженность.
  • 🕒 Остатки рабочего времени — учет отработанных часов сотрудников.
  • 📊 Финансовые результаты — прибыли и убытки по периодам.

Каждый регистр накопления имеет свою структуру, которая включает:

  • 📌 Измерения — параметры, по которым ведется учет (например, Склад, Номенклатура).
  • 📏 Ресурсы — количественные показатели (например, Количество, Сумма).
  • 🔄 Реквизиты — дополнительные атрибуты (например, Валюта, Ставка НДС).

Без регистров накопления невозможно формировать многие отчеты (например, Оборотно-сальдовую ведомость или Анализ субконто), поэтому умение с ними работать критично для аналитиков, бухгалтеров и разработчиков.

📊 Как часто вы работаете с регистрами накопления в 1С?
Ежедневно
Несколько раз в неделю
Редико
Никогда не пользовался

Способы открытия регистра накопления в режиме 1С:Предприятие

В пользовательском режиме (1С:Предприятие) доступ к регистрам накопления зависит от конфигурации и прав доступа. Рассмотрим основные варианты.

Способ 1: Через меню "Операции"

Это универсальный метод, который работает в большинстве типовых конфигураций (1С:Бухгалтерия, 1С:УТ, 1С:ЗУП):

  1. Откройте главное меню программы.
  2. Перейдите в раздел Операции → Регистры накопления.
  3. В открывшемся окне выберите нужный регистр из списка (например, ТоварыНаСкладах или ВзаиморасчетыСКонтрагентами).

Если в вашей конфигурации нет пункта Операции в главном меню, попробуйте:

  • 🔍 Нажать Ctrl+Shift+F для вызова поиска по меню и ввести "Регистры накопления".
  • 🖱️ Кликнуть правой кнопкой мыши на свободном месте панели инструментов и выбрать Настройка → Добавить команду, затем найти нужный регистр.

Проверить права доступа в 1С|Убедиться, что база не заблокирована другим пользователем|Закрыть все открытые документы перед редактированием|Сделать резервную копию данных (для критичных изменений)-->

Способ 2: Через отчеты и обработки

Многие регистры накопления можно открыть непосредственно из отчетов:

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

Пример для 1С:Бухгалтерии 8.3:

  1. Откройте отчет Анализ счета (раздел Отчеты → Бухгалтерские отчеты).
  2. Выберите счет (например, 60.01 — расчеты с поставщиками).
  3. Нажмите на сумму в колонке Сальдо или Оборот — система предложит открыть регистр ВзаиморасчетыСКонтрагентами.
💡

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

Способ 3: Через журнал документов

Если вам нужно просмотреть, как документ повлиял на регистр накопления:

  1. Откройте журнал документов (например, Реализация товаров и услуг).
  2. Выделите нужный документ и нажмите Действия → Показать движения (или Alt+Shift+D).
  3. В открывшемся окне выберите вкладку с названием регистра накопления (например, ТоварыНаСкладах).

Это удобно, когда нужно отследить, какой именно документ изменил остатки на складе или сумму задолженности.

Что делать, если пункт "Показать движения" отсутствует?

Если в меню документа нет команды "Показать движения", это может означать:

1. У вашей роли недостаточно прав (обратитесь к администратору).

2. Документ еще не проведен (нажмите "Провести").

3. В конфигурации отключена возможность просмотра движений для этого типа документов (требуется доработка).

Как открыть регистр накопления в Конфигураторе

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

Шаг 1: Запуск Конфигуратора

Чтобы открыть регистр накопления в Конфигураторе:

  1. Закройте все сеансы 1С:Предприятие.
  2. Запустите 1С:Предприятие в режиме Конфигуратор (выберите базу и удерживайте Shift при запуске или выберите в списке баз).
  3. Введите пароль администратора (если требуется).

Шаг 2: Поиск регистра в дереве метаданных

В окне Конфигуратора:

  1. В левой части экрана найдите ветку Общие → Регистры накопления.
  2. Раскройте список и выберите нужный регистр (например, ТоварыНаСкладах).
  3. Дважды кликните на нем, чтобы открыть окно редактирования.

В этом окне вы можете:

  • 📝 Изменять структуру регистра (добавлять/удалять измерения, ресурсы).
  • 🔧 Настраивать права доступа.
  • 💻 Писать обработчики событий (например, ПриЗаписи).
💡

Изменения в Конфигураторе требуют обновления конфигурации базы данных. После редактирования регистра нажмите Конфигурация → Обновить конфигурацию базы данных.

Шаг 3: Просмотр данных регистра через "Все функции"

Если нужно просмотреть данные регистра без изменения его структуры:

  1. В Конфигураторе нажмите Отладка → Все функции (или Ctrl+Shift+F).
  2. В открывшемся окне найдите раздел РегистрыНакопления.
  3. Выберите метод ОткрытьФормуСписка() или ОткрытьФормуВыбора() для нужного регистра.

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

Поиск регистра накопления по имени в коде

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

Способ 1: Прямое обращение по имени

Имя регистра накопления в коде указывается в формате:

РегистрыНакопления.ИмяРегистра

Примеры:

// Получение остатков по товарам на складе

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,

| ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток

|ИЗ

| РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКонца, ) КАК ТоварыНаСкладахОстатки";

Запрос.УстановитьПараметр("ДатаКонца", ТекущаяДата());

Результат = Запрос.Выполнить();

Способ 2: Поиск через глобальный контекст

Если вы не знаете точное имя регистра, можно воспользоваться методом Метаданные():

// Получение списка всех регистров накопления

Метаданные = Метаданные();

Для Каждого Регистр Из Метаданные.РегистрыНакопления Цикл

Сообщить(Регистр.Имя);

КонецЦикла;

Это выведет в окно сообщений имена всех регистров накопления в текущей конфигурации.

Способ 3: Через конструктор запросов

В режиме 1С:Предприятие:

  1. Откройте любой отчет, который поддерживает конструктор запросов (например, Универсальный отчет).
  2. Нажмите Конструктор запроса.
  3. В дереве объектов найдите раздел Регистры накопления и выберите нужный.

Это поможет визуально построить запрос к регистру без ручного ввода кода.

Типичные ошибки и их решения

При работе с регистрами накопления пользователи часто сталкиваются с проблемами. Рассмотрим самые распространенные:

Ошибка Возможная причина Решение
Регистр накопления не отображается в списке Недостаточно прав доступа или регистр скрыт в интерфейсе Проверьте роль пользователя в Администрирование → Пользователи или обратитесь к администратору
Ошибка "Недостаточно прав для просмотра регистра" Ограничения на уровне ролей или конфигурации Запросите расширенные права или запустите 1С в режиме Конфигуратор
Данные в регистре не соответствуют документам Ошибки при проведении документов или ручное редактирование регистра Выполните Тестирование и исправление базы (Администрирование → Тестирование и исправление)
Не удается открыть регистр через отчет Отчет не настроен на взаимодействие с регистром Используйте универсальные отчеты (Оборотно-сальдовая ведомость по регистру)

Если регистр накопления открывается, но данные в нем отсутствуют или некорректны, проверьте:

  • 🔹 Правильность заполнения документов, которые формируют движения по регистру.
  • 🔹 Дату, на которую запрашиваются остатки (возможно, вы смотрите данные на будущую дату).
  • 🔹 Настройки фильтров в форме регистра (например, может быть установлен фильтр по складу или организации).
💡

Если после проведения документа движения в регистре не появились, проверьте модуль документа на наличие процедуры ОбработкаПроведения() — возможно, там пропущена запись в регистр.

Анализ данных регистра накопления

Простого открытия регистра накопления недостаточно — нужно уметь анализировать хранящиеся в нем данные. Рассмотрим основные приемы.

Просмотр остатков и оборотов

В форме регистра накопления обычно доступны две ключевые вкладки:

  • 📅 Остатки — данные на конкретную дату.
  • 🔄 Обороты — изменения за период.

Чтобы проанализировать остатки:

  1. Откройте регистр (например, ТоварыНаСкладах).
  2. Перейдите на вкладку Остатки.
  3. Укажите дату, на которую нужно получить данные.
  4. Настройте отборы (например, по складу или номенклатуре).

Для анализа оборотов:

  1. Перейдите на вкладку Обороты.
  2. Задайте период (начало и конец).
  3. Используйте группировки по измерениям (например, по Контрагенту или Договору).

Экспорт данных в Excel

Для дальнейшего анализа данные из регистра можно выгрузить в Excel:

  1. В форме регистра нажмите Еще → Выгрузить в Excel (или Файл → Сохранить как...).
  2. Выберите формат (.xlsx или .csv).
  3. Укажите путь для сохранения файла.

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

Сравнение данных с другими регистрами

Часто требуется сверить данные из одного регистра накопления с другим. Например, остатки товаров на складе (ТоварыНаСкладах) и данные по партиям (ПартииТоваровНаСкладах). Для этого:

  1. Откройте Универсальный отчет (Отчеты → Стандартные отчеты).
  2. Добавьте оба регистра в источники данных.
  3. Настройте связи между измерениями (например, Номенклатура и Склад).

Это поможет выявить расхождения, например, когда в одном регистре есть остатки, а в другом — нет.

Практические советы для разработчиков

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

Оптимизация запросов к регистрам

Запросы к регистрам накопления могут тормозить систему, если не оптимизированы. Следующие приемы помогут ускорить работу:

  • 🚀 Используйте ИНДЕКСИРОВАТЬ ПО для полей, по которым часто идет отбор.
  • 📊 Ограничивайте период выборки (например, вместо ДАТАВРЕМЯ(1,1,1) используйте конкретную дату).
  • 🔍 Избегайте выборки всех полей — указывайте только необходимые.

Пример оптимизированного запроса:

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| РегистрНакопления.ТоварыНаСкладах.Остатки.Номенклатура КАК Номенклатура,

| СУММА(РегистрНакопления.ТоварыНаСкладах.Остатки.КоличествоОстаток) КАК Остаток

|ИЗ

| РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКонца, Склад = &Склад)

|СГРУППИРОВАТЬ ПО

| РегистрНакопления.ТоварыНаСкладах.Остатки.Номенклатура";

Запрос.УстановитьПараметр("ДатаКонца", ТекущаяДата());

Запрос.УстановитьПараметр("Склад", СсылкаНаСклад);

Результат = Запрос.Выполнить();

Работа с виртуальными таблицами

Регистры накопления поддерживают виртуальные таблицы, которые упрощают получение остатков и оборотов:

  • 📌 Остатки() — остатки на дату.
  • 🔄 Обороты() — обороты за период.
  • 📊 ОстаткиИОбороты() — комбинированные данные.

Пример использования виртуальной таблицы:

Запрос.Текст =

"ВЫБРАТЬ

| Остатки.Номенклатура КАК Номенклатура,

| Остатки.КоличествоОстаток КАК ОстатокНаНачало,

| Обороты.КоличествоПриход КАК Приход,

| Обороты.КоличествоРасход КАК Расход

|ИЗ

| РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаНачала, ) КАК Остатки

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Обороты(&ДатаНачала, &ДатаКонца, ) КАК Обороты

| ПО Остатки.Номенклатура = Обороты.Номенклатура";

Программное заполнение регистра

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

Регистр = РегистрыНакопления.ТоварыНаСкладах;

НаборЗаписей = Регистр.СоздатьНаборЗаписей();

НоваяЗапись = НаборЗаписей.Добавить();

НоваяЗапись.Период = ТекущаяДата();

НоваяЗапись.Номенклатура = СсылкаНаНоменклатуру;

НоваяЗапись.Склад = СсылкаНаСклад;

НоваяЗапись.КоличествоОстаток = 100;

НаборЗаписей.Записать();

Внимание! Ручное изменение регистров может привести к расхождению данных. Всегда делайте резервную копию перед такими операциями.

Разница между регистрами накопления и другими объектами 1С

Часто пользователи путают регистры накопления с другими объектами , такими как регистры сведений, регистры бухгалтерии или табличные части документов. Разберем ключевые отличия:

Объект Назначение Пример использования Хранит остатки?
Регистр накопления Учет остатков и оборотов по измерениям Остатки товаров на складах, взаиморасчеты Да
Регистр сведений Хранение справочной информации Курсы валют, цены номенклатуры Нет
Регистр бухгалтерии Хранение бухгалтерских проводок Обороты по счетам бухгалтерского учета Да (сальдо)
Табличная часть документа Хранение данных, связанных с документом Список товаров в реализации Нет

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

Например, если вам нужно узнать, сколько товаров было на складе на конкретную дату, вы обращаетесь к регистру накопления. А если требуется посмотреть историю изменения цены товара — к регистру сведений.

FAQ: Частые вопросы по работе с регистрами накопления

Как узнать, какой регистр накопления используется в документе?

Откройте документ в режиме Конфигуратор, найдите процедуру ОбработкаПроведения() и посмотрите, в какие регистры идут записи. Например, строка Движения.ТоварыНаСкладах.Записать(); указывает на регистр ТоварыНаСкладах.

Можно ли редактировать регистр накопления вручную?

Да, но это не рекомендуется, так как может привести к расхождению данных. Если требуется исправить ошибку, лучше:

  1. Найти документ, который сформировал неверные движения.
  2. Отменить его проведение, исправить и провести заново.

Ручное редактирование допустимо только в исключительных случаях и должно сопровождаться резервным копированием базы.

Почему в регистре накопления нет данных, хотя документы проведены?

Возможные причины:

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

Выполните Тестирование и исправление базы данных и проверьте движения документов через Все функции.

Как перенести данные из одного регистра накопления в другой?

Для переноса данных:

  1. Напишите обработку, которая читает данные из исходного регистра.
  2. Создайте набор записей для целевого регистра.
  3. Запишите данные с преобразованием структуры (если необходимо).

Пример кода:

ИсходныйРегистр = РегистрыНакопления.СтарыйРегистр;

ЦелевойРегистр = РегистрыНакопления.НовыйРегистр;

Выборка = ИсходныйРегистр.ВыбратьОстатки();

Пока Выборка.Следующий() Цикл

Набор = ЦелевойРегистр.СоздатьНаборЗаписей();

НоваяЗапись = Набор.Добавить();

НоваяЗапись.Период = Выборка.Период;

НоваяЗапись.Номенклатура = Выборка.Номенклатура;

НоваяЗапись.Количество = Выборка.КоличествоОстаток;

Набор.Записать();

КонецЦикла;

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

Если данные в регистре повреждены:

  1. Восстановите базу из резервной копии (если она есть).
  2. Используйте Тестирование и исправление (Администрирование → Тестирование и исправление).
  3. Перепроведите все документы за период (через Обработка "Групповое перепроведение документов").

Если повреждения серьезные, может потребоваться помощь специалиста по .