База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как организовать списание по FIFO без складского учёта в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 9 минут назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
23 октября 2026 в 15:57 #38906
Тогда такой вопрос. Вот у меня те же условия — складского учёта нет, партия в регистре это ссылка на документ. В документе пришла ручка 1шт за 100 рублей и ручка 1шт за 150 рублей. В регистр получается запишется 2шт с суммой 250 рублей. А если у меня FIFO, то как мне организовать списание одной ручки? Она будет стоить 125 рублей (по средней) или 150 рублей (по цене закупки последней ручки)?
-
23 октября 2026 в 15:57 #38907
При описанной структуре регистра:
— склад не используется;
— партия = ссылка на документПриходнаяНакладная;
— в одном документе две строки:
— ручка, 1 шт., 100 рублей;
— ручка, 1 шт., 150 рублей;
— в регистр записывается одна партия:
— количество 2;
— стоимость 250 рублей.В таком случае при списании одной ручки ее стоимость будет 125 рублей, а не 150 рублей.
Расчет будет таким:
1С (Код)1250 / 2 = 125 рублей## Почему FIFO здесь не выберет цену 150 рублей
FIFO работает не с отдельными строками документа, а с партиями, которые есть в регистре.
У вас в регистре фактически имеется одна партия:
1С (Код)123Партия = ПриходнаяНакладнаяКоличество = 2Стоимость = 250Внутри этой партии программа уже не видит два независимых слоя:
1С (Код)121 шт. по 1001 шт. по 150Она видит только:
1С (Код)12 шт. общей стоимостью 250Поэтому цена единицы этой партии:
1С (Код)1250 / 2 = 125При списании одной единицы:
1С (Код)12Количество списания = 1Стоимость списания = 125Остаток партии:
1С (Код)12Количество = 1Стоимость = 125То есть FIFO в данном случае сначала выберет эту партию как самую раннюю, но стоимость внутри выбранной партии будет рассчитана как средняя:
1С (Код)1Стоимость партии / Количество партии## Важное уточнение
Даже если в регистр записать два движения с одной и той же партией:
1С (Код)12Партия = ПриходнаяНакладная, Количество = 1, Стоимость = 100Партия = ПриходнаяНакладная, Количество = 1, Стоимость = 150это не создаст две полноценные партии для FIFO. Для регистра накопления это все равно один и тот же набор ключей измерений:
1С (Код)1Номенклатура + ПартияОстаток по ним будет агрегирован:
1С (Код)12Количество = 2Стоимость = 250И при последующем запросе остатка цена опять получится 125 рублей.
## Когда при FIFO списание будет по 100 рублей
Если нужно, чтобы первая ручка списывалась по 100 рублей, а вторая по 150 рублей, эти две ручки должны быть разными партиями.
Например:
1С (Код)123Партия 1 = ПриходнаяНакладная, строка 1Количество = 1Стоимость = 1001С (Код)123Партия 2 = ПриходнаяНакладная, строка 2Количество = 1Стоимость = 150Тогда FIFO сможет определить:
1. сначала списать партию стоимостью 100 рублей;
2. затем списать партию стоимостью 150 рублей.Но для этого реквизит
Партияне может быть только ссылкой на документ. Нужна более детальная идентификация партии, например:— отдельный справочник партий;
— уникальный идентификатор строки документа;
— составной ключ «документ + номер строки»;
— отдельный регистр партий, где каждая строка прихода получает собственную партию.Концептуально партия должна выглядеть так:
1С (Код)1Партия = ПриходнаяНакладная + НомерСтроки## Что делать на экзамене
Если в задании сказано, что:
1С (Код)1партия определяется ссылкой на документто обычно предполагается, что весь документ является одной партией.
Следовательно, если в одном документе одна и та же номенклатура указана по разным ценам, то для этой партии стоимость будет средней:
1С (Код)1(100 + 150) / 2 = 125 рублейПри списании одной ручки в этом случае нужно списать:
1С (Код)11 шт. × 125 рублей = 125 рублейFIFO будет работать между разными документами, например:
| Документ | Количество | Цена |
|—|—:|—:|
| Приходная накладная №1 | 10 | 100 |
| Приходная накладная №2 | 10 | 150 |Если списывается 1 ручка, будет выбрана партия из документа №1, и стоимость составит 100 рублей.
Если списывается 15 ручек:
1С (Код)12310 × 100 = 10005 × 150 = 750Итого = 1750Но FIFO не сможет разделить две ценовые строки, если они принадлежат одной партии, то есть одной ссылке на документ.
## Для вашей ситуации ответ такой
При партии, равной ссылке на документ:
1С (Код)12Регистр:Ручка, партия = ПриходнаяНакладная, количество = 2, сумма = 250При списании одной ручки:
1С (Код)12Количество = 1Стоимость = 125 рублейСтоимость 150 рублей получится только в том случае, если строка с ценой 150 будет отдельной партией и алгоритм FIFO дойдет до нее. При обычной модели «партия = документ» это невозможно.
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.