Предложение по оптимизации процедуры пересчета цен.
Обсуждаем - создает ТЗ.
Отказаться от регулярного пересчета всех цен.
Проводить пересчет только для следующих позиций:
- на складе
- в заказе
- в транзите
- пользователи запрашивали позицию на сайте или менеджеры в 1С хотя бы один раз за последние 90 дней. Список актуализируется один раз в неделю. Новые позиции добавляются по мере необходимости.
Поведение системы в 1С
При обращении к номенклатурной позиции для которой не был произведен ежедневный пересчет цены, пользователь не видит цену, есть кнопка - "расчитать цену", при нажатии на которую происходят следующие события:
- расчет цены
- добавляется флаг - ежедневный расчет
- выгружает цену на сайт
Один раз в неделю проводится проверка и удаление из списка ежедневного расчета позиций, которых:
- нет на складе
- нет в заказе
- нет в транзите
- за последние 90 дней не было ни одного пользовательского запроса на сайте и в 1С
Поведение на сайте
Статусы номенклатурных позиций (пояснение далее):
- ежедневное обновление
- запрос цены
- узнать
Если для номенклатурной позиции нет цены, то на месте цены отображается отображается кнопка “Узнать”.
Нажатие кнопки “Узнать”:
- статус цены изменяется на “запрос цены” (это статус нужен, так как выполнение запроса может занять продолжительное время, а также может быть не обработан 1С
- кнопка “Узнать” заменяется на спиннинг вил spinning wheel
- пока не получен ответ от 1С для всех пользователей отображается spinning wheel
- процесс запроса цены в 1С асинхронен с поведение пользователей на сайте
- все запросы на расчет цены ставятся в очередь и обрабатываются по FIFO
- процессы запроса цены и получения ответа от 1С асинхронны - то есть 1С может не ответить на какой-либо запрос, но это не остановить процесс расчета цен
- в случае получения ответа с ценой, статус цены меняется на “ежедневное обновление” и любой пользователь видит цену
- в случае отсутствия ответ от 1С до полуночи текущего дня, статус меняется на “узнать” и пользователь снова видит кнопку “Узнать"
- целевой показатель скорости обновления цены 1 сек - от момента нажатия на кнопку “Узнать” до обновления цена для пользователя на сайте
- целевой показатель размера очереди на обновление 100 позиций
Елена Пыжова on May 6, 2015:
Хочу уточнить: запчасти, что есть на складе пересчитываются - сюда включаются гарантийный склад и брак или только по платному?
Comments
Denis Slabakov on April 16, 2015:
Обсуждаем - создает ТЗ.
Елена Пыжова on May 6, 2015:
Александр Никитин on May 12, 2015:
привет!
Гарантию и брак включать в пересчет не нужно.