Любое изменение сайта — это доработка?

Новая кнопка в карточке Битрикс не обязательно требует программирования, а маленькое изменение правила заказа может затронуть оплату, склад и работу менеджера. Чтобы оценить предложение подрядчика, сначала разделите внешний вид, доступные настройки и новое поведение сайта. Тогда в смете будет видно, за какой результат вы платите и что придётся поддерживать после запуска.

Рассмотрим магазин на 1С-Битрикс, где нужно изменить карточку товара и уточнить поведение заказа, сохранив действующий каталог и продажи через сайт. Словом «компонент» разработчик называет готовый функциональный блок, например вывод списка товаров или подробной карточки. У блока есть параметры. У его внешнего представления есть шаблон. Эти различия нужны руководителю лишь настолько, насколько они объясняют объём работы: настройка выбирает готовый вариант, а изменение логики добавляет правило, которого сайт прежде не выполнял.

Пожелание переводят в действие покупателя

Пожелание «сделать карточку удобнее» лучше заменить описанием действия покупателя: какие сведения он прочитает, какой вариант выберет, где увидит доступное количество и что произойдёт после нажатия кнопки, если обычная покупка для этого товара недоступна. К заданию приложите текущую страницу с отмеченными местами изменения. Тогда подрядчик сможет сопоставить ожидаемое действие с возможностями компонента и установленного шаблона.

Размер кнопки не измеряет сложность. Если её действие меняет состояние заказа, стоимость зависит от связей с другими процессами, а не от площади элемента на экране.

Начинать с описания результата лучше, чем требовать конкретный модуль по совету знакомого. Модуль может решать похожую задачу, но расходиться с правилами магазина в оплате, доступах или составе данных. Такое расхождение обнаружится поздно, если сначала купить решение, а потом пытаться подогнать под него работу сотрудников.

Когда хватает штатных параметров

В официальной справке детальной карточки перечислены параметры «Свойства», «Показывать старую цену» и «Показывать остаток товара». Они относятся к разным задачам. Первый выбирает сведения для показа, второй управляет отображением прежней цены при скидке, третий — представлением количества. Уже этот перечень помогает задать точный вопрос: какую настройку исполнитель меняет и на каких данных она будет работать?

Параметр существует, но результат не появился

По одному пункту справки нельзя определить, как устроен ваш сайт, поскольку установленный шаблон мог быть изменён, нужные данные могли не заполнить, а само отображение могло быть связано с другим вариантом компонента. Разработчик должен показать это на копии сайта. Для заказчика результатом обследования будет короткое объяснение причины, а не список названий файлов. Например, нужное свойство хранится в каталоге, но не выбрано для вывода, или выбрано, однако текущий шаблон его не показывает. Это разные объёмы работ.

Готовую настройку разумно использовать первой. У собственного кода появляется отдельная обязанность по сопровождению, поэтому писать его для уже доступного поведения без причины — плохая трата бюджета.

Но параметр нельзя оценивать отдельно от наполнения. Если новое поле выводится пустым у части товаров, задачу делят на отображение и подготовку сведений. Маркетолог отвечает за содержание, специалист — за способ вывода и обработку отсутствующего значения. В акте приёмки полезно назвать оба состояния. Иначе демонстрация на одной полностью заполненной карточке скроет проблему каталога целиком.

Что принять у настройки

У настройки есть понятные свидетельства: прежнее значение, новое значение и страницы, на которых изменилось отображение. Возврат тоже нужно показать. При одинаковом результате это предпочтительнее вмешательства в файлы, потому что следующий администратор увидит выбранное поведение в интерфейсе, а не будет искать его по коду.

Где заканчивается оформление и начинается новое правило

Шаблон компонента отвечает за представление результата. Изменить расположение блока, подпись или порядок уже полученных сведений — задача другого масштаба, чем рассчитать индивидуальную цену, обратиться к внешнему сервису или изменить условия оформления заказа. Граница проходит по действию. Поэтому похожие макеты могут привести к разной смете: один только переставляет готовые данные, второй требует получить и обработать новые.

Правки системного шаблона опасны для сопровождения. Документация Битрикс предупреждает, что обновление может восстановить его прежнее состояние. Там же описана команда «Копировать шаблон компонента» в режиме «Правка» и размещение пользовательских шаблонов в /local/templates/. Заказчику не нужно открывать эту папку. Достаточно получить от исполнителя подтверждение, что изменение отделено от штатного шаблона и записано в перечне доработок.

Почему отдельная копия требует учёта

Собственная копия шаблона сохраняет ваше оформление, но её придётся сравнивать с обновляемым штатным вариантом: какие новые возможности добавлены, какие изменения нужны магазину и что потребуется перенести, чтобы посетитель получил их вместе с привычным представлением карточки. За это назначают ответственного. В смете сопровождения полезно выделить такую оценку совместимости отдельно, описав страницы и действия, которые проверят после обновления. Иначе владелец будет считать, что обновление продукта автоматически обновило и изменённую карточку.

Внешний вид принимают на разных данных. Длинное название, отсутствующее фото и товар с несколькими вариантами показывают больше, чем идеально заполненная демонстрационная карточка.

Если правка затрагивает выбор варианта, путь до корзины проверяют целиком: выбранное свойство, цена и количество должны сохранять свой смысл после добавления товара. Подробный разбор есть в статье о торговых предложениях Битрикс. Не стоит принимать такой блок только по совпадению с изображением макета.

Готовое решение или собственная логика

Готовый модуль имеет смысл, если его правила совпадают с вашей задачей, документация объясняет ограничения, а поставщик продолжает поддерживать сочетание версий, на котором работает магазин. Совпадения по названию мало. Функция «предзаказ» может означать простую заявку без оплаты или полноценный заказ с ожиданием поставки. Руководителю нужно описать нужное состояние товара и обязательства магазина, прежде чем сравнивать продукты.

Сравнение на одном сценарии

ВариантЧто предъявить перед выборомЧто учитывать после запуска
Штатная настройкаПараметр и показ результата на вашей копии сайтаКто меняет значение и ведёт наполнение
Готовый модульСовместимость и прохождение сценария без обещанных будущих функцийОбновления, поддержка поставщика, условия лицензии
Индивидуальная логикаПравило работы, границы данных и способ приёмкиДокументация, исправления и передача другому исполнителю

Для нестандартного процесса собственная разработка может быть понятнее покупки модуля с длинным списком исключений, когда каждое исключение всё равно приходится закрывать отдельными правками и объяснять сотрудникам вручную. Считать следует весь путь до работающего результата. Цена лицензии — лишь одна строка. Рядом стоят настройка, связь с другими частями сайта, перенос данных и последующие изменения. Если готовый продукт уже делает нужное без таких надстроек, переписывать его заново также нет оснований.

Демонстрация нужна на ваших условиях. Не на данных реального покупателя, а на подготовленной копии с теми состояниями, которые магазин обязан обрабатывать.

От исполнителя полезно получить явное перечисление неподдерживаемых действий: что произойдёт при отмене заказа, изменении состава или временной недоступности внешней системы. Такая граница помогает решить, можно ли принять ограничения модуля. Ответ «позже допишем» стоит превратить в отдельный объём до покупки. Иначе сравнение вариантов будет основано на разном составе работ.

Наглядный разбор

Выбор способа изменения

  1. Параметр

    Нужное поведение уже есть и работает в установленном шаблоне.

  2. Шаблон или модуль

    Меняется представление либо подключается готовая функция с подходящими правилами.

  3. Своя разработка

    Магазину нужно правило, которое доступные средства не выполняют.

Каждый следующий вариант нужен, когда предыдущий не выполняет описанное действие.

Что включить в оценку стоимости

В смете доработки сайта на Битрикс полезно видеть не только создание функции, но и обследование текущего решения, подготовку копии, испытания и перенос результата в рабочий магазин. Эти части имеют разные причины. Обследование выявляет прежние изменения. Копия позволяет безопасно воспроизвести покупку. Испытания показывают связь нового поведения с существующим. Перенос завершает работу, когда покупатель видит и использует изменение на сайте.

Одну и ту же задачу трудно сравнить по итоговым суммам, если в одном предложении учтены заполнение каталога и испытание оплаты, а другое заканчивается установкой модуля без настройки, проверки совместимости и описания результата для владельца. Сначала выровняйте состав. После этого обсудите допущения: какие сведения предоставляет магазин, кто принимает решение по спорному правилу и какие старые дефекты не входят в изменение. Так расхождения в цене становятся объяснимыми, а не превращаются в спор о квалификации исполнителей.

Как ограничить неопределённость

Если устройство сайта неизвестно, отдельное обследование лучше обещания фиксированной цены на всё. У обследования тоже есть результат: перечень найденных связей, предложенный способ изменения и уточнённый состав работ.

Нельзя растягивать обследование до бесконечного анализа. Достаточно заранее назвать вопросы, без ответа на которые нельзя выбрать вариант, и документы, которые заказчик получит в конце. Для карточки это могут быть используемый компонент, происхождение шаблона и источник нужных полей. Для правила заказа добавятся события оплаты, резервирования и отмены. Внутренние технические подробности остаются у специалиста, но влияние каждого решения на работу магазина объясняют обычными словами.

Возврат к прежнему состоянию тоже обсуждают до запуска. Внешний блок иногда можно отключить, а изменение данных потребует отдельного восстановления. Поэтому обещание «просто вернём файл» подходит не к любой задаче.

На чём основан предложенный способ доработки

Разговор со специалистом стоит начать с вопроса: «Покажите, какая часть нужного поведения уже доступна на нашем сайте и чего именно не хватает для результата». Ответ свяжет предложение с вашим магазином. Исполнитель объясняет эту связь на примере действия покупателя и показывает, какой способ изменения его обеспечивает.

Хороший ответ можно пересказать без терминов: нужные сведения уже хранятся, их надо вывести, либо сайт умеет выполнять действие, но сейчас оно выключено, либо требуется новое правило, для которого ещё нет готового поведения. Затем исполнитель показывает место изменения и способ приёмки. На этом основании заказчик выбирает объём. Такой порядок оставляет техническое решение специалисту, но сохраняет за владельцем контроль над тем, что получит покупатель и за что заплатит магазин.

Если для обсуждения нужен предметный разбор текущего сайта, в ШТАБ ИТ можно передать адрес страницы, описание желаемого действия и ограничения работы магазина. Этого достаточно, чтобы начать оценку способа изменения, не подменяя задачу случайно выбранной технологией.

Источники и полезные ссылки

  1. 1С-Битрикс: параметры детальной карточки каталога ↗
  2. 1С-Битрикс: шаблоны компонента ↗

Интерфейсы и возможности сервисов могут меняться. Перед настройкой сверяйтесь с актуальной документацией.

Игорь Крещенко

Руководитель ШТАБ ИТ. Занимается управлением проектами, веб-разработкой, рекламой и PR. Подробнее об авторе →