Справочный материал
Данные и контрольные случаи отгрузки
Все числа вымышлены. Перед каждым случаем восстанови указанный набор, если явно не описана последовательность. Ожидаемые результаты рассчитаны по [условиям](/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. Открыть документ, проведённый первым раундом без хранения связи строк. Если её действительно нет в старом результате, показать «Детальная расшифровка не сохранена». Не запускать повторный подбор, не менять движения и не изображать отсутствие отгрузки нулевыми строками.
Для каждого выполненного случая сохрани исходное состояние, версию кода, результат проведения, движения и конечные остатки. Невыполненные проверки отметь отдельно.