Задача срочная, до 5 дней
Доработка существующей формы заявки/калькулятора (новые поля, новый механизм отправки заявки).
Фронт js/alpine.js, бэк laravel/php
Добавление взаимодействия с 1С (предоставляет REST API, которое принимает и возвращает данные в JSON)
- получение списка терминалов и графиков работы
- поиск контрагента в базе и создание при их отсутствии (юридических и физических лиц)
- создание заявки
Новая верстка с дополненными полями. Валидация полей и т.п. сделано
1. Доработка поля «Города» в блоках «Откуда» и «Куда»
Подключаем подсказки со справочником городов Яндекс.
Запросом в 1с передаем кладр города. Получаем в ответ один из вариантов:
1) Получаем список терминалов. В этом случае, доступны оба варианта получения отправки груза:
- Сдача/получение на терминале
- Забор/доставка по адресу
2) Есть только адресная доставка/забор (терминал есть только с флагом «виртуальный»)
В этом случае, доступны оба варианта получения отправки груза:
- Забор/доставка по адресу
3) Получаем ответ что с этим городом не работаем – выдаем форму с комментарием «К сожалению, выбранный Вами населенный пункт на данный момент мы не обслуживаем. Свяжитесь с нами и мы сделаем Вам индивидуальный расчет». (Форма уже присутствует в верстке)
2. Поле «Адрес»
Подключаем справочник адресов яндекс.
Если пользователь не находит нужный адрес, то может ввести его вручную (переключатель на другое поле)
3. Дата забора/доставки
Добавляем учет праздничных и нерабочих дней терминалов при выборе даты подвоза на терминал или забора по адресу и при доставке по адресу.
На данный момент информация по графика тянется из БД сайта. Необходимо делать запрос в 1с для получения рабочего календаря терминала(ов).
Деактивируем дату, если терминал(ы) закрыты в этот день.
4. Подключение новой формы к расчету на php (все расчеты в php готовы)
Но! На данный момент в php некоторые расчеты (как раз, новые) вынесены в отдельную функцию (она сейчас делает расчеты для приложения).
Поэтому надо будет адаптировать.
5. Второй шаг заявки/калькулятора (Выбор участников и плательщиков перевозки)
- Предлагаем пользователю указать ИНН/Паспорт
- Обращаемся к 1с с проверкой наличия в базе
- Если есть в базе, подтягиваем в заявку его id
- Если нет в базе, подтягиваем информацию из Dadata/проверяем паспорт на действительность (для юрлица – действующая ли компания) – это уже сделано для текущей заявки
-- используем метод для добавления контрагента в 1с contragents/add/
6. Отправка заявки в 1с
Полное описание всех методов для апи предоставлю
Опубликован 08.07.2025 в 15:45 Последнее изменение: 08.07.2025 в 16:41
Заказ находится в архиве