Документ «Изменение графиков амортизации ОС»

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

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

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

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

Документ «Изменение графиков амортизации ОС» решает именно эту задачу: вы выбираете организацию, новый график амортизации и список основных средств — а документ при проведении записывает новую привязку «ОС → график» в регистр сведений. С указанной даты подсистема учёта ОС считает амортизацию по новому графику.

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

Кто работает: бухгалтер по учёту основных средств. Документ самостоятельный — он не вводится на основании других документов и сам не порождает дочерних документов.

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

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

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

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

Проходим по шагам: от пустого документа до проведённого перевода группы ОС на новый график. Помните — проводок Дт/Кт здесь не будет, результат проверяется не по «Дт/Кт», а по движениям в регистрах сведений.

Урок 1. Перевод группы ОС на новый график

Когда: нужно с определённой даты применить новый годовой график амортизации к нескольким основным средствам сразу.

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

Раздел «ОС и НМА» → «Изменение графиков амортизации ОС» → «Создать». Откроется форма нового документа.

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

Шаг 2. Задаём дату

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

📷 СКРИН 03
СКРИН 03 — поле «Дата» в шапке документа.
⚠️ Важно. Меняйте Дата и Организация до заполнения таблицы ОС: подбор основных средств и инвентарные номера зависят от этих реквизитов. Изменение только времени (в пределах тех же суток) пересчёт не запускает — пересчёт идёт лишь при смене календарного дня.

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

📷 СКРИН 04
СКРИН 04 — заполненная шапка документа (организация, график амортизации, подразделение, событие ОС).
💡 Подсказка. Сначала в справочнике «Годовые графики амортизации ОС» заведите нужный график (метод, срок, распределение по месяцам), а уже потом подставляйте его в документ.

Шаг 4. Подбираем основные средства

Заполняем табличную часть «ОС». В каждой строке указывается Основное средство; инвентарный номер подтянется автоматически на дату документа (вручную его не вводят).

Способы заполнить таблицу: 1. Подбор — кнопка открывает форму подбора ОС (с отбором по организации и дате); выбранные объекты добавляются в таблицу. 2. Заполнить по наименованию — вводите фрагмент имени (например, «Компьютер»), и в таблицу добавляются все подходящие ОС организации. 3. Добавить строки вручную, выбирая ОС из справочника.

📷 СКРИН 05
СКРИН 05 — табличная часть «ОС» с подобранными объектами и автозаполненными инвентарными номерами.
⚠️ Важно. Одно и то же ОС нельзя указывать в двух строках — при записи сработает проверка дублей и документ не запишется, пока дубль не убран.

Шаг 5. Проводим документ

«Провести» или «Провести и закрыть». Документ запишет в регистры сведений новую привязку «ОС → график амортизации» (и запись о событии ОС, если оно указано).

📷 СКРИН 06
СКРИН 06 — проведённый документ; команда перехода к движениям.
💡 Как проверить результат. Поскольку проводок Дт/Кт нет, проверяем движения по регистрам: кнопка движений документа (раздел «Главное действие» / «Перейти») → регистр сведений «Графики амортизации ОС (бухгалтерский учёт)». Там для каждого ОС должна появиться запись с новым графиком на дату документа.
⚠️ Важно. Обязательны только Организация и График амортизации. Без них документ не проведётся. Пустая таблица ОС записи не запрещает, но и движений не создаёт — документ пройдёт «вхолостую».

Урок 2. Регистрация события ОС

Если нужно, чтобы изменение графика отметилось в истории объекта, заполните в шапке поле Событие ОС. При проведении на каждое ОS из таблицы дополнительно создаётся запись в регистре «События ОС организаций» (дата, организация, ОС, событие, документ-регистратор).

⚠️ Важно. Подбирайте событие, по смыслу относящееся к изменению амортизации/графика. Документ предупредит (но не заблокирует запись), если выбрать событие с видом «Принятие к учёту», «Передача» или «Списание» — такие события данным документом полноценно не отрабатываются (учётное состояние ОС не меняется). См. реальный текст предупреждения в Части 2.
💡 Подсказка. Событие ОС — необязательно. Если история событий по этому изменению не нужна, поле можно не заполнять: на привязку «ОС → график» это не влияет.

Урок 3. Черновик без проведения (ручная корректировка)

Если нужно подготовить документ, но пока не менять учётные данные — установите флаг «Ручная корректировка» и нажмите «Записать» (не «Провести»).

💡 Подсказка. Удобно для согласования: «заготовили список ОС → дождались решения комиссии → сняли флаг → провели».
⚠️ Важно. Проверки заполнения работают и в режиме ручной корректировки: записать документ с незаполненными обязательными реквизитами всё равно не получится.

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

Источник: реальный код релиза 3.0.72.1 (Documents/ИзменениеГрафиковАмортизацииОС/Ext/ObjectModule.bsl и ManagerModule.bsl), плюс разбор objects/ и business-logic/.

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

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

Реквизит Тип Обязательность Назначение
Организация СправочникСсылка.Организации обязательный (проверка шапки) Контур учёта; фильтр доступных ОС
ГрафикАмортизации СправочникСсылка.ГодовыеГрафикиАмортизацииОС обязательный (проверка шапки) Новый годовой график для выбранных ОС
СтруктурноеПодразделение СправочникСсылка.ПодразделенияОрганизаций необязательный Аналитика/фильтр по месту эксплуатации
СобытиеОС СправочникСсылка.СобытияОС необязательный Регистрация события в истории ОС
РучнаяКорректировка Булево необязательный Истина → авто-проведение движений пропускается
Ответственный, Автор СправочникСсылка.Пользователи необязательный Аудит; заполняются автоматически
Комментарий Строка необязательный Пояснение причины изменения

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

Формы: ФормаДокумента (основная), ФормаСписка (журнал, групповое изменение выделенных), ФормаВыбора.

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

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

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

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

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

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

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

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

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

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

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

    // ФОРМИРОВАНИЕ ДВИЖЕНИЙ

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

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

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

Разбор по шагам: 1. ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект) — инициализирует наборы записей регистров (стандартная инфраструктура проведения). 2. Если РучнаяКорректировка Тогда Возврат — при ручной корректировке движения не формируются (важная развилка). Обратите внимание: наборы записей уже подготовлены строкой выше, поэтому ручная корректировка остаётся управляемой. 3. Документы.ИзменениеГрафиковАмортизацииОС.ПодготовитьПараметрыПроведения(Ссылка, Отказ) — менеджер-модуль выполняет пакет запросов и возвращает структуру с таблицами (Реквизиты и ИзменениеГрафиковАмортизацииОСРеквизитыТаблицаОС). 4. Двойная защита: выход при Отказ и при ПараметрыПроведения = Неопределено. 5. Если в таблице ОС есть строки — два делегированных вызова: - УчетОС.СформироватьДвиженияИзменениеГрафиковАмортизацииОС(...) — пишет новую привязку «ОС → график» (регистр сведений графиков). - УчетОС.СформироватьДвиженияРегистрацияСобытияОС(...) — пишет запись о событии ОС (регистр сведений событий). Этот вызов получает дополнительно ПараметрыПроведения.Реквизиты (там лежит, в т.ч., СобытиеОС).

Кто что формирует (вызов → смысл):

Вызов в коде Какой учёт пишет
УчетОС.СформироватьДвиженияИзменениеГрафиковАмортизацииОС привязку ОС к новому годовому графику (регистр сведений)
УчетОС.СформироватьДвиженияРегистрацияСобытияОС событие ОС в истории объекта (регистр сведений)
⚠️ Конкретный состав записей (имена регистров сведений, набор измерений/ресурсов) определяется внутри УчетОС, а не в самом документе. По разбору objects/ это РегистрСведений.ГрафикиАмортизацииОСБухгалтерскийУчет и РегистрСведений.СобытияОСОрганизаций — но точные имена регистров в коде документа не видны (логика в общем модуле). При сверке у клиента смотрите движения проведённого документа и модуль УчетОС.

Менеджер-модуль: подготовка параметров (ManagerModule)

ПодготовитьПараметрыПроведения(ДокументСсылка, Отказ) строит пакет запросов через МенеджерВременныхТаблиц и возвращает структуру ПараметрыПроведения. Состав: - Реквизиты — одна строка с шапкой документа: Регистратор (Ссылка), Период (Дата), Организация, СтруктурноеПодразделение, ГрафикАмортизации, СобытиеОС, Номер, плюс константа ВидДокумента = "ИзменениеГрафиковАмортизацииОС". - ВременнаяТаблицаОС — строки табличной части ОС (Ссылка, НомерСтроки, ОсновноеСредство), индексированы по Ссылка. - ИзменениеГрафиковАмортизацииОСРеквизитыТаблицаОС — результат ВНУТРЕННЕЕ СОЕДИНЕНИЕ реквизитов шапки с таблицей ОС «по ИСТИНА» (т.е. реквизиты шапки размножаются на каждую строку ОС), упорядочено по НомерСтроки. Именно эту таблицу ОбработкаПроведения передаёт в УчетОС.

Характерная деталь итогового запроса — поле-заглушка 0 КАК СуммаЗатратБУ: суммовой показатель здесь нулевой, что ещё раз подтверждает — денежных проводок документ не делает, он переносит параметр (график) и регистрирует событие.

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

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

Валидации (ОбработкаПроверкиЗаполнения) — реальный код

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

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

    Если ЭтотОбъект.СобытиеОС.ВидСобытияОС = Перечисления.ВидыСобытийОС.ПринятиеКУчету
    Или  ЭтотОбъект.СобытиеОС.ВидСобытияОС = Перечисления.ВидыСобытийОС.Передача
    Или  ЭтотОбъект.СобытиеОС.ВидСобытияОС = Перечисления.ВидыСобытийОС.Списание
    Тогда

        ТекстСообщения = НСтр("ru='События с основными средствами с видом <%1> не будут полноценно отражены данным документом (учетное состояние ОС не изменится)!'");
        ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения,
            ЭтотОбъект.СобытиеОС.ВидСобытияОС);

        ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,, "СобытиеОС", "Объект");

    КонецЕсли;

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

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

⚠️ Несостыковка [KZ30-IGA-01]. Разбор objects/ (раздел «Валидации»/«Per-field») утверждает, что событие ОС проверяется через УчетОС.ПроверитьСобытиеОС и что некорректное событие не даёт провести документ. В реальном коде 3.0.72.1 такого вызова нет: проверка события — это необязывающее предупреждение СообщитьПользователю без Отказ. Документацию по «жёсткой» проверке события следует считать неточной.
⚠️ Несостыковка [KZ30-IGA-02]. Тот же разбор называет метод дедупликации ПроверитьОтсутствиеДублейВТабличнойЧастиОС. В коде имя другое — ПроверитьОтсутствиеДублейВТабличнойЧасти (универсальный метод с параметрами "ОС" и Новый Структура("ОсновноеСредство")).
💼 Партнёру / внедренцу. «Изменили график, а амортизация не пересчиталась проводками» — это ожидаемо: документ только меняет привязку «ОС → график» в регистре сведений. Денежный эффект появится в следующем начислении амортизации (отдельный регламентный документ/закрытие месяца), который читает этот график. Если «график не подхватился» — проверяйте: (1) проведён ли документ и нет ли флага РучнаяКорректировка; (2) непуста ли ТЧ ОС; (3) дату документа относительно периода начисления; (4) движения по регистру ГрафикиАмортизацииОСБухгалтерскийУчет. Вся содержательная логика записи — в общем модуле УчетОС, туда и смотреть.

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

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

🧩 Заметки для разработчика.
  1. РучнаяКорректировка = Истина → ранний Возврат в ОбработкаПроведения: движения не пишутся, но ПодготовитьНаборыЗаписейКПроведению уже вызван — набор остаётся под ручным управлением.
  2. Оба Если ... Количество() <> 0 проверяют одну и ту же таблицу ИзменениеГрафиковАмортизацииОСРеквизитыТаблицаОС — при пустой ТЧ ОС не выполнится ни запись графиков, ни регистрация события.
  3. Менеджер-модуль строит «реквизиты × строки ОС» соединением «по ИСТИНА»: шапка размножается на каждую строку. Поле СуммаЗатратБУ = 0 — суммы нет by design.
  4. ОбработкаЗаполнения удаляет Автор из входной Структура — при создании копированием/из структуры автор переустанавливается, а не наследуется.
  5. Событие-предупреждение для ПринятиеКУчету/Передача/Списание не блокирует запись — если по бизнес-правилу нужно блокировать, это доработка (добавить Отказ = Истина).
  6. Имена регистров в модуле документа не фигурируют — они «спрятаны» в УчетОС. Для точной сверки движений используйте отчёт по движениям проведённого документа.

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

🆕 Что нового

Версия Изменение Тип
3.0.72.1 Первичное описание (на релизе 3.0.72.1): подтверждено реальным кодом ObjectModule.bsl / ManagerModule.bsl 🆕
3.0.72.1 Зафиксировано: документ пишет в регистры сведений (графики/события ОС), бухгалтерских проводок не формирует 🆕