1b.app
Скопирована ссылка -

Оцените доработки

Часто бывает у одного продукта более 20-ти поставщиков, которые отличаюся не только Ценой но и Сроком поставки.
С отбором по Цене хорошо справляется алгоритм "Пересчет цен и наличия" где с помощью тонких настроек мы отбираем Активного поставщика.
Но порой главным критерием отбора является не Цена, а Срок поставки и вот здесь начинается ручной поиск Альтернативного поставщика с наилучшим показателем Срок.
Имея Активного и Альтернативного поставщиков продукта, их можно подать у виде Фильтров, Наценок, экспортировать в OpenCart как Опции..

Для этого необходимы доработки:

1. Алгоритм отбора "Альтернативный поставщик" можно реализовать отдельным действием с настройками - Условия запуска действия.png (Автоматизация для продуктов > При сохранении в карточке проодукта) или доработать действие "Посчитать значение по формуле и записать в указанное поле" (Автоматизация для продуктов > При сохранении в карточке проодукта), там уже есть все условия отбора продуктов для алгоритма.
Принцип:
1.1*) Ищем самую низкую Цену среди поставщиков и складов продукта, которая меньше цены Активного поставщика:
- если находим, то фиксируем ID этого поставщика или "Код склада" (если это склад) в доп. поле продукта, останавливаем алгоритм для текущего продукта;
- если не находит, то переходим к п.1.2;

1.2) Ищем Срок среди поставщиков и складов*, который меньше срока Активного поставщика:
- Если Срок Активного поставщика = 0, то фиксируем значение 0 в доп. поле продукта, останавливаем алгоритм для текущего продукта;
- если находим несколько подходящих вариантов, то выбираем тот который с наименьшей ценой и фиксируем ID этого поставщика или "Код склада" в доп. поле продукта, останавливаем алгоритм для текущего продукта;

2. Добавить в действие "Занести значение дополнительного поля в фильтр" (Автоматизация для продуктов > При сохранении в карточке проодукта) настройку:

2.1 "Удалить выбранные фильтра перед заполнением" - настройка удаляет у продукта выбранный фильтр (Удалить выбранные фильтра.png).
Данная настройка будет поддерживать фильтра с поставщиками в актуальном состоянии, удаляя старые фильтра перед вставкой новых.

2.2. Автоматически заполнить ID поставщиков в значениях фильтров продукта проблемы не составляет, необходимо действие которое Скопирует цену этого ID поставщика в Наценку с выбранным префиксом цены "равно" (Копировать цены поставщиков в наценки.png).
- желательно что бы цена копировалась в Наценку с учетом округление цен.

*Срок Склада = 0.
*Пункт №1.1 обязателен, так как Актиивный поставщик при пересчете может определяется разными методами в зависимости от "Приоритет выбора цены".
*Основным Тригером для перечисленных в ТЗ действий, является Сохранении в карточке проодукта (Автоматизация для продуктов)

Ответы:

Упростил ТЗ, необходимо только действие отбора Альтернативного поставщика.

1. Алгоритм отбора "Альтернативный поставщик" можно реализовать отдельным действием с настройками - Условия запуска действия.png (Автоматизация для продуктов > При сохранении в карточке проодукта) или доработать действие "Посчитать значение по формуле и записать в указанное поле" (Автоматизация для продуктов > При сохранении в карточке проодукта), там уже есть все условия отбора продуктов для алгоритма.
Принцип:
1.1) Ищем самую низкую Цену продажи среди поставщиков и складов продукта, которая меньше цены Активного поставщика:
- если находим, то фиксируем ID этого поставщика или "Код склада" (если это склад) в доп. поле продукта, останавливаем алгоритм для текущего продукта;
- если не находит, то переходим к п.1.2;

1.2) Ищем Время доставки среди поставщиков и складов*, который меньше Времени доставки Активного поставщика:
- Если Время доставки Активного поставщика = 0, то останавливаем алгоритм для текущего продукта, а в доп. поле продукта фиксируем значение "0";
- если находим несколько вариантов с однаковым Временем доставки и меньшим чем у Активного поставщика, то выбираем тот который с наименьшей ценой и фиксируем ID этого поставщика или "Код склада" в доп. поле продукта, останавливаем алгоритм для текущего продукта;
09.02.2024, 15:14

Пожалуйста, присоединяйтесь к диалогу. Если вам есть что сказать - пожалуйста, напишите комментарий. Для входа потребуется мобильный телефон и смс-код для идентификации. Войти и написать комментарий