Поддержка и доработка интернет-магазина товаров для пчеловодов «Вощина»
О проекте
«Вощина» — интернет-магазин товаров для пчеловодов на Webasyst Shop-Script. Quadro Design выполняла техническую поддержку и доработки магазина magazin-voshina.com: от оформления заказа и расчёта доставки до оптовых продаж, печатных документов, интеграций и сопровождения после изменения структуры сайта.
Особенность проекта — большое количество взаимосвязанных правил. Стоимость доставки зависит от веса, объёма, населённого пункта, транспортной компании, упаковки и способа оплаты. Дополнительно учитываются оптовые цены, бонусы, подарки, бесплатная доставка и данные, которые должны сохраняться в административной части.
- Проект
- magazin-voshina.com, интернет-магазин «Вощина».
- Тематика
- Товары, оборудование, инвентарь, одежда и текстиль для пчеловодов.
- Платформа
- Webasyst, Shop-Script, индивидуальные доработки темы и плагинов.
- Формат работы
- Техническая поддержка, программирование, вёрстка, исправление ошибок и развитие функциональности.
- Документированные обращения
- Март 2022 — декабрь 2024 года.
Ниже описаны принятые доработки и требования проекта. Последующие обращения, повторные замечания и отложенные интеграции выделены отдельно.
Задачи проекта
- Согласовать расчёт доставки в корзине и административной части магазина.
- Организовать выбор транспортной компании и её ПВЗ с сохранением стоимости, срока и параметров упаковки.
- Разделить почтовые тарифы для предоплаты, наложенного платежа и EMS.
- Переработать оформление заказа для компьютеров и смартфонов.
- Сохранить правила оптовых продаж, начисления и списания бонусов.
- Подготовить договоры, товарные чеки, почтовые бланки и выгрузку заказов.
- Поддерживать обмен с внешними сервисами и устранять проблемы, возникающие после обновлений и изменения настроек.
- Сделать адреса товаров независимыми от категорий и обеспечить переход со старых URL.
Доставка: транспортные компании, курьер и выбор ПВЗ
В проекте использовались расчёты DPD, ПЭК, «Энергии», «Деловых линий», СДЭК, КИТ и Почты России. Для доставки до склада транспортной компании в корзине предусмотрена таблица вариантов со стоимостью и сроком.
Правила расчёта и отображения
- Расчёт учитывает товары в корзине, их вес и объём, выбранный населённый пункт и стоимость товаров там, где она необходима для страхования.
- Стоимость округляется до целого числа.
- Если перевозчик отсутствует в городе или его сервис не возвращает расчёт, в соответствующих ячейках показываются пустые значения либо прочерки.
- По умолчанию выбрана доставка без дополнительной упаковки.
- При выборе дополнительной упаковки применяется расчёт с жёсткой доупаковкой.
- При выборе курьерской доставки в административной части должно быть видно, курьер какой транспортной компании выбран.
- Для отсутствия транспортных компаний в населённом пункте прорабатывались два сценария: предложение ПВЗ ближайшего города или переход к доставке Почтой России.
Название другого города рядом с перевозчиком требуется только тогда, когда расчёт выполнен до ближайшего населённого пункта. Если город совпадает с выбранным покупателем, повторять его в строке расчёта не нужно. Эта корректировка была выполнена и принята.
Выбор пункта выдачи
- После выбора транспортной компании открывается список ПВЗ именно этого перевозчика.
- Список должен раскрываться сразу, без дополнительного нажатия на поле выбора.
- Если доступен один ПВЗ, он выбирается автоматически.
- Для населённого пункта расширена область выбора в выпадающем списке: выбрать вариант можно нажатием на текст и окружающую область.
- Для ПВЗ добавлена ссылка «Подробнее о ПВЗ» или информационный значок.
- В дополнительной информации выводятся доступные у перевозчика сведения: график работы, телефон, схема проезда, ограничения по весу и габаритам.
- Отдельно исправлялись отсутствие описания проезда для DPD и отсутствие информации при единственном ПВЗ.
В октябре 2023 года исправлена повторная ошибка DPD: в корзине и админке список позволял выбрать только терминал, хотя должны были отображаться и другие пункты выдачи. Работа отмечена как выполненная и принятая.
Поиск городов и ограничения внешних API
При диагностике DPD обнаружено, что для части городов данные DADATA содержали код региона, с которым поиск ПВЗ работал некорректно. Поиск скорректировали, исключив этот код из запроса. После изменения заказчик подтвердил восстановление значительной части расчётов в админке; наличие ПВЗ проверялось отдельно.
Запросы к API DPD переведены на HTTPS. Это изменение касалось соединения с сервисом перевозчика, а не протокола самого интернет-магазина.
Чтобы длительное ожидание ответа перевозчика меньше влияло на работу магазина, выполнена задача ограничения расчёта по каждой транспортной компании до 15–20 секунд. Поводом стал долгий ответ API ПЭК; в прежнем калькуляторе использовалось ожидание до 30 секунд.
Исключение отдельных товаров из веса и объёма
Создан редактируемый список товаров, вес и объём которых не должны учитываться при расчёте доставки в корзине. Задача принята. В переписке отдельно указано, что механизм активирован для корзины; его применение к расчётам в административной части требовало отдельного решения.
Жёсткая упаковка, страхование и надбавки
Ранее расчёт жёсткой упаковки был предусмотрен для ПЭК, КИТ и «Деловых линий». Для DPD и «Энергии» требовалось добавить индивидуальные формулы, чтобы упаковку не приходилось рассчитывать вручную.
Ниже приведены значения, зафиксированные в ТЗ проекта. Это параметры выполненных доработок, а не действующий прайс транспортных компаний.
Формула жёсткой упаковки DPD
Стоимость = базовая доставка + 30% от базовой доставки + стоимость упаковки.
- При объёме меньше 1 м³ стоимость упаковки — 713 рублей.
- При объёме от 1 м³ стоимость упаковки — объём × 900 рублей.
- Коэффициенты 713 и 900 рублей должны быть доступны для изменения при пересмотре расценок.
| Условия примера | Расчёт | Результат |
|---|---|---|
| Базовая доставка 300 рублей, объём меньше 1 м³ | 300 + 300 × 0,30 + 713 | 1 103 рубля |
| Базовая доставка 300 рублей, объём 1,1 м³ | 300 + 300 × 0,30 + 1,1 × 900 | 1 380 рублей |
Формула жёсткой упаковки «Энергии»
Стоимость = базовая доставка + 30% от базовой доставки + стоимость упаковки + страхование.
- При объёме меньше 0,3 м³ упаковка — 500 рублей.
- При объёме больше 0,3 м³ упаковка — объём × 1 600 рублей.
- При стоимости товаров меньше 50 000 рублей страхование — 80 рублей.
- Для суммы выше 50 000 рублей в примере применяется страхование 1,6% от стоимости товаров.
- Процент страхования и расчётные коэффициенты предусмотрены как изменяемые параметры.
| Условия примера | Расчёт | Результат |
|---|---|---|
| Доставка 420 рублей, объём меньше 0,3 м³, товары дешевле 50 000 рублей | 420 + 420 × 0,30 + 500 + 80 | 1 126 рублей |
| Доставка 420 рублей, объём 0,4 м³, товары на 51 000 рублей | 420 + 420 × 0,30 + 0,4 × 1 600 + 51 000 × 0,016 | 2 002 рубля |
Правила для точного объёма 0,3 м³ и точной суммы 50 000 рублей в исходных формулировках однозначно не определены и требуют уточнения при изменении настроек.
Дополнительные настройки
- СДЭК исключается из вариантов при выборе жёсткой упаковки, поскольку в рассматриваемом сценарии эта услуга для него не предусмотрена.
- Для «Энергии» выполнена и принята отдельная задача добавления 50 рублей к расчёту.
- В другом этапе ТЗ принята настройка добавления 50 рублей к каждому расчёту через параметры плагина calcship.
- Позднее отдельно зафиксировано добавление 15 рублей к расчёту DPD в корзине и админке.
- Изменяемые расчётные значения вынесены в настройки calcship.
Надбавки относятся к отдельным этапам доработок. Формулы жёсткой упаковки выше воспроизводят собственные контрольные примеры из ТЗ.
Условия бесплатной доставки
В макете карточки товара указаны базовые условия: заказ от 10 000 рублей, вес не более 10 кг и 100% предоплата. Дополнительно в ТЗ принята логика доступности бесплатной доставки:
- Способ доставки — «До склада транспортной компании».
- Дополнительная упаковка не выбрана.
- В городе есть ПВЗ хотя бы одной транспортной компании.
- При выборе дополнительной упаковки бесплатная доставка не показывается.
- Если ПВЗ отсутствуют у всех перевозчиков, бесплатная доставка недоступна.
- Для бесплатной доставки предлагаются ПВЗ перевозчика с наиболее выгодным расчётом.
- Выбранная транспортная компания сохраняется и отображается в админке.
Почта России: тарифы, суммы заказа и экспорт посылок
Разделение тарифов по способу оплаты
Доработан выбор почтового тарифа с учётом предоплаты и наложенного платежа. Это устраняло ситуацию, когда для предоплаченного заказа использовался более дорогой тариф, предназначенный для оплаты при получении.
| Сценарий | Тариф из ТЗ |
|---|---|
| Почта России, предоплата | «Посылка нестандартная» |
| Почта России, оплата при получении | «Посылка нестандартная с объявленной ценностью и наложенным платежом» |
| EMS, предоплата | «Посылка курьер EMS» |
| EMS, оплата при получении | «Посылка курьер EMS с объявленной ценностью и наложенным платежом» |
- Логика выбора тарифа согласована для корзины и административного калькулятора.
- В поле транспортной компании для почтового заказа указывается Почта России.
- В итоговую сумму включается именно выбранная стоимость доставки.
- Для оплаты при получении перед итогом выводится отдельная строка «Комиссия Почты», которая учитывается в общей сумме.
- Исправлено нежелательное изменение комиссии при выборе почтового варианта из таблицы.
- Исправлялось сохранение стоимости почтовой доставки по предоплате, в том числе в существующих заказах и при пересечении с условиями бесплатной доставки.
- Отдельно принята задача сохранения ранее выбранного почтового тарифа при открытии заказа на редактирование.
- Для Почты России добавлена строка со сроком доставки, в том числе в административной части для оформленных, создаваемых и редактируемых заказов.
Контрольный пример из ТЗ: товары на 1 500 рублей и выбранная доставка за 515 рублей формируют сумму 2 015 рублей до дополнительных начислений, предусмотренных конкретным сценарием.
На одном из этапов для проверки EMS менялись коды объектов 28030 и 28040 на 7030 и 7040. Заказчик запросил подтверждение соответствия тарифов и возможность их изменения; окончательная проверка этого уточнения отдельно не зафиксирована.
Excel для массовой загрузки отправлений
В сентябре 2023 года выполнена выгрузка выбранных заказов в Excel для загрузки данных о посылках на сайт Почты России.
- Сотрудник отмечает нужные заказы в административной части.
- Нажимает кнопку «Выгрузить в Excel».
- Получает таблицу с данными выбранных отправлений.
| Способ оплаты заказа | Заявленная стоимость — declared_value | Наложенный платёж — cash_on_delivery |
|---|---|---|
| Предоплата: любой способ, кроме «Оплата при получении» | 10 рублей | 0 рублей |
| Оплата при получении | Сумма «ИТОГО» из заказа | Сумма «ИТОГО» из заказа |
Для корректной передачи адресов и удобства сотрудников в требованиях к выгрузке закреплены следующие правила:
- Из текста адреса исключаются слова «Российская Федерация» и почтовый индекс.
- В адрес включаются область, номер дома и номер квартиры.
- Префикс «г.» используется только для населённых пунктов, являющихся городами.
- Столбцы адреса и ФИО должны быть достаточно широкими для просмотра данных.
- Телефон покупателя не выгружается.
- Стоимость почтовой доставки из заказа размещается в последнем столбце.
- Последний столбец со стоимостью доставки является дополнительным: он нужен магазину и отсутствует в стандартном образце Почты России, на который ссылалось ТЗ.
Административный калькулятор и сохранение данных заказа
Калькулятор дорабатывался для создания и редактирования заказов сотрудниками магазина. Он использует вес, объём, стоимость товаров и населённый пункт из заказа.
Интерфейс расчёта
- Вместо набора габаритов в верхней части выводится объём товаров, рассчитанный плагином yartexcartvalue.
- Кнопки располагаются в одной линии с весом и объёмом.
- По умолчанию выбран расчёт до пункта выдачи и без дополнительной упаковки.
- Расчёт запускается отдельной кнопкой, чтобы открытие заказа на редактирование не вызывало длительное ожидание всех перевозчиков.
- Под товарами отображается таблица расчётов транспортных компаний и Почты России.
- Выбор строки перевозчика определяет транспортную компанию и доступный список её ПВЗ.
- Для DPD отображается полное название тарифа, например DPD Optimum или DPD «Экономи».
- Исправлена вёрстка таблиц, которые не помещались на части экранов.
- Информация о ПВЗ доступна через дополнительный значок и в административной части.
Сохранение результатов доставки
Для заказов с сайта и заказов, созданных сотрудником, предусмотрено сохранение выбранной транспортной компании, пункта выдачи, стоимости, срока доставки и дополнительной упаковки.
- Стоимость, срок и сведения об упаковке добавляются в информацию о заказе.
- Исправлено отсутствие параметров дополнительной упаковки в комментариях.
- Данные расчёта дополняют комментарий покупателя, а не заменяют его.
- Исправлялась потеря комментариев после работы калькулятора.
- Для повторного открытия заказа устранена подмена ПВЗ другого перевозчика пунктом DPD.
- Если полный список ПВЗ перевозчика ещё не загружен, сохраняется уже выбранный пункт; полный список получается после запуска расчёта.
- Кнопка «Обновить индекс» вынесена непосредственно в просмотр заказа, без обязательного перехода к редактированию.
В отдельных обращениях фиксировались заказы с сохранённой стоимостью и ПВЗ, но без названия транспортной компании, а также несоответствие перевозчика и пункта выдачи. Часть корректировок была принята, однако для невоспроизводимых случаев сохранялась необходимость наблюдения за последовательностью действий.
Данные при переводе заказа в статус «Отправлен»
Задача заполнения поля при отправке заказа отмечена как принятая. В ней предусмотрены название транспортной компании и адрес выбранного ПВЗ, начиная с улицы, без повторения полного адреса населённого пункта.
- Для ПЭК и «Деловых линий» требовались короткое название перевозчика и адрес от улицы.
- Для КИТ, «Энергии» и СДЭК отдельно уточнялась полнота адреса: должны сохраняться улица, дом, корпус и обозначение склада, если они присутствуют.
- Для СДЭК после создания заявки необходимо сохранять её номер, а после него добавлять название перевозчика и адрес ПВЗ.
- Для DPD следует использовать уже существующий механизм передачи данных из оформленной заявки, исключив дублирующее заполнение до её создания.
После первоначальной реализации в переписке остались уточнения по обрезанным адресам и сохранению номера заявки СДЭК вместе с адресом. Эти уточнения выделены как предмет дальнейшей проверки.
Переработка корзины и оформления заказа
Выполнена и принята переработка корзины для компьютеров и смартфонов. Основная задача — сделать понятными состав заказа, расчёт доставки, способы оплаты и итоговые суммы.
Структура корзины
- Ссылки «Продолжить покупки» и «Купить в один клик» перенесены над списком товаров в левую часть.
- Правая часть получила заголовок «ОФОРМЛЕНИЕ ЗАКАЗА».
- Верхняя полоса корзины уменьшена по высоте.
- Кнопку «Оформить заказ» требовалось показывать сразу после перехода в корзину, без дополнительного прокручивания вниз.
- Вес заказа перенесён под товары.
- Добавлены строки «Итого за товар» под товарами и в блоке оформления.
- Перестроены строки начисляемых бонусов и итоговой стоимости, уточнены интервалы между элементами.
- Поле комментария свёрнуто и открывается по ссылке «Комментарий к заказу».
- Крестик удаления товара заменён значком корзины и подписью «Удалить»; для мобильного экрана предусмотрен компактный вариант.
- При прокручивании оформления заказа список товаров в левой части должен оставаться видимым.
Поведение во время расчёта доставки
- Добавлены индикатор ожидания и текст «Идёт расчёт доставки».
- Вместо блокировки всей корзины предусмотрено затемнение только части оформления заказа.
- Область с товарами остаётся доступной для взаимодействия.
- Удалена прежняя подпись «Расчёт занимает некоторое время…».
- После расчёта предусмотрено прокручивание к способам доставки, таблице и оплате.
- При выборе Почты России или согласования доставки с менеджером положение страницы скорректировано так, чтобы сверху был виден выбранный город.
- Исправлялось ошибочное сообщение «Доставка в выбранный город невозможна».
Отображение сумм
- Для доставки транспортной компанией, курьером и согласования с менеджером предусмотрено скрытие общей строки «ИТОГО», когда она не отражает окончательную стоимость доставки.
- Для Почты России с оплатой при получении перед итогом добавлена комиссия Почты.
- Стоимость почтовой доставки оформлена обычным цветом текста вместо красного.
- Рамка и цифры в сценарии почтового наложенного платежа приведены к согласованному коричневому цвету.
- Фраза «Доставка оплачивается при получении» размещена в одну строку; для соответствующего сценария доставки до склада ТК в макете задан красный акцент.
- Исправлено изменение количества товаров: сумма, счётчик корзины и данные создаваемого заказа должны обновляться согласованно.
Обязательные поля и оформление
Обязательными остаются только ФИО и телефон. По условиям проекта заказ должен оформляться и при незаполненных дополнительных полях, в том числе без окончательного выбора транспортной компании и ПВЗ.
- При отсутствии ФИО или телефона страница прокручивается к соответствующему полю и показывает сообщение.
- Уточнена подсказка в поле населённого пункта.
- Для подписи выбора ПВЗ и других важных элементов задан более заметный коричневый акцент.
- В отдельном уточнении ТЗ предусмотрено исключение отправки заказа клавишей Enter: оформление выполняется кнопками «Оформить заказ» или «Отправить заказ» в форме покупки в один клик.
Авторизация и покупка в один клик
- Исправлен переход на главную страницу после авторизации из корзины; задача проверялась для компьютеров и смартфонов и принята.
- Восстановлен запуск авторизации по номеру телефона в мобильном оформлении заказа.
- Доработана форма «Купить в один клик» в товарной сетке, карточке товара и корзине для обеих версий сайта.
- Исправлены ввод номера с начальной цифрой 8 и лишнее место в шаблоне телефонного поля.
- Ввод телефона запускает авторизацию, после которой ФИО заполняется автоматически.
- Уточнено написание ФИО с заглавных букв.
- Исправлен порядок передачи имени, фамилии и отчества в административную часть.
- Со страницы входа удалены неработающие значки авторизации через социальные сети.
После исправления мобильной авторизации оставалось отдельное пожелание сохранять текущий шаг оформления без возврата в корзину. Для этого обсуждалось выделение самостоятельного URL оформления заказа; завершение этой доработки не зафиксировано.
Оптовые цены, бонусы и подарки
Оптовые заказы
- В карточке товара к оптовой цене добавлена подпись «от 40 000 руб.».
- Возможность изменения суммы в подписи связана с шаблоном product.cart.html.
- Для покупателя со статусом «ОПТ» при создании и редактировании заказа в админке по умолчанию применяются оптовые цены, как в корзине.
- Исправлено повторное появление сообщения о получении оптового статуса после уменьшения суммы заказа ниже порога.
- Для оптовых заказов предусмотрено отсутствие начисления бонусов.
- В июне 2023 года исправлено повторное начисление бонусов на оптовые заказы.
Бонусная система
- До авторизации отображается нулевой доступный баланс, после авторизации — бонусы покупателя.
- Бонусами можно оплатить до 30% стоимости заказа.
- После списания появляется строка скидки и зелёная отметка.
- Ссылка «Списать» оформляется в стиле ссылки «Купить в один клик».
- Поле промокода скрывается в согласованном варианте корзины.
- Бонусный блок переработан для размещения под способами оплаты.
- Для почтового сценария при переносе блока должны сохраняться правила формирования суммы к оплате.
- Исправлены промежуточное окно и переход к футеру при списании или отмене бонусов.
- Исправлено отображение прежнего доступного баланса после списания.
- В мобильной версии исправлено обновление текста с начисляемыми бонусами при изменении заказа.
- В мобильном личном кабинете сумма бонусов возвращена в одну строку, а ссылка выхода отделена от бонусного блока.
Отдельная задача касалась повторного запуска расчёта доставки при списании или отмене бонусов. Как временное решение принимался перенос бонусного блока выше телефона. Полное устранение повторного расчёта как поведения плагина отдельно не подтверждено.
Исправление списания бонусов из админки было отмечено как выполненное и принятое, но затем появилось повторное сообщение о неснятом балансе. Проверка фактического списания остаётся отдельным контрольным сценарием.
Подарок при первой покупке
Для подарков используется список товаров и проверки покупателя. У неавторизованного посетителя подарок мог добавляться предварительно, а после создания заказа контакт сопоставлялся с уже существующими заказами.
В апреле 2023 года исправлена ситуация, когда у повторного покупателя оставались 3 рубля, связанные с подарком за первую покупку. После удаления подарка скорректировано изменение общей суммы заказа, чтобы она совпадала с суммой онлайн-оплаты.
Переход в оплату Альфа-Банка с правильной суммой был проверен. Для варианта оплаты через Сбербанк в переписке оставался запрос дополнительной проверки.
Каталог, карточки товаров и мобильная версия
Принятые доработки интерфейса
- Восстановлено создание новых категорий.
- Добавлены выпадающие подкатегории: при наведении основная категория получает оранжевый акцент, а список открывается справа.
- Исправлялось повторное отсутствие раскрытия категорий.
- Улучшено попадание курсором в выпадающее меню, когда подкатегорий три или меньше.
- В основном меню вместо «Главная» предусмотрено название «Каталог».
- Для пунктов оранжевой полосы задано изменение цвета при наведении.
- Восстановлена зона баннера под шапкой с возможностью размещения и отключения в компьютерной и мобильной версиях.
- Добавлена зачёркнутая цена и отображение разницы между прежней и текущей ценой.
- Разница в цене дополнительно оформлена в красной рамке в карточке товара.
- Исправлено некорректное отображение карточек товаров, отсутствующих в наличии.
- В информационных страницах упорядочены текст, изображения и межстрочные интервалы для дальнейшего редактирования.
- Шрифты скорректированы по согласованному визуальному референсу.
Доработки для смартфонов
- Поле поиска увеличено и отделено от оранжевой полосы.
- Для товарной галереи добавлено перелистывание фотографий жестом.
- Исправлены пропорции изображений категорий.
- В корзине и оформлении заказа добавлена оранжевая полоса со значками.
- Под ней предусмотрена серая полоса с названием текущего раздела и стрелкой возврата.
- Добавлен счётчик товаров возле значка корзины.
- Двузначный счётчик отделён от значка и оформлен коричневым цветом.
- После способов оплаты добавлена разделительная линия в стиле остальных разделителей оформления.
- Исправлялось кратковременное отображение корзины без корректного оформления при переходе или обновлении.
Контактные блоки
Для компьютерной версии добавлено выпадающее окно с контактной информацией при наведении на телефон в шапке.
Для мобильной версии предусмотрены звонок при нажатии на номер, расширенная контактная информация в нижней части меню и аналогичный блок в окне, открываемом значком телефона на оранжевой полосе.
Ограничение стандартного копирования фотографий
По запросу заказчика ограничены стандартные действия копирования фотографий через контекстное меню и сочетание Ctrl+C. Задача выполнена и принята.
Выбор размеров одежды
Отдельное направление — объединение размерных вариантов в категории «Одежда и текстиль»: костюмы пчеловода, брюки, куртки, комбинезоны и перчатки.
Исходно каждый размер существовал как самостоятельный товар, а размер был указан только в названии. Для группировки проработан механизм плагина productgroup:
- Выбрать связанные товары в административной части.
- Использовать действие «Добавить в группу».
- Выбрать группу и указать размер.
- Через «Настроить видимость» оставить в каталоге один основной товар группы.
Последующие требования к размерному интерфейсу:
- Скрытие остальных товаров группы не должно удалять выбор размеров у видимого товара.
- Размеры должны выводиться в правильном порядке.
- Название видимого товара не должно вводить покупателя в заблуждение указанием только одного размера.
- Нужно определить поведение при отсутствии основного видимого товара: сообщение «Нет в наличии» и возможность уведомления о поступлении.
- Переключение размеров должно выполняться без медленного перехода и кратковременного показа неоформленного набора цифр.
- Должен быть понятен порядок удаления товара из группы.
- Доступные размеры требуется выделять зелёной рамкой, отсутствующие — серой.
Исправление общего отображения отсутствующих товаров подтверждено отдельно. Завершение всех перечисленных уточнений размерного интерфейса в документе не отмечено.
Договоры, товарные чеки и почтовые бланки
Договоры для ИП и ООО
Добавлены отдельные действия «Договор ИП» и «Договор ООО» для печати полноценного договора.
- Текст договора должен быть доступен для редактирования.
- Реквизиты контрагента заполняются из данных организации в заказе.
- В августе 2023 года исправлено повторное отображение дат на английском языке.
- Отдельное замечание касалось экспорта в Word: документ должен сохранять оформление, соответствующее версии для печати. Завершение этого уточнения не зафиксировано.
Товарный чек
В печатную форму товарного чека добавлено ФИО покупателя. Задача выполнена и принята.
Почтовый бланк Ф7
- При выборе EMS в бланке появляется обозначение «ЕМС».
- Для «Почта предоплата» и «Почта EMS предоплата» предусмотрено отдельное начальное представление формы по согласованному образцу.
- Для обычной почтовой доставки и EMS с наложенным платежом сохраняется соответствующий ранее используемый вариант бланка.
Обе задачи по Ф7 отмечены как выполненные и принятые.
Счёт на оплату: отложенное расширение
Для способа «Оплата по счёту» описано развитие уведомления при переводе заказа в статус «Ожидание оплаты»:
- Сохранить ссылку на счёт в письме.
- Обеспечить скачивание счёта в PDF.
- Добавить полноценный PDF-счёт вложением, чтобы покупатель мог скачать его непосредственно из письма.
- Привести печатное оформление к согласованному образцу: банковские реквизиты, данные поставщика и покупателя, номер и дата, основание, таблица товаров, итоговые суммы и реквизиты подписания.
- Учесть QR-блок, представленный в образце счёта.
Это расширение относится к отложенному ТЗ и не имеет отметки о завершении.
Оплата, уведомления и внешние интеграции
Альфа-Банк и автоматический статус оплаты
Работы с платёжным плагином Альфа-Банка отмечены как выполненные. При этом в переписке отдельно разобрана проблема различий между оплатой картой и СБП.
- При оплате вводом данных карты заказ переходил в статус «Оплачен», а покупателю отправлялось уведомление.
- При оплате СБП по QR-коду статус мог не меняться, и сотрудникам приходилось проверять платёж вручную.
- Также зафиксирована ошибка ссылки «Оплатить по ссылке» под QR-кодом.
- Целевой сценарий — автоматический статус «Оплачен» сразу после подтверждённой оплаты, без зависимости от возврата покупателя на страницу магазина.
В качестве вариантов решения обсуждались изменение платёжной страницы, callback-уведомления, собственная интеграция с платёжным API и использование поддерживаемого банковского модуля. Подключение конкретного варианта и окончательное устранение проблемы СБП отдельно не подтверждены.
Обмен товарами с ВКонтакте
В 2022 году выполнена и принята доработка плагина «Магазин ВКонтакте»: информация о наличии и ценах товаров должна обновляться по расписанию.
В сентябре 2023 года после повторного сбоя восстановлена работа плагина, который не выполнял обмен ни вручную, ни по расписанию. После этого поступил отдельный запрос настройки cron для регулярного обмена; его завершение в этом обращении не отмечено.
СДЭК и обновление пунктов выдачи
Исправлены задания cron, отвечающие за обновление списка ПВЗ СДЭК. Заказчик подтвердил работу обновления по расписанию вместо необходимости запускать его вручную.
В мае 2024 года, во время сбоя сервиса СДЭК, выполнено временное отключение расчёта доставки и интеграции, поскольку ожидание внешнего сервиса приводило к зависанию магазина.
Письма о заказах
В декабре 2022 года исправлена отправка уведомлений после изменения домена почтового отправителя с magazin-voshina.ru на magazin-voshina.com.
Отдельный последующий вопрос касался получения ответных писем покупателей на новый адрес. Восстановление этого сценария не имеет отдельной отметки о завершении.
Развитие уведомлений
В проекте использовались уведомления по электронной почте и SMS с текстами из настроек магазина: при оформлении заказа, изменении статуса и наступлении отдельных событий, включая прибытие груза.
В октябре 2024 года поставлена задача заменить SMS-уведомления, отправляемые через SMS.ru, сообщениями в WhatsApp, Telegram или Viber. Выбор канала и реализация такого перехода не зафиксированы как выполненные.
Короткие URL, SSL и устранение технических сбоев
Адреса товаров, независимые от категорий
Выполнена задача перехода к коротким адресам товаров на основе артикула. Такой URL должен сохраняться при перемещении товара между категориями.
- Для товаров предусмотрен формат /art2001/.
- Для категорий используется отдельная структура, например /category/voshchina/.
- Старые вложенные адреса должны перенаправлять на новые с кодом 301.
- Для новых товаров настроено формирование адресов через art по умолчанию.
- После смены используемого домена исправлено повторное появление вложенных адресов товаров.
Один из примеров повторного исправления — переход от вложенного адреса товара внутри категорий к самостоятельному /art372/.
Обращения по ошибке 500 у поисковых ссылок с параметром ysclid выделены отдельно: в документе есть повторные сообщения о проблеме, но отсутствует подтверждение окончательного исправления.
SSL для доменов магазина
В обращениях рассматривались magazin-voshina.ru и magazin-voshina.com, использовавшиеся в связанной конфигурации магазина и зеркала.
- В августе 2023 года устранена ошибка сертификата: фактически установленный сертификат отличался от того, срок действия которого проверял заказчик.
- В октябре 2023 года для magazin-voshina.com установлен бесплатный SSL-сертификат через SSH; задача принята.
- Для этой конфигурации обсуждалось автоматическое продление примерно раз в три месяца и контроль его работы.
- Отдельно учитывались основной и тестовый сертификаты.
- Сертификат в панели требовалось сохранить как часть её конфигурации, хотя он не использовался для фактической работы сайта: его удаление нарушало работу панели и сайта.
- При проблемах с автоматическим продлением предусматривалось дальнейшее предоставление порядка ручного обновления.
Сбой расчёта Почты России
В январе 2023 года диагностировано зависание редактирования и создания заказов. Причиной стали запросы плагина calcship к недоступному почтовому тарификатору.
- Временно отключён соответствующий расчёт в административной части.
- Заказчик подтвердил восстановление редактирования заказов.
- После восстановления сервиса почтовая доставка снова включена.
- В настройках calcship добавлен переключатель «Расчёт включён» для административного редактирования заказа.
- Для корзины сохранено отдельное управление через включение и отключение способа доставки.
Эти переключатели работают независимо: отключение способа доставки на витрине не заменяет отключение запросов калькулятора при редактировании заказа.
Возможность перехода на другой почтовый API обсуждалась как отдельная переработка плагинов. Реализация альтернативного сервиса не подтверждена. При работах с обновлениями плагинов отдельно требовалось сохранять уже внесённые индивидуальные доработки.
Последующие обращения и задачи дальнейшего развития
Эти требования входят в историю проекта, но не должны смешиваться с перечнем окончательно завершённых работ.
Обмен с 1С после перехода на УТ11
В декабре 2024 года поступило обращение по обмену с 1С «Управление торговлей» версии 11.5.19.63 после перехода с УТ10 на УТ11.
- Устранить повторную выгрузку одной карточки 2–3 раза, из-за которой дублируются изображения, артикулы и другие данные.
- Восстановить обновление цен и остатков для отдельных товаров; в качестве примера указан канди с ноземацидом.
- Обеспечить постановку товаров из заказов сайта в резерв в 1С.
- Передавать изменения заказа на сайте в заказ учётной системы.
- Закрывать заказ в 1С при удалении соответствующего заказа на сайте.
- Восстановить выгрузку оптовых цен после смены версии 1С.
Выгрузка оптовых цен ранее выполнялась индивидуальной доработкой и отдельно обозначена как функциональность, не относящаяся непосредственно к плагину обмена. Для всех перечисленных обращений после перехода на УТ11 отсутствуют отметки о выполнении и приёмке.
Дополнительно обсуждалась передача зачёркнутой цены из 1С вместо ручного заполнения каждого товара. Для настройки требовалось определить соответствующее поле или идентификатор в учётной системе; завершение этой задачи не подтверждено.
Расширение способов оплаты
Следующий блок прямо отложен в документе как отдельное будущее ТЗ. В макете оформления заказа предусмотрены:
| Способ | Требование из макета |
|---|---|
| На карту Сбербанка | Передача данных для оплаты покупателю через SMS. |
| СБП по QR-коду | Открытие QR-кода после оформления заказа. |
| Онлайн-оплата картой | Оплата банковской картой через платёжную страницу. |
| Yandex Pay | Оплата картой, связанной с аккаунтом Яндекса. |
| SberPay | Оплата через предусмотренный банковский сценарий SberPay. |
| Оплата по счёту | Сценарий для организаций, включая ИП и ООО. |
| Оплата при получении | В представленном макете — только для Почты России. |
Для подключения Yandex Pay обсуждались API, шлюз Payture и вариант через эквайринг Альфа-Банка. Для SberPay рассматривалась банковская инструкция размещения соответствующего способа на платёжной странице и сайте. Наличие этих обсуждений не означает, что интеграции были завершены.
Страница онлайн-оплаты
- Переработать страницу /paynow/ по согласованному макету.
- Предусмотреть ввод номера заказа и отдельные кнопки для банковской карты, СБП, Yandex Pay и SberPay.
- Обеспечить возможность отключения способов оплаты без нарушения внешнего вида корзины и страницы оплаты.
- Перенести изображения и логотипы платёжных систем вниз страницы.
- Сохранить указание, что оплатить можно согласованный с оператором заказ.
- В представленном макете страницы онлайн-оплата предусмотрена для физических лиц.
- Разместить контактную информацию для вопросов по оплате.
Заявки на отправку DPD
Для окна оформления заявки DPD поставлены задачи:
- Разрешить выбор любого города отправления.
- Использовать Стерлитамак как город по умолчанию.
- Добавить поле ФИО второго получателя или второго контактного лица.
- Основного получателя продолжать подставлять из заказа.
- Передавать дополнительного получателя непосредственно из окна заявки вместо отдельного обращения к менеджеру перевозчика.
Завершение этого расширения не отмечено.
Страница отслеживания посылки
В ТЗ предусмотрена отдельная страница «Отследить заказ» с переходом по значку «Где посылка?» в шапке.
- Неавторизованный посетитель вводит телефон, указанный при оформлении заказа.
- Запускается авторизация по аналогии с корзиной.
- После входа показываются транспортная компания, пункт выдачи, дополнительная информация о ПВЗ, номер отправления и ссылка отслеживания.
- Трек-номер автоматически подставляется в поле.
- Кнопка «Отследить» переводит на сайт перевозчика по ссылке отслеживания.
- Если сервис перевозчика поддерживает соответствующий переход, должен сразу открываться результат по номеру отправления.
Номер отправления и ссылка уже присутствовали в личном кабинете и должны использоваться повторно. Для мобильного интерфейса предложено разместить переход в меню, заменив пункт «Главная» на «Отследить посылку». Реализация страницы не подтверждена.
Входящие заказы из ВКонтакте
Отдельно поставлен вопрос о плагине выгрузки заказов из магазина ВКонтакте в административную часть сайта. Это самостоятельная задача, отличающаяся от уже выполненного исходящего обновления товаров, цен и наличия.
Проверка Вебвизора
Для страницы корзины описана проблема воспроизведения посещений в Вебвизоре. В сообщении фигурировали возможные причины, связанные с кодом счётчика и отображением страницы во фрейме. Требовались проверка подключения и условий воспроизведения; выполненное исправление не зафиксировано.
Повторные замечания к оформлению и администрированию
| Сценарий | Что необходимо проверить или завершить |
|---|---|
| Повторный заказ авторизованного покупателя | Полноту автозаполнения ФИО, электронной почты и города после предыдущего заказа. |
| Сохранение электронной почты | Невоспроизводимый случай, когда введённый адрес не сохраняется при оформлении. Для диагностики запрошена точная последовательность действий. |
| Мобильная авторизация | Сохранение шага оформления без возврата в корзину после обновления страницы. |
| Бонусы | Отсутствие лишнего перерасчёта доставки и фактическое списание баланса при действиях из админки после повторного замечания. |
| Личный кабинет на смартфоне | Размещение сумм заказов из четырёх и более цифр без нарушения строки. |
| Почтовый расчёт в админке | Активность кнопки расчёта после включения доставки. |
| Переход в корзину | Повторное обращение о промежуточной странице «Оформить заказ» после ранее выполненных исправлений. |
| Пустой способ доставки | Уточнение о самопроизвольном назначении и сохранении варианта «Курьер» при редактировании. |
| Данные транспортной компании | Редкие случаи отсутствия названия перевозчика при сохранённых стоимости и ПВЗ, а также соответствие ПВЗ выбранной компании. |
| Статус «Отправлен» | Полноту адреса для КИТ, «Энергии» и СДЭК, сохранение номера заявки СДЭК вместе с адресом и исключение дублирования DPD. |
| Договоры | Соответствие экспорта в Word версии для печати. |
| Поисковые ссылки | Ошибка 500 на URL с параметром ysclid, включая ссылки из мобильного поиска Яндекса. |
| Почтовый отправитель | Получение ответных писем покупателей после изменения адреса отправителя. |
| Обмен ВКонтакте | Повторная настройка расписания после восстановления плагина в 2023 году. |
Проверки расчёта доставки по городам
В ТЗ зафиксированы конкретные города для проверки различий между корзиной, административным калькулятором и списками ПВЗ. Эти примеры относятся к обращениям периода проекта и не описывают текущее покрытие перевозчиков.
Проверки с отметкой о приёмке
| Проверка | Города и условия |
|---|---|
| DPD: расчёт в корзине отсутствовал, хотя работал в админке | Ревда, Кумертау, Тобольск, Новокузнецк, Рязань, Благовещенск Амурской области. Соответствующая задача отмечена как принятая. |
| DPD: различия в количестве ПВЗ и доступности расчёта | Тюмень и Челябинск: в админке отображался только один ПВЗ, в корзине для Челябинска было несколько, а для Тюмени отсутствовал расчёт. Уточнение отмечено как принятое. |
| DPD: информация о проезде | Восстановление описания «Как добраться» отмечено как принятое, включая повторное обращение. |
Дополнительные диагностические примеры
| Перевозчик и проблема | Города из обращений |
|---|---|
| DPD: отдельный заказ не рассчитывался, хотя другие заказы в этот город рассчитывались | Воронеж. |
| DPD: отсутствие расчёта в админке | Благодарный, Юрюзань, Сатка, Бугульма, Кингисепп, Таштагол, Касимов, Рыбинск, Кизляр, Королёв. Для Кизляра и Королёва отдельно отмечено отсутствие расчёта и в корзине. |
| DPD: расчёт в админке есть, но в корзине не выдаётся список ПВЗ | Тобольск, Шарыпово, Ефремов, Воркута, Таштагол, Касимов, Рыбинск. |
| DPD: дополнительные различия между корзиной и админкой | Абинск и Юрюзань. Другие города этой группы отражены выше в принятых проверках. |
| DPD: поиск ПВЗ и связь с кодом региона | Тобольск, Севастополь, Находка. После изменения запроса отдельно подтверждалось нахождение ПВЗ Севастополя. |
| «Энергия»: отсутствие расчёта при наличии ПВЗ | Сатка, Бугульма, Белорецк, Таштагол. |
| «Энергия»: расчёт появлялся при отсутствии ПВЗ | Абинск. |
| СДЭК: отсутствие расчёта | Белово Кемеровской области, Голышманово. |
| КИТ: отсутствие расчёта при наличии ПВЗ | Юрюзань, Белорецк. Для Юрюзани проблема описана и в корзине, и в админке. |
| Отсутствие транспортных компаний в населённом пункте | Приморск: обсуждалось предложение ближайших ПВЗ DPD либо выбор Почты России вместо доставки до склада ТК. |
Для дополнительных примеров нет единой отметки о закрытии всей группы. Их следует использовать как контрольные сценарии, а не как подтверждение окончательного исправления расчётов для каждого города.
Результат подтверждённых работ
В ходе сопровождения магазина доработаны ключевые операции покупателя и сотрудников:
- Переработаны корзина и мобильное оформление заказа, исправлены связанные ошибки количества товаров, сумм и авторизации.
- Расширены расчёты транспортных компаний, выбор ПВЗ, работа с упаковкой и сохранение данных доставки.
- Разделены почтовые сценарии предоплаты, наложенного платежа и EMS.
- Добавлена выгрузка выбранных заказов в Excel для Почты России.
- Доработаны оптовые цены, бонусные правила и корректировка суммы при удалении подарка повторного покупателя.
- Подготовлены договоры для ИП и ООО, товарный чек с ФИО и изменения почтового бланка Ф7.
- Восстановлены отдельные интеграции и задания обновления ПВЗ, исправлена отправка почтовых уведомлений.
- Внедрены короткие адреса товаров, выполнены связанные доработки маршрутизации и SSL.
- Устранены блокирующие запросы к недоступным внешним сервисам и добавлено управление расчётом Почты России в админке.
Следующий этап развития описан отдельно: обмен с 1С УТ11, расширение оплаты, уведомления в мессенджерах, отслеживание посылок, входящие заказы ВКонтакте и завершение повторных проверок.
Поддержка и доработка интернет-магазинов на Webasyst
Если магазину требуется доработка корзины, доставки, заказов, печатных форм или интеграций, Quadro Design помогает разобрать существующую логику и реализовать изменения с учётом правил бизнеса.
Программирование и доработка сайтов · Другие кейсы доработки интернет-магазинов
