Подняли собственный HTTP-сервис «AddAPI» для интеграций
Стартовая работа проекта — собственная внешняя обработка «AddAPI» с HTTP-сервисом. Через неё внешние приложения (мобильный клиент, сайт, кассовое ПО) обращаются к 1С по типовому HTTP-протоколу — создают документы начисления бонусных баллов, передают данные о заказах, получают информацию по клиенту и его картам лояльности.
Ключевая разработка старта — механизм формирования документа начисления бонусных баллов из внешних приложений. 10 часов одной задачей: спроектировали API-методы, реализовали HTTP-сервис, написали обработку формирования документов начисления. Позже функционал старой обработки «СайтAPI» перенесли в «AddAPI» — и сразу подмешали в неё передачу кодов маркировки на сайт (Orders.products.markcode). Дополнительно — при вызове сервисов «AddAPI» теперь передаётся параметр «ID узла», чтобы внешние системы могли понимать, с каким узлом обмена они работают.
Собрали обработки объединения дублей карт и клиентов
Под программу лояльности доработали две обработки. «Объединение карт клиентов» теперь умеет искать дубли по заданному виду карт лояльности: при выборе вида карты обработка ищет дубли по штрихкоду и по значению в указанном пользователем поле. Нашли — сложили в собственный регистр «(Розничная сеть с интернет-магазином) Найденные карты» — теперь у оператора есть прозрачный список того, что нужно объединить, и логика поиска не размазана по форме обработки.
«Объединение клиентов» доработали под более тонкий поиск: если в поле «Наименование содержит» что-то введено, обработка ищет дубли с дополнительным фильтром по фрагменту наименования. Это снимает типичную ситуацию, когда у клиента «ООО Ромашка» десяток вариантов написания — оператор теперь может находить дубли по части названия и аккуратно их объединять.
Построили систему ролей доступа с префиксом «(Розничная сеть с интернет-магазином)»
В рознице права в системе должны разграничиваться тонко: одно и то же действие для кладовщика должно быть запрещено, а для старшего менеджера разрешено. Под этот сценарий мы построили собственную систему кастомных ролей внутри расширения Розничная сеть с интернет-магазином — больше десятка ролей, каждая закрывает свой кусок логики.
Ключевые роли вокруг документа «Перемещение товаров»: «Ограничение на статус «Принято»» — значение «Принято» в полях «Статус» и «Состояние» доступно только у пользователя с этой ролью; «Редактирование документа в статусе «Принято»» — без этой роли и без полных прав документ в статусе «Принято» вообще не записывается; «Отображение информации о продажах на форме перемещения товаров» — с дополнительной настройкой «Применять ограничение для складов» в справочнике «Группы доступа».
Роли вокруг карточки номенклатуры: «Доступность просмотра кнопки информация по товару» — без неё у пользователя нет возможности редактирования карточки; «Видимость закладок «Цены», «Продажи», «Поступления»» — закладки в обработке «Информация по товару» появляются только при наличии роли. Обычный продавец видит карточку товара без чувствительной информации, старший менеджер — с полной картиной.
Подключили автоматическую отправку чеков в Telegram
Розница с самовывозом — это сценарий «клиент оплатил онлайн, чек хочет получить в мессенджер». Собрали под него отдельный механизм внутри расширения Розничная сеть с интернет-магазином. При записи документа «Чек ККМ» система проверяет два условия: узел документа равен «chat» и вариант доставки равен «Самовывоз». При выполнении обоих — чек попадает в собственный регистр «(Розничная сеть с интернет-магазином) Чеки для отправки в ТГ».
Регламентное задание «(Розничная сеть с интернет-магазином) Отправка данных по чекам» периодически забирает записи из этого регистра и отправляет данные в Telegram-чат. Клиент получает чек автоматически, без участия кассира. Дополнительно в документ «Чек ККМ» добавили поля «Время доставки С» и «Время доставки По» — на старте проекта, под планирование развоза и самовывозов.
Развили интеграции с Шедекс и RetailCRM
У клиента два внешних канала, через которые приходят заказы и клиентская аналитика: e-commerce платформа Шедекс и CRM-система RetailCRM. Каждая со своими правилами обмена. Развиваем оба контура параллельно.
По Шедекс — для отслеживания заказов и изменения статусов используется собственный регистр «(Розничная сеть с интернет-магазином) Заказы отправленные». Доработали запись документа «Чек ККМ» так, чтобы изменение статуса и отправка в Шедекс шли только по заказам из этого регистра, а не по всем подряд — это снимает лишние обращения к Шедексу и закрывает риск дублей.
По RetailCRM — основной артефакт расширение «RetailCRMИнтеграция». После одного из обновлений типовой конфигурации в 1С удалили несколько предопределённых элементов справочника «Наборы дополнительных реквизитов и сведений» — расширение перестало работать. Прошли по всем обращениям к этим элементам и поправили — теперь интеграция работает даже после удаления предопределённых значений.
Настроили выгрузку множественных свойств номенклатуры на сайт
У интернет-магазина свои правила, какие свойства номенклатуры выгружать и в каком виде. Установили расширение «Множественные свойства для УТ 11.5.11» — оно позволяет работать с набором свойств товара, а не только с типовыми характеристиками. Перенесли в него доработки XDTO-пакета и общего модуля «Обмен с сайтом» из старого расширения «ФФ» — собрали всю логику выгрузки в одном месте.
Под отдельный сайт MO│YO сделали особую доработку плана обмена. Если у номенклатуры заполнен дополнительный реквизит «Группа сайта MO│YO» — её характеристики выгружаются на сайт без учёта наличия изображения. Это позволяет публиковать товары MO│YO даже когда фотографии ещё не загружены, без ручных правок настроек обмена.
Закрыли точечные доработки и адаптацию после обновлений
Фоном за 14 месяцев прошёл блок мелких, но важных доработок. Доработали внешнюю обработку «Установка цен номенклатуры с характеристиками» — теперь в ней работают кнопки «Подбор», все пункты меню «Заполнить» и «Расчёт» аналогично обработке без характеристик, но с возможностью выбора характеристик. Разобрали проблему с правами управляющего, который перестал видеть данные по складам и ценам в форме списка номенклатуры — причиной оказалось не установленное значение параметра «ОтображатьЦеныОстатки» в регистре «Параметры конфигурации».
После каждого обновления типовой конфигурации проходим по расширению Розничная сеть с интернет-магазином и поправляем адаптации — все наши доработки живут в расширении и не блокируют обновления.