Информирование сайта о нулевых остатках

Клиент столкнулся с проблемой — при выгрузке данных на Ali Express или Ozon нулевые остатки не выгружаются. При этом в этих системах «зависает» информация об остатках, потому что информация о том, что товар закончился, не поступает.

Я решил поделиться методикой решения проблемы в виде гуру-теста на Мисте, но там не стали искать решение. Поэтому рассказываю здесь.

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

Я добавил поле для ввода количества дней проверки движения товара, например 60 дней:

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

Код запроса выглядит так:

|   Справочник.Номенклатура КАК ТНоменклатура
|       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗапасыНаСкладах.Остатки(&КонецДня, СтруктурнаяЕдиница В (&Склады)) КАК ЗапасыНаСкладахОстатки
|       ПО (ЗапасыНаСкладахОстатки.Номенклатура = ТНоменклатура.Ссылка)
|       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗапасыНаСкладах.Обороты(&Дата1, &Дата2, , ) КАК ЗапасыНаСкладахОбороты
|       ПО (ЗапасыНаСкладахОбороты.Номенклатура = ТНоменклатура.Ссылка)


|ГДЕ
|   (ЕСТЬNULL(ЗапасыНаСкладахОстатки.КоличествоОстаток, 0) >= &МинОстаток
|           ИЛИ ЕСТЬNULL(ЗапасыНаСкладахОстатки.КоличествоОстаток, 0) <= 0
|               И ЕСТЬNULL(ЗапасыНаСкладахОбороты.КоличествоПриход, 0) + ЕСТЬNULL(ЗапасыНаСкладахОбороты.КоличествоРасход, 0) <> 0)

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

Кстати, тут есть некоторая ошибка. Если при выборе остатков используется отбор по складам, то при выборе оборотов нет. Но, в принципе, так не критично и дает некоторую повышенную надежность.

Код по определению периода оборотов:

Дата2 = КонецДня(ТекущаяДата());
З.УстановитьПараметр(«Дата2», Дата2);
З.УстановитьПараметр(«Дата1», Дата2 КоличествоДнейНулевыхОстатков * 24 * 3600);

Объем план: 1 час. Среда: 1.6.20.189.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 4

  1. Zuko:

    Скобочки условий криво расставлены. В итоге все равно попадают ненулевые остатки только

  2. Это какая конфигурация?

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *