Документ «Модернизация ОС»
Документ увеличивает первоначальную стоимость основного средства на сумму проведённых улучшений (модернизация, реконструкция, достройка, дооборудование, капремонт) и при необходимости пересчитывает параметры амортизации — срок полезного использования, годовой процент, ликвидационную стоимость. Ведёт параллельный учёт по БУ и НУ (КПН), регистрирует событие в истории ОС и печатает акт приёмки-передачи отремонтированных активов (форма А-5). Сами проводки документ не «зашивает»: их формирует общий модуль УчетОС по счетам учёта и учётной политике.
🎯 Что это и зачем
Когда организация вкладывает деньги в улучшение уже принятого к учёту основного средства, эти затраты по правилам учёта нельзя сразу списать в расходы — они капитализируются, то есть увеличивают балансовую стоимость самого ОС. Документ «Модернизация ОС» как раз и выполняет эту операцию: берёт сумму улучшений и переносит её в дебет счёта учёта ОС (2410, 2420 и т.п.), а заодно пересчитывает, как дальше будет начисляться амортизация (новая стоимость → новая месячная сумма).
Что закрывает документ одним проведением: - увеличивает первоначальную стоимость ОС на сумму модернизации (БУ, при учёте КПН — и НУ); - обновляет параметры амортизации (срок полезного использования, годовой процент, ликвидационную стоимость, плановый объём для производственного метода); - фиксирует событие «Модернизация» в истории основного средства; - даёт основание для печатной формы А-5 (акт приёмки-передачи отремонтированных, реконструированных, модернизированных объектов).
Кто работает: бухгалтер по ОС. Частота — эпизодически, по мере завершения работ по улучшению активов. Документ вводится самостоятельно (не «на основании»): данные об ОС подтягиваются из регистров на дату документа.
🧭 Где найти в программе
Раздел «ОС и НМА» → пункт «Модернизация ОС». Откроется журнал документов; новый создаём кнопкой «Создать».
navigation-map.json релиза для объекта Документ.МодернизацияОС маршрут не задан, а раздела «ОС и НМА» в карте нет вовсе (есть только Продажа, Покупка, Банк и касса, Зарплата, Операции, Отчёты, Номенклатура и склад, Кадровый учёт, Главное, ЭСФ/ЭАВР). Раздел «ОС и НМА» указан по типовому размещению документов учёта основных средств в Бухгалтерии для Казахстана 3.0 — при сверке во Fresh уточните точное название пункта левого меню.👤 Часть 1. Для пользователя
Проходим по шагам: от пустого документа до проведённой модернизации, проверки проводок и печати акта А-5.
Урок 1. Модернизация одного основного средства
Когда: завершены работы по улучшению конкретного ОС, и нужно увеличить его стоимость и пересчитать амортизацию.
Шаг 1. Создаём документ
Раздел «ОС и НМА» → «Модернизация ОС» → «Создать». В шапке заполняем Дату (как правило — дата завершения работ, она же дата ввода ОС в эксплуатацию после модернизации).
Шаг 2. Заполняем шапку
- Организация — в чьём учёте модернизируется ОС (обязательно).
- Объект модернизации — само основное средство (обязательно). Может быть как одиночное ОС, так и комплект (тогда станет доступно автозаполнение составом — см. Урок 2).
- Счёт учёта объекта модернизации (БУ) — счёт, на котором числится ОС (обычно подставляется из карточки/регистра счетов ОС; группа 2410–2430).
- Структурное подразделение — подразделение, где эксплуатируется ОС (необязательно; используется как отбор при подборе).
Шаг 3. Указываем сумму модернизации
Поле Стоимость модернизации (БУ) — общая сумма затрат на улучшение. Два способа: 1. Вручную — вписать сумму. 2. Кнопкой «Рассчитать стоимость» — программа соберёт затраты, ранее накопленные по этому ОС (из регистров), и подставит сумму.
Шаг 4. Заполняем табличную часть «ОС»
Переходим на закладку «ОС». Для одиночного ОС добавляем строку и выбираем Основное средство — данные подтянутся автоматически: - Стоимость (БУ) — текущая первоначальная стоимость до модернизации; - Амортизация (БУ) — накопленная амортизация; - Срок полезного использования (БУ), Коэффициент амортизации (БУ), Ликвидационная стоимость (БУ) — текущие параметры.
Указываем Сумму модернизации (БУ) по строке и при необходимости новый Срок полезного использования / Ликвидационную стоимость. Месячная сумма амортизации и годовой процент пересчитаются автоматически.
Шаг 5. Заполняем инвентаризационную комиссию (для акта А-5)
Закладка «Инвентаризационная комиссия» → «Подбор». Добавляем сотрудников, у одного ставим флаг Председатель.
Шаг 6. Проводим и проверяем
«Провести» или «Записать и закрыть». Чтобы проверить учёт — открываем Дт/Кт (отчёт о движениях документа).
Шаг 7. Печатаем акт А-5
Кнопка «Печать» → форма «Акт А-5» (приёмки-передачи отремонтированных, реконструированных, модернизированных объектов). В акт попадут данные об ОС, сумма модернизации и состав комиссии.
Урок 2. Модернизация комплекта ОС
Когда: улучшается комплект основных средств (например, производственная линия), и сумму модернизации нужно распределить между его составляющими.
- Заполняем шапку, в Объекте модернизации выбираем ОС-комплект (у него заполнен состав в учёте).
- В табличной части «ОС» нажимаем «Заполнить» → «Заполнить данными комплекта» — программа добавит строки по каждому ОС из состава комплекта на дату документа.
- Распределяем Сумму модернизации (БУ) по строкам (контроль распределения — на пользователе; программа не делит сумму автоматически).
- Проверяем параметры амортизации по строкам и проводим.
Урок 3. Массовая модернизация нескольких ОС списком
Когда: одновременно модернизируется несколько однотипных ОС (например, парк компьютеров одного отдела).
- Заполняем Организацию и Дату (обязательно — до подбора).
- В табличной части «ОС» → «Заполнить» → «Заполнить для списка ОС».
- В открывшемся подборе отмечаем нужные ОС (отбор учитывает организацию и, если задано, структурное подразделение) и подтверждаем.
- Заполнение строк идёт в фоне (длительная операция с запросами к регистрам стоимости и амортизации) — дожидаемся завершения.
- Указываем суммы модернизации по строкам, проверяем параметры, проводим.
🛠 Часть 2. Для программиста
Источник: реальный код релиза 3.0.72.1 (Documents/МодернизацияОС/Ext/ObjectModule.bsl), плюс разбор objects/Документ_МодернизацияОС.md и business-logic/Документ_МодернизацияОС_*.md (ObjectModule, ManagerModule).
Структура объекта
Ключевые реквизиты шапки.
- Обязательные (ShowError): Организация, ОбъектМодернизации (СправочникСсылка.ОсновныеСредства), СчетУчетаОбъектаМодернизацииБУ (ПланСчетов.Типовой).
- Обязательные при учёте КПН (УчитыватьКПН = Истина): ВидУчетаНУ, СчетУчетаОбъектаМодернизацииНУ (ПланСчетов.Налоговый) + СубконтоОбъектаМодернизацииНУ1..3.
- Управляющие/прочие: СтоимостьМодернизацииБУ, СобытиеОС (СправочникСсылка.СобытияОС), СтруктурноеПодразделение, УчитыватьКПН, РучнаяКорректировка, Ответственный, Автор, Комментарий.
Табличные части.
- ОС — перечень модернизируемых ОС и их параметры до/после модернизации: ОсновноеСредство, СтоимостьБУ, СуммаМодернизацииБУ, АмортизацияБУ, АмортизацияЗаМесяцБУ, СрокПолезногоИспользованияБУ, ФактСрокИспользованияБУ, ЛиквидационнаяСтоимостьБУ, КоэффициентАмортизацииБУ, КоэффициентУскоренияБУ, ОбъемПродукцииРаботБУ, ФактОбъемПродукцииРаботБУ, СчетНУ + СубконтоНУ1..3.
- ИнвентаризационнаяКомиссия — ФизЛицо, Председатель (для печати А-5).
Формы: ФормаДокумента (основная), ФормаСписка, ФормаВыбора.
Жизненный цикл обработчиков (ObjectModule)
| Обработчик | Что делает |
|---|---|
ОбработкаЗаполнения |
Удаляет Автор из данных заполнения; заполняет шапку (ЗаполнениеДокументов.ЗаполнитьШапкуДокумента); если не задано — подставляет СобытиеОС вида Модернизация через УправлениеВнеоборотнымиАктивамиСервер.ПолучитьСобытиеПоОСИзСправочника(...) |
ОбработкаПроверкиЗаполнения |
Проверка дублей ОС; предупреждение для «чужих» видов событий ОС; снятие проверки реквизитов НУ, если не плательщик КПН; вызов ПроверкаЗаполненныхОС (запрос к регистрам) |
ОбработкаПроведения |
Готовит наборы записей; при РучнаяКорректировка — выходит; получает параметры через менеджер; делегирует формирование движений модулю УчетОС + ПР в НУ |
ПередЗаписью |
При выгрузке через обмен — выход; если УчитыватьКПН = Ложь — очищает ВидУчетаНУ |
ПриКопировании |
Ставит Дата = НачалоДня(текущая дата пользователя) |
ПроверкаЗаполненныхОС (служебная) |
Запросом проверяет, что каждое ОС отражалось в БУ, не снято с учёта и имеет счёт учёта БУ; иначе Отказ = Истина |
Как формируется проведение — реальный код (3.0.72.1)
Главное: проводки не «зашиты» в документе. ОбработкаПроведения готовит наборы записей, получает структуру ПараметрыПроведения из менеджера документа и делегирует формирование всех движений профильному общему модулю УчетОС — поэтому конкретные счета Дт/Кт и суммы определяются параметрами проведения, счетами учёта и учётной политикой, а не телом документа.
Источник: ObjectModule.bsl, процедура ОбработкаПроведения (стр. 64):
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
Если РучнаяКорректировка Тогда
Возврат; // ручное управление движениями
КонецЕсли;
ПараметрыПроведения = Документы.МодернизацияОС.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
// Если параметры не получены, но Отказ не взведён — просто выходим
Если ПараметрыПроведения = Неопределено Тогда
Возврат;
КонецЕсли;
// ФОРМИРОВАНИЕ ДВИЖЕНИЙ — всё делает общий модуль УчетОС:
Если ПараметрыПроведения.СобытияОСОрганизацийТаблицаОС.Количество() <> 0 Тогда
УчетОС.СформироватьДвиженияРегистрацияСобытияОС(ПараметрыПроведения.СобытияОСОрганизацийТаблицаОС,
ПараметрыПроведения.Реквизиты,
Движения, Отказ);
КонецЕсли;
Если ПараметрыПроведения.ПараметрыАмортизацииОСБухгалтерскийУчетТаблицаОС.Количество() <> 0 Тогда
УчетОС.СформироватьДвиженияПараметрыАмортизацииОСБухгалтерскийУчет(ПараметрыПроведения.ПараметрыАмортизацииОСБухгалтерскийУчетТаблицаОС,
Движения, Отказ);
КонецЕсли;
Если ПараметрыПроведения.ПроводкиБУТаблицаОС.Количество() <> 0 Тогда
УчетОС.СформироватьДвиженияБУДокументаМодернизацияОС(ПараметрыПроведения.ПроводкиБУТаблицаОС,
ПараметрыПроведения.Реквизиты,
Движения, Отказ);
КонецЕсли;
Если ПараметрыПроведения.ПроводкиНУТаблицаОС.Количество() <> 0 Тогда
УчетОС.СформироватьДвиженияНУДокументаМодернизацияОС(ПараметрыПроведения.ПроводкиНУТаблицаОС,
ПараметрыПроведения.Реквизиты,
Движения, Отказ);
КонецЕсли;
// Отражение постоянных разниц в НУ
ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ(ПараметрыПроведения.Реквизиты, Движения, Отказ);
КонецПроцедуры
Кто что формирует (вызов → смысл):
| Вызов в коде | Какой учёт пишет | Регистр |
|---|---|---|
УчетОС.СформироватьДвиженияРегистрацияСобытияОС |
событие «Модернизация» в истории ОС | РС СобытияОСОрганизаций |
УчетОС.СформироватьДвиженияПараметрыАмортизацииОСБухгалтерскийУчет |
новые параметры амортизации (срок, %, ликв. стоимость, объём) | РС ПараметрыАмортизацииОСБухгалтерскийУчет |
УчетОС.СформироватьДвиженияБУДокументаМодернизацияОС |
бухгалтерская проводка увеличения стоимости ОС | РБ Типовой (БУ) |
УчетОС.СформироватьДвиженияНУДокументаМодернизацияОС |
налоговая проводка (при КПН) | РБ Налоговый (НУ) |
ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ |
постоянные разницы в НУ | РБ Налоговый (НУ) |
Важные детали из кода:
- РучнаяКорректировка = Истина → авто-проведение полностью пропускается (Возврат сразу после подготовки наборов записей) — движения заполняет пользователь вручную.
- Каждый блок движений формируется только если соответствующая таблица параметров непустая (Количество() <> 0) — например, проводки НУ не пишутся, если налоговая таблица пуста (нет КПН).
- Источник данных для движений — ПараметрыПроведения, которую готовит ManagerModule.ПодготовитьПараметрыПроведения (по objects//business-logic/ — на основе регистров СоставОС, СостоянияОСОрганизаций, стоимости/амортизации ОС и состояния ОС на дату).
Движения по регистрам
| Регистр | Тип / движение | Что пишет |
|---|---|---|
СобытияОСОрганизаций |
Сведения | Событие «Модернизация» по ОС (Организация, ОсновноеСредство, дата, событие, документ-регистратор) |
ПараметрыАмортизацииОСБухгалтерскийУчет |
Сведения | Новые параметры амортизации БУ: срок, коэффициент, коэффициент ускорения, ликвидационная стоимость, плановый объём |
Типовой |
Бухгалтерия (БУ) | Проводка увеличения первоначальной стоимости ОС (Дт счёта учёта ОС) |
Налоговый |
Бухгалтерия (НУ) | Проводка увеличения стоимости ОС в НУ + постоянные разницы (при УчитыватьКПН) |
Иллюстрация проводки (план счетов КЗ — сверять по отчёту «Дт/Кт» на проведённом документе).
| Дт | Кт | Сумма | Смысл |
|---|---|---|---|
2410 / 2420 (счёт учёта ОС из СчетУчетаОбъектаМодернизацииБУ) |
счёт-источник затрат на модернизацию | СуммаМодернизацииБУ |
капитализация улучшений — рост первоначальной стоимости ОС |
objects/ подаёт «плоскую» проводку как Дт счёта учёта ОС (2410) Кт «счета затрат на модернизацию», не называя кредитуемый счёт. Реальный код показывает, что обе стороны проводки вычисляет УчетОС.СформироватьДвиженияБУДокументаМодернизацияОС по ПараметрыПроведения.ПроводкиБУТаблицаОС и счетам учёта, поэтому конкретный счёт-источник (как правило — счёт незавершённого строительства / капитальных вложений по КЗ, накопивший затраты) здесь не зашит и определяется настройками. Дебетовую сторону (рост стоимости ОС, 2410/2420) подтверждаем; кредитовую — сверяем по «Дт/Кт». Российские счета 08/01/02 не применимы.УчетОС (СформироватьДвиженияБУ/НУДокументаМодернизацияОС, СформироватьДвиженияПараметрыАмортизацииОСБухгалтерскийУчет) и в ManagerModule.ПодготовитьПараметрыПроведения. Туда и смотреть при настройке у клиента. Частые «грабли»: ОС не отражалось в БУ или снято с учёта на дату (документ не проведётся), не распределена сумма модернизации по строкам комплекта, забыт счёт/субконто НУ при включённом КПН.Валидации (ОбработкаПроверкиЗаполнения + ПроверкаЗаполненныхОС)
- Дубли ОС.
УправлениеВнеоборотнымиАктивамиСервер.ПроверитьОтсутствиеДублейВТабличнойЧасти(ЭтотОбъект, "ОС", Новый Структура("ОсновноеСредство"), Отказ)— одно ОС не может встречаться в таблице дважды. - Предупреждение по виду события. Если
СобытиеОС.ВидСобытияОС∈ {ПринятиеКУчету,ВнутреннееПеремещение,Передача,Списание,ЧастичнаяЛиквидация} — выводится предупреждение (не отказ): «события … не будут полноценно отражены данным документом (учётное состояние ОС не изменится)». То есть документ заточен под модернизацию, а не под смену состояния. - Снятие проверки реквизитов НУ. Если организация не плательщик КПН на дату (
ПроцедурыНалоговогоУчета.ПолучитьПризнакПлательщикаНалогаНаПрибыль= Ложь) илиУчитыватьКПН = Ложь— из проверяемых исключаютсяВидУчетаНУ,СчетУчетаОбъектаМодернизацииНУ,ОС.СчетНУ. ПроверкаЗаполненныхОС(запрос по каждому ОС из таблицы, срезы на дату документа) —Отказ = Истина, если: - ОС не отражалось в БУ по организации (нет записи вПервоначальныеСведенияОСБухгалтерскийУчет); - ОС снято с учёта (есть состояниеСнятоСУчетаранее даты документа); - не указан счёт учёта БУ (СчетУчетаОС.СрезПоследних.СчетУчетаБУпуст).
Зависимости (общие модули)
УчетОС (формирование всех движений проведения и параметров амортизации), Документы.МодернизацияОС / ManagerModule (ПодготовитьПараметрыПроведения, ЗаполнитьТабличнуюЧастьДаннымиКомплекта, ЗаполнитьТабличнуюЧастьДляСпискаОС, ПечатьА5), УправлениеВнеоборотнымиАктивамиСервер (события ОС, проверка дублей, справочные данные/расчёт стоимости), ПроцедурыНалоговогоУчета (признак плательщика КПН, постоянные разницы), ПроведениеСервер (подготовка наборов записей), ЗаполнениеДокументов (шапка), ОбщегоНазначения / СтроковыеФункцииКлиентСервер (сообщения, даты, подстановки).
- Проводки ищи в
УчетОС, не в документе. ВObjectModuleнет ни одной строкиДвижения.Типовой.Добавить()— всё делегировано (СформироватьДвиженияБУ/НУДокументаМодернизацияОС). Хочешь поменять счета/субконто/суммы — этоУчетОС+ManagerModule.ПодготовитьПараметрыПроведения.РучнаяКорректировка = Истина→ раннийВозвратдо получения параметров проведения: движения не формируются вообще, ответственность на пользователе.- Блоки движений условны (
Количество() <> 0): нет КПН → пустаяПроводкиНУТаблицаОС→ налоговые движения не пишутся; нет события → событие в историю не попадает.ПроверкаЗаполненныхОС— серверный запрос с временной таблицей поТаблицаЗначенийОС: при автоматизации заполнения учитывай, что отказ возникает по состоянию ОС на дату (отражено в БУ, не снято с учёта, есть счёт БУ).ПередЗаписьючиститВидУчетаНУпри снятом КПН — не полагайся на «остаточное» значение реквизита.- Заполнение таблицы — два пути в
ManagerModule:ЗаполнитьТабличнуюЧастьДаннымиКомплекта(состав на дату) иЗаполнитьТабличнуюЧастьДляСпискаОС(длительная операция, отбор по подразделению).
🔗 Связанные разделы
- prinyatie-k-uchetu-os — первичное принятие ОС к учёту (предшествует модернизации)
- izmenenie-parametrov-nachisleniya-amortizacii-os — изменить параметры амортизации без капитализации затрат
- komplektaciya-os — формирование/изменение состава комплекта ОС
- pereocenka-vneoborotnyh-aktivov — переоценка стоимости внеоборотных активов
- izmenenie-sostoyaniya-os — смена учётного состояния ОС (модернизацией не меняется)
🆕 Что нового
| Версия | Изменение | Тип |
|---|---|---|
| 3.0.72.1 | Первичное описание (на релизе 3.0.72.1) | 🆕 |