Документ «Изменение способов отражения расходов по амортизации ОС»
Настроечный документ. Он не делает бухгалтерских проводок (Дт/Кт) и не считает сумму амортизации — он лишь записывает в регистры сведений новый способ отражения расходов по амортизации для перечисленных основных средств и регистрирует это как событие ОС. С даты документа очередной расчёт амортизации (в «Закрытии месяца») начнёт списывать расходы на новые счета затрат, заданные выбранным способом. Раздел «ОС и НМА» в Бухгалтерии для Казахстана 3.0.
🎯 Что это и зачем
У каждого основного средства есть способ отражения расходов по амортизации — настройка, которая отвечает на вопрос «на какой счёт затрат и с какой аналитикой списывать ежемесячную амортизацию этого объекта». Например, амортизация станка в цехе уходит на производственные расходы (8410), а амортизация офисной мебели — на административные (7210).
Со временем способ нужно поменять: объект перевели в другой цех, сменили вид деятельности, на котором он используется, или скорректировали учётную политику. Чтобы со следующего месяца амортизация считалась «по-новому», и нужен этот документ. Он:
- запоминает для каждого выбранного ОС новый способ отражения расходов (в периодический регистр сведений, срезом на дату документа);
- фиксирует факт изменения как событие в истории объекта (для отчётности и аудита).
Важно понимать границу ответственности: сам документ амортизацию не начисляет и проводок не формирует. Он только переключает «стрелку». Фактическое списание расходов на новые счета произойдёт позже — при расчёте амортизации в документе «Закрытие месяца», который прочитает актуальный способ из регистра.
Кто работает: бухгалтер по учёту основных средств (внеоборотных активов). Периодичность — по событию (перемещение, смена назначения, изменение политики), не ежедневно. Часто создаётся на основании документа «Перемещение ОС».
🧭 Где найти в программе
Раздел «ОС и НМА» → пункт со списком документов «Изменение способов отражения расходов по амортизации ОС». Откроется журнал; новый документ создаём кнопкой «Создать». Второй типовой путь — открыть проведённое «Перемещение ОС» и нажать «Создать на основании».
navigation-map.json (релиз 3.0.72.1) этого объекта нет — там описаны только документы разделов «Продажа», «Покупка», «Банк и касса», «Зарплата», «Операции», «ЭСФ/ЭАВР». Раздел «ОС и НМА» и точное имя пункта меню указаны по принадлежности объекта к подсистеме учёта ОС и общей логике интерфейса Fresh, а не подтверждены картой. Точное название пункта слева сверьте в своей базе. См. поле issues.👤 Часть 1. Для пользователя
Проходим по шагам, как в курсе: от пустого документа до записи нового способа амортизации и проверки результата. Помните: «Дт/Кт» у этого документа пустой — проверяем не проводки, а записи в регистрах (см. Урок 4).
Урок 1. Изменение способа амортизации вручную
Когда: вы сами решили сменить способ отражения расходов для одного или нескольких ОС (например, объект перевели на производственные нужды).
Шаг 1. Создаём документ
Раздел «ОС и НМА» → список документов → «Создать». Откроется пустая форма с датой по умолчанию (текущая дата).
Шаг 2. Заполняем шапку
- Организация — основная или выбираем вручную (обязательно). От организации зависит список доступных подразделений и ОС.
- Способ отражения расходов по амортизации — это и есть новый способ, который применится ко всем ОС из таблицы (обязательно). Выбираем из справочника способов, настроенных в учётной политике.
- Структурное подразделение — необязательно; список подразделений отфильтрован по выбранной организации.
- Событие ОС — необязательно; классификатор для истории объекта (например, «Изменение способа амортизации»).
Шаг 3. Добавляем основные средства
Переходим в таблицу «ОС». Два способа наполнения: - «Подбор» — открывает форму подбора из справочника «Основные средства»; можно отметить сразу несколько объектов. - «Добавить» — построчно вручную.
При выборе ОС колонка «Инвентарный номер» заполняется автоматически — по справочнику ОС на дату документа.
Шаг 4. Комментарий (по желанию)
Поле «Комментарий» — свободный текст с причиной изменения (например, «Перевод объекта в цех №2»). На учёт не влияет, помогает аудиту.
Шаг 5. Проводим
«Провести» или «Записать и закрыть». Документ запишет новый способ в регистр сведений и зарегистрирует событие ОС.
Урок 2. Создание на основании «Перемещения ОС»
Когда: объект перемещён между подразделениями (есть проведённое «Перемещение ОС»), и из-за смены подразделения нужно сменить способ амортизации.
Шаг 1. Открываем основание и создаём документ
Открываем проведённое «Перемещение ОС» → «Создать на основании» → «Изменение способов отражения расходов по амортизации ОС».
Шаг 2. Проверяем автозаполнение
Система подставит из основания: - Организация; - Структурное подразделение — берётся подразделение-получатель перемещения (куда переехал объект); - Документ-основание — ссылка на «Перемещение ОС»; - таблицу «ОС» — все объекты из перемещения.
Шаг 3. Указываем новый способ и проводим
Вручную выбираем «Способ отражения расходов по амортизации» (он из основания не подтягивается — его всегда задаёте вы), при необходимости правим список ОС и проводим.
Урок 3. Изменение даты документа
Когда: нужно скорректировать дату, с которой действует новый способ.
Меняем поле «Дата». Программа: 1. Проверит, не запрещено ли редактирование этой даты (дата закрытого периода) — и предупредит. 2. Пересчитает инвентарные номера ОС на новую дату (инвентарный номер привязан к состоянию справочника ОС на дату).
Урок 4. Как проверить результат (вместо «Дт/Кт»)
У этого документа отчёт «Дт/Кт» будет пустым — это нормально, бухгалтерских проводок он не делает. Проверяем по-другому:
- Кнопка «Движения документа» (или «Дт/Кт» → вкладки регистров) → смотрим записи в регистрах сведений «Способы отражения расходов по амортизации ОС (бухгалтерский учёт)» и «События ОС организаций».
- Косвенно — в следующем «Закрытии месяца»: после расчёта амортизации откройте проводку начисления амортизации по объекту и убедитесь, что расход ушёл на счёт затрат из нового способа.
Урок 5. Ручная корректировка
Когда: опытный бухгалтер исправляет нестандартную ситуацию и не хочет, чтобы документ формировал стандартные записи.
Ставим флаг «Ручная корректировка» = Истина и проводим. Документ запишется, но движения по регистрам формироваться не будут — их при необходимости вносят вручную.
🛠 Часть 2. Для программиста
Источник: реальный код релиза 3.0.72.1 — Documents/ИзменениеСпособовОтраженияРасходовПоАмортизацииОС/Ext/ObjectModule.bsl и .../Ext/ManagerModule.bsl, плюс разбор objects/ и business-logic/.
Структура объекта
Реквизиты шапки:
| Реквизит | Тип | Обяз. | Назначение |
|---|---|---|---|
Организация |
СправочникСсылка.Организации | ✅ ShowError | Организация изменения; фильтрует подразделения и ОС |
СпособОтраженияРасходовПоАмортизации |
СправочникСсылка.СпособыОтраженияРасходовПоАмортизации | ✅ ShowError | Новый способ — единый для всех строк ТЧ; ресурс регистра |
СтруктурноеПодразделение |
СправочникСсылка.ПодразделенияОрганизаций | — | Аналитика; зависит от Организация |
ДокументОснование |
ДокументСсылка.ПеремещениеОС | — | Основание; при заполнении переносит реквизиты и ТЧ |
СобытиеОС |
СправочникСсылка.СобытияОС | — | Классификатор события для регистра СобытияОСОрганизаций |
РучнаяКорректировка |
Булево | — | Истина → проведение пропускается (Возврат) |
Ответственный / Автор |
СправочникСсылка.Пользователи | — | Служебные, заполняются автоматически |
Комментарий |
Строка | — | Свободный текст |
Табличная часть ОС: единственная колонка в метаданных — ОсновноеСредство (СправочникСсылка.ОсновныеСредства). Колонка ИнвентарныйНомер существует только в форме (не в метаданных), заполняется на сервере по дате документа.
business-logic/..._ObjectModule.md называет целевой регистр «регистром накопления СпособыОтраженияРасходовПоАмортизацииОС» с приходом/расходом. Реальный код (ManagerModule, ниже) и разбор objects/ показывают регистры сведений СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет и СобытияОСОрганизаций. Верно второе: документ ничего не «накапливает», он записывает срез способа на дату. См. поле issues.Жизненный цикл обработчиков (ObjectModule)
| Обработчик | Строк | Что делает |
|---|---|---|
ОбработкаЗаполнения |
~16 | Если данные заполнения — это документ из ВводитсяНаОсновании → ЗаполнитьПоДокументуОснования. Если Структура → удаляет Автор и ЗаполнитьЗначенияСвойств. В конце — ЗаполнениеДокументов.ЗаполнитьШапкуДокумента с валютой регл. учёта |
ОбработкаПроверкиЗаполнения |
~3 | Один вызов: УправлениеВнеоборотнымиАктивамиСервер.ПроверитьОтсутствиеДублейВТабличнойЧасти(..., "ОС", ..., Отказ) |
ОбработкаПроведения |
~33 | Готовит наборы записей, при РучнаяКорректировка выходит; получает параметры из ManagerModule; делегирует формирование движений модулю УчетОС |
ПередЗаписью |
~5 | Пустой при ОбменДанными.Загрузка (ранний Возврат); иной логики нет |
ПриКопировании |
~3 | Дата = НачалоДня(ОбщегоНазначения.ТекущаяДатаПользователя()) |
ЗаполнитьПоДокументуОснования (Экспорт) |
~9 | Если основание — ДокументСсылка.ПеремещениеОС, вызывает ЗаполнитьДокументПоПеремещениеОС из ManagerModule |
В форме (ФормаДокумента) дополнительно: ДатаПриИзменении (пересчёт инвентарных номеров + проверка запрета даты), ДокументОснованиеПриИзменении (диалог перезаполнения ТЧ), ОСОсновноеСредствоПриИзменении (автозаполнение инвентарного номера), подбор ОС через Справочник.ОсновныеСредства.Форма.ФормаПодбора.
Ключевая процедура — реальный код (3.0.72.1)
Главное: никаких счетов Дт/Кт документ не формирует. ОбработкаПроведения собирает временные таблицы через менеджер и делегирует запись движений общему модулю УчетОС. Полный текст процедуры из ObjectModule.bsl:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
Если РучнаяКорректировка Тогда
Возврат; // ручной режим — движения не формируем
КонецЕсли;
ПараметрыПроведения = Документы.ИзменениеСпособовОтраженияРасходовПоАмортизацииОС.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
// Если не удалось получить параметры и Отказ не установлен — просто выходим
Если ПараметрыПроведения = Неопределено Тогда
Возврат;
КонецЕсли;
// ФОРМИРОВАНИЕ ДВИЖЕНИЙ
Если ПараметрыПроведения.СобытияОСОрганизацийТаблицаОС.Количество() <> 0 Тогда
УчетОС.СформироватьДвиженияРегистрацияСобытияОС(ПараметрыПроведения.СобытияОСОрганизацийТаблицаОС,
ПараметрыПроведения.Реквизиты,
Движения, Отказ);
КонецЕсли;
Если ПараметрыПроведения.СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчетТаблицаОС.Количество() <> 0 Тогда
УчетОС.СформироватьДвиженияСпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет(ПараметрыПроведения.СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчетТаблицаОС,
ПараметрыПроведения.Реквизиты,
Движения, Отказ);
КонецЕсли;
КонецПроцедуры
Разбор:
- ПодготовитьНаборыЗаписейКПроведению — стандартная инициализация наборов записей регистров, на которые подписан документ.
- РучнаяКорректировка = Истина → немедленный Возврат: движения вообще не формируются (объект сохранит старый способ).
- ПодготовитьПараметрыПроведения (из ManagerModule) — выполняет пакет запросов, собирает три таблицы: Реквизиты (шапка), СобытияОСОрганизацийТаблицаОС, СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчетТаблицаОС. Каждая строка ТЧ ОС соединяется с шапкой через ВНУТРЕННЕЕ СОЕДИНЕНИЕ ... ПО (ИСТИНА).
- Две независимые ветки: если соответствующая таблица непуста — УчетОС пишет движения в регистр сведений (...РегистрацияСобытияОС и ...СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет).
- Никаких счетов, сумм, проводок здесь нет. В запросе подготовки (ManagerModule) сумма затрат проброшена как литерал 0 КАК СуммаЗатратБУ — документ только переключает способ, расход считается позже при амортизации.
Заполнение по основанию (ManagerModule.ЗаполнитьДокументПоПеремещениеОС):
Процедура ЗаполнитьДокументПоПеремещениеОС(Объект, Основание) Экспорт
Объект.Организация = Основание.Организация;
Объект.СтруктурноеПодразделение = Основание.СтруктурноеПодразделениеПолучатель; // именно ПОЛУЧАТЕЛЬ
Объект.ДокументОснование = Основание.Ссылка;
Для Каждого ТекущаяСтрока Из Основание.ОС Цикл
НоваяСтрока = Объект.ОС.Добавить();
НоваяСтрока.ОсновноеСредство = ТекущаяСтрока.ОсновноеСредство;
КонецЦикла;
КонецПроцедуры
Обратите внимание: способ амортизации из основания не переносится — его всегда задаёт пользователь.
Движения по регистрам
| Регистр | Тип | Что пишет | Кто формирует |
|---|---|---|---|
СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет |
Регистр сведений (периодический) | Период = дата документа; измерения Организация + ОсновноеСредство; ресурс — новый СпособОтраженияРасходовПоАмортизации. По строке на каждое ОС |
УчетОС.СформироватьДвиженияСпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет |
СобытияОСОрганизаций |
Регистр сведений | Период = дата; Организация + ОсновноеСредство; реквизиты СобытиеОС, Регистратор. По строке на каждое ОС |
УчетОС.СформироватьДвиженияРегистрацияСобытияОС |
❗ Бухгалтерских проводок (регистр
Типовой/Налоговый, счета КЗ) документ НЕ формирует. Отчёт «Дт/Кт» по нему пуст. Это настроечный/регистрационный документ. Списание амортизации на счета затрат (например, 7210 — административные, 8410 — производственные накладные; кредит — счёт накопленной амортизации ОС 2420) выполняет позднее расчёт амортизации в «Закрытии месяца», читая актуальный способ из регистра. Сам же справочникСпособыОтраженияРасходовПоАмортизациихранит проводку отражения (Дт счёта затрат) — но применяет её не этот документ.
issues.Валидации
| Проверка | Где | Поведение |
|---|---|---|
Заполненность Организация, СпособОтраженияРасходовПоАмортизации |
Метаданные (ShowError) |
Платформенная проверка при записи |
Уникальность ОС.ОсновноеСредство (нет дублей) |
ОбработкаПроверкиЗаполнения → УправлениеВнеоборотнымиАктивамиСервер.ПроверитьОтсутствиеДублейВТабличнойЧасти |
Дубль → сообщение, Отказ, документ не проводится |
| Запрет изменения даты (закрытый период) | Форма, ДатаПриИзменении → РаботаСДиалогами.ПроверитьЗапретИзмененияДатыДокумента |
Предупреждение пользователю |
Непустая ТЧ ОС |
Неявно | Пустая таблица — документ проведётся, но не создаст движений (учёт не изменится) |
Зависимости (общие модули)
УчетОС — формирование движений по обоим регистрам сведений (вся целевая логика здесь). УправлениеВнеоборотнымиАктивамиСервер — проверка дублей ТЧ, заполнение инвентарных номеров, подбор ОС. ПроведениеСервер — подготовка/запись наборов записей. ЗаполнениеДокументов, ДанныеЗаполнения, ОбщегоНазначения(БК...) — заполнение шапки, валюта регл. учёта, копирование. РаботаСДиалогами(Клиент) — фильтр подразделений, запрет даты. ПодключаемыеКоманды, ВерсионированиеОбъектов, УправлениеДоступом — стандартные подсистемы (печать, история версий, RLS).
- Документ — оркестратор: вся запись движений в
УчетОС.СформироватьДвижения.... Менять состав/правила регистров нужно там, а не вObjectModule.ОбработкаПроведенияимеет три ранних выхода:РучнаяКорректировка,Отказпосле подготовки параметров, иПараметрыПроведения = Неопределено. Учитывайте все три при доработках.- В запросе
ManagerModuleСуммаЗатратБУ = 0— задел под суммовой учёт, но фактически документ суммы не несёт. Не трактуйте это как «нулевую амортизацию».- При создании на основании переносится
СтруктурноеПодразделениеПолучатель(получатель перемещения), а не отправитель — это сознательно.- Регистр способов — периодический регистр сведений: запись замещает значение на дату, история прежних способов сохраняется по периодам. При перепроведении на другую дату старая запись не удаляется автоматически — следите за датами.
🔗 Связанные разделы
- peremeshchenie-os — типовое основание; задаёт подразделение-получатель и список ОС
- izmenenie-sposobov-amortizacii-nma — документ-близнец для нематериальных активов (амортизация НМА — счёт 2740)
- prinyatie-k-uchetu-os — где у объекта впервые задаётся способ отражения расходов
- zakrytie-mesyaca — именно он начисляет амортизацию и применяет актуальный способ (формирует проводки)
🆕 Что нового
| Версия | Изменение | Тип |
|---|---|---|
| 3.0.72.1 | Первичное описание (на релизе 3.0.72.1) | 🆕 |