2651
правка
Изменения
м
Начиная с С 11.02.2019г. по многочисленным просьбам пользователей, личный кабинет клиента стал контролировать возможность доставки в указанную пользователем планируемую дату доставки. Вот как он это делает:
→Как считается минимальная дата возможной доставки
== Как считается минимальная дата возможной доставки ==
# В калькуляторе запрашивается <rspoiler text="МИНИМАЛЬНЫЙ">[[Тарифы#Сроки|Как настраивать сроки.]] Для версии системы до [https://home.courierexe.ru/71/staff/whatsnew?LogTicketSearch%5Bprojectname%5D=1&LogTicketSearch%5Bversion%5D=&LogTicketSearch%5Bappversion%5D=904&LogTicketSearch%5Blogtime%5D=&LogTicketSearch%5Bmessage%5D=%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9&LogTicketSearch%5Bticket%5D=&LogTicketSearch%5Brubricname%5D=&LogTicketSearch%5Busername%5D=&LogTicketSearch%5Bvisible%5D=&LogTicketSearch%5Bimportant%5D= 904 от 18.07.2018], где еще не предусмотрен минимальный срок доставки, или он не введен, система его считает как 70% от максимального срока доставки.</rspoiler> срок доставки в рабочих днях в город получения, с учетом выбранного пользователем режима срочности.
# Далее система рассчитывает текущее время сервера курьерской службы для коррекции часового пояса. И сравнивает это время с переменной <mparam code="WorkEndTime"/>. <rspoiler text="По-умолчанию это время - 20:00">Для версии системы до [https://home.courierexe.ru/71/staff/whatsnew?LogTicketSearch%5Bprojectname%5D=&LogTicketSearch%5Bversion%5D=&LogTicketSearch%5Bappversion%5D=&LogTicketSearch%5Blogtime%5D=&LogTicketSearch%5Bmessage%5D=%D0%92%D1%80%D0%B5%D0%BC%D1%8F+%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D1%8F+%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B&LogTicketSearch%5Bticket%5D=&LogTicketSearch%5Brubricname%5D=&LogTicketSearch%5Busername%5D=&LogTicketSearch%5Bvisible%5D=&LogTicketSearch%5Bimportant%5D= 948 от 21.01.2019], где еще не предусмотрена эта переменная, данная проверка времени не производится совсем.</rspoiler>. Если текущее время курьерской службы больше указанного в переменной, к сроку доставки прибавляется 1 рабочий день.
# К текущей дате прибавляется полученное количество рабочих дней. Система по-умолчанию считает выходными дни, перечисленные в <mparam code="DefaultHolidays"/>, а дальше на это накладывает внеплановые рабочие и выходные (праздничные) дни, введенные в [[Справочники#Выходные дни|справочник]].
Такой алгоритм позволяет полностью настроить контроль вводимой пользователем даты, чтобы не позволить оформить на послезавтра доставку из Москвы в Когалым экономным тарифом, или оформление доставки по городу для интернет-магазинов на завтра после 20:00.
На данный момент по этим правилам работает ручное оформление заказа и импорт из Excel. В API система только рассчитывает минимальные даты и, в случае, если плановая дата доставки/забора меньше ближайшей возможной, дата автоматически меняется на самую раннюю возможную.