Документ «Перемещение товаров»

Документ оформляет внутреннее перемещение ТМЗ между складами (и подразделениями) одной организации: списывает товар с одного склада и приходует на другой, без смены собственника, реализации и НДС. Переносит и партионный учёт по ГТД, печатает накладную на перемещение и форму З-5. Документ раздела «Номенклатура и склад».

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

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

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

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

Кто работает: кладовщики, логисты, бухгалтеры по складу, в ежедневном режиме. Документ создаётся как с нуля, так и на основании поступления товаров или отчёта производства за смену.

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

Раздел «Номенклатура и склад» → пункт «Перемещение товаров» (журнал документов перемещения). Новый документ — кнопкой «Создать».

⚠️ Пробел в навигационной карте [KZ30-PT-NAV]. Объекта Документ.ПеремещениеТоваров нет в navigation-map.json конфигурации. Раздел «Номенклатура и склад» определён по метаданным (документ работает со складами, в форме есть команда «Заполнить по остаткам», привязанная к складам). Точный пункт меню и его синонимы во Fresh нужно подтвердить и внести в карту. В некоторых поставках раздел может называться «Склад».
📷 СКРИН 01
СКРИН 01 — раздел «Номенклатура и склад», открытый журнал «Перемещение товаров». (AccountingKZ30 во Fresh; маршрут: Номенклатура и склад → Перемещение товаров)

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

Проходим по шагам, как в курсе: от пустого документа до проведённого перемещения и проверки остатков на обоих складах.

Урок 1. Перемещение товаров между складами

Когда: товар физически переезжает с одного склада на другой в пределах одной организации.

Шаг 1. Создаём документ

Раздел «Номенклатура и склад» → «Перемещение товаров» → «Создать». Откроется пустая форма документа.

📷 СКРИН 02
СКРИН 02 — пустая форма документа «Перемещение товаров».

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

Порядок важен — заполняйте сверху вниз:

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

Шаг 3. Добавляем товары

В табличной части «Товары»:

📷 СКРИН 04
СКРИН 04 — табличная часть «Товары» с подобранной номенклатурой и автозаполненными счетами.
💡 Подсказка. Счета учёта (СчётУчётаБУ → НовыйСчётУчётаБУ и т.д.) трогать обычно не нужно — программа сама ставит счета запасов отправителя и получателя. Менять вручную имеет смысл только для нестандартной операции (например, перевод запаса с одного счёта учёта на другой одновременно с перемещением).

Шаг 4. Заполнение по остаткам (быстрый способ)

Если нужно перенести весь остаток склада:

  1. Заполните Организацию и Склад-отправитель (без них команда недоступна).
  2. Нажмите «Заполнить по остаткам» над таблицей.
  3. Программа добавит строки с текущими остатками склада-отправителя — останется проверить количества.
📷 СКРИН 05
СКРИН 05 — кнопка «Заполнить по остаткам» и заполненная по остаткам таблица.
⚠️ Важно. Если на складе остатка нет, «Заполнить по остаткам» может добавить строки с нулевым количеством — лишние строки удалите вручную.

Шаг 5. Номера ГТД (для импортных товаров)

Если товар импортный и ведётся учёт по ГТД (партионный учёт «Товары организаций»):

  1. Выделите строку товара → откройте номера ГТД (кнопка/команда в форме).
  2. Укажите исходный Номер ГТД (склад-отправитель) и Новый номер ГТД (склад-получатель), а также количество по каждой декларации.
💡 Сумма количеств по ГТД одной строки не должна превышать количество в строке «Товары». Программа контролирует это при записи на проведение.

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

«Провести» или «Записать и закрыть». Чтобы убедиться, что товар «уехал» правильно:

📷 СКРИН 06
СКРИН 06 — окно «Движения документа: Дт/Кт» после проведения.
⚠️ Контроль остатков при проведении. Документ можно записать с любыми количествами, но при проведении программа проверяет наличие товара на складе-отправителе (контроль по регистру «Товары организаций»). Если остатка не хватает — проведение завершится ошибкой. Перед проведением убедитесь, что остаток есть (команда «Заполнить по остаткам» показывает актуальные данные).

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

Чтобы не вводить позиции повторно, перемещение удобно создавать «на основании»:

📷 СКРИН 07
СКРИН 07 — меню «Создать на основании» в документе-основании и предложение заполнить данными основания.
⚠️ Важно. Если сменить документ-основание уже после заполнения, программа спросит «Заполнить текущий документ данными документа-основания?» — при согласии таблицы «Товары» и «Номера ГТД» очищаются и заполняются заново. Выбирайте основание до ручного заполнения позиций.

Урок 3. Печать

Из документа доступны печатные формы:

💡 Печать вызывается из меню «Печать» открытого или выделенного в журнале документа.

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

Источник: реальный код релиза 3.0.72.1 (Documents/ПеремещениеТоваров/Ext/ObjectModule.bsl, Ext/ManagerModule.bsl, Forms/ФормаДокумента/Ext/Form/Module.bsl), плюс разбор objects/ и business-logic/. Расхождения с авто-разбором помечены в журнале ошибок.

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

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

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

Формы: ФормаДокумента (основная), ФормаСписка (журнал), ФормаВыбора (для подбора в качестве основания).

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

Обработчик Что делает
ЗаполнитьНаборыЗначенийДоступа (экспорт) RLS: формирует наборы доступа по Организация + подразделение/склад отправителя и получателя (два вызова УчетТоваров.ЗаполнитьНаборыПоОрганизацииСтрутурномуПодразделениюСкладу)
ОбработкаЗаполнения При вводе на основании — ЗаполнитьПоДокументуОснования; при заполнении структурой — копирует свойства (с удалением Автор); затем ЗаполнениеДокументов.ЗаполнитьШапкуДокумента
ОбработкаПроверкиЗаполнения Снимает проверку реквизитов НУ, если организация не плательщик КПН / не ведёт ВР / ВидУчетаНУ ≠ НУ; делегирует проверку счетов в СчетаУчетаВДокументах.ПроверитьЗаполнение
ПриКопировании Перезаполняет шапку (валюта регл. учёта); очищает НомераГТД, если они были
ОбработкаПроведения Готовит наборы записей; при РучнаяКорректировка — выходит; иначе формирует движения через профильные модули учёта (см. ниже)
ПередЗаписью При проведении и ведении учёта по ГТД — заполняет таблицу НомераГТД; при НЕ УчитыватьКПН обнуляет ВидУчетаНУ; вызывает СчетаУчетаВДокументах.ЗаполнитьПередЗаписью
ЗаполнитьПоДокументуОснования (экспорт) Маршрутизация по типу основания: ПоступлениеТоваровУслуг или ОтчетПроизводстваЗаСмену (вызовы менеджера документа)
⚠️ Несостыковка [KZ30-PT-0001]. В авто-разборе objects/ упомянуты обработчики ОрганизацияПриИзменении, СкладОтправительПриИзменении, ТоварыНоменклатураПриИзменении, ДокументОснованиеПриИзменении как часть ObjectModule. В реальном ObjectModule.bsl их нет — это обработчики формы (Forms/ФормаДокумента/Ext/Form/Module.bsl). Интерактивная логика (очистка ГТД при смене склада, вопрос при смене основания, автозаполнение счетов по номенклатуре) живёт в модуле формы, а не объекта.

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

Главное: проводки не «зашиты» в документ. ОбработкаПроведения собирает таблицы через менеджер документа и делегирует формирование движений профильным общим модулям — конкретные счета и суммы определяются учётной политикой, методом оценки запасов и регистром остатков, а не самим документом.

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

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

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

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

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

    //КОНТРОЛЬ ПО РЕГИСТРУ "ТОВАРЫ ОРГАНИЗАЦИЙ"
    НомераГТДСервер.ВыполнитьКонтрольТоварыОрганизаций(ПараметрыПроведения.ТаблицаСписаниеТоварыОрганизаций,
            ПараметрыПроведения.ТаблицаРеквизитыСписаниеТоварыОрганизаций, , Отказ);

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

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

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

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

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

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

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

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

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

Регистр Тип / движение Что пишет
ТоварыОрганизаций (партионный, ГТД) Накопление / приход + расход Расход со склада-отправителя, приход на склад-получатель в разрезе ГТД; на нём же — контроль остатка перед проведением
Регистр(ы) учёта запасов / себестоимости через УчетТоваров.СформироватьДвиженияСписаниеТоваров Передача себестоимости товара между складами/счетами
Регистр(ы) НУ (постоянные разницы) через ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ Постоянные разницы, если организация плательщик КПН и ВидУчетаНУ = НУ
РегистрБухгалтерии.Типовой источник, а не приёмник В ПодготовитьПараметрыПроведения читается РегистрБухгалтерии.Типовой.ДвиженияССубконто для получения сумм; собственно проводки формируют модули Учет*
⚠️ Несостыковка [KZ30-PT-0002] (важно). Авто-разбор objects/ приводит «плоские» проводки: Дт НовыйСчетУчетаБУ Кт СчетУчетаБУ и аналогично в регистре «Налоговый», со счетами вида 1310/1320/1380. В реальном ОбработкаПроведения нет ни одной явной записи в РегистрБухгалтерии.Типовой/Налоговый — движения формируют общие модули УчетТоваров и ПроцедурыНалоговогоУчета по учётной политике и методу оценки запасов. Регистр Типовой в коде документа фигурирует только на чтение (источник сумм себестоимости). Поэтому:
  • точные Дт/Кт смотрите по отчёту «Дт/Кт» на проведённом документе и по коду УчетТоваров;
  • счета берутся из строк ТЧ (СчетУчетаБУ → НовыйСчетУчетаБУ), но сумма считается не документом, а из остатков/себестоимости;
  • в плане счетов Казахстана это счета раздела 1300 «Запасы» (например, 1310 «Сырьё и материалы», 1320 «Готовая продукция», 1330 «Товары»). Российские 10/41/43 — не применять.

Поскольку отправитель и получатель — одна организация и часто один счёт учёта, бухгалтерски это нередко оборот внутри одного счёта (меняется только аналитика: склад/подразделение), а не межсчётная проводка. Источник истины — ОбработкаПроведения + УчетТоваров, а не таблица из objects/.

💼 Партнёру / внедренцу.
  • «После перемещения не та себестоимость / не сходится склад» — причина почти всегда в методе оценки запасов и учётной политике, а не в документе. Документ — оркестратор; вся логика себестоимости в УчетТоваров, существование политики проверяется в УчетнаяПолитикаСервер.Существует(...) (нет политики на дату → Отказ, документ не проводится).
  • «Не проводится с ошибкой по остаткам» — сработал НомераГТДСервер.ВыполнитьКонтрольТоварыОрганизаций: на складе-отправителе нет нужного количества/партии. Проверяйте остатки и заполнение ГТД.
  • «Перемещение не отражается в НУ» — это нормально, если организация не плательщик КПН или ВидУчетаНУ ≠ НУ: проверка НУ-реквизитов снимается в ОбработкаПроверкиЗаполнения, движения ПР не формируются.
  • Печать: две формы — «Накладная на перемещение» (НакладнаяНаПеремещение) и казахстанская З-5 (НакладнаяЗ5), макеты ПФ_MXL_Накладная и ПФ_MXL_З5.

Валидации

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

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

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

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

🆕 Что нового

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