Документ «Возврат ТМЗ от покупателя»

Документ оформляет возврат ранее проданных товаров (и услуг) от покупателя: восстанавливает ТМЗ на складе, сторнирует выручку и себестоимость, корректирует расчёты с покупателем и начисленные НДС/акциз. Это «обратная» реализация — зеркало документа «Реализация ТМЗ и услуг», и проводки он формирует именно как сторно продажи.

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

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

Покупатель вернул товар — по браку, рекламации, пересорту или просто передумал. Этот возврат нужно отразить в учёте: вернуть товар на склад, убрать выручку и себестоимость, которые были начислены при продаже, скорректировать долг покупателя и снять начисленный НДС/акциз. Документ «Возврат ТМЗ от покупателя» делает всё это одним проведением.

Ключевая идея: документ формирует те же движения, что и реализация, но со знаком минус (сторно). В коде это видно буквально — таблицы реализации и ТМЗ умножаются на -1 перед формированием движений (см. Часть 2).

Кто работает: бухгалтеры и продавцы, при обработке рекламаций и возвратов. Поддерживаются два сценария — оптовый возврат (по договору, на основании реализации) и возврат розничной продажи (с выплатой денег из кассы).

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

Раздел «Продажа» → пункт со списком возвратов от покупателей; новый документ создаём кнопкой «Создать». Чаще документ удобнее создавать на основании реализации или счёта-фактуры — тогда шапка и товары заполнятся автоматически (см. Урок 3).

⚠️ Пробел в источниках. Точный заголовок пункта меню для этого документа в navigation-map.json конфигурации не зафиксирован (в карте есть «Реализация», «Счета покупателям», но не возвраты). Значение fresh_nav.item в этом файле — предположительное. Сверьте фактический путь в своей базе; при необходимости документ всегда доступен через «Все функции» → Документы → Возврат ТМЗ от покупателя и через «Создать на основании» из реализации.
раздел «Продажа», открытый журнал возвратов от покупателей. (AccountingKZ30 во Fresh; маршрут: Продажа → Возвраты)
раздел «Продажа», открытый журнал возвратов от покупателей. (AccountingKZ30 во Fresh; маршрут: Продажа → Возвраты)

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

Проходим по шагам: от пустого документа до проведённого возврата и проверки сторно-проводок. В документе два вида операции — начинаем с выбора вида.

Урок 1. Оптовый возврат товара (по договору)

Когда: покупатель-юрлицо возвращает товар, ранее отгруженный документом «Реализация ТМЗ и услуг».

Шаг 1. Создаём документ и выбираем вид операции

«Создать» → в поле Вид операции выбираем «Возврат товаров». От вида операции зависит, какие поля обязательны: для оптового возврата это Контрагент, Договор, Склад; поле Касса при этом не требуется.

📷 СКРИН 02
СКРИН 02 — новый документ, выбор вида операции «Возврат товаров».

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

заполненная шапка оптового возврата.
заполненная шапка оптового возврата.

Шаг 3. Заполняем товары

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

📷 СКРИН 04
СКРИН 04 — табличная часть «Товары (ТМЗ)», заполненная по документу отгрузки.
💡 Подсказка. При частичном возврате просто уменьшите Количество в строках — программа пересчитает суммы и НДС. Автоматической проверки «не больше, чем отгружено» в документе нет — контролируйте количество сами.

Шаг 4. Проверяем итоги

Внизу формы — Итого и НДС. Сумма документа считается автоматически из строк товаров и услуг (с учётом НДС).

📷 СКРИН 05
СКРИН 05 — блок итогов документа возврата.

Шаг 5. Проводим и проверяем проводки

«Провести» или «Записать и закрыть». Чтобы убедиться в правильности — открываем Дт/Кт (движения документа). Проводки будут «обратными» к реализации: товар вернётся на склад, доход и себестоимость сторнируются, НДС скорректируется.

окно «Движения документа: Дт/Кт» с сторно-проводками.
окно «Движения документа: Дт/Кт» с сторно-проводками.
⚠️ Важно. Поля Организация, Контрагент, Договор, Склад, Вид операции и реквизиты валюты обязательны — без них документ не проведётся. Если включён учёт НДС и в строке ненулевая ставка, при ручном управлении счетами обязателен счёт учёта НДС по реализации.

Урок 2. Возврат розничной продажи (с выплатой денег)

Когда: покупатель возвращает товар, купленный в рознице (по чеку ККМ / отчёту о розничных продажах), и нужно вернуть ему деньги.

Отличия от оптового возврата: 1. Вид операции = «Возврат розничной продажи». 2. Появляется обязательное поле Касса — из неё выплачиваются деньги покупателю. 3. Контрагент для розницы можно не указывать (часто покупатель — физлицо без карточки). 4. Основанием служит Отчёт о розничных продажах или Чек ККМ.

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

Урок 3. Создание на основании

Чтобы не вводить данные повторно, возврат удобно создавать на основании документа продажи. Метаданные документа разрешают ввод на основании трёх документов:

Кроме того, в коде поддержано заполнение из Чека ККМ (процедура ЗаполнитьПоЧекККМ) — оно используется при возврате розничной продажи.

Как сделать: открыть документ-основание → «Создать на основании» → «Возврат ТМЗ от покупателя». Проверить количество (при частичном возврате) и провести.

⚠️ Ограничение из кода. Создать возврат на основании счёта-фактуры с признаком «НДС за нерезидента» нельзя — программа выдаст сообщение «Создание на основании невозможно!» и прервёт операцию (см. процедуру ОбработкаЗаполнения в Части 2).
💡 Подсказка. При копировании готового возврата (Ctrl+F12) очищается табличная часть Номера ГТД и сбрасывается флаг «Отложить начисление НДС» — это нормальное поведение, проверьте ГТД заново.

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

Источник: реальный код релиза 3.0.72.1 (Documents/ВозвратТоваровОтПокупателя/Ext/ObjectModule.bsl, прочитан целиком — 587 строк), плюс разбор objects/ и business-logic/, метаданные объекта и перечисления ВидыОперацийВозвратТоваровОтПокупателя.

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

Ключевые реквизиты шапки (обязательные — ShowError): ВидОперации, Организация, Контрагент, ДоговорКонтрагента, Склад, ВалютаДокумента, КурсВзаиморасчетов, КратностьВзаиморасчетов, ВидУчетаНУ, СчетУчетаРасчетовСКонтрагентом, Касса (обязательна только для розничного возврата). Управляющие флаги: УчитыватьНДС, УчитыватьАкциз, УчитыватьКПН, СуммаВключаетНДС, СуммаВключаетАкциз, ОтложитьНачислениеНДС, РучнаяКорректировка. Прочее: ДокументОснование, Сделка, ТипЦен, СтруктурноеПодразделение, СчетУчетаРасчетовПоВозвратам, реквизиты доверенности.

Перечисление ВидыОперацийВозвратТоваровОтПокупателя (из конфигурации, релиз 3.0.72.1) имеет ровно два значения:

Имя значения Синоним Назначение
ВозвратТоваров «Возврат товаров» Оптовый возврат по договору
ВозвратРозничнойПродажи «Возврат розничной продажи» Розничный возврат с выплатой из кассы
⚠️ Несостыковка [KZ30-VTP-01]. В авто-разборе objects/ фигурировало значение ВозвратОптовогоТовара — такого значения в перечислении нет. Правильное имя оптовой операции — ВозвратТоваров (подтверждено по XML перечисления и по коду ОбработкаПроверкиЗаполнения, где сравнение идёт с Перечисления.ВидыОперацийВозвратТоваровОтПокупателя.ВозвратРозничнойПродажи).

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

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

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

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

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

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

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

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

    ПараметрыПроведения = Документы.ВозвратТоваровОтПокупателя.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
    Если Отказ Тогда
        Возврат;
    КонецЕсли;

    // Таблица возвращённых (списанных при продаже) товаров — для оприходования на склад
    ТаблицаВозвращенныеСписанныеТовары = УчетТоваров.ПодготовитьТаблицуВозвращенныеСписанныеТовары(
        ПараметрыПроведения.ТаблицаТовары, ПараметрыПроведения.СписаниеТоваровСчетаУчета,
        ПараметрыПроведения.СписаниеТоваровСписокНоменклатуры, ПараметрыПроведения.Реквизиты, Отказ);

    // Взаиморасчёты с зачётом авансов
    ТаблицаВзаиморасчеты = УправлениеВзаиморасчетамиСервер.ПодготовитьТаблицуВзаиморасчетовЗачетАвансов(
        ПараметрыПроведения.ЗачетАвансовТаблицаДокумента, ПараметрыПроведения.ЗачетАвансовРеквизиты, Отказ);

    // Выручка от реализации (собственные товары и услуги)
    ТаблицыРеализация = УчетДоходовРасходов.ПодготовитьТаблицыВыручкиОтРеализации(
        ПараметрыПроведения.РеализацияТаблицаДокумента, ТаблицаВзаиморасчеты,
        ПараметрыПроведения.Реквизиты, Отказ);

    Если НЕ ПараметрыПроведения.Реквизиты[0].УказанСчетВозвратов Тогда
        ТаблицаСобственныеТоварыУслуги = Документы.ВозвратТоваровОтПокупателя.РаспределитьТаблицуЗачетаАвансовПоТаблицеВзаиморасчетов(ТаблицыРеализация.СобственныеТоварыУслуги, ТаблицаВзаиморасчеты, ПараметрыПроведения.РеализацияТаблицаДокумента, ПараметрыПроведения.Реквизиты);
        ТаблицаВзаиморасчеты = Неопределено;
    Иначе
        ТаблицаСобственныеТоварыУслуги = ТаблицыРеализация.СобственныеТоварыУслуги;
        Документы.ВозвратТоваровОтПокупателя.ДобавитьКолонкуСодержание(ТаблицаСобственныеТоварыУслуги);
    КонецЕсли;

    // СТОРНО: реализация умножается на -1
    СтруктураПолейДляСторно = Новый Структура("Сумма, Стоимость, СуммаВзаиморасчетов");
    УчетТоваров.ПроставитьСторноТаблицы(ТаблицаСобственныеТоварыУслуги, СтруктураПолейДляСторно, -1);

    ОбщегоНазначенияБКВызовСервера.ДобавитьКолонкуВТаблицуЗначений(ТаблицаВзаиморасчеты, "НомерЖурнала", "");

    ТаблицаРеализацияТМЗ = УчетТоваров.ПодготовитьТаблицуРеализацияТМЗ(
        ТаблицаВозвращенныеСписанныеТовары, ПараметрыПроведения.РеализацияТаблицаДокумента,
        ПараметрыПроведения.Реквизиты, Отказ);

    // СТОРНО регистра РеализацияТМЗ
    СтруктураПолейДляСторно = Новый Структура("Сумма, НДС, Стоимость, Количество, Акциз");
    УчетТоваров.ПроставитьСторноТаблицы(ТаблицаРеализацияТМЗ, СтруктураПолейДляСторно, -1);

    // ФОРМИРОВАНИЕ ДВИЖЕНИЙ — каждый модуль пишет «свой» учёт:
    УчетТоваров.СформироватьДвиженияВозвратТоваровОтПокупателя(ТаблицаВозвращенныеСписанныеТовары,
            ПараметрыПроведения.Реквизиты, Движения, Отказ);

    НомераГТДСервер.СформироватьДвиженияТоварыОрганизаций(ПараметрыПроведения.ТаблицаТоварыОрганизаций, ПараметрыПроведения.Реквизиты, Движения, Отказ);

    УправлениеВзаиморасчетамиСервер.СформироватьДвиженияЗачетАвансов(ТаблицаВзаиморасчеты,
        ПараметрыПроведения.ЗачетАвансовРеквизиты, Движения, Отказ);

    УчетДоходовРасходов.СформироватьДвиженияВозвратТоваровОтПокупателя(
        ТаблицаСобственныеТоварыУслуги, ПараметрыПроведения.Реквизиты, Движения, Отказ);

    УчетТоваров.СформироватьДвиженияРеализацияТМЗ(ТаблицаРеализацияТМЗ, Движения, Отказ);

    УчетНДСИАкциза.СформироватьДвиженияВозвратТоваровОтПокупателя(ПараметрыПроведения.ТаблицаНДС,
        ПараметрыПроведения.ТаблицаУчастникиСовместнойДеятельности, ПараметрыПроведения.Реквизиты, Движения, Отказ);

    // Переоценка валютных остатков — после всех прочих проводок
    ТаблицаПереоценка = УчетДоходовРасходов.ПодготовитьТаблицуПереоценкаВалютныхОстатковПоПроводкамДокумента(
        ПараметрыПроведения.ЗачетАвансовРеквизиты, Движения, Отказ);
    УчетДоходовРасходов.СформироватьДвиженияПереоценкаВалютныхОстатков(ТаблицаПереоценка,
        ПараметрыПроведения.Реквизиты, Движения, Отказ);

    // Свернуть проводки в регистрах бухгалтерии
    Документы.ВозвратТоваровОтПокупателя.СвернутьДвиженияРегистровБухгалтерии(Движения, Отказ);

    // Отражение постоянных разниц в НУ
    ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ(ПараметрыПроведения.Реквизиты, Движения, Отказ);

    // Синхронизация признака проведения со связанной ЭСФ
    УчетНДСИАкциза.СинхронизацияПризнакаПроведенияУСчетаФактуры(Ссылка, Отказ, Истина, "СчетФактураВыданный");

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

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

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

Важные детали из кода: - РучнаяКорректировка = Истина → авто-проведение полностью пропускается (Возврат сразу после ПодготовитьНаборыЗаписейКПроведению) — движения заполняет пользователь. - Сторнирование реализовано явно двумя вызовами УчетТоваров.ПроставитьСторноТаблицы(..., -1): один по таблице выручки (Сумма, Стоимость, СуммаВзаиморасчетов), второй по таблице ТМЗ (Сумма, НДС, Стоимость, Количество, Акциз). Именно поэтому документ даёт «красные»/обратные движения относительно продажи. - Развилка по УказанСчетВозвратов: если в реквизитах указан счёт возвратов — таблица берётся напрямую и к ней добавляется колонка «Содержание»; иначе зачёт авансов распределяется по таблице взаиморасчётов. - Перед НУ движения в регистрах бухгалтерии сворачиваются (СвернутьДвиженияРегистровБухгалтерии). - В конце — синхронизация признака проведения со связанным СчетФактураВыданный (обратная — в ОбработкаУдаленияПроведения).

⚠️ Несостыковка [KZ30-VTP-02]. Авто-разбор objects/ приводил «плоские» сторно-проводки (Дт 1510 Кт 7010, Дт 1310 Кт 7110, Дт 1510 Кт 3130 и т.п.). Это лишь иллюстрация типового результата: реальные счета вычисляются модулями Учет* по учётной политике и настройкам счетов учёта документа. Точные Дт/Кт сверяйте по отчёту «Дт/Кт» на проведённом документе, а не по разбору.
💼 Партнёру / внедренцу. «Проводки возврата не те» → причина почти всегда в учётной политике и счетах учёта, а не в документе. Документ — оркестратор; вся логика счетов в УчетТоваров, УчетДоходовРасходов, УчетНДСИАкциза, УправлениеВзаиморасчетамиСервер, УчетнаяПолитикаСервер и в правилах заполнения счетов (СчетаУчетаВДокументах, процедура УстановитьПравилаЗаполненияСчетовУчета в ManagerModule — правила для счёта 1510). Туда и смотреть при настройке у клиента. Признак «Указан счёт возвратов» (СчетУчетаРасчетовПоВозвратам) меняет схему зачёта авансов — проверяйте его, если расчёты с покупателем после возврата «не сходятся».

Заполнение на основании — реальный код

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

    ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);

    Если ТипДанныхЗаполнения = Тип("ДокументСсылка.СчетФактураВыданный") Тогда
        Если ДанныеЗаполнения.НДСЗаНерезидента Тогда
            ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'Создание документа ""%1"" на основании ""%2"" невозможно!'"),
                Метаданные().Синоним, ДанныеЗаполнения);
            ТекстИсключения = НСтр("ru = 'Создание на основании невозможно!'");
            ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
            ВызватьИсключение(ТекстИсключения);
        КонецЕсли;
    КонецЕсли;

    Если ДанныеЗаполнения <> Неопределено И ТипДанныхЗаполнения <> Тип("Структура")
        И Метаданные().ВводитсяНаОсновании.Содержит(ДанныеЗаполнения.Метаданные()) Тогда
        ЗаполнитьПоДокументуОснования(ДанныеЗаполнения);
        Если НЕ ЗначениеЗаполнено(Автор) Тогда
            Автор = Пользователи.ТекущийПользователь();
        КонецЕсли;
        Возврат;
    // … ветки для Структуры с "Основание" и прямого ЗаполнитьЗначенияСвойств …
    КонецЕсли;

    ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, Константы.ВалютаРегламентированногоУчета.Получить(), "Продажа");

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

Сам диспетчер источников — в ЗаполнитьПоДокументуОснования (стр. 305): по типу ссылки вызывается ЗаполнитьПоРеализацииТоваровУслуг, ЗаполнитьПоОтчетуОРозничныхПродажах, ЗаполнитьПоЧекККМ или ЗаполнитьПоСчетФактураВыданный (реализованы в ManagerModule).

🧩 Заметки для разработчика.
  1. ВводитсяНаОсновании (метаданные) = РеализацияТоваровУслуг, СчетФактураВыданный, ОтчетОРозничныхПродажах. Чека ККМ в списке BasedOn нет, хотя код ЗаполнитьПоЧекККМ существует — заполнение по чеку запускается не через стандартный «Ввод на основании», а из логики розничного возврата. Если расширяете список оснований — правьте и метаданные, и ЗаполнитьПоДокументуОснования.
  2. Блокировка по ЭСФ с НДС за нерезидента — жёсткое ВызватьИсключение. Учитывайте при программном создании на основании.

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

Логика проверки в основном «вычитающая»: собирается МассивНепроверяемыхРеквизитов, из стандартной проверки удаляются неактуальные реквизиты, затем выполняются построчные проверки ТЧ.

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

Регистр Тип / движение Что пишет
ТоварыОрганизацийБУ Накопление / приход Оприходование возвращённого товара на склад
ТоварыОрганизаций (с ГТД) Накопление / приход Партионный/ГТД-учёт товаров (через НомераГТДСервер)
РеализацияТМЗ Накопление / расход (сторно, −1) Уменьшение реализации товаров
НДС / корректировка НДС Накопление / сторно Снятие начисленного при продаже НДС
Акциз Накопление / сторно Снятие начисленного акциза (если применимо)
Регистр бухгалтерии (БУ) Проводки (свёрнутые) Сторно выручки/себестоимости, корректировка 1510, НДС/акциз
Регистр бухгалтерии (НУ) Проводки Постоянные разницы и налоговый учёт
⚠️ Пробел в источниках. Точные имена регистров накопления (ТоварыОрганизацийБУ vs ТоварыОрганизаций, имя НДС-регистра) приведены по разбору objects/ и могут отличаться от фактических имён метаданных релиза — в ObjectModule движения формируются внутри общих модулей Учет*, а не прямым Движения.<Регистр>. Сверяйте имена по составу движений документа или метаданным регистраторов.

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

УчетТоваров (оприходование, таблицы ТМЗ, сторно, наборы доступа), УчетДоходовРасходов (выручка, переоценка валюты), УчетНДСИАкциза (НДС/акциз, синхронизация ЭСФ, акты выполненных работ, данные СД), УправлениеВзаиморасчетамиСервер (зачёт авансов), НомераГТДСервер (ГТД, движения «Товары организаций»), ПроцедурыНалоговогоУчета / ПроцедурыНалоговогоУчетаВызовСервераПовтИсп (плательщик НДС, постоянные разницы), УчетнаяПолитикаСервер (плательщик КПН), СчетаУчетаВДокументах (правила и проверка счетов), РаботаСДоговорамиКонтрагентов (договор перед записью), ЗаполнениеДокументов, ОбщегоНазначения / ОбщегоНазначенияБК.

Печать (ManagerModule)

Документ регистрирует две команды печати: накладная возврата (ПечатьВозвратаОтПокупателя, основной макет) и счёт-фактура (ПечатьСчетаФактуры — печатается, если найден связанный СчетФактураВыданный). Имена команд — ВозвратОтПокупателя_Накладная и ВозвратОтПокупателя_СчетФактура.

🧩 Заметки для разработчика.
  1. ПередЗаписью пересчитывает СуммаДокумента как сумму с НДС по «Товары» + по «Услуги» (УчетНДСИАкциза.ПолучитьСуммуДокументаСНДС) — не дублируйте этот расчёт на форме.
  2. ПриЗаписи и ПередЗаписью синхронизируют связанную ЭСФ (пометку удаления, проведение, данные). При программной записи следите за Отказ — при провале синхронизации ПриЗаписи бросает ошибку проведения.
  3. ОбработкаЗаполнения/ПриКопировании дважды вызывают ЗаполнениеДокументов.ЗаполнитьШапкуДокумента с типом операции «Продажа» — шапка инициализируется единообразно с реализацией.

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

🆕 Что нового

Версия Изменение Тип
3.0.72.1 Первичное описание (на релизе 3.0.72.1) 🆕