Документ «Возврат ТМЗ от покупателя»
Документ оформляет возврат ранее проданных товаров (и услуг) от покупателя: восстанавливает ТМЗ на складе, сторнирует выручку и себестоимость, корректирует расчёты с покупателем и начисленные НДС/акциз. Это «обратная» реализация — зеркало документа «Реализация ТМЗ и услуг», и проводки он формирует именно как сторно продажи.
🎯 Что это и зачем
Покупатель вернул товар — по браку, рекламации, пересорту или просто передумал. Этот возврат нужно отразить в учёте: вернуть товар на склад, убрать выручку и себестоимость, которые были начислены при продаже, скорректировать долг покупателя и снять начисленный НДС/акциз. Документ «Возврат ТМЗ от покупателя» делает всё это одним проведением.
Ключевая идея: документ формирует те же движения, что и реализация, но со знаком минус (сторно). В коде это видно буквально — таблицы реализации и ТМЗ умножаются на -1 перед формированием движений (см. Часть 2).
Кто работает: бухгалтеры и продавцы, при обработке рекламаций и возвратов. Поддерживаются два сценария — оптовый возврат (по договору, на основании реализации) и возврат розничной продажи (с выплатой денег из кассы).
🧭 Где найти в программе
Раздел «Продажа» → пункт со списком возвратов от покупателей; новый документ создаём кнопкой «Создать». Чаще документ удобнее создавать на основании реализации или счёта-фактуры — тогда шапка и товары заполнятся автоматически (см. Урок 3).
navigation-map.json конфигурации не зафиксирован (в карте есть «Реализация», «Счета покупателям», но не возвраты). Значение fresh_nav.item в этом файле — предположительное. Сверьте фактический путь в своей базе; при необходимости документ всегда доступен через «Все функции» → Документы → Возврат ТМЗ от покупателя и через «Создать на основании» из реализации.👤 Часть 1. Для пользователя
Проходим по шагам: от пустого документа до проведённого возврата и проверки сторно-проводок. В документе два вида операции — начинаем с выбора вида.
Урок 1. Оптовый возврат товара (по договору)
Когда: покупатель-юрлицо возвращает товар, ранее отгруженный документом «Реализация ТМЗ и услуг».
Шаг 1. Создаём документ и выбираем вид операции
«Создать» → в поле Вид операции выбираем «Возврат товаров». От вида операции зависит, какие поля обязательны: для оптового возврата это Контрагент, Договор, Склад; поле Касса при этом не требуется.
Шаг 2. Заполняем шапку
- Организация — юрлицо, принимающее возврат (подставится основная).
- Контрагент — покупатель, который возвращает товар.
- Договор — договор с покупателем; при его выборе автоматически подтянутся валюта, курс и кратность взаиморасчётов, а также счёт расчётов.
- Склад — склад, на который приходуем возвращённый товар.
Шаг 3. Заполняем товары
Удобнее всего — указать Документ-основание (реализацию) и нажать кнопку заполнения по документу отгрузки: товары, цены и счета подтянутся из продажи. Можно добавлять строки и вручную через «Подбор». Для каждой строки указываем Номенклатуру, Количество (возвращаемое), Цену, Ставку НДС.
Шаг 4. Проверяем итоги
Внизу формы — Итого и НДС. Сумма документа считается автоматически из строк товаров и услуг (с учётом НДС).
Шаг 5. Проводим и проверяем проводки
«Провести» или «Записать и закрыть». Чтобы убедиться в правильности — открываем Дт/Кт (движения документа). Проводки будут «обратными» к реализации: товар вернётся на склад, доход и себестоимость сторнируются, НДС скорректируется.
Урок 2. Возврат розничной продажи (с выплатой денег)
Когда: покупатель возвращает товар, купленный в рознице (по чеку ККМ / отчёту о розничных продажах), и нужно вернуть ему деньги.
Отличия от оптового возврата: 1. Вид операции = «Возврат розничной продажи». 2. Появляется обязательное поле Касса — из неё выплачиваются деньги покупателю. 3. Контрагент для розницы можно не указывать (часто покупатель — физлицо без карточки). 4. Основанием служит Отчёт о розничных продажах или Чек ККМ.
Урок 3. Создание на основании
Чтобы не вводить данные повторно, возврат удобно создавать на основании документа продажи. Метаданные документа разрешают ввод на основании трёх документов:
- Реализация ТМЗ и услуг — основной случай оптового возврата (контрагент, договор, склад, товары и услуги копируются);
- Счёт-фактура выданный — заполнение из данных ЭСФ (со связью для последующей корректировки счёта-фактуры);
- Отчёт о розничных продажах — для розничного возврата.
Кроме того, в коде поддержано заполнение из Чека ККМ (процедура ЗаполнитьПоЧекККМ) — оно используется при возврате розничной продажи.
Как сделать: открыть документ-основание → «Создать на основании» → «Возврат ТМЗ от покупателя». Проверить количество (при частичном возврате) и провести.
ОбработкаЗаполнения в Части 2).🛠 Часть 2. Для программиста
Источник: реальный код релиза 3.0.72.1 (Documents/ВозвратТоваровОтПокупателя/Ext/ObjectModule.bsl, прочитан целиком — 587 строк), плюс разбор objects/ и business-logic/, метаданные объекта и перечисления ВидыОперацийВозвратТоваровОтПокупателя.
Структура объекта
Ключевые реквизиты шапки (обязательные — ShowError): ВидОперации, Организация, Контрагент, ДоговорКонтрагента, Склад, ВалютаДокумента, КурсВзаиморасчетов, КратностьВзаиморасчетов, ВидУчетаНУ, СчетУчетаРасчетовСКонтрагентом, Касса (обязательна только для розничного возврата). Управляющие флаги: УчитыватьНДС, УчитыватьАкциз, УчитыватьКПН, СуммаВключаетНДС, СуммаВключаетАкциз, ОтложитьНачислениеНДС, РучнаяКорректировка. Прочее: ДокументОснование, Сделка, ТипЦен, СтруктурноеПодразделение, СчетУчетаРасчетовПоВозвратам, реквизиты доверенности.
Перечисление ВидыОперацийВозвратТоваровОтПокупателя (из конфигурации, релиз 3.0.72.1) имеет ровно два значения:
| Имя значения | Синоним | Назначение |
|---|---|---|
ВозвратТоваров |
«Возврат товаров» | Оптовый возврат по договору |
ВозвратРозничнойПродажи |
«Возврат розничной продажи» | Розничный возврат с выплатой из кассы |
objects/ фигурировало значение ВозвратОптовогоТовара — такого значения в перечислении нет. Правильное имя оптовой операции — ВозвратТоваров (подтверждено по XML перечисления и по коду ОбработкаПроверкиЗаполнения, где сравнение идёт с Перечисления.ВидыОперацийВозвратТоваровОтПокупателя.ВозвратРозничнойПродажи).Табличные части: Товары (номенклатура, кол-во, ед.изм., коэффициент, себестоимость, цена, сумма, ставка/сумма/счёт НДС, счета доходов и себестоимости БУ и НУ с субконто, реквизиты акциза, КлючСвязи), Услуги (+ Содержание, без складского учёта и акциза), УчастникиСовместнойДеятельности (участник, доля), НомераГТД (КлючСвязи, НомерГТД, Количество — привязка импортных товаров к ГТД).
Жизненный цикл (обработчики ObjectModule)
| Обработчик | Что делает |
|---|---|
ЗаполнитьНаборыЗначенийДоступа |
Заполняет наборы доступа RLS по Организация/Подразделение/Склад через УчетТоваров |
ОбработкаЗаполнения |
Заполнение при вводе на основании; блокирует ввод по ЭСФ с НДС за нерезидента; ставит Автора |
ПриКопировании |
Заполняет шапку, очищает НомераГТД, сбрасывает ОтложитьНачислениеНДС |
ПередЗаписью |
Считает СуммаДокумента, чистит данные СД, заполняет счета, синхронизирует пометку удаления у ЭСФ, заполняет договор |
ПриЗаписи |
Обновляет сведения по актам выполненных работ, синхронизирует данные документа и ЭСФ |
ОбработкаПроверкиЗаполнения |
Формирует список непроверяемых реквизитов (по НДС/КПН/акцизу/кассе/виду операции) и проверяет ТЧ Товары, Услуги, НомераГТД |
ОбработкаПроведения |
Готовит таблицы, проставляет сторно (-1), формирует движения профильными модулями учёта |
ОбработкаУдаленияПроведения |
Снимает признак проведения у связанного СчетФактураВыданный |
Как формируется проведение — реальный код (3.0.72.1)
Главное: проводки не «зашиты» в документ. ОбработкаПроведения собирает таблицы (через ПодготовитьПараметрыПроведения из ManagerModule), умножает суммовые/количественные поля на -1 (это и есть сторнирование реализации) и делегирует формирование движений профильным общим модулям учёта. Конкретные счета Дт/Кт определяются учётной политикой и настройками счетов, а не самим документом.
Источник: ObjectModule.bsl, процедура ОбработкаПроведения (стр. 211), реальный код:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
Если РучнаяКорректировка Тогда
Возврат; // ручное управление движениями
КонецЕсли;
ПараметрыПроведения = Документы.ВозвратТоваровОтПокупателя.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
// Таблица возвращённых (списанных при продаже) товаров — для оприходования на склад
ТаблицаВозвращенныеСписанныеТовары = УчетТоваров.ПодготовитьТаблицуВозвращенныеСписанныеТовары(
ПараметрыПроведения.ТаблицаТовары, ПараметрыПроведения.СписаниеТоваровСчетаУчета,
ПараметрыПроведения.СписаниеТоваровСписокНоменклатуры, ПараметрыПроведения.Реквизиты, Отказ);
// Взаиморасчёты с зачётом авансов
ТаблицаВзаиморасчеты = УправлениеВзаиморасчетамиСервер.ПодготовитьТаблицуВзаиморасчетовЗачетАвансов(
ПараметрыПроведения.ЗачетАвансовТаблицаДокумента, ПараметрыПроведения.ЗачетАвансовРеквизиты, Отказ);
// Выручка от реализации (собственные товары и услуги)
ТаблицыРеализация = УчетДоходовРасходов.ПодготовитьТаблицыВыручкиОтРеализации(
ПараметрыПроведения.РеализацияТаблицаДокумента, ТаблицаВзаиморасчеты,
ПараметрыПроведения.Реквизиты, Отказ);
Если НЕ ПараметрыПроведения.Реквизиты[0].УказанСчетВозвратов Тогда
ТаблицаСобственныеТоварыУслуги = Документы.ВозвратТоваровОтПокупателя.РаспределитьТаблицуЗачетаАвансовПоТаблицеВзаиморасчетов(ТаблицыРеализация.СобственныеТоварыУслуги, ТаблицаВзаиморасчеты, ПараметрыПроведения.РеализацияТаблицаДокумента, ПараметрыПроведения.Реквизиты);
ТаблицаВзаиморасчеты = Неопределено;
Иначе
ТаблицаСобственныеТоварыУслуги = ТаблицыРеализация.СобственныеТоварыУслуги;
Документы.ВозвратТоваровОтПокупателя.ДобавитьКолонкуСодержание(ТаблицаСобственныеТоварыУслуги);
КонецЕсли;
// СТОРНО: реализация умножается на -1
СтруктураПолейДляСторно = Новый Структура("Сумма, Стоимость, СуммаВзаиморасчетов");
УчетТоваров.ПроставитьСторноТаблицы(ТаблицаСобственныеТоварыУслуги, СтруктураПолейДляСторно, -1);
ОбщегоНазначенияБКВызовСервера.ДобавитьКолонкуВТаблицуЗначений(ТаблицаВзаиморасчеты, "НомерЖурнала", "");
ТаблицаРеализацияТМЗ = УчетТоваров.ПодготовитьТаблицуРеализацияТМЗ(
ТаблицаВозвращенныеСписанныеТовары, ПараметрыПроведения.РеализацияТаблицаДокумента,
ПараметрыПроведения.Реквизиты, Отказ);
// СТОРНО регистра РеализацияТМЗ
СтруктураПолейДляСторно = Новый Структура("Сумма, НДС, Стоимость, Количество, Акциз");
УчетТоваров.ПроставитьСторноТаблицы(ТаблицаРеализацияТМЗ, СтруктураПолейДляСторно, -1);
// ФОРМИРОВАНИЕ ДВИЖЕНИЙ — каждый модуль пишет «свой» учёт:
УчетТоваров.СформироватьДвиженияВозвратТоваровОтПокупателя(ТаблицаВозвращенныеСписанныеТовары,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
НомераГТДСервер.СформироватьДвиженияТоварыОрганизаций(ПараметрыПроведения.ТаблицаТоварыОрганизаций, ПараметрыПроведения.Реквизиты, Движения, Отказ);
УправлениеВзаиморасчетамиСервер.СформироватьДвиженияЗачетАвансов(ТаблицаВзаиморасчеты,
ПараметрыПроведения.ЗачетАвансовРеквизиты, Движения, Отказ);
УчетДоходовРасходов.СформироватьДвиженияВозвратТоваровОтПокупателя(
ТаблицаСобственныеТоварыУслуги, ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетТоваров.СформироватьДвиженияРеализацияТМЗ(ТаблицаРеализацияТМЗ, Движения, Отказ);
УчетНДСИАкциза.СформироватьДвиженияВозвратТоваровОтПокупателя(ПараметрыПроведения.ТаблицаНДС,
ПараметрыПроведения.ТаблицаУчастникиСовместнойДеятельности, ПараметрыПроведения.Реквизиты, Движения, Отказ);
// Переоценка валютных остатков — после всех прочих проводок
ТаблицаПереоценка = УчетДоходовРасходов.ПодготовитьТаблицуПереоценкаВалютныхОстатковПоПроводкамДокумента(
ПараметрыПроведения.ЗачетАвансовРеквизиты, Движения, Отказ);
УчетДоходовРасходов.СформироватьДвиженияПереоценкаВалютныхОстатков(ТаблицаПереоценка,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
// Свернуть проводки в регистрах бухгалтерии
Документы.ВозвратТоваровОтПокупателя.СвернутьДвиженияРегистровБухгалтерии(Движения, Отказ);
// Отражение постоянных разниц в НУ
ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ(ПараметрыПроведения.Реквизиты, Движения, Отказ);
// Синхронизация признака проведения со связанной ЭСФ
УчетНДСИАкциза.СинхронизацияПризнакаПроведенияУСчетаФактуры(Ссылка, Отказ, Истина, "СчетФактураВыданный");
КонецПроцедуры
Кто что формирует (вызов → смысл):
| Вызов в коде | Какой учёт пишет |
|---|---|
УчетТоваров.СформироватьДвиженияВозвратТоваровОтПокупателя |
оприходование возвращённого товара на склад |
НомераГТДСервер.СформироватьДвиженияТоварыОрганизаций |
движения «Товары организаций» с учётом ГТД (страна происхождения) |
УправлениеВзаиморасчетамиСервер.СформироватьДвиженияЗачетАвансов |
зачёт авансов / корректировка расчётов с покупателем |
УчетДоходовРасходов.СформироватьДвиженияВозвратТоваровОтПокупателя |
сторно выручки и финансового результата |
УчетТоваров.СформироватьДвиженияРеализацияТМЗ |
сторно регистра «Реализация ТМЗ» |
УчетНДСИАкциза.СформироватьДвиженияВозвратТоваровОтПокупателя |
корректировка (сторно) НДС и акциза |
УчетДоходовРасходов.СформироватьДвиженияПереоценкаВалютныхОстатков |
переоценка валютных остатков по проводкам документа |
ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ |
постоянные разницы в налоговом учёте |
Важные детали из кода:
- РучнаяКорректировка = Истина → авто-проведение полностью пропускается (Возврат сразу после ПодготовитьНаборыЗаписейКПроведению) — движения заполняет пользователь.
- Сторнирование реализовано явно двумя вызовами УчетТоваров.ПроставитьСторноТаблицы(..., -1): один по таблице выручки (Сумма, Стоимость, СуммаВзаиморасчетов), второй по таблице ТМЗ (Сумма, НДС, Стоимость, Количество, Акциз). Именно поэтому документ даёт «красные»/обратные движения относительно продажи.
- Развилка по УказанСчетВозвратов: если в реквизитах указан счёт возвратов — таблица берётся напрямую и к ней добавляется колонка «Содержание»; иначе зачёт авансов распределяется по таблице взаиморасчётов.
- Перед НУ движения в регистрах бухгалтерии сворачиваются (СвернутьДвиженияРегистровБухгалтерии).
- В конце — синхронизация признака проведения со связанным СчетФактураВыданный (обратная — в ОбработкаУдаленияПроведения).
objects/ приводил «плоские» сторно-проводки (Дт 1510 Кт 7010, Дт 1310 Кт 7110, Дт 1510 Кт 3130 и т.п.). Это лишь иллюстрация типового результата: реальные счета вычисляются модулями Учет* по учётной политике и настройкам счетов учёта документа. Точные Дт/Кт сверяйте по отчёту «Дт/Кт» на проведённом документе, а не по разбору.УчетТоваров, УчетДоходовРасходов, УчетНДСИАкциза, УправлениеВзаиморасчетамиСервер, УчетнаяПолитикаСервер и в правилах заполнения счетов (СчетаУчетаВДокументах, процедура УстановитьПравилаЗаполненияСчетовУчета в ManagerModule — правила для счёта 1510). Туда и смотреть при настройке у клиента. Признак «Указан счёт возвратов» (СчетУчетаРасчетовПоВозвратам) меняет схему зачёта авансов — проверяйте его, если расчёты с покупателем после возврата «не сходятся».Заполнение на основании — реальный код
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);
Если ТипДанныхЗаполнения = Тип("ДокументСсылка.СчетФактураВыданный") Тогда
Если ДанныеЗаполнения.НДСЗаНерезидента Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Создание документа ""%1"" на основании ""%2"" невозможно!'"),
Метаданные().Синоним, ДанныеЗаполнения);
ТекстИсключения = НСтр("ru = 'Создание на основании невозможно!'");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
ВызватьИсключение(ТекстИсключения);
КонецЕсли;
КонецЕсли;
Если ДанныеЗаполнения <> Неопределено И ТипДанныхЗаполнения <> Тип("Структура")
И Метаданные().ВводитсяНаОсновании.Содержит(ДанныеЗаполнения.Метаданные()) Тогда
ЗаполнитьПоДокументуОснования(ДанныеЗаполнения);
Если НЕ ЗначениеЗаполнено(Автор) Тогда
Автор = Пользователи.ТекущийПользователь();
КонецЕсли;
Возврат;
// … ветки для Структуры с "Основание" и прямого ЗаполнитьЗначенияСвойств …
КонецЕсли;
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, Константы.ВалютаРегламентированногоУчета.Получить(), "Продажа");
КонецПроцедуры
Сам диспетчер источников — в ЗаполнитьПоДокументуОснования (стр. 305): по типу ссылки вызывается ЗаполнитьПоРеализацииТоваровУслуг, ЗаполнитьПоОтчетуОРозничныхПродажах, ЗаполнитьПоЧекККМ или ЗаполнитьПоСчетФактураВыданный (реализованы в ManagerModule).
ВводитсяНаОсновании(метаданные) =РеализацияТоваровУслуг,СчетФактураВыданный,ОтчетОРозничныхПродажах. Чека ККМ в спискеBasedOnнет, хотя кодЗаполнитьПоЧекККМсуществует — заполнение по чеку запускается не через стандартный «Ввод на основании», а из логики розничного возврата. Если расширяете список оснований — правьте и метаданные, иЗаполнитьПоДокументуОснования.- Блокировка по ЭСФ с НДС за нерезидента — жёсткое
ВызватьИсключение. Учитывайте при программном создании на основании.
Валидации (ОбработкаПроверкиЗаполнения)
Логика проверки в основном «вычитающая»: собирается МассивНепроверяемыхРеквизитов, из стандартной проверки удаляются неактуальные реквизиты, затем выполняются построчные проверки ТЧ.
- Если в обеих ТЧ (
Товары,Услуги) нет строк — проверкаТовары/Услугине снимается (документ без строк не пройдёт стандартную проверку заполнения). Складне проверяется, еслиТоварыпустые (возврат только услуг).- НУ/КПН: если организация не плательщик КПН по
УчетнаяПолитикаСервер.ПлательщикНалогаНаПрибыльилиУчитыватьКПН = Ложь— из проверки исключаютсяВидУчетаНУи счета НУ (СчетДоходовНУ,СчетСписанияСебестоимостиНУ). Построчная проверка счёта НУ включается только при поддержке временных разниц либоВидУчетаНУ = НУ. - НДС: если организация не плательщик НДС (
ПроцедурыНалоговогоУчета.ПолучитьПризнакПлательщикаНДС) илиУчитыватьНДС = Ложь— исключаютсяНДСВидОперацииРеализациииСтавкаНДСпо обеим ТЧ. ПриОтложитьНачислениеНДСдополнительно исключаетсяУслуги.НДСВидОперацииРеализации. - Касса: исключается из проверки, если
ВидОперации <> ВозвратРозничнойПродажи(то есть для оптового возврата касса не обязательна). - Построчно по Товарам (
ПроверитьЗаполнениеТабличнойЧастиТовары): приПользовательУправляетСчетамиУчета— если заполненСчетУчетаБУ, но не заполнен небалансовыйСчетУчетаНУ→ ошибка «Счет учета (НУ)»; приУчитыватьНДСи ненулевой ставке безСчетУчетаНДСПоРеализации→ ошибка «Счет НДС». - Построчно по Услугам — аналогичная проверка счёта НДС (с учётом
ОтложитьНачислениеНДС). - Акциз (
ВыполнитьПроверкиСвязанныеСАкцизомВТабличнойЧасти, через запрос): при наличииВидПодакцизногоТМЗ/суммы акциза без ставки → ошибка; ставка без вида подакцизного товара у номенклатуры → ошибка; ставка безАкцизВидОперацииРеализации→ ошибка; ставка безСчетУчетаАкцизаПоРеализации(при управлении счетами) → ошибка. - Номера ГТД (
ПроверитьЗаполнениеТабличнойЧастиНомераГТД): только еслиНомераГТДСервер.ВедетсяУчетПоТоварамОрганизаций(Дата). Запросом сверяетсяКоличество × КоэффициентпоКлючСвязимеждуТоварыиНомераГТД; при недостаче — «не заполнен Источник происхождения», при избытке — «количество … превышает».
Движения по регистрам
| Регистр | Тип / движение | Что пишет |
|---|---|---|
ТоварыОрганизацийБУ |
Накопление / приход | Оприходование возвращённого товара на склад |
ТоварыОрганизаций (с ГТД) |
Накопление / приход | Партионный/ГТД-учёт товаров (через НомераГТДСервер) |
РеализацияТМЗ |
Накопление / расход (сторно, −1) | Уменьшение реализации товаров |
НДС / корректировка НДС |
Накопление / сторно | Снятие начисленного при продаже НДС |
Акциз |
Накопление / сторно | Снятие начисленного акциза (если применимо) |
| Регистр бухгалтерии (БУ) | Проводки (свёрнутые) | Сторно выручки/себестоимости, корректировка 1510, НДС/акциз |
| Регистр бухгалтерии (НУ) | Проводки | Постоянные разницы и налоговый учёт |
ТоварыОрганизацийБУ vs ТоварыОрганизаций, имя НДС-регистра) приведены по разбору objects/ и могут отличаться от фактических имён метаданных релиза — в ObjectModule движения формируются внутри общих модулей Учет*, а не прямым Движения.<Регистр>. Сверяйте имена по составу движений документа или метаданным регистраторов.Зависимости (общие модули)
УчетТоваров (оприходование, таблицы ТМЗ, сторно, наборы доступа), УчетДоходовРасходов (выручка, переоценка валюты), УчетНДСИАкциза (НДС/акциз, синхронизация ЭСФ, акты выполненных работ, данные СД), УправлениеВзаиморасчетамиСервер (зачёт авансов), НомераГТДСервер (ГТД, движения «Товары организаций»), ПроцедурыНалоговогоУчета / ПроцедурыНалоговогоУчетаВызовСервераПовтИсп (плательщик НДС, постоянные разницы), УчетнаяПолитикаСервер (плательщик КПН), СчетаУчетаВДокументах (правила и проверка счетов), РаботаСДоговорамиКонтрагентов (договор перед записью), ЗаполнениеДокументов, ОбщегоНазначения / ОбщегоНазначенияБК.
Печать (ManagerModule)
Документ регистрирует две команды печати: накладная возврата (ПечатьВозвратаОтПокупателя, основной макет) и счёт-фактура (ПечатьСчетаФактуры — печатается, если найден связанный СчетФактураВыданный). Имена команд — ВозвратОтПокупателя_Накладная и ВозвратОтПокупателя_СчетФактура.
ПередЗаписьюпересчитываетСуммаДокументакак сумму с НДС по «Товары» + по «Услуги» (УчетНДСИАкциза.ПолучитьСуммуДокументаСНДС) — не дублируйте этот расчёт на форме.ПриЗаписииПередЗаписьюсинхронизируют связанную ЭСФ (пометку удаления, проведение, данные). При программной записи следите заОтказ— при провале синхронизацииПриЗаписибросает ошибку проведения.ОбработкаЗаполнения/ПриКопированиидважды вызываютЗаполнениеДокументов.ЗаполнитьШапкуДокументас типом операции «Продажа» — шапка инициализируется единообразно с реализацией.
🔗 Связанные разделы
- realizaciya-tmz-i-uslug — зеркальный документ продажи (возврат сторнирует именно его движения)
- schet-faktura-vydannyy — ЭСФ; основание для возврата и объект синхронизации/корректировки
- otchet-o-roznichnyh-prodazhah — основание для розничного возврата
- rashodnyy-kassovyy-order — выплата денег покупателю при розничном возврате
🆕 Что нового
| Версия | Изменение | Тип |
|---|---|---|
| 3.0.72.1 | Первичное описание (на релизе 3.0.72.1) | 🆕 |