Документ «Комплектация ОС»

Документ фиксирует состав сложного основного средства — какие ОС входят в комплект родительского ОС и в каком они состоянии (включено / исключено из состава). Это регистрационный документ: он не делает бухгалтерских проводок (нет Дт/Кт), а пишет в регистры сведений СоставОС и СобытияОСОрганизаций. Применяется в разделе учёта ОС и НМА при сборке, разукомплектации и инвентаризации составных активов.

Бухгалтерия для Казахстана, ред. 3.0 · v3.0.72.1 · обновлено 2026-06-04

🎯 Что это и зачем

Многие основные средства — составные: компьютер с монитором и ИБП, автомобиль с допоборудованием, станок с оснасткой. Чтобы система знала, что из чего собрано, состав нужно где-то хранить. Этим и занимается документ «Комплектация ОС»: он регистрирует, какие объекты ОС включены в состав родительского ОС, а какие исключены из него, на дату документа.

Важно с самого начала: этот документ не формирует проводок по счетам бухгалтерского учёта. Он не меняет балансовую стоимость, не начисляет амортизацию, не переносит суммы между счетами 2410 / 2420. Вся его работа — запись справочной информации о составе в регистры сведений. Денежные последствия комплектации (например, изменение первоначальной стоимости при дооборудовании) оформляются другими документами учёта ОС.

Кто работает: бухгалтеры по учёту ОС и специалисты по внеоборотным активам, эпизодически — при изменении комплектации, инвентаризации, оформлении событий в жизненном цикле ОС.

🧭 Где найти в программе

Раздел «ОС и НМА» → пункт «Комплектация ОС». Откроется журнал документов; новый создаём кнопкой «Создать».

📷 СКРИН 01
СКРИН 01 — раздел «ОС и НМА», открытый журнал «Комплектация ОС». (AccountingKZ30 во Fresh; маршрут: ОС и НМА → Комплектация ОС)
⚠️ Пробел в данных [KZ30-KOS-01]. В карте навигации Fresh (navigation-map.json, 26 объектов) документа Документ.КомплектацияОС нет — там описаны в основном разделы «Продажа» и «Покупка». Точные название пункта меню и раздела в левом сайдбаре Fresh не подтверждены источником; маршрут «ОС и НМА → Комплектация ОС» выведен по принадлежности объекта к подсистеме учёта основных средств. Перед публикацией сверить с реальным интерфейсом релиза 3.0.72.1.

👤 Часть 1. Для пользователя

Проходим по шагам: от пустого документа до зарегистрированного состава комплекта и проверки результата в регистре.

Урок 1. Регистрация состава комплекта

Когда: вводите в эксплуатацию сложное ОС и хотите зафиксировать его первоначальный состав (например, системный блок + монитор + ИБП в составе «Рабочее место»).

Шаг 1. Создаём документ

«Создать» в журнале «Комплектация ОС». Откроется пустая форма документа. Дата по умолчанию — текущая (при копировании дата сбрасывается на начало текущего дня).

📷 СКРИН 02
СКРИН 02 — пустая форма нового документа «Комплектация ОС».

Шаг 2. Заполняем шапку

📷 СКРИН 03
СКРИН 03 — заполненная шапка документа (Организация + Родительское ОС).
⚠️ Важно. Поля Организация и Родительское основное средство обязательны (ShowError) — без них документ не записать.

Шаг 3. Заполняем состав

Два способа набрать табличную часть «ОС»: - «Заполнить» — система запросит текущий состав родительского ОС из регистра СоставОС на дату документа и подставит строки автоматически. Удобно, когда комплект уже существует и его надо лишь скорректировать. - «Подбор» — открывает форму подбора справочника «Основные средства» (с фильтром по дате и организации); отмечаете нужные ОС, они добавляются в таблицу.

Для каждой строки в колонке «Состояние в составе ОС» указываем статус: «Включено в состав» (добавляем в комплект) или «Исключено из состава» (выводим из комплекта). При выборе ОС в строке система сама подставляет корректное состояние, исходя из текущих данных регистра.

📷 СКРИН 04
СКРИН 04 — табличная часть «ОС» со строками и колонкой «Состояние в составе ОС».
💡 Подсказка. Дата документа влияет на результат «Заполнить» и на проверки — сначала установите правильную дату, потом нажимайте «Заполнить». Если меняете состав «задним числом», поставьте дату того периода: запись в регистре СоставОС перезапишет состояние именно на этот момент.

Шаг 4. Проверяем уникальность

Одно и то же ОС нельзя указать в таблице дважды — при записи сработает проверка дублей. Если случайно добавили объект повторно, удалите лишнюю строку.

📷 СКРИН 05
СКРИН 05 — сообщение об ошибке при дубле ОС в табличной части.

Шаг 5. Проводим и проверяем

«Провести» или «Записать и закрыть». Результат документа — это записи в регистрах сведений, а не проводки. Чтобы убедиться, что состав зафиксирован, откройте «Движения документа» и посмотрите регистр «Состав ОС» (и «События ОС организаций», если заполняли «Событие ОС»).

📷 СКРИН 06
СКРИН 06 — окно «Движения документа» — записи регистра «Состав ОС».
⚠️ Важно. У этого документа нет вкладки с бухгалтерскими проводками Дт/Кт — он их не формирует. Если ждёте изменения сумм на счетах ОС (2410) или амортизации (2420) — это делается другими документами учёта ОС, не комплектацией.

Урок 2. Изменение состава: исключение из комплекта

Когда: выводите комплектующее из состава ОС (замена монитора, демонтаж оснастки).

  1. Создайте новый документ «Комплектация ОС» с датой операции (или откройте подходящий).
  2. Заполните Родительское основное средство, нажмите «Заполнить» — подтянется текущий состав.
  3. В строке нужного ОС смените «Состояние в составе ОС» на «Исключено из состава».
  4. Проведите документ.
💡 Физически строку можно и удалить, но корректнее именно сменить состояние на «Исключено из состава» — так в регистре останется явный след выбытия из комплекта на конкретную дату.
⚠️ Важно. Система не даст исключить ОС, которое не числится в составе данного родительского ОС, или повторно исключить уже исключённое. В таких случаях появится сообщение вида «… не содержится в составе ОС: … Чтобы исключить из комплекта, необходимо сначала включить его в состав комплекта.» Сначала включите объект в состав, потом исключайте.

Урок 3. Печать документа

Для передачи МОЛ, аудиторам или в архив документ можно распечатать.

  1. Откройте документ (или выделите в списке).
  2. Кнопка «Печать» → команда «Комплектация ОС».
  3. Сформируется табличный документ: номер, дата, организация, родительское ОС, ответственный и таблица состава со статусами.
📷 (плейсхолдер
(плейсхолдер — печатная форма «Комплектация ОС»)*
💡 Печатная форма строится процедурой ПечатьКомплектацияОС в модуле менеджера.

🛠 Часть 2. Для программиста

Источник: реальный код релиза 3.0.72.1 (Documents/КомплектацияОС/Ext/ObjectModule.bsl), плюс разбор objects/Документ_КомплектацияОС.md и business-logic/. ManagerModule — по разбору business-logic/Документ_КомплектацияОС_ManagerModule.md.

Структура объекта

Реквизиты шапки:

Реквизит Тип Обязательность Назначение
Организация СправочникСсылка.Организации Обязательный (ShowError) Контур учёта родительского ОС, ограничение доступа
РодительскоеОсновноеСредство СправочникСсылка.ОсновныеСредства Обязательный (ShowError) «Головное» ОС, состав которого описывается
СтруктурноеПодразделение СправочникСсылка.ПодразделенияОрганизаций Необязательный Местонахождение ОС
Ответственный СправочникСсылка.Пользователи Необязательный МОЛ / ответственный, выводится в печать
СобытиеОС СправочникСсылка.СобытияОС Необязательный Событие жизненного цикла ОС
РучнаяКорректировка Булево Необязательный Признак ручного управления движениями (см. ниже)
Автор СправочникСсылка.Пользователи Служебный Заполняется автоматически; удаляется из данных заполнения
Комментарий Строка Необязательный Свободный комментарий

Табличная часть ОС: ОсновноеСредство (СправочникСсылка.ОсновныеСредства — уникально в пределах документа) и СостояниеВСоставеОС (ПеречислениеСсылка.ВидыСостоянийВСоставеОС — значения ВключеноВСостав / ИсключеноИзСостава).

Формы: ФормаДокумента (ключевая), ФормаСписка, ФормаВыбора.

Жизненный цикл проведения (обработчики ObjectModule)

Обработчик Что делает (по реальному коду)
ОбработкаЗаполнения Удаляет Автор из структуры данных заполнения; вызывает ЗаполнениеДокументов.ЗаполнитьШапкуДокумента с валютой регл. учёта
ОбработкаПроверкиЗаполнения Проверка дублей ОС (УправлениеВнеоборотнымиАктивамиСервер.ПроверитьОтсутствиеДублейВТабличнойЧасти) + построчная валидация ПроверитьПострочноТаблицуОС
ОбработкаПроведения Готовит наборы записей; при РучнаяКорректировка — выход; иначе делегирует движения модулю УчетОС (события ОС и состав ОС)
ПередЗаписью Только ранний выход при ОбменДанными.Загрузка (прочей логики нет)
ПриКопировании Сбрасывает Дата на начало текущего дня пользователя

Как формируется проведение — реальный код (3.0.72.1)

Главное: документ не делает бухгалтерских проводок. ОбработкаПроведения подготавливает наборы записей и делегирует формирование движений общему модулю УчетОС, который пишет в регистры сведений СоставОС и СобытияОСОрганизаций. Никаких счетов плана счётов (2410/2420/...) здесь не затрагивается.

Источник: ObjectModule.bsl, процедура ОбработкаПроведения (стр. 32), приведена полностью:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

    // ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
    ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);

    Если РучнаяКорректировка Тогда
        Возврат;                                   // движения заполняет пользователь
    КонецЕсли;

    ПараметрыПроведения = Документы.КомплектацияОС.ПодготовитьПараметрыПроведения(Ссылка, Отказ);

    Если Отказ Тогда
        Возврат;
    КонецЕсли;

    // Если не удалось получить параметры и Отказ не взведён — просто выходим
    Если ПараметрыПроведения = Неопределено Тогда
        Возврат;
    КонецЕсли;

    Если ПараметрыПроведения.СобытияОСОрганизацийТаблицаОС.Количество() <> 0 Тогда
        УчетОС.СформироватьДвиженияРегистрацияСобытияОС(ПараметрыПроведения.СобытияОСОрганизацийТаблицаОС,
                                                        ПараметрыПроведения.Реквизиты,
                                                        Движения, Отказ);
    КонецЕсли;

    Если ПараметрыПроведения.СоставОСТаблицаОС.Количество() <> 0 Тогда
        УчетОС.СформироватьДвиженияСоставОС(ПараметрыПроведения.СоставОСТаблицаОС,
                ПараметрыПроведения.Реквизиты,
                Движения, Отказ);
    КонецЕсли;

КонецПроцедуры

Разбор:

Шаг в коде Смысл
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект) Создаёт наборы записей регистров, по которым может двигаться документ
Если РучнаяКорректировка Тогда Возврат Полностью пропускает авто-проведение — движения заполняет пользователь вручную
Документы.КомплектацияОС.ПодготовитьПараметрыПроведения(...) Менеджерская функция (31 строка): через временные таблицы собирает реквизиты документа и две таблицы движений
УчетОС.СформироватьДвиженияРегистрацияСобытияОС(...) Пишет запись о событии ОС → регистр СобытияОСОрганизаций (только если таблица непуста)
УчетОС.СформироватьДвиженияСоставОС(...) Пишет состав комплекта → регистр сведений СоставОС (только если таблица непуста)

Ключевые детали: - РучнаяКорректировка = Истина → ранний Возврат: документ записывается, но движений нет. Это режим администратора/миграции. - Движения формируются условно: каждый блок выполняется, только если соответствующая таблица параметров проведения непуста. Документ без подходящих данных проводится «вхолостую». - Счета не вычисляются вообще — здесь нет ни одного обращения к плану счетов. Это принципиальное отличие от документов реализации/поступления.

Движения по регистрам

Документ пишет только в регистры сведений (срез последних) — бухгалтерских и накопительных регистров он не затрагивает.

Регистр Тип Что пишет
СоставОС Регистр сведений (срез последних) Состав комплекта: измерения РодительскоеОС + ОсновноеСредство, ресурс СостояниеВСоставеОС. Запись на дату документа вытесняет прежнее состояние тех же измерений
СобытияОСОрганизаций Регистр сведений Регистрация события ОС (когда заполнено СобытиеОС и таблица событий непуста)
⚠️ Несостыковка [KZ30-KOS-02]. В разборе objects/ раздел назван «Проводки», но по факту это движения по регистрам сведений, а не бухгалтерские проводки. Реальный код (УчетОС.СформироватьДвиженияСоставОС / ...РегистрацияСобытияОС) подтверждает: счета плана счётов КЗ (2410, 2420, 2730, 2740, 7210/7480/8410, 1330) не задействованы. Никаких «плоских» Дт/Кт по этому документу нет и не должно быть. В отчёте «Движения документа» вкладки с проводками не ожидается — только регистры сведений.
💼 Партнёру / внедренцу. Если клиент ждёт от «Комплектации ОС» изменения стоимости ОС, амортизации или проводок — это неверное ожидание: документ только описывает состав. Финансовые последствия (дооборудование, модернизация, частичная ликвидация) оформляются профильными документами учёта ОС, которые уже работают со счетами 2410/2420 по учётной политике. «Комплектация ОС» — справочно-регистрационный слой поверх них. Логика записи состава — в общем модуле УчетОС; туда смотреть при нестандартном поведении.

Валидации (ОбработкаПроверкиЗаполнения + ПроверитьПострочноТаблицуОС)

ОбработкаПроверкиЗаполнения (реальный код, стр. 24) делает ровно два вызова:

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

    УправлениеВнеоборотнымиАктивамиСервер.ПроверитьОтсутствиеДублейВТабличнойЧасти(
        ЭтотОбъект, "ОС", Новый Структура("ОсновноеСредство"), Отказ);

    ПроверитьПострочноТаблицуОС(Отказ);

КонецПроцедуры
⚠️ Обратите внимание: проверка состояния зависит от даты документа (срез последних берётся на Дата). Изменение даты может изменить результат валидации.

Зависимости (общие модули)

УчетОС (формирование движений СоставОС и СобытияОСОрганизаций), УправлениеВнеоборотнымиАктивамиСервер (проверка дублей в ТЧ), ПроведениеСервер (подготовка наборов записей), ЗаполнениеДокументов (заполнение шапки), ОбщегоНазначения / ОбщегоНазначенияБКВызовСервераПовтИсп (служебные функции, валюта регл. учёта, сообщения пользователю), СтроковыеФункцииКлиентСервер (тексты сообщений). Печать — УправлениеПечатью (в ManagerModule).

🧩 Заметки для разработчика.
  1. Документ не делает проводок. При генерации тест-кейсов/ожиданий не ищите вкладку Дт/Кт — проверяйте регистры сведений СоставОС и СобытияОСОрганизаций.
  2. РучнаяКорректировка = Истина → движений нет. Перед авто-проведением в сценариях проверяйте флаг; иначе документ запишется «пустым».
  3. Условность движений. Блоки формирования движений выполняются только при непустых таблицах СоставОСТаблицаОС / СобытияОСОрганизацийТаблицаОС из ПодготовитьПараметрыПроведения.
  4. Дата — критичный параметр. И «Заполнить», и построчная валидация работают через срез последних СоставОС на дату документа.
  5. СобытияОСОрганизаций пишется только при заполненном СобытиеОС — если событие не указано, таблица событий пуста и движения по этому регистру не формируются.

🔗 Связанные разделы

🆕 Что нового

Версия Изменение Тип
3.0.72.1 Первичное описание (на релизе 3.0.72.1) 🆕