Как настроить автоматическую подстановку счета 08.04 вместо 41.01 в документе поступления в 1С:Бухгалтерия 3.0?

Бухгалтер 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При оформлении первичных документов нередко возникает задача оприходовать в одной поставке как обычные товары для перепродажи (счет 41.01), так и объекты, относящиеся к оборудованию или основным средствам (счет 08.04). Часто пользователи хотят автоматизировать этот процесс так, чтобы программа сама проверяла стоимостной порог позиции и при превышении лимита автоматически подставляла счет капитальных вложений.

Разберем подробно, почему типовой механизм счетов учета не поддерживает условия по стоимости, какие штатные инструменты заложены в «1С:Бухгалтерия 3.0» и как решить задачу программными средствами.

Ограничения типового механизма подстановки счетов

Проанализируем работу регистра сведений СчетаУчетаНоменклатуры. В типовой конфигурации счет учета в строке документа определяется строго по иерархическому алгоритму поиска соответствий со следующими аналитиками:

  1. Конкретная позиция справочника Номенклатура;
  2. Группа (папка), в которой находится элемент;
  3. Вид номенклатуры (например, «Товары», «Оборудование (объекты основных средств)», «Материалы»);
  4. Общая настройка для всех позиций предприятия (с возможной детализацией по организациям и складам).

Важно: в регистре СчетаУчетаНоменклатуры нет реквизитов для анализа цены, суммы строки или количества. Таким образом, исключительно штатными пользовательскими настройками регистра невозможно реализовать динамическое правило «если сумма больше 40 000 (или 100 000) рублей — ставить счет 08.04, иначе 41.01».

Штатные варианты оформления поступления оборудования

Рассмотрим стандартные сценарии программы, позволяющие корректно вести учет без доработки конфигурации:

  1. Использование специализированного вида операции: для оприходования оборудования предназначен документ «Поступление (акты, накладные)» с видом операции «Оборудование». В этом документе используется табличная часть «Оборудование», куда по умолчанию подставляются счета учета группы 08.04.
  2. Использование документа со смешанными вкладками: если поставщик прислал единую накладную, в которой присутствуют и товары, и оборудование, создаем документ с видом операции «Товары, услуги, комиссия». В нем доступны отдельные вкладки: «Товары» (счет 41.01), «Оборудование» (счет 08.04.1) и «Услуги». Это позволяет провести единый документ по накладной поставщика без дробления.
  3. Разделение номенклатуры по папкам или видам номенклатуры: создаем в справочнике Номенклатура отдельную папку или вид номенклатуры «Оборудование» и настраиваем в регистре СчетаУчетаНоменклатуры для этой папки счет 08.04.1. При выборе позиции из этой группы счет подставится автоматически вне зависимости от выбранной вкладки.
  4. Ручная корректировка счета в строке: субконто счета 08.04.1 («Приобретение компонентов основных средств») полностью совпадают с субконто счета 41.01 (это справочники Номенклатура, Склады и Партии). Поэтому бухгалтер может вручную выбрать счет 08.04.1 прямо в табличной части «Товары». При этом счет 08.04.2 использовать в таблице товаров нельзя, так как его аналитикой является справочник ОсновныеСредства.

Варианты автоматизации через доработку

Если требуется строго автоматическое заполнение счетов в зависимости от суммы строки при заполнении накладной, применим один из способов доработки без изменения типовой конфигурации.

Способ 1. Внешняя обработка заполнения табличной части

Разберем создание подключаемой обработки по стандарту БСП (Библиотеки Стандартных Подсистем). Обработка регистрируется в справочнике «Дополнительные отчеты и обработки» с видом ЗаполнениеФормы и добавляет кнопку в меню «Заполнить» документа поступления.

Посмотрим на пример серверного кода обработки, который перебирает строки табличной части «Товары», проверяет лимит суммы и переназначает счет учета:


// Процедура заполнения табличной части документа
Процедура ВыполнитьНазначениеСчетов(ОбъектНазначения, ПорогСуммы) Экспорт
    СчетОборудование = ПланыСчетов.Хозрасчетный.НайтиПоКоду("08.04.1");
    СчетТовары = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01");
    
    Для Каждого СтрокаТЧ Из ОбъектНазначения.Товары Цикл
        Если СтрокаТЧ.Сумма >= ПорогСуммы Тогда
            СтрокаТЧ.СчетУчета = СчетОборудование;
        Иначе
            СтрокаТЧ.СчетУчета = СчетТовары;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Способ 2. Использование расширения конфигурации

Для мгновенной реакции формы при вводе цены или суммы создаем расширение конфигурации. В расширении перехватываем клиентские события изменения полей табличной части (СуммаПриИзменении, ЦенаПриИзменении, КоличествоПриИзменении) с помощью аннотации &После.

При изменении суммы алгоритм проверяет заданный лимит стоимости и автоматически пересчитывает реквизит СчетУчета текущей строки без необходимости нажатия дополнительных кнопок.

← На главную