Как найти цену поступления номенклатуры при возврате материалов из эксплуатации в 1С:Бухгалтерия

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

При разработке дополнительных печатных форм для документа Возврат материалов из эксплуатации в конфигурации 1С:Бухгалтерия предприятия 3.0 (БП 3.0) программисты часто сталкиваются с задачей вывода «исторической» цены. Это та цена, по которой товар или материал был изначально закуплен у поставщика, включая сведения о налогах (НДС). Сложность заключается в том, что на момент возврата материал может уже не иметь балансовой стоимости или числиться на забалансовых счетах по совокупной оценке.

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

Понимание методологии учета материалов в эксплуатации

Прежде чем приступать к написанию запроса, проанализируем, как система хранит данные. В современных версиях БП 3.0, учитывающих требования ФСБУ 5/2019, малоценное оборудование и инвентарь при передаче в эксплуатацию списываются на расходы. При этом количественный учет продолжается на забалансовых счетах группы МЦ (например, МЦ.04 «Инвентарь и хозяйственные принадлежности в эксплуатации»).

Рассмотрим ключевые моменты, влияющие на поиск цены:

  1. Субконто на счетах МЦ: Обычно это Номенклатура, Партии материалов в эксплуатации (документ передачи) и Физ. лицо.
  2. Стоимость: На забалансовом счете МЦ.04 хранится первоначальная стоимость материала. Однако она фиксируется без НДС (если организация является плательщиком НДС и налог был принят к вычету).
  3. Партионный учет: Если в настройках программы включен учет по партиям, то в проводках документа возврата прямо указан документ передачи в эксплуатацию. Это наш основной «мостик» к цене покупки.

Шаг 1: Получение документа передачи (партии)

Выясним причину, по которой нам нужен именно документ передачи. В документе Возврат материалов из эксплуатации в табличной части Номенклатура присутствует реквизит ДокументПередачи (в интерфейсе может называться «Партия»). Именно этот документ связывает текущую операцию с моментом, когда материал покинул склад.

Проанализируем программный доступ к этим данным. Для построения печатной формы нам необходимо выгрузить табличную часть документа и для каждой строки определить исходную стоимость. Если реквизит Партия заполнен, мы можем двигаться дальше по цепочке документов.

Шаг 2: Поиск документа поступления через регистры

Разберем по шагам, как найти первичную цену с НДС. Сама «Партия материалов в эксплуатации» (документ Передача материалов в эксплуатации) не содержит данных о цене поставщика напрямую. Нам нужно найти Поступление (акт, накладная, УПД).

Для этого лучше всего использовать запрос к регистру накопления МатериалыВЭксплуатации или проанализировать движения документа передачи. Рассмотрим пример логики поиска:

  1. От документа возврата переходим к документу Передача материалов в эксплуатации.
  2. В документе передачи находим партию запаса на складе (это будет документ Поступление).
  3. Из документа поступления извлекаем цену и ставку НДС.

Посмотрим на пример запроса, который позволяет получить данные об остатках и первоначальной стоимости с забалансового счета МЦ.04:


ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
    ХозрасчетныйОстатки.Субконто2 КАК Партия,
    ХозрасчетныйОстатки.СуммаОстаток КАК ИсходнаяСтоимость,
    ХозрасчетныйОстатки.КоличествоОстаток КАК Количество
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСреза, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.МЦ04), , 
        Субконто1 В (&МассивНоменклатуры) И Субконто3 = (&ФизическоеЛицо)) КАК ХозрасчетныйОстатки

Важно помнить: СуммаОстаток здесь — это стоимость без НДС, которая была зафиксирована при списании со счета 10.

Шаг 3: Расчет цены с НДС

Ситуация усложняется, если в печатной форме требуется вывести именно ту цену, которую «заплатили», то есть с учетом НДС. Поскольку в регистрах бухгалтерии сумма НДС отделена, нам придется программно вычислить её или достать из первичного документа.

Рассмотрим подробнее алгоритм вычисления:

  1. Получаем ДокументПоступления из аналитики партии.
  2. Проверяем флаг НДСВключенВСтоимость в этом документе.
  3. Если флаг ложный (стандартная ситуация для ОСНО), берем цену из табличной части документа поступления или рассчитываем её: ЦенаСНДС = Цена + (Цена * СтавкаНДС / 100).
  4. Если данных о поступлении нет (например, остатки введены вручную), используем ставку НДС из справочника Номенклатура на текущую дату.

Шаг 4: Работа с регистром «Материалы в эксплуатации»

Для более точного определения данных в БП 3.0 рекомендуется обращаться к регистру накопления МатериалыВЭксплуатации. Этот регистр хранит информацию в разрезе организаций, физических лиц и номенклатуры. Выясним причину его использования: он позволяет избежать сложных соединений с планом счетов и работает быстрее при больших объемах данных.

Пример обращения к регистру для получения первоначальных данных:


ВЫБРАТЬ
    МатериалыВЭксплуатации.Номенклатура,
    МатериалыВЭксплуатации.ФизЛицо,
    МатериалыВЭксплуатации.Партия,
    МатериалыВЭксплуатации.Сумма КАК ПервоначальнаяСумма,
    МатериалыВЭксплуатации.Количество КАК ПервоначальноеКоличество
ИЗ
    РегистрНакопления.МатериалыВЭксплуатации КАК МатериалыВЭксплуатации
ГДЕ
    МатериалыВЭксплуатации.Регистратор = &ДокументПередачи
    И МатериалыВЭксплуатации.Номенклатура = &ВыбраннаяНоменклатура

Особенности для спецоснастки и амортизации

Проанализируем ситуацию, упомянутую в обсуждении: что делать, если объект амортизируется? Если возвращается спецоснастка, стоимость которой погашалась линейно, то в системе на балансовых счетах (например, 10.11) может оставаться остаточная стоимость.

Однако для печатных форм возврата (аналогов М-11) чаще всего требуется именно первоначальная стоимость передачи. Если же заказчик требует указать текущую стоимость с учетом износа, необходимо вычитать накопленную амортизацию из первоначальной суммы. Данные об износе спецодежды и спецоснастки в БП 3.0 можно найти в регистре накопления ВыработкаМатериалов или через остатки по субсчетам счета 10, предназначенным для износа.

Практические советы для программиста

Чтобы ваша печатная форма работала корректно и быстро, придерживайтесь следующих правил:

Таким образом, задача нахождения цены сводится к последовательному «разматыванию» цепочки документов: Возврат -> Передача -> Поступление. Используя комбинацию данных из забалансового учета и первичных документов, вы сможете вывести в печатную форму как чистую стоимость, так и цену с учетом НДС на момент покупки.

← На главную