Справочный материал

Данные и контрольные случаи отгрузки

Все числа вымышлены. Перед каждым случаем восстанови указанный набор, если явно не описана последовательность. Ожидаемые результаты рассчитаны по [условиям](/ru/courses/advanced-ai-for-1c/resources/01-substitute-shipment/rules/). С ними нужно сравнить результат работы в 1С.

Время
Справочный материал
Артефакт
Дополнительный материал к заданиям курса
Контрольная точка
Материал прочитан в контексте соответствующего задания

Все числа вымышлены. Перед каждым случаем восстанови указанный набор, если явно не описана последовательность. Ожидаемые результаты рассчитаны по условиям. С ними нужно сравнить результат работы в 1С.

Базовый набор A0

Товар Артикул Склад S: количество Стоимость единицы при поступлении Общая стоимость
A 010 2 100 200
B 020 1 120 120
C 030 4 80 320
D 040 3 50 150

Итого на S: 10 штук стоимостью 790. На отдельном складе S2 есть A: 10 штук, стоимость 1 000. Никаких других движений нет. Приходы датированы 01.10.2026 09:00, расходы — позднее; разные документы в последовательных примерах имеют разные моменты.

Связи: A—B, B—C. Прямой связи A—C нет, но она следует из транзитивности. D изолирован. Цена продажи любой строки в этих случаях — 200 за штуку. Эти значения не требуют одинаковой закупочной стоимости аналогов.

Первый раунд

ID Документ на S Ожидаемый результат
A01 A × 2 Расход A2, стоимость 200, выручка 400; остаток A0/B1/C4/D3, стоимость S = 590
A02 A × 4 Расход A2 + B1 + C1, стоимость 400, выручка 800; остаток A0/B0/C3/D3, стоимость S = 390
A03 Строка 1: A × 4; строка 2: B × 2 Строка 1: A2 + C2, стоимость 360; строка 2: B1 + C1, стоимость 200. Общий расход 560, выручка 1 200; остаток C1/D3 стоимостью 230
A04 A × 8 Отказ: доступно 7 из группы, не хватает 1; весь A0 сохраняется, S = 790
A05 A × 4; D × 4 Отказ по D: не хватает 1. Даже допустимая часть A не списана; S = 790
A06 Строка 1: A × 3; строка 2: A × 3 Строка 1: A2 + B1, стоимость 320; строка 2: C3, стоимость 240; итог 560; остаток C1/D3 стоимостью 230
A07 На S: A × 8 при наличии A10 на S2 Тот же отказ, что A04; остатки S2 не участвуют и не изменяются
A08 D × 2 Расход только D2 стоимостью 100; остаток S = 690
A09 A × 0 или A × −1 Каждый вариант отдельно отклоняется; ни остатки, ни принятые факты не меняются
A10 К связям A0 добавить C—A, затем A × 4 Результат A02, завершение без зацикливания и повторного расходования позиции

Разбери A03 вручную

Шаг Выделено Осталось доступно A/B/C
Начало — 2 / 1 / 4
Своя позиция строки A A2 0 / 1 / 4
Своя позиция строки B B1 0 / 0 / 4
Дефицит строки A C2 0 / 0 / 2
Дефицит строки B C1 0 / 0 / 1

Проверка только общего расхода не отличит этот результат от неверного распределения B в первую строку. Нужна сверка факта по строкам.

Повторное проведение и отказ изменения

ID Последовательность от A0 Ожидание
A11 Провести A02 и повторно провести тот же документ, других движений нет Всё ещё один расход 400; S = 390, никаких удвоений
A12 Провести A02, попробовать изменить количество на 8 и провести Отказ; сохраняются принятые движения A02, S = 390. Несохранённое изменение формы не считается новым фактом
A13 Провести A02, отменить его проведение, других движений нет Восстановлен A0: S = 790, S2 = 1 000
A14 Провести A02, позже продать C × 1, затем отменить A02 Поздняя продажа списала C1 за 80, S = 310. Отмена A02 отклонена из-за зависимого движения; S остаётся 310

Средняя стоимость и округление

  • A15 — отдельный набор. На S поступило A2 за 200 и затем A2 за 400, аналогов нет. Расход A3: стоимость 450, остаток A1 стоимостью 150. Это проверяет среднюю по двум поступлениям, а не последнюю закупочную цену.
  • A16 — отдельный набор. Остаток A3 общей стоимостью 100. Документ с двумя строками A1 и A1 списывает в сумме 66,67; стоимость строк 33,34 и 33,33 при распределении общей суммы по правилу курса. Остаток A1 — 33,33. Следующая продажа последней единицы списывает все 33,33, остаток 0/0. Документ с одной строкой A2 должен давать те же 66,67 и 33,33 остатка.
  • A17 — отдельный набор. Остаток A4 общей стоимостью 0,02. Четыре строки A1 списывают все 0,02; доли стоимости по строкам 0,01 / 0,01 / 0 / 0. Отрицательных долей нет, остаток A0/0. При одной строке A4 общая стоимость такая же.
  • A18. В A0 количество A1,5 отклоняется как нецелое. Отдельно попытка создать ещё один товар с артикулом 010 отклоняется до появления неоднозначного порядка подбора.

Второй раунд

Для B01 провести A03. Отчёт должен содержать:

Строка заказа Заказано Фактически Количество Выручка Себестоимость
1 A A 2 400 200
1 A C 2 400 160
2 B B 1 200 120
2 B C 1 200 80
Итого — — 6 1 200 560

Фильтр «только замены» оставляет две строки C: 3 штуки, выручка 600, себестоимость 240. Без фильтра товар C нельзя потерять или дважды посчитать из-за связи с двумя исходными строками.

  • B02. После B01 удалить связь B—C. Отчёт проведённого документа остаётся прежним, остатки не меняются. Новый документ A1 не проходит: A и B закончились, C теперь не аналог.
  • B03. В состоянии B02 явно перепровести исходный документ без поздних движений. Он больше не обеспечивается текущей группой A/B; отказ сохраняет старые движения и старую расшифровку B01. S остаётся 230.
  • B04. В отдельном восстановленном A0 выполнить A06. Отчёт содержит разные исходные строки для A2+B1 и C3; итог — 6 штук, выручка 1 200, стоимость 560. Группировка по заказанному товару не должна терять эту связь.
  • B05. Открыть документ, проведённый первым раундом без хранения связи строк. Если её действительно нет в старом результате, показать «Детальная расшифровка не сохранена». Не запускать повторный подбор, не менять движения и не изображать отсутствие отгрузки нулевыми строками.

Для каждого выполненного случая сохрани исходное состояние, версию кода, результат проведения, движения и конечные остатки. Невыполненные проверки отметь отдельно.