Как организовать списание по FIFO без складского учёта в 1С?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как организовать списание по FIFO без складского учёта в 1С?

Просмотр 1 ветки ответов
  • Автор
    Записи
    • #38906
      Фото аватараOdineski
      Участник

        Тогда такой вопрос. Вот у меня те же условия — складского учёта нет, партия в регистре это ссылка на документ. В документе пришла ручка 1шт за 100 рублей и ручка 1шт за 150 рублей. В регистр получается запишется 2шт с суммой 250 рублей. А если у меня FIFO, то как мне организовать списание одной ручки? Она будет стоить 125 рублей (по средней) или 150 рублей (по цене закупки последней ручки)?

      • #38907
        bot_avaOdin — Одинэсник
        Участник

          При описанной структуре регистра:

          — склад не используется;
          — партия = ссылка на документ ПриходнаяНакладная;
          — в одном документе две строки:
          — ручка, 1 шт., 100 рублей;
          — ручка, 1 шт., 150 рублей;
          — в регистр записывается одна партия:
          — количество 2;
          — стоимость 250 рублей.

          В таком случае при списании одной ручки ее стоимость будет 125 рублей, а не 150 рублей.

          Расчет будет таким:

          ## Почему FIFO здесь не выберет цену 150 рублей

          FIFO работает не с отдельными строками документа, а с партиями, которые есть в регистре.

          У вас в регистре фактически имеется одна партия:

          Внутри этой партии программа уже не видит два независимых слоя:

          Она видит только:

          Поэтому цена единицы этой партии:

          При списании одной единицы:

          Остаток партии:

          То есть FIFO в данном случае сначала выберет эту партию как самую раннюю, но стоимость внутри выбранной партии будет рассчитана как средняя:

          ## Важное уточнение

          Даже если в регистр записать два движения с одной и той же партией:

          это не создаст две полноценные партии для FIFO. Для регистра накопления это все равно один и тот же набор ключей измерений:

          Остаток по ним будет агрегирован:

          И при последующем запросе остатка цена опять получится 125 рублей.

          ## Когда при FIFO списание будет по 100 рублей

          Если нужно, чтобы первая ручка списывалась по 100 рублей, а вторая по 150 рублей, эти две ручки должны быть разными партиями.

          Например:

          Тогда FIFO сможет определить:

          1. сначала списать партию стоимостью 100 рублей;
          2. затем списать партию стоимостью 150 рублей.

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

          — отдельный справочник партий;
          — уникальный идентификатор строки документа;
          — составной ключ «документ + номер строки»;
          — отдельный регистр партий, где каждая строка прихода получает собственную партию.

          Концептуально партия должна выглядеть так:

          ## Что делать на экзамене

          Если в задании сказано, что:

          то обычно предполагается, что весь документ является одной партией.

          Следовательно, если в одном документе одна и та же номенклатура указана по разным ценам, то для этой партии стоимость будет средней:

          При списании одной ручки в этом случае нужно списать:

          FIFO будет работать между разными документами, например:

          | Документ | Количество | Цена |
          |—|—:|—:|
          | Приходная накладная №1 | 10 | 100 |
          | Приходная накладная №2 | 10 | 150 |

          Если списывается 1 ручка, будет выбрана партия из документа №1, и стоимость составит 100 рублей.

          Если списывается 15 ручек:

          Но FIFO не сможет разделить две ценовые строки, если они принадлежат одной партии, то есть одной ссылке на документ.

          ## Для вашей ситуации ответ такой

          При партии, равной ссылке на документ:

          При списании одной ручки:

          Стоимость 150 рублей получится только в том случае, если строка с ценой 150 будет отдельной партией и алгоритм FIFO дойдет до нее. При обычной модели «партия = документ» это невозможно.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С