ISSANCE Laboratory
2 поста
Если вы селлер Wildberries и продаёте маркированный товар — вы знаете эту боль.
После каждой FBW-поставки нужно подать УПД на ООО «РВБ» с приложением всех КИЗов. Срок — 3 рабочих дня. Опоздал — штраф до 300 000 ₽ по статье 15.12 КоАП и риск, что коды заблокируют. И товар на складе превратится в тыкву.
Я задолбался делать это руками каждую неделю. Сел и сделал инструмент за пару вечеров. Раздаю бесплатно.
Кто я
Меня зовут Иван. Делаю штуки на стыке 1С, веба и автоматизации. Сам селлер WB — продаю на маркетплейсе пилинг для кожи головы. Маркированный товар, акты приёмки, КИЗы — это всё моя ежедневная боль, а не теоретический кейс.
Как это работает руками
Беру одну поставку и засекаю время.
1. ЛК Wildberries → Документы → нахожу нужную поставку → скачиваю акт приёмки.
2. Тут же скачиваю CSV-шаблон для Честного знака. КИЗы там уже есть, но название товара и колонка НДС пустые.
3. Открываю CSV в Excel и руками в каждой строке вписываю название и «0» (без НДС).
4. Иду в ЭДО Лайт. Создаю черновик УПД.
5. Вбиваю реквизиты ООО «РВБ»: ИНН 9714053621, КПП склада, полный адрес, ФИО подписанта, должность.
6. Загружаю CSV. Проверяю что коды подтянулись.
7. Подписываю УКЭП. Отправляю.
Чистого времени — 20–30 минут на одну поставку. Это полдня в месяц только на бумажки.
Самое больное — пункты 3 и 5. Excel и адрес склада, который никто наизусть не помнит.
Что я сделал
Веб-страница. Два поля.
Первое — WB API-токен. Создаётся в личном кабинете за 30 секунд. Права только Поставки и Документы, режим — только чтение. Никаких прав на запись.
Второе — ID абонента ЭДО Лайт вида `2LT-XXXXXXXXXX`. Берётся из профиля Честного знака, в разделе «Подключённые операторы ЭДО».
Один раз вставили — система запомнила. Дальше выбираете поставку из списка и жмёте «Сгенерировать XML». Через 3 секунды скачивается файл.
Идёте в ЭДО Лайт, жмёте «Загрузить УПД», выбираете файл — открывается готовый черновик. Со всеми полями. Контрагент, склад, товар, 100+ кодов маркировки, основание, подписант. Подписали УКЭП — отправили.
С секундомером от «Сгенерировать XML» до подписи — 30–40 секунд.
Что под капотом
Никакого ИИ и никакого облака. Обычный PHP на shared-хостинге.
Дёргаются три API:
— WB Supplies API — подтягивает список ваших FBW-поставок за 60 дней.
— WB Documents API — по выбранной поставке скачивает акт. WB присылает ZIP с xlsx-актом, подписью и МЧД. Распаковываю, беру только xlsx. Парсер — самодельный на ZipArchive + SimpleXML, без тяжёлых библиотек. Из xlsx достаю ИНН продавца, наименование товара и список КИЗов.
— DaData — самая вкусная часть. ИНН у меня уже есть из акта. Отправляю в `findById/party` и получаю всё: название юрлица, КПП, адрес по полям (индекс/город/улица/дом/корпус), ФИО директора, его должность. Прямо из ЕГРЮЛ.
Раньше селлер вписывал 16 полей руками. Теперь — ноль.
Дальше собираю XML формата ФНС 5.03 (приказ ЕД-7-26/970@). Кодировка windows-1251, теги на русском — `<СвПрод>`, `<ТаблСчФакт>`, `<НомСредИдентТов>`. Имя файла собирается по регламенту ФНС и должно совпадать с внутренним атрибутом `ИдФайл`, иначе ЭДО Лайт отклонит импорт. Это была отдельная боль при отладке.
Промежуточные данные кешируются на сутки по seller-ID. Повторная генерация по той же поставке — мгновенно.
Сколько реально экономит
10 поставок в неделю — экономия 4+ часа. За год — около 200 часов. Это полноценный месяц работы только на одной операции.
Безопасно ли вводить токен
Понимаю что вопрос будет.
Токен проходит через сервер только в момент запроса к WB API. Нигде не сохраняется — ни в логах, ни в файлах, ни в базе. Но я бы всё равно после генерации сходил в ЛК WB и удалил токен одной кнопкой — на всякий случай.
Реквизиты от DaData — публичные данные ЕГРЮЛ. Доступны по любому ИНН любому желающему. Никакой магии и никаких скрытых данных.
Что пока не работает
Не буду делать вид что инструмент идеален.
— Работает только склад Коледино. Это самый популярный, у меня вся отгрузка туда. Электросталь, Подольск, Казань, Тула — добавляю по мере появления эталонных XML от селлеров.
— Ozon — соседний инструмент в работе. У них схема похожая, но ещё надо файлик переименовывать в нужный формат. Скоро будет.
Видео-инструкция
Записал короткое видео где прохожу весь путь от создания токена до подписанной УПД. 6 минут, без монтажа: https://youtu.be/O5GdfYJNOiU
Где взять
Инструмент тут: https://onemanproduction.ru/tools/wb-chestny-znak/
Бесплатно. Без регистрации. Без рекламы.
Если что-то не работает или нужен ваш склад РВБ — пишите в комментариях, доправлю. Это рабочий инструмент, я его сам каждую неделю использую.
Селлеров WB на Пикабу много — может кому-то сэкономит пару часов в неделю. А может найдутся те кто покажет где я промахнулся в реализации. И то и другое — полезно.
Часть 1 цикла про ISSANCE. Как всё начиналось и почему мы только сейчас выходим в операционный плюс
Пересказываю как было.
Я переболел ковидом третий раз. Вроде отлежался, всё вернулось в норму — работа, тренировки, сон. А через пару месяцев начал замечать что волос на подушке стало больше. Потом больше в раковине. Потом стало видно на макушке.
К врачу, как нормальный человек, я не пошёл) Пошёл на маркетплейс. Набрал всё что продавалось с пометкой «от выпадения» — шампуни, лосьоны, ампулы, какие-то корейские чудо-средства. Перепробовал. Ни одно не сработало.
Сижу, смотрю в зеркало, и понимаю — это ниша. Реальная, больная, огромная. Выпадение волос после ковида — это миллионы людей, которые сейчас делают ровно то же самое что и я: покупают хлам на маркетплейсе и надеются.
И я подумал: а что если сделать нормальный продукт. Не очередной репейник, а реально с работающими активами. Так начался бренд ISSANCE Laboratory.
Кто я
Я генеральный директор и совладелец ISSANCE. Моя жена — второй совладелец и партнёр. Она занимается разработкой продуктов и строит команду маркетинга для вывода новых позиций на рынок. Я — на финансовой и технической части: юрлицо, деньги, сервера, сайт, интеграции, маркетплейсы, любой софт которым пользуется компания.
Эта статья — первая в цикле про наш бренд. Расскажу честно — с чего начинали, во что вляпались, какие решения оказались дорогими ошибками, и почему только сейчас, на третий год, мы наконец выходим в плюс по операционке.
Первые вложения
Когда я решил что делаю свою косметику — первое что сделал, продал майнинг-оборудование.
На тот момент у меня была собранная ферма. Доходная, работающая, со своим графиком окупаемости. Для меня это был источник пассива. Но для запуска бренда нужны были деньги здесь и сейчас — на формулу, на тесты, на производство первой партии, на упаковку, на регистрацию. Я распродал всё и вложил в косметику.
Сейчас я понимаю что это было единственно правильное решение из всех что я потом принял.
Продукт
Мы с женой сели за формулу(удачно совпало, что она химик-технолог по образованию) и сделали сыворотку от выпадения волос. 100 мл. Внутри CAPIXYL и ActiTide — активы с клиническими исследованиями, а не «экстракт ромашки и любви».
Продукт получился реально работающий. Это подтвердили и люди которые его попробовали, и позже — трихологи, которые начали рекомендовать её пациентам.
И вот тут я сделал первую большую ошибку.
Ошибка №1 — один продукт вместо линейки
Моя логика была простая. Сделаю один идеальный продукт, вложу в него душу, бюджет и маркетинг. Он выстрелит, и дальше уже буду расширяться.
На практике так не работает.
Один продукт — это один запрос. Люди ищут «шампунь от выпадения», «пилинг для кожи головы», «сыворотка для роста» — и это разные поисковые запросы, разные категории на маркетплейсах, разные целевые аудитории. С одной сывороткой ты отвечаешь только на один из них.
На маркетплейсах с одним SKU ты невидим. WB и Ozon любят бренды с линейкой. Когда в карточке магазина 10 позиций — человек бродит по ассортименту, добавляет пару товаров в корзину. Когда одна позиция — он её либо сразу купил, либо ушёл навсегда.
Одним продуктом не охватить сегменты. Есть те кому нужен уход для кожи головы, есть те кому нужен шампунь без SLS, есть те кто хочет «набор для восстановления». Каждому нужно своё.
Правильное решение было — делать сразу 5, а лучше 10 продуктов. Пусть проще, пусть дешевле, пусть без уникальных активов в каждом. Линейка бьёт «одинокий флагман» в первый год любого бренда.
Сейчас у нас 4 продукта — сыворотка, пилинг, шампунь, спрей. И мы продолжаем расширяться. Но это уже на третьем году. А первый я весь просидел с одной баночкой, недоумевая почему оно не едет.
Ошибка №2 — сразу нанял сотрудников
Вторая ошибка была ещё дороже.
Как только появился продукт, я сделал «по-взрослому»: нанял двух менеджеров по продажам и отдельного менеджера по маркетплейсам. Трое человек на старте. Каждому зарплата, налоги, задачи. Логика: у меня есть продукт, нужны люди которые его будут продавать.
Проблема в том что новый бренд никому не нужен.
Менеджеры по продажам звонили в салоны и клиники — им отвечали «а кто вы? Отзывы есть? Опыт применения? Кто из врачей уже работает?». У нас не было ничего из этого. Мы были новыми, никому не известными — и это просто нельзя было закрыть холодными звонками.
Менеджер по маркетплейсам был опаснее. С виду он делал «продвижение», а на деле сводил всё к двум рычагам — реклама и акции.
По рекламе он разгонял бюджеты до космоса. Расходы на рекламу на WB у меня доходили до 50% от выручки. Для понимания — нормальный показатель для косметики 10% и меньше. То есть половину того что мы зарабатывали, мы тут же отдавали обратно маркетплейсу за показы. Плюс зарплата сверху.
По акциям — постоянно загонял товар в новые и новые распродажи. Каждая акция — это минус к цене. Цена падала, маржа падала, зарабатывали всё меньше. А менеджер отчитывался «смотрите, продажи растут» — да, растут штуками, но не деньгами.
За всё это я платил зарплаты каждый месяц. И сжигал те самые деньги от майнинга — на людей, которые либо не могли продавать, либо продавали так, что компания теряла.
Уволил всех троих. И первое решение, которое я принял сразу после увольнения менеджера по маркетплейсам — выйти из всех акций. Вообще. Перестали участвовать, перестали давать скидки, вернули нормальную цену.
Выручка в штуках просела. Но деньги в кассе наконец-то появились. Потому что каждая проданная баночка стала приносить то, что должна приносить, а не половину этого.
Самое болезненное в этой ошибке — я потерял не только деньги. Я потерял время. Полтора года на то, чтобы понять что команду надо собирать под процесс, а не процесс под команду.
Сейчас всё устроено иначе. Разработка продуктов и построение маркетинга — на жене. Финансы и техника — на мне. Упаковка, логистика, часть работы с маркетплейсами — аутсорс и подрядчики под задачу. Команду собираем точечно, под конкретный процесс, а не «по рынку». Фонд оплаты труда не жжёт бюджет, и бизнес наконец-то стал управляемым.
Где мы продаём сейчас
Три канала, и у каждого своя специфика.
Wildberries. Основной объём. Сейчас на карточках есть отзывы, рейтинги, поисковое продвижение. Работает, но требует постоянного внимания — цены, остатки, контент, рекламные кампании, рейтинг.
Ozon. Запустили параллельно. Механика похожая, но аудитория и правила свои — мы всё ещё учимся.
Свой сайт issance.ru. Сюда приходят пациенты от трихологов — с промокодами которые мы даём врачам. Этот канал маленький по объёму, но даёт нам самого преданного клиента. Человек которого направил врач, возвращается за повторной покупкой почти всегда.
Это разные каналы, с разной экономикой, и каждый требует своего подхода. Работают они только вместе — один в одиночку не даст достаточно оборота чтобы выйти в плюс.
3 года спустя
Мы в бизнесе уже 3 года. И только сейчас, в 2026, мы выходим в операционный плюс.
Это честная цифра. Не «запустились и взлетели», не «за полгода окупились». 3 года на то чтобы разобраться в продукте, каналах, команде, цифрах.
Что я понял: - Линейка важнее флагмана. Начинай с 5-10 продуктов, даже если они проще. - Команда — в последнюю очередь. Сначала процесс, потом люди. Не наоборот. - Каналы не заменяют друг друга. WB, Ozon и сайт — не конкуренты, а разные двигатели одной машины. - Деньги от майнинга заканчиваются. В какой-то момент ты остаёшься один на один с операционкой — и она должна кормить сама себя.
Что дальше в цикле
В следующей статье расскажу как мы работаем с врачами и почему именно этот канал оказался самым доверительным. А дальше — отдельно про маркетплейсы, отдельно про сайт, отдельно про инструменты которые пришлось писать самому.
А у вас был опыт захода в нишу где вам лично было больно? Делали продукт под собственную проблему — и как оно пошло? Интересно послушать истории людей которые запускали что-то «для себя», а не «для рынка».
Часть 2 — LCD-дисплей, камера и первый взгляд робота на хозяина
В первой части я рассказал как решил собрать настольного робота после фильма «Финч» с Томом Хэнксом. Raspberry Pi, мозг на Claude, голос — всё это уже было. Но робот без лица — это сервер с колонкой. А мне нужен был именно робот.
Сегодня приехали запчасти. И Флаппи наконец-то получил глаза.
Что приехало
3,5-дюймовый LCD-дисплей. Втыкается прямо в GPIO Raspberry Pi — никаких HDMI-кабелей, никаких переходников. Маленький, но для мордашки робота — идеально.
В комплекте с монитором шел кулер, который питается от него же. Китайские братmя даже термопрокладки положили.
И камера. Обычная, на 5 мегапикселей. Ничего навороченного — но достаточно чтобы робот мог «видеть».
Подключение дисплея
С дисплеем оказалось просто. В комплекте шла инструкция на одну страницу:
git clone https://github.com/goodtft/LCD-show.git
cd LCD-show/
sudo ./LCD35-show
Три команды, перезагрузка — и на экране появился рабочий стол Raspberry Pi. Всё. Без танцев с бубном, без драйверов из непонятных источников. Приятно когда железо просто работает.
Рисуем лицо
Дисплей работает — но на нём рабочий стол Linux. А мне нужна мордашка.
У меня уже был написан рендерер лица на pygame — 7 эмоций, моргание, движение зрачков, дыхание. Но изначально он был под большой монитор (800×480). Пришлось адаптировать под маленький экран (480×320) и запустить в полноэкранном режиме чтобы убрать системную панель.
Первая версия лица выглядела... криповато.
Анимированные брови на маленьком экране — это не мило, это жутко. Перерисовал в робо-стиле: большие скруглённые глаза с голубым свечением, аниме-блики на зрачках, пульсирующая антенна сверху. Без бровей вообще — эмоции передаются через форму глаз.
Получилось 7 состояний:
• Sleeping — щёлочки вместо глаз, тёмный фон
• Listening — широко открытые глаза, «я весь внимание»
• Thinking — прищур, зрачки вверх
• Speaking — рот анимируется в такт речи
• Happy — глаза-дуги как в аниме, розовые щёчки
• Surprised — огромные глаза, маленькие зрачки
• Sad — опущенные глаза, рот дугой вниз
И они плавно переключаются между собой. Не просто «хоп — другая картинка», а smoothstep-интерполяция всех параметров. Глаза плавно сужаются, зрачки плавно перемещаются, фон плавно меняет цвет. Выглядит живо.
Камера — Флаппи учится видеть
Камера воткнулась шлейфом и сразу определилась. Никаких драйверов — Pi увидел OV5647 и готово.
Написал скрипт: камера делает фото → фото сохраняется на диск → Claude (который уже живёт на этом же Pi) получает команду «прочитай этот файл и расскажи что видишь».
Первый тест — направил камеру в упор на монитор. Claude ответил:
Перенаправил камеру на себя. Второй ответ:
Он меня узнал. Точнее — описал. И сделал это за 10 секунд.
Ну и конечно, как же не сфотографировать любовь всей жизни
Это не заранее записанные фразы. Не распознавание по шаблону. Claude реально смотрит на фотографию и описывает что видит. Своими словами, с юмором, по-русски.
Кнопка «Фото» в админке
У Флаппи есть веб-админка — панель управления где видно температуру процессора, загрузку памяти, статус сервисов. Я добавил туда кнопку «Фото».
Нажимаешь → камера снимает → Claude смотрит → ответ появляется прямо в браузере рядом с фотографией. 10-15 секунд от нажатия до ответа.
Теперь можно сидеть на диване с телефоном, нажимать кнопку и смотреть как робот описывает что происходит в комнате. Это странно увлекательно.
Что дальше
Сейчас камера — это «сделай фото по запросу». Но хочется чтобы Флаппи реагировал сам. Увидел человека — поменял эмоцию на happy. Никого нет — заснул. Увидел что-то необычное — удивился.
Ещё хочу подключить TTS чтобы он не просто писал текст а озвучивал. Фото → Claude → голос из колонки. Полный цикл.
И да — 2 гигабайта оперативки на Pi 4 это боль. Faster-whisper (локальное распознавание речи) + pygame + камера — всё еле помещается. Но пока живём.
Жду до конца недели приход камеры и микрофона, чтобы дать голос Флаппи и начать делать с ним первые проекты.
Как вам идея с камерой? Что бы вы заставили робота делать — охранять квартиру, комментировать что происходит, или может узнавать гостей?
Несколько человек просили написать как создавался MCP сервер, исполняю их желание.
Если вы работаете с 1С и пробовали просить ChatGPT или Claude помочь с кодом — вы знаете боль. ИИ пишет красиво, уверенно и абсолютно неправильно. Потому что он понятия не имеет что у вас в базе.
Какие справочники. Какие реквизиты. Какие типы данных. Он угадывает — и промахивается.
Я решил это починить.
Представьте: вы просите ИИ написать обработку для 1С Бухгалтерия или ЗУП . Он спрашивает — а какие у вас документы? Какие реквизиты у Расходной Накладной? А контрагент — это справочник или перечисление? А НДС — это ставка из справочника или значение перечисления?
И вы начинаете копировать метаданные. Скриншотить конфигуратор. Объяснять словами то, что лежит прямо в базе.
На это уходит больше времени, чем на саму задачу.
Идея
А что если ИИ сам увидит базу? Не через скриншоты. Не через мои объяснения. А напрямую — залезет в метаданные, выполнит запрос, посмотрит документ.
Оказалось, для этого существует протокол. Называется MCP — Model Context Protocol. Его придумали в Anthropic (создатели Claude). Суть — стандартный способ подключить к ИИ любой источник данных. Базу данных, API, файловую систему — что угодно.
Нужен только сервер, который говорит на этом протоколе. Для 1С такого не было.
Я сделал.
Это внешняя обработка. Обычный .epf файл. Открываете в 1С, нажимаете «Запустить» — и на вашем компьютере поднимается HTTP-сервер.
Да, прямо внутри 1С.
Главный трюк — нативная внешняя компонента. Маленькая DLL на C++, которая умеет слушать порт и принимать HTTP-запросы. Она живёт внутри обработки как макет. Подключается автоматически при запуске.
Когда Claude Code отправляет запрос — компонента его принимает и стреляет событие в 1С. Дальше 1С-код разбирает JSON, находит нужный инструмент, выполняет, возвращает результат. Протокол — JSON-RPC 2.0 поверх SSE (Server-Sent Events).
Звучит сложно. На практике — один файл конфига в папке проекта:
{"mcpServers": {"onec": {"type": "sse", "url": "http://192.168.31.254:1414/mcp"}}}
Всё. Claude Code видит базу.
Восемь инструментов. Каждый — отдельная команда, которую Claude может вызвать сам, без моего участия.
execute_query — выполнить любой запрос на языке 1С. «Покажи все документы за март» — и через секунду таблица с данными.
execute_code — выполнить произвольный код. Claude пишет код, OneBridge его запускает на сервере, возвращает результат.
get_metadata — прочитать структуру базы. Справочники, документы, реквизиты, табличные части, типы данных. Три режима: общая сводка, фильтрованный список и детальная структура конкретного объекта.
get_event_log — журнал регистрации с фильтрами. Полезно для диагностики.
get_object_by_link — получить конкретный документ или элемент справочника по ссылке. Claude видит все поля, все строки табличных частей.
get_link_of_object — обратная операция: по описанию объекта получить навигационную ссылку.
find_references_to_object — найти все места в базе, где используется конкретный объект. Аналог «Найти ссылки на объект» из конфигуратора.
get_access_rights — права доступа к объектам метаданных. Кто что может делать.
Первый вопрос, который задают: «А он не удалит мне всю базу?»
Нет. В OneBridge есть детектор опасных операций. Когда Claude просит выполнить код с Записать(), Удалить() или УстановитьПривилегированныйРежим() — сервер не выполняет молча. Он останавливается и показывает диалог: вот код, вот что в нём опасного. Разрешить?
Три режима: автоматическое разрешение (для записи — если вы доверяете), подтверждение через диалог, или полная блокировка. Настраивается галочками прямо в форме обработки.
Одним (почти) промптом через Claude Code.
Я написал спецификацию: какие инструменты нужны, какой протокол, какие форматы данных, как работает нативная компонента. Дал Claude Code — и он сгенерировал 12 000 строк кода на языке 1С.
Конечно, не с первого раза. Были итерации — парсер JSON не обрабатывал ссылки на объекты, метаданные расширений кэшировались неправильно, legacy-транспорт SSE не работал параллельно с новым. Но каждый раз я объяснял проблему — и Claude исправлял.
Итого: два вечера. Один — на спецификацию и первую рабочую версию. Второй — на допиливание и тестирование.
Если вы работаете с 1С и используете (или хотите начать использовать) ИИ для разработки — OneBridge меняет всё. Вместо слепого ИИ, который угадывает структуру вашей базы, вы получаете ИИ, который её видит.
В прошлой статье я показывал как за 55 минут создал обработку загрузки данных с Wildberries. Так вот — она была создана именно через OneBridge. Claude сам залезал в базу, смотрел эталонные документы, проверял метаданные. Без этого — было бы не 55 минут, а 55 сообщений с копипастом метаданных.
OneBridge бесплатный. Полностью. Телеграм-бот @onebridge1c_bot — написали, нажали /start, получили файл. Всё.
Скачать промт, чтобы попробовать создать самому.
Не забываем при первичной постановке ТЗ включать режим Plan.
12 000 строк кода. Восемь инструментов. JSON-RPC поверх SSE. Детектор опасных операций. И всё это — внешняя обработка, которая открывается в любой базе 1С одним файлом.
Сколько раз вы уже слышали что традиционная разработка 1С скоро канет в лету, что скоро всё будет делать искусственный интеллект, и вообще ни строчки кода мы писать не будем — только наговаривать? Я думаю, огромное количество раз.
Сегодня я попробовал это проверить на реальной задаче. Засёк время, записал процесс на видео — и вот что вышло.
Кто я и почему это важно
Меня зовут Иван. Я работаю с 1С уже больше десяти лет. Начинал как проджект-менеджер, потом системный аналитик. Был кем угодно — только не программистом. Ни одной строчки кода за свою жизнь не написал и не напишу.
Но при этом я достаточно неплохо умею автоматизировать процессы и разобрался в новых инструментах. Об одном из них — сегодня.
Задача
У меня есть 1С:УНФ (Управление нашей фирмой — конфигурация для малого бизнеса). И в ней почему-то до сих пор не завезли загрузку из Wildberries по API. Загрузка есть — но только из файла и только для Ozon.
Если попробовать создать отчёт комиссионера и загрузить данные из файла — ничего не получится. Там обычная табличная часть, каждый документ нужно создавать руками. Это долго и муторно.
Я так делать не хочу. Я хочу чтобы всё загружалось само.
Что у меня есть из инструментов
Первый — Claude Code. Это AI который умеет писать код, анализировать ошибки и исправлять их. Работает в терминале, я просто надиктовываю ему что нужно.
Второй — OneBridge. Это мой собственный MCP-сервер для 1С, по сути мост между Claude и базой 1С. Через него Claude видит всю структуру документов, справочники, регистры — и может сам разбираться в метаданных, тестировать, находить ошибки.
Без OneBridge Claude не понимает что происходит внутри базы. С ним — видит всё.
Как это выглядит
Открываю Claude Code. Надиктовываю задачу голосом:
«Создай внешнюю обработку для 1С УНФ. Назови её "Загрузка реализации Wildberries". Я беру ключ API из Wildberries, вставляю его в обработку, выбираю свою компанию, выбираю контрагента — и она загружает через HTTP-запрос все необходимые данные. Нужно чтобы я мог выбирать период. Если номенклатуры нет — создавать автоматически.»
Да, вот прямо так — обычным языком. С опечатками, повторами, эканьем. Claude всё понял.
17 минут — план готов
Claude запустил три агента параллельно. Один полез в базу через OneBridge изучать структуру документов. Другой смотрел метаданные — справочники, регистры. Третий разбирался с API Wildberries.
Через 17 минут у меня готовый план: какие документы создавать, какие поля заполнять, откуда брать данные. Я даже не читал — просто нажал «yes».
25 минут — код написан, EPF собран
К 25-й минуте код готов. Claude сам собрал EPF через v8unpack и отправил на сервер.
Открываю. Работает. Вставляю API-ключ, выбираю период, нажимаю «Загрузить».
Создались три документа — расходная накладная, отчёт комиссионера, реализация.
Первый баг — неправильная цена
Суммы не сходятся. Claude взял цену из личного кабинета WB, а нужно было брать столбец «цена продажи» — то что реально заплатил покупатель.
Говорю ему: посмотри Excel-файл на сервере, найди правильное поле в API, переделай.
К 30-й минуте цены правильные.
Второй баг — даты
Документы создались сегодняшней датой. А нужно датами из отчёта Wildberries. Это важно для отчётности: мы сдаём её поквартально, и если документ за январь создан апрелем — бухгалтер не обрадуется.
Объясняю проблему. Claude сам нашёл нужное поле в API, переписал код. Проверяю — даты правильные.
Третий баг — НДС и строки
В отчёте комиссионера должно быть две строки, а создалась одна. Плюс колонка НДС пустая — документ не проводится.
Тут я сделал полезную штуку: просто сделал скриншот ошибки в 1С и отправил его Claude. Он посмотрел на картинку, понял в чём дело — нашёл что ставка НДС в УНФ это справочник, а не перечисление как в других конфигурациях. Поэтому его код и не работал.
Исправил, пересобрал, задеплоил.
50 минут — готово
К 50-й минуте у меня работающая обработка. Документы загружаются, суммы сходятся, даты правильные, НДС заполнен, документы проводятся.
Остался один отчёт комиссионера который не провёлся — но и его уже решил. Оказалось, что документы не проводились из-за отсутствия остатков. Поэтому во второй версии документ создаётся раньше фактической продажи и кладёт на остатки ровно то количество товара которое нужно.
Сухие цифры
Общее время: 55 минут от «надиктовал задачу» до «рабочая обработка». Моё личное время: меньше 15 минут. Остальное я сидел и ждал, переключаясь между другими задачами. Итераций правок: 5 (цена, даты, НДС, строки, автозаполнение). Потрачено токенов: 37% от пятичасового лимита, 10% от недельного. Строк кода написано мной: 0.
Ноль. Я не написал ни одной строчки. Только говорил что не так и отправлял скриншоты.
Что это значит на практике
Раньше такую задачу я бы отдал программисту. Он бы оценил её в 3-5 рабочих часов. Стоило бы тысяч 10-20. А результат на самом деле пришёл бы через пару дней.
Я сделал это за час. Бесплатно — не считая подписки на Claude. Не написав ни строчки кода.
Да, обработка не идеальна — нужно ещё разобраться с парой мелочей. Но 95% работы сделано. А допилить оставшееся — ещё 15 минут диалога с Claude.
Важный момент
Всё что я делаю в рамках этих материалов — все обработки, расширения, инструменты — я выкладываю бесплатно. Пользуйтесь на здоровье.
Обработки - https://disk.yandex.ru/d/uph7Kz9OaWPTOQ
OneBridge (мост между Claude и 1С) — тоже бесплатный.
Это не будущее. Это уже настоящее. Я не программист. Но я автоматизирую процессы быстрее чем большинство программистов.
Вопрос к вам: с какой задачей по 1С Claude и OneBridge не справятся? Пишите в комментариях — возьмём самую интересную и снимем видео.
Предыстория, или как Том Хэнкс виноват в том, что я теперь не сплю
Посмотрел на днях фильм «Финч» (2021) — тот, где Том Хэнкс в постапокалипсисе собирает робота, чтобы тот позаботился о его собаке. Робот там учится ходить, водить машину, понимать мир. Снято невероятно душевно и при этом грустно до комка в горле.
Проснулся на следующий день и понял: хочу такого же. Ну, не в смысле постапокалипсис — а именно робота-компаньона, который рядом, который учится, с которым можно разговаривать.
Понятное дело, ходить мой робот не будет — это совсем другой уровень сложности и бюджета. Но вот сделать настольного помощника, с которым можно общаться голосом, который видит меня через камеру и реально помогает в работе — это мне вполне по силам.
Кто я такой и почему думаю, что потяну
Я работаю сисадмином и разработчиком. Разворачиваю сервера, пишу обработки, делаю телеграм-ботов, собираю сайты. У меня дома свой сервер (даже несколько), и целый зоопарк из виртуальных машин и контейнеров. Так что с железом и софтом я на «ты».
Знакомьтесь — Flappy
Назвал его Flappy — от английского «flappy», болтливый. Потому что главное, что он будет делать — это разговаривать со мной и помогать голосом.
Что он из себя представляет на сегодня — это коробочка на базе Raspberry Pi, которая будет стоять у меня на рабочем столе. Вот что я для него заказал:
Всё уже заказано на Алиэкспрессе, ждём.
Что он будет уметь
Вот тут самое интересное. Я хочу, чтобы Flappy был не просто говорящей колонкой, а реальным помощником.
Голосовое общение. Микрофон + динамик — чтобы я мог просто сказать: «Flappy, поставь задачу на завтра: в 9 утра сформировать ОПД и отправить клиенту» — и он поставит. У меня уже есть свой телеграм-бот, куда я наговариваю задачи — осталось прикрутить это к Flappy.
Управление серверами. Мечта — сказать: «Flappy, подключись к Proxmox, создай виртуальную машину, разверни там SSH и пришли мне доступы». Креды у него будут в памяти, API у Proxmox есть — технически это реально.
Камера и узнавание. Хочу, чтобы когда я захожу в комнату, он видел меня и говорил что-нибудь вроде: «Привет, Иван, давно не виделись!» Или мог распознать, что я ему показываю.
Экранчик с эмоциями. На 3,5-дюймовом дисплее будут отображаться эмоции, статусы, может быть какие-то подсказки. Чтобы он был не просто коробкой, а чем-то живым.
Что дальше
Пока жду посылки с Али. Когда всё приедет — начну собирать и буду выкладывать процесс. Если тема зайдёт, сделаю серию постов: от сборки железа до первого «Привет, Иван».
Как вам идея? Стоит делать серию постов, или я один тут сумасшедший, который вдохновился фильмом и решил собрать себе робота-помощника на малинке?