Как найти товары без движения

Доброго дня, подскажите пожалуйста как мне получить список номенклатурных позиций, по которым не было движения больше года. Думал взять справочник “номенклатура” и регистр накопления “Партии товаров на складах”, связать их по номенклатуре, но как задать условие “Без движения за последний год” пока не додумался. Может кто подскажет?

ГДЕ Движения.Номенклатура ЕСТЬ NULL

Что за реквизит такой? Можно подробней пожалуйста.

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

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

В партиях нет номенклатуры? Врешь.

в самом регистре есть, это будет выглядеть ПартииТоваровНаСкладах.Номенклатура ЕСТЬ NULL.

можно выбрать с движением и не показывать это = останется все без движения

Отбери номенклатуру по которой было движение в нужном регистре за нужный период и потом выбери всю номенклатуру из справочника номенклатура которая не вошла в отбор из регистра

+ типа выбрать все чего нет в (выбрать все с движением)

ВЫБРАТЬ     И ЧтоЭтоЗаДерьмо.Номенклатура ЕСТЬ NULL УПОРЯДОЧИТЬ ПО     Ссылка АВТОУПОРЯДОЧИВАНИЕ

Так мы увидим лишь ту номенклатуру по которой совсем не было движения. А нужно за год

1 минута в консоли запросов…

Спасибо, так  я уже сделал, нужно за год.

так поставь период то… не?

ВЫБРАТЬ     Номенклатура.Ссылка ИЗ ГДЕ     НЕ Номенклатура.Ссылка В                     ПартииТоваровНаСкладахОбороты.Номенклатура КАК Номенклатура     И НЕ Номенклатура.ЭтоГруппа

Поставь период в обороты, будет за год.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Товары без движения

Я
   nulback

11.09.18 – 09:30

Добрый день, уважаемые форумчане.

Помогите решить проблему следующего характера.

Суть необходимо получить все товары по которым не было движений за период, а также те товары которых есть в справочнике номенклатуры, но  на складах их количество равно 0.

написал 2 запроса, через обьединить.

В первом запросе выбрал остаткииобороты по товарам на складах с условием что количество конечный остаток больше нуля, и вторым условием что количество приход и количество расход =0.

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

Вроде все правильно работало, но появилась такая ситуация.

На склад был приход товаров и возврат, в итоге количество конечный остаток стало равно 0 и выполнился запрос 2 когда количество остаток равно 0 и соединяется с номенклатурой.

Подскажите как правильно написать данный запрос, чтобы исключить такие ситуации, т.к. если в вирт таблице конечный остаток за период 0, он не показывает, что были приходы и расходы.

   МимохожийОднако

1 – 11.09.18 – 09:32

Снимай..ой.

Показывай запросы

   nulback

2 – 11.09.18 – 09:43

(1)

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Родитель КАК ГруппаТовара,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Артикул КАК Артикул,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Товар,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
    СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования,
    СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток) КАК СтоимостьОстаток
ПОМЕСТИТЬ ВТТоварыБезДвижений
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(
            {(&НачалоПериода)},
            {(&КонецПериода)},
            ,
            ,
            Номенклатура В ИЕРАРХИИ (&СписокГруппТоваров)
                И Склад В ИЕРАРХИИ (&СписокСкладов) {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК ПартииТоваровНаСкладахОстаткиИОбороты
ГДЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток > 0
    И ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход = 0
{ГДЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*}

СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Родитель,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Артикул,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков,
    ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)),
    СпрНоменклатура.Родитель,
    СпрНоменклатура.Артикул,
    СпрНоменклатура.Ссылка,
    СпрНоменклатура.ЕдиницаХраненияОстатков,
    СУММА(ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0)),
    NULL,
    СУММА(0)
ИЗ
    Справочник.Номенклатура КАК СпрНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
                &НачалоПериода,
                &КонецПериода,
                ,
                ,
                Номенклатура В ИЕРАРХИИ (&СписокГруппТоваров)
                    И Склад В ИЕРАРХИИ (&СписокСкладов) {(Номенклатура).* КАК Номенклатура}) КАК ТоварыНаСкладахОстаткиИОбороты
        ПО СпрНоменклатура.Ссылка = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
ГДЕ
    НЕ СпрНоменклатура.ЭтоГруппа
    И НЕ СпрНоменклатура.ПометкаУдаления
    И СпрНоменклатура.Ссылка В ИЕРАРХИИ(&СписокГруппТоваров)
    И ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0) = 0
    И (ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход, 0) = 0 И  ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, 0) = 0)

СГРУППИРОВАТЬ ПО
    СпрНоменклатура.Ссылка,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    СпрНоменклатура.Родитель,
    СпрНоменклатура.Артикул,
    СпрНоменклатура.ЕдиницаХраненияОстатков
;

   МимохожийОднако

3 – 11.09.18 – 09:48

Зачем ОБЪЕДИНИТЬ ВСЕ

   МимохожийОднако

4 – 11.09.18 – 09:48

*?

   nulback

5 – 11.09.18 – 09:50

(3) нужно вытащить ту номенклатуру которой нет на остатках, а есть в справочнике номенклатуры.

   bolobol

6 – 11.09.18 – 09:51

(Нет движений за период ИЛИ остаток=0) И Номенклатура = Номенклатура ЛЕВОЕ ОстаткиИОбороты ГДЕ ОстаткиИОбороты ЕСТЬ NULL ИЛИ Оборот = 0 ИЛИ Остаток = 0

   Гипервизор

7 – 11.09.18 – 09:54

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

ГДЕ

    (ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоПриход = 0

                И ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоРасход = 0

            ИЛИ ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоКонечныйОстаток = 0)

   bolobol

8 – 11.09.18 – 09:55

(7) есть нал забыл

   МимохожийОднако

9 – 11.09.18 – 09:57

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

   nulback

10 – 11.09.18 – 10:02

(6) не понял

в первом случае надо выбрать все товары которые на складах и по которым не было движений

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

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

   МимохожийОднако

11 – 11.09.18 – 10:05

(10) Пляши от противного. Как в (9)

   vvspb

12 – 11.09.18 – 10:07

(9) я это делала без программирования

   bolobol

13 – 11.09.18 – 10:34

(10) Это два разных отчёта, что ли?

Отчёт1: есть остаток, нет движений

Отчёт2: Товары без остатка И без движений

Так, что ли?

   bolobol

14 – 11.09.18 – 10:35

(12) Мой начальник каждый день так делает

   nulback

15 – 11.09.18 – 10:36

(13) да считай что 2, только в 1-м.

   bolobol

16 – 11.09.18 – 11:12

Параметром каким-то должно регулироваться, какой именно отчёт будет выполняться?

   bolobol

17 – 11.09.18 – 11:14

(Нет движений за период И остаток) ОстаткиИОбороты ГДЕ Оборот = 0 И Запрос1

Объединить

Номенклатура И (Нет движений за период И Нет остатков) = Номенклатура ЛЕВОЕ ОстаткиИОбороты ГДЕ ОстаткиИОбороты ЕСТЬ NULL И Запрос2

   nulback

18 – 11.09.18 – 13:45

(17) спс, но чего то не въеду.

   vvspb

19 – 11.09.18 – 13:47

(14) я раз в м-ц делала

  

nulback

20 – 11.09.18 – 13:52

вся фишка в том, что когда возврат он приходом на -количество идет, в итоге в вирт таблице регистра, если не брать периодичность, то данных нет вообще

21.11.2019

    1.PNG

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

Показывает товары без движения по регистру “Товары организации” и остаток на текущую дату.

Данные выводятся:

  • на текущую дату;
  • с отбором по группе номенклатуры;
  • с группировкой по складам.

Отчет протестирован и работает на релизе конфигурации Управление торговлей 11.4.10.57.
Для работы отчета, необходимо сохранить и открыть в пункте меню 1С “Файл — Открыть”.

Для подключения отчета, необходимо добавить в раздел “НСИ и Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки”.

Добавить комментарий