Условия применения
Для подключения расширения необходимо иметь платформу не ниже 8.3.11 и режим совместимости конфигурации также не ниже 8.3.11, т.к. используется механизм расширения данных. В остальных случаях добавленные в расширении реквизиты и табличные части можно перенести в основную конфигурацию. В конфигурации должна быть включена подсистема Управление доставкой.
Работа с зонами доставки
Для успешной работы механизма необходимо задать координаты всех используемых зон доставки. Это можно сделать с помощью специального редактора, который открывается при нажатии на кнопку Выбрать на карте в форме элемента справочника Зоны доставки. Также координаты можно задать вручную (или просмотреть, удалить) нажав на ссылку внизу формы. Но удобнее всего сделать это интерактивно.
Полигон задается последовательным нанесением точек на карте, которые при соединении образуют замкнутый многоугольник. После задания всех точек необходимо нажать кнопку Построить зону. Если необходимо заново нарисовать полигон, то сначала необходимо удалить текущий нажав кнопку Удалить зону.
Если нужно нанести полигон соответствующий району города, можно воспользоваться кнопкой Добавить район. При этом нужно корректно ввести наименование города и района через запятую. Если сервис вернет координаты, то район будет нанесен на карту, в противном случае будет получено соответствующее сообщение.
Для оптимизации поиска нужной зоны и удобства их редактирования на карте для каждой зоны необходимо указать регион - строковое наименование области или города, в пределах которого строятся полигоны, например "Владимирская область", "Москва", "Санкт-Петербург". При нанесении новой зоны существующие будут также отображены бирюзовым цветом, соответственно пересечение разных полигонов недопустимо.
Для просмотра зон доставки на карте необходимо выделить нужные элементы в форме списка и нажать кнопку Открыть на карте. Полигоны будут нанесены на карту разными цветами, а при наведении курсора на полигон во всплывающей подсказке будет видно наименование зоны доставки.
Использование в документах
Определение зоны доставки возможно встроить во все документы, в которых используется функционал доставки. В текущем примере это реализовано для документа Заказ клиента. На закладке Доставка вводится адрес доставки (произвольно или через классификатор), после чего автоматически определяются координаты адреса и подбирается зона доставки. Если координаты адреса непосредственно не входят ни в одну зону, то подбирается ближайшая по расстоянию.
Рекомендации и ограничения
- Зоны доставки, как правило, наносятся исходя из соображений транспортной логистики, и не имеют четкой связи с административными единицами региона. В противном же случае стоит задуматься над использованием других сервисов, которые смогут вернуть нужные данные.
- Все существующие зоны доставки в одном регионе должны быть нанесены таким образом, чтобы было максимально полное покрытие без больших "дыр", иначе определение может быть не совсем корректным, т.к. в случае неудачного поиска зоны будет выбрана ближайшая по расстоянию. Если такое поведение не устраивает, то можно удалить соответствующий вызов функции.
- Не стоит рисовать очень подробные полигоны с множеством количества точек, чем больше зон и чем они сложнее, тем больше это может сказаться на скорости обработки. Но тут все индивидуально и нужно экспериментировать.
- Возможна оптимизация работы механизма. Например, можно запоминать координаты и зону по адресам (с точностью до номеров домов), и затем по накопленным данным уже подставлять готовые данные, не обращаясь к сервисам и расчетам.
- При вводе адресов лучше использовать адресный классификатор, в противном случае корректность определения зоны доставки напрямую зависит от корректности написания адреса пользователем. Если адрес задается вручную, то обязательно должны присутствовать наименования региона, города, улицы с разделением через запятую. Не допускается указание только улицы или населенного пункта, т.к. в этом случае геокодер может вернуть данные совсем другого региона.
- Следует помнить об ограничениях использования сервисов Яндекс (https://tech.yandex.ru/maps/), в частности число запросов геокодеру в сутки не должно превышать 25 тысяч.