Добавить в корзинуПозвонить
Найти в Дзене
Алиса Пилат

Как я интернет-магазин стройматериалов на Битриксе с Claude Code разрабатывала

Этот интернет-магазин был бы банальным до невозможности, если бы не несколько нюансов. Они сделали его разработку совершенно нестандартным занятием, выходящим за рамки моего предыдущего опыта. Об этих особенностях и о том, как я с ними справлялась, я и расскажу. Первая особенность — делать интернет-магазин я решила с Claude Code. До этого я успешно написала программу для AI-сопоставления номенклатуры с Claude. Он стал моим верным другом и товарищем, который знает то, что не знаю я. Например, Python ;-) Здесь все было вроде бы то, что я в определенной степени знаю: JavaScript, 1С-Битрикс, PHP, немного Vue и шаблонизатор Twig. Но признаюсь честно, я не чистый разработчик. Мне гораздо интереснее придумывать архитектуру, выстраивать логику решения, рассуждать, насколько это будет удобно и полезно для пользователя, чем просто писать код. Поэтому появление AI-агентов стало для меня просто спасением. Теперь я могла написать любую свою задумку, а не быть ограниченной собственными знаниями и сп
Оглавление
Интерпритация gpt на тему разработки магазина стройматериалов
Интерпритация gpt на тему разработки магазина стройматериалов

Этот интернет-магазин был бы банальным до невозможности, если бы не несколько нюансов. Они сделали его разработку совершенно нестандартным занятием, выходящим за рамки моего предыдущего опыта. Об этих особенностях и о том, как я с ними справлялась, я и расскажу.

Первая особенность — делать интернет-магазин я решила с Claude Code. До этого я успешно написала программу для AI-сопоставления номенклатуры с Claude. Он стал моим верным другом и товарищем, который знает то, что не знаю я. Например, Python ;-)

Здесь все было вроде бы то, что я в определенной степени знаю: JavaScript, 1С-Битрикс, PHP, немного Vue и шаблонизатор Twig. Но признаюсь честно, я не чистый разработчик. Мне гораздо интереснее придумывать архитектуру, выстраивать логику решения, рассуждать, насколько это будет удобно и полезно для пользователя, чем просто писать код.

Поэтому появление AI-агентов стало для меня просто спасением. Теперь я могла написать любую свою задумку, а не быть ограниченной собственными знаниями и способностями. Так что решение использовать Claude Code в разработке было окончательным и бесповоротным. Правда, для этого было одно маленькое «но». Или даже два.

Как я настроила работу Claude Code с сайтом на российском сервере

Первое — сайт располагался на российском сервере. Беда, конечно, с учетом того, что стандартная связка с Claude Code и Remote SSH в моем случае не подходила. Да, работаю я через VS Code. Хотя предпочла бы PhpStorm, но жаба задушила платный покупать. А сейчас вроде приспособилась уже.

Вместе с Remote SSH я исключила еще несколько приложений, работающих по тому же принципу. Мне нужны были SFTP-клиенты, которые скачивают и синхронизируют файлы проекта с удаленным хостом, а не работают сразу на хосте.

Но в проекте были символические ссылки и огромное количество файлов. Да, просто один шаблон был гигантским. И с этим не смог справиться ни один из существующих SFTP-клиентов, которые я попробовала.

Пришлось искать другие варианты. Попробовала работать на смонтированном по SSH диске. Но это тоже не пошло. Claude Code просто не мог нормально искать и читать файлы в такой среде. Он постоянно зависал и выдавал ошибки.

Следующая попытка — просто скачать папку сайта себе на компьютер и запустить туда Claude Code. Так работа пошла значительно лучше. Правда, папка скачивалась полдня. А потом каждое изменение Claude Code мне приходилось руками отправлять на сервер. Максимально долго и неудобно.

Я поняла, что решений, которые мне подходят, видимо, не существует. И тут вспомнила, что Claude Code может помочь мне самой разработать решение, которое будет удовлетворять всем моим требованиям и обеспечит мне эффективную работу.

Так родился мой личный SFTP-клиент для VS Code. Разумеется, он поддерживал символические ссылки, не падал при больших объемах скачиваемых проектов и поддерживал загрузку всех измененных Claude Code файлов по одной кнопке.

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

-2

А сам редактор кода использую только для возможности нажать заветную кнопочку и загрузить изменения. В сами файлы лезу случайно редко: лишь когда поправить самой быстрее или когда Claude Code где-то сильно тупит. А такое часто бывает, особенно в верстке.

Так первая проблема с тем, как заставить Claude Code удобно работать с сайтом на российском сервере, была решена. Но она была не единственная.

О моем опыте доработки шаблона Kosmos от Intec

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

Тысячи файлов шаблона: Vue, Twig, PHP, JavaScript, CSS. И сам черт ногу сломит с builder — специальной программой, которая позволяет визуально настроить главную страницу.

Это все было бы ничего, если ты покупаешь шаблон и реально готов приспособиться к его типовому функционалу без доработок. Хотя даже в этом случае могут возникнуть проблемы.

Например, клиент хотел, чтобы правильно работали подсказки в поиске на главной странице. Они брались непонятно откуда (по крайней мере непонятно мне, Intec, должно быть понятно) и не соответствовали текущему каталогу клиента. Ни я, ни Claude Code не смогли найти, откуда тянется этот кусок кода.

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

Все потому, что на один блок в builder приходится по 12 шаблонов. И ты не понимаешь, какой править. Например, конкретный запрос показывал мне, что используется девятый шаблон. Но при моем изменении шаблона, с очисткой кеша и проверкой в гостевом браузере, ничего не происходило.

И как вишенка на торте: header вообще падал при любом изменении настроек компонента в визуальном редакторе. Я не стала копаться почему. Просто меняла настройки в параметрах компонента на странице.

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

Порекомендую ли я Kosmos? Только если вы будете его кастомизировать напрямую с Intec. Ну или удовлетворитесь типовым функционалом шаблона и ничего переписывать не будете.

Особенности совместной поставки 1С-Битрикс24: Интернет-магазин + CRM

Вот казалось бы, одна польза должна быть. Ты фактически за стоимость редакции «Бизнес» для 1С-Битрикс еще и коробочный Битрикс24 получаешь. Ан нет.

Во-первых, в вашем коробочном Битрикс24 будет ограничение по пользователям. Во-вторых, совместно редактировать документы на диске вы сможете только с учетом ограничений поставки и настроек Bitrix24.Docs. В-третьих, вам придется самим настраивать модуль Push and Pull на сервере. Иначе часть функционала Битрикс24 будет работать некорректно.

В моем случае настройка вышла сложной. Я ловила косяк на косяке. Но в итоге справилась. Может, вам повезет больше ;-)

И самое веселое: в выбранном режиме работы заказы фактически уходили в CRM и дальше жили как сделки Битрикс24. А значит что? То, что стандартный обмен заказами 1С с 1С-Битрикс в моем случае нормально работать не будет.

-3

Я долго не могла понять, почему заказы не грузятся. А потом дошло. И мне пришлось с Claude Code написать свой обмен заказами. Причем сначала отправку данных на стороне Битрикса, а потом получение данных на стороне 1С, потому что часть реквизитов сама не вставала: НДС 5% и склад, который тоже важно было передать.

Использовала я стандартный обмен, зашитый в 1С, а не модуль Битрикса. Потому что модуль Битрикса в 1С клиента упорно выдавал ошибку и отказывался запускаться. УТ была дописанная, и, вероятно, модуль падал на каком-то измененном реквизите. Но я не стала в нем рыться. Меня типовой обмен более-менее устраивал.

Был вариант установить коннектор Битрикс24 и сделать обмен через него, но для проекта клиента он был избыточен. Клиент использовал Битрикс24 как корпоративный портал и систему постановки задач. А CRM ему была не нужна. По крайней мере, пока вести сделки клиент не хочет :-)

Как итог: если вы не хотите писать обмен с 1С руками или копаться в коннекторе, то совместная поставка интернет-магазина и CRM может оказаться не вашим вариантом.

Кстати, для обмена через коннектор 1С клиента должна быть опубликована на белом IP и работать по защищенному протоколу. Не все на это идут, и это дополнительные настройки.

Работа Битрикса с несколькими складами

Это вроде типовой момент, предусмотренный в редакции «Бизнес». Но Битрикс работает с несколькими складами не совсем таким образом, как 1С. По крайней мере, шаблон Kosmos реальную работу с несколькими складами не поддерживал.

Если ты делал заказ на сайте, товар списывался — а точнее даже не списывался, а ставился в резерв — с доступного количества. Читай: с суммы количества товаров на всех складах. И Битрикс не знает, с какого конкретно склада что списалось.

Точнее, он узнает, если есть обратный обмен с 1С, где передается реальный склад. Но при стандартном обмене склад не передается, а подставляется склад, выбранный в настройках обмена. Я могу в этом моменте ошибаться, потому что скрипт обмена заказами писала с Claude Code по тому, что было в документации Битрикса. Но я сама видела, что при заказе уменьшается лишь доступное количество товара, а не остаток на конкретном складе.

Это нормально, если ваши менеджеры потом руками будут в 1С подставлять нужные склады и отгружать с них. Для кого-то это более предпочтительный вариант.

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

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

-4

Еще нужна была передача этого склада в 1С, с расширением 1С, которое говорит 1С, как прочитать склад из файла выгрузки и куда его записать. Расширение 1С я тоже писала с Claude Code. Это интересно, но реально сложно. Я сама в конфигураторе и в 1С более-менее шарю, но я не программист 1С. Поэтому по большей части полагалась на Claude Code. Но в итоге все получилось.

Еще я на этом проекте разрабатывала функционал резки металлопроката, но это с Claude Code получилось довольно просто и быстро.

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

Делала обработку для автоматического проставления характеристик товарам после обмена с 1С. Мне нужно было определенным позициям металлопроката заполнять кратность, чтобы продавать куски не менее трех метров, и длину товара, которая нужна была в резке.

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

Надеюсь, и вам мой опыт оказался полезным. Спасибо за прочтение!
Ссылка на кейс
Об услуге разработка сайтов на Битрикс