SSABSUSAcademy
Склад

Списания товаров

Создавайте контролируемые списания поврежденного, просроченного, потерянного или непригодного товара: дата, склад, причина, комментарий, товарная строка, Gross, Net, Add, Save и проверка списка.

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

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

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

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

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

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

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

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

Список Write-offs

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

Зачем: Дубли списаний уменьшают остаток повторно и ломают отчеты по потерям.

Add

Как заполнять: Нажмите Add в правом верхнем углу.

Зачем: Кнопка открывает форму нового документа списания и создает ID документа.

Дата списания

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

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

From warehouse

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

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

Reason

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

Зачем: Причина делает потерю объяснимой для менеджера, отчетов и будущих AI-агентов.

Comment

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

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

Select product

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

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

Gross

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

Зачем: Gross показывает общий объем, связанный с потерей.

Net

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

Зачем: При порче, усушке или обрезке Net может отличаться от Gross.

Add line

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

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

Save

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

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

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

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

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

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

  • Сохранять списание без добавленных товарных строк.
  • Выбирать неверный склад и уменьшать остаток в неправильной локации.
  • Использовать слишком общую причину, которая не объясняет потерю.
  • Оставлять комментарий пустым или не связанным с реальным событием.
  • Выбирать похожий товар без поиска и проверки точной строки.
  • Вводить количество в другой единице, чем указано у товара.
  • Путать Gross и Net при порче, усушке, обрезке или частичном восстановлении.
  • Считать списание поставкой, transfer, продажей или финансовой оплатой.
  • Править write_offs напрямую в Supabase и не обновлять loadwriteoff, loadstorage и loadproduct.
  • Использовать type '=' для списания: '=' относится к transfer, для списаний нужен type '-'.
Техническая таблица для AI-агентов

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

ПолеХранится какНазначениеПочему важно
ID списанияwrite_offs.id / WriteOffStruct.IDУникальный ID документа списания.Нужен для истории склада, поддержки, отчетов, аудита, импортов и AI-агентов.
Тип документаwrite_offs.type = "-"Маркер документа, который уменьшает остаток.Списания и transfer используют таблицу write_offs, поэтому тип '-' отделяет потерю от перемещения.
Компанияwrite_offs.companyКомпания, которой принадлежит списание.Не дает складским документам смешиваться между компаниями.
Дата списанияwrite_offs.date / WriteOffStruct.DateДата и время события списания.Используется в истории склада, отчетах по потерям, сменной сверке и аудите.
From warehousewrite_offs.storage / WriteOffStruct.StorageID склада, где уменьшается остаток.Это склад, из которого товар списывается.
Reasonwrite_offs.reasons / WriteOffStruct.ReasonsОбъект причины из справочника write_off_reasons.Объясняет, почему товар убрали из полезного остатка.
Commentwrite_offs.comment / WriteOffStruct.CommentКороткая операционная заметка.Поясняет порчу, просрочку, бой, корректировку или другой реальный контекст.
Itemswrite_offs.items[] / WriteOffStruct.Items[]Список товаров или ингредиентов, которые списываются.Без строк товаров документ не может корректно изменить склад.
ID строкиwrite_offs.items[].IDУникальный ID товарной строки.Позволяет ссылаться на конкретное движение товара в аудите, поддержке и AI-объяснениях.
Дата строкиwrite_offs.items[].dateДата движения на уровне строки.Синхронизирует строку товара с датой документа.
Тип движения строкиwrite_offs.items[].Type = -Направление складского движения.Минус означает уменьшение остатка.
Productwrite_offs.items[].ProductID товара, ингредиента, упаковки, полуфабриката, модификатора или техкарты.Это конкретная номенклатура, чей остаток уменьшается.
Specification / variantwrite_offs.items[].specificationsОпциональные ID спецификаций или вариантов.Заполняется только для товаров с контролируемыми вариантами.
Grosswrite_offs.items[].GrossФизическое количество до потерь или корректировок.Показывает, сколько товара проверили или сняли со склада.
Netwrite_offs.items[].NetКоличество, которое считается фактической потерей полезного остатка.Для порчи или обрезки Net может быть меньше Gross.
Единицаproducts.unit_of_measurementЕдиница выбранного товара: kg, pcs, l, oz, pack и т.п.Количество без единицы невозможно правильно интерпретировать.
Storage в строкеwrite_offs.items[].StorageID склада, записанный на товарной строке.Связывает строку с локацией, где изменился остаток.
Reason в строкеwrite_offs.items[].ReasionID причины на уровне строки.Сохраняет причину при отдельном анализе товарных строк.
Comment в строкеwrite_offs.items[].CommentЗаметка по конкретной строке.Полезна, если в одном документе несколько товаров с разными деталями потери.
Pricewrite_offs.items[].PriceЦена единицы, если она используется.Может применяться для оценки стоимости потерь.
Line amountwrite_offs.items[].amountСтоимость строки, если рассчитывается.Помогает будущим отчетам по стоимости списаний.
Document amountwrite_offs.amountОбщая сумма списания, если рассчитывается.Может использоваться для финансового анализа потерь.
Created atwrite_offs.created_atВремя создания записи.Нужно для диагностики, аудита и поддержки.
Userwrite_offs.userПользователь, создавший документ, если поле заполнено.Поддерживает ответственность и аудит.
Кэш приложенияFFAppState().WriteoffКлиентский список документов списания.После backend-правок приложение должно перезагрузить write_offs.
Маркеры обновленияcompany.loadwriteoff / loadstorage / loadproductTimestamp-маркеры для обновления списаний, складов и товаров.Нужны, чтобы формы и списки увидели актуальные данные.