SSABSUSAcademy
Склад

Перемещение товаров

Создавайте внутренние перемещения между складами: выберите причину, склад-источник, склад назначения, комментарий, продукт, Gross, Net, опциональный Order type, добавьте строку и сохраните документ.

Перемещение товаров visual guide
СложностьСредний
Время9 минут
ФорматИнтерактивный walkthrough
Поля26 объяснено

Голосовое объяснение

Аудиофайл: transfer-ru.mp3

Послушайте короткое объяснение: для чего нужен этот раздел, что заполнять и почему эти данные важны.

Пошаговая инструкция

Transfer нужен, когда товар физически перемещается с одного склада на другой. Это не поставка от поставщика, не продажа, не списание и не финансовая операция. Правильный transfer уменьшает исходный склад, показывает склад назначения и сохраняет понятную причину.

Сначала пройдите walkthrough. Точки показывают, куда нажимать; видео показывают раскрытие списков, ввод комментария, поиск продукта, ввод Gross и Net, добавление строки и сохранение.

Что заполнять на этом экране

Список Transfer

Как заполнять: Откройте Transfer и проверьте существующие перемещения перед созданием нового.

Зачем: Дубликаты могут второй раз переместить остаток и сломать складскую сверку.

Форма Product transfer

Как заполнять: Открывайте форму после загрузки списка Transfer.

Зачем: Форма использует загруженные склады, причины и товары из состояния приложения.

Дата перемещения

Как заполнять: Проверьте дату и время движения.

Зачем: История склада и аудит должны показывать фактическое время перемещения.

Причина перемещения

Как заполнять: Выберите понятную причину, например Internal transfer.

Зачем: Причина объясняет, почему остаток движется между складами.

From warehouse

Как заполнять: Выберите склад, где товар находится сейчас.

Зачем: Этот склад уменьшится после сохранения.

To warehouse

Как заполнять: Выберите склад, куда товар должен прийти.

Зачем: Этот склад получит остаток после перемещения.

Comment

Как заполнять: Введите короткий комментарий с операционным контекстом.

Зачем: Комментарий помогает понять перемещение без просмотра каждой строки.

Select product

Как заполнять: Откройте Select product, найдите продукт или ингредиент и выберите точную строку.

Зачем: Только реальный продукт может корректно изменить складской остаток.

Specification / variant

Как заполнять: Используйте поле только если у товара есть варианты или спецификации.

Зачем: Для простого ингредиента поле можно оставить пустым.

Order type

Как заполнять: Открывайте Order type только если перемещение связано с конкретным заказом или типом списания.

Зачем: Случайный order type делает отчеты и объяснения неверными.

Gross

Как заполнять: Введите физическое количество, которое уходит со склада-источника.

Зачем: Gross показывает исходное количество до потерь или корректировок.

Net

Как заполнять: Введите количество, которое должно прийти на склад назначения.

Зачем: При обычном внутреннем перемещении Net обычно равен Gross.

Add

Как заполнять: Нажмите Add после выбора продукта и количества.

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

Save

Как заполнять: Сохраняйте только после проверки причины, складов, комментария и строк товаров.

Зачем: Только сохраненный transfer становится надежной складской историей.

Проверка строки

Как заполнять: Вернитесь в список Transfer и проверьте дату, тип, склад, причину, содержимое и комментарий.

Зачем: Это подтверждает, что запись создана и загружена обратно из базы.

Частые ошибки

  • Создавать transfer до загрузки списка Transfer и связанных данных.
  • Выбирать один и тот же склад как источник и назначение.
  • Путать From warehouse и To warehouse.
  • Сохранять документ без добавленных строк товаров.
  • Выбирать похожий продукт без поиска и проверки точной строки.
  • Вводить количество в другой единице, чем указано у продукта.
  • Делать Gross и Net разными без реальной потери или корректировки.
  • Выбирать Order type случайно, когда перемещение не связано с заказом.
  • Считать transfer поставкой, продажей, списанием или финансовой оплатой.
  • Редактировать write_offs напрямую и не обновлять loadwriteoff, loadstorage и loadproduct.
Техническая таблица для AI-агентов

Этот блок расположен ниже пользовательской инструкции. Он нужен поддержке, автоматизациям и будущим AI-агентам, которые будут объяснять складские движения и проверять данные Transfer.

ПолеХранится какНазначениеПочему важно
ID перемещенияwrite_offs.id / WriteOffStruct.IDУникальный идентификатор документа перемещения.Нужен для истории склада, поддержки, отчетов, аудита и AI-агентов.
Тип документаwrite_offs.type = "="Маркер, по которому список Transfer отличает перемещения от списаний.Transfer хранится в write_offs, поэтому тип "=" критически важен.
Компанияwrite_offs.companyКомпания, которой принадлежит перемещение.Не дает складским движениям смешиваться между компаниями.
Дата перемещенияwrite_offs.date / WriteOffStruct.DateДата и время складского движения.Используется в истории склада, аудите, отчетах и сменной сверке.
Причинаwrite_offs.reasons / WriteOffStruct.ReasonsОбъект причины из справочника write_off_reasons.Объясняет, зачем товар перемещался.
Комментарийwrite_offs.commentКороткая операционная заметка.Поясняет полку, задачу менеджера, исключение или причину движения.
From warehousewrite_offs.storageID склада-источника.Этот склад должен уменьшиться.
To warehousewrite_offs.to_storageТекстовая ссылка на склад назначения и ID назначения.Показывает, куда должен прийти остаток.
Строки товаровwrite_offs.items[] / WriteOffStruct.Items[]Список товарных движений внутри transfer.Без строк документ не перемещает конкретный товар.
ID строкиwrite_offs.items[].IDУникальный ID строки движения.Позволяет ссылаться на конкретный товар в аудите и объяснениях.
Дата строкиwrite_offs.items[].dateДата движения внутри товарной строки.Синхронизирует строку с датой документа.
Тип движения строкиwrite_offs.items[].Type = -Направление движения для исходного склада.Функция transfer записывает исходящее движение и склад назначения.
Продуктwrite_offs.items[].ProductID продукта или ингредиента.Это конкретная номенклатура, чей остаток перемещается.
Спецификацииwrite_offs.items[].specificationsОпциональные ID спецификаций или вариантов.Заполняется только для товаров с контролируемыми вариантами.
Grosswrite_offs.items[].GrossКоличество до потерь или корректировок.При чистом перемещении обычно равно Net.
Netwrite_offs.items[].NetКоличество, которое должно прийти на склад назначения.Именно это количество ожидают увидеть на принимающем складе.
Единицаproducts.unit_of_measurementЕдиница выбранного товара: kg, pcs, l и другие.Без единицы число невозможно правильно интерпретировать.
Order typewrite_offs.items[].typeordersОпциональный контекст заказа или списания.Заполняется только когда transfer связан с конкретным операционным сценарием.
Storage в строкеwrite_offs.items[].StorageID склада назначения внутри товарной строки.Связывает строку товара с принимающим складом.
Reason в строкеwrite_offs.items[].ReasionID причины на уровне строки.Сохраняет причину при отдельном анализе товарных строк.
Comment в строкеwrite_offs.items[].CommentСгенерированная или введенная заметка по строке.Поясняет направление или особую обработку товара.
Суммы и ценаwrite_offs.amount / items[].Price / items[].amountДля обычного transfer обычно равны 0.Перемещение двигает склад, а не создает закупку, продажу или оплату.
Созданоwrite_offs.created_atВремя записи строки.Полезно для диагностики и аудита.
Пользовательwrite_offs.userПользователь, который создал документ, если поле заполнено.Поддерживает ответственность и аудит.
Кэш TransferFFAppState().Writeoff filtered by type "="Локальный список перемещений в приложении.После backend-правок приложение должно перезагрузить write_offs.
Маркеры обновленияcompany.loadwriteoff / loadstorage / loadproductTimestamp-маркеры для перезагрузки перемещений, складов и товаров.После нативных изменений формы и списки должны увидеть актуальные данные.