Где увидеть данные регистров 1С 8.3: от «Всех функций» до отладчика
Содержание
Быстрее всего смотреть регистры в 1С через команду Все функции: включите её в Сервис и настройки → Параметры флажком «Отображать команду “Все функции”», затем откройте Главное меню → Все функции → Регистры накопления (или Регистры сведений, Регистры бухгалтерии) и выберите нужный регистр. Откроется список его записей с отбором и сортировкой.
Это работает в любой типовой конфигурации на платформе 8.3 с интерфейсом «Такси». Для остатков на дату, срезов и сложных отборов нужна консоль запросов, а чтобы поймать движения в момент проведения документа — отладчик в конфигураторе.
Какие бывают регистры и что в них лежит
Регистр — это таблица, куда программа складывает итоговые данные. Документы и справочники хранят «первичку», а регистры отвечают на вопросы «сколько осталось», «какая цена действует», «какие проводки».
В 1С 8.3 четыре вида регистров:
| Вид | Что хранит | Пример в типовых | Что спрашивают у регистра |
|---|---|---|---|
| 📘 Регистр сведений | Значения во времени или без него | Курсы валют, цены номенклатуры, учётная политика | Какое значение действует на дату |
| 📦 Регистр накопления | Приход и расход количества и сумм | Товары на складах, взаиморасчёты | Остаток и обороты за период |
| 📒 Регистр бухгалтерии | Проводки по плану счетов | Хозрасчетный в Бухгалтерии 3.0 | Сальдо и обороты по счёту и субконто |
| 🧮 Регистр расчёта | Начисления с периодами действия | Начисления и удержания в ЗУП | Фактический период, база расчёта |
У регистров накопления есть два подвида:
- 📊 остатков — хранит и движения, и итоги, умеет отдавать остаток на дату;
- 🔄 оборотов — только обороты за период, остатков у него нет.
Регистры сведений бывают периодическими (у записи есть дата, значение меняется во времени) и непериодическими. Ещё одна важная характеристика — режим записи: «независимый» (записи вводят вручную) или «подчинение регистратору» (записи появляются только при проведении документа).
От вида регистра зависит, как его смотреть. Записи подчинённого регистра в списке руками не поправить, а у оборотного регистра бесполезно искать остатки.
Просмотр регистров в режиме «Предприятие»
Для пользователя есть три способа. Они не требуют прав администратора, но нужны права на чтение конкретного регистра.
Способ 1. Список записей через «Все функции»
- Нажмите кнопку главного меню (три полоски в левом верхнем углу) →
Сервис → Параметры. - Установите флажок «Отображать команду “Все функции”» и нажмите
Применить. - Откройте
Главное меню → Все функции. - Раскройте ветку нужного вида регистров и дважды щёлкните по регистру.
В списке видны все записи: период, регистратор, вид движения (приход или расход), измерения и ресурсы. Через меню Ещё можно задать отбор, например по номенклатуре или складу, и добавить скрытые колонки.
Отбор по колонке Регистратор быстро показывает, что сделал конкретный документ. Но удобнее зайти со стороны самого документа — это способ 2.
Способ 2. Движения документа
В форме проведённого документа нажмите кнопку ДтКт («Показать проводки и другие движения документа»). Откроется окно с вкладками: по одной на каждый регистр, куда документ записал данные. В Бухгалтерии 3.0 первая вкладка — проводки по регистру Хозрасчетный.
Это самый короткий путь, когда надо понять, почему документ «не попал» в отчёт. Нет вкладки нужного регистра — значит, движений туда не было.
Способ 3. Универсальный отчёт
В Бухгалтерии 3.0 он лежит в Отчеты → Стандартные отчеты → Универсальный отчет. В шапке выбирают:
- тип объекта — регистр накопления, сведений или бухгалтерии;
- сам регистр;
- таблицу — например, «Остатки», «Обороты», «Остатки и обороты» или срез последних для регистра сведений;
- период.
Отчёт строит сводную таблицу с группировками и отборами. Его удобно сохранить как вариант и вернуться к нему через месяц.
| Способ | Когда выбрать | Ограничение |
|---|---|---|
| Все функции | Посмотреть сырые записи, найти конкретную строку | Нет остатков на дату |
| Движения документа | Разобрать один документ | Только по одному документу |
| Универсальный отчёт | Остатки, обороты, срезы с группировками | Нет произвольных условий и соединений |
Консоль запросов: остатки, обороты и срезы
Когда отчёта мало, берут консоль запросов. Это внешняя обработка .epf: её выпускают для каждой версии платформы, она входит в состав стандартных обработок с диска ИТС. Открывают через Главное меню → Файл → Открыть.
Чтобы открыть внешнюю обработку, у пользователя должно быть право на интерактивное открытие внешних обработок. Программа покажет предупреждение о безопасности — его нужно подтвердить. Запросы консоли только читают данные, базу они не меняют.
Виртуальные таблицы регистров
Регистр редко читают «как есть». Вместо этого обращаются к виртуальным таблицам — платформа сама считает итоги.
| Регистр | Виртуальные таблицы |
|---|---|
| Сведений (периодический) | СрезПоследних, СрезПервых |
| Накопления остатков | Остатки, Обороты, ОстаткиИОбороты |
| Накопления оборотов | Обороты |
| Бухгалтерии | Остатки, Обороты, ОстаткиИОбороты, ОборотыДтКт, ДвиженияССубконто |
Пример 1. Курс валюты на дату
ВЫБРАТЬ
КурсыВалют.Валюта,
КурсыВалют.Курс,
КурсыВалют.Кратность
ИЗ
РегистрСведений.КурсыВалют.СрезПоследних(&НаДату, ) КАК КурсыВалют
Параметр &НаДату задаётся на вкладке параметров консоли. Срез последних вернёт по каждой валюте последнюю запись с датой не позже указанной.
Пример 2. Сальдо по счёту в Бухгалтерии 3.0
ВЫБРАТЬ
Остатки.Счет,
Остатки.Субконто1 КАК Контрагент,
Остатки.СуммаОстатокДт,
Остатки.СуммаОстатокКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(
&НаДату,
Счет В ИЕРАРХИИ (&Счет),
,
Организация = &Организация) КАК Остатки
Параметры виртуальной таблицы идут в фиксированном порядке: период, условие на счёт, виды субконто, прочие условия. Пропущенный параметр оставляют пустым, но запятую ставят.
Ловушка с границей периода
Остатки на дату 01.03 считаются на начало этой даты: движения, сделанные в ту же секунду, в остаток не входят. Если нужен остаток с учётом всех операций дня, передайте конец дня. Например, в параметре укажите 31.03 23:59:59 или в коде задайте границу с видом «включая»:
Запрос.УстановитьПараметр("НаДату",
Новый Граница(КонецДня(Дата), ВидГраницы.Включая));
Из-за этой разницы новички часто видят расхождение между консолью и оборотно-сальдовой ведомостью.
Условия по измерениям пишите внутри параметров виртуальной таблицы, а не в ГДЕ. Так платформа сначала отберёт нужное, а потом посчитает итоги. На большой базе разница в скорости бывает в разы.
Отладчик: что записывает документ при проведении
Список и консоль показывают уже записанные данные. Если надо увидеть, что документ собирается записать, или понять, почему движения пустые, нужен отладчик.
- Откройте конфигуратор и найдите модуль объекта документа (в дереве конфигурации: документ →
Открыть модуль объекта). - Найдите процедуру
ОбработкаПроведенияи поставьте точку останова клавишейF9в конце процедуры, до записи движений. - Запустите базу из конфигуратора в режиме отладки:
Отладка → Начать отладку → 1С:Предприятие(илиF5). - Проведите документ. Выполнение остановится на точке.
- Выделите выражение и нажмите
Shift+F9— откроется окно «Вычислить выражение».
Что вычислять:
- 📝
Движения.ТоварыНаСкладах.Выгрузить()— набор записей регистра в виде таблицы значений. Имя регистра подставьте своё; посмотреть его можно в дереве конфигурации. - 🔍
Запрос.Выполнить().Выгрузить()— результат запроса, которым модуль собирает данные для движений. - 📋
Движения.ТоварыНаСкладах.Количество()— сколько строк набрано.
Таблицу значений отладчик показывает как обычную таблицу: можно пролистать строки и проверить каждое поле.
Для серверной базы отладку нужно разрешить на сервере 1С: служба агента запускается с параметром -debug. Перезапуск службы оборвёт все сеансы пользователей, поэтому делайте это вне рабочего времени и предупредите людей. В файловой базе ничего настраивать не надо.
В типовых конфигурациях на БСП движения часто формирует не модуль документа, а общие модули проведения. Если в ОбработкаПроведения только вызов общей процедуры, зайдите в неё через F11 (шаг с заходом).
Регистры в конфигураторе: структура и таблицы базы
Конфигуратор данных регистров не показывает. Зато в нём видна структура, без которой запрос не составить.
Откройте ветку Регистры сведений (или накопления, бухгалтерии) в дереве конфигурации и дважды щёлкните по регистру. На вкладках окна свойств смотрят:
- 🧩 измерения — разрезы учёта (склад, номенклатура, организация);
- 💰 ресурсы — числа, которые суммируются (количество, сумма);
- 🏷 реквизиты — дополнительные поля без итогов;
- ⏱ периодичность и режим записи — для регистров сведений;
- 📑 регистраторы — какие документы пишут движения.
Обратная задача — по имени таблицы в СУБД найти регистр. Она возникает, когда в журнале SQL или в технологическом журнале видно _AccumRg1234, а что это — непонятно. Платформа хранит регистры в таблицах с префиксами:
| Префикс таблицы | Что хранит |
|---|---|
_AccumRg | Движения регистра накопления |
_AccumRgT | Итоги регистра накопления |
_InfoRg | Записи регистра сведений |
_AccRg | Проводки регистра бухгалтерии |
Соответствие имён метаданных и таблиц даёт функция ПолучитьСтруктуруХраненияБазыДанных(). Её результат — таблица значений, удобнее всего смотреть в отладчике или вывести консолью кода.
Не правьте таблицы регистров прямыми запросами к SQL. Платформа не узнает об изменениях: итоги разойдутся с движениями, а кеш данных останется старым. Читать через СУБД можно, менять — только средствами 1С.
Когда данные в регистре выглядят неправильно
Остаток в консоли не совпадает с ведомостью
Сначала проверьте границу периода (см. выше) и отбор по организации. В оборотно-сальдовой ведомости организация обычно выбрана, а в запросе её легко забыть, и тогда суммы сложатся по всем фирмам.
Остатки «плывут», хотя движения правильные
Регистр остатков хранит итоги отдельно от движений. Если итоги испортились после сбоя, виртуальная таблица Остатки выдаст неверную цифру, а сырые движения будут в порядке.
Как исправить:
- Сделайте резервную копию базы .
- Откройте
Все функции → Стандартные → Управление итогами. - Выполните пересчёт итогов по нужному регистру.
На большой базе пересчёт идёт долго и нагружает сервер, поэтому запускайте его вечером. Радикальный вариант — «Тестирование и исправление» в конфигураторе с флажком пересчёта итогов. Оно требует монопольного доступа, значит, всех пользователей придётся выгнать из базы.
Регистра нет в «Все функции»
Причина почти всегда в правах: у профиля пользователя нет чтения этого регистра, и платформа скрывает его из списка. Зайдите под администратором или попросите добавить роль. Другой вариант — регистр относится к отключённой функциональной опции, и в этой базе он просто не используется.
Консоль пишет «Поле не найдено»
Проверьте точное имя регистра и полей в конфигураторе: в запросе пишут имя метаданных (ТоварыНаСкладах), а не синоним из интерфейса («Товары на складах»). У ресурсов в виртуальных таблицах свои суффиксы: КоличествоОстаток, КоличествоПриход, КоличествоОборот.