Первый нормальный
3 subscribers
4 photos
7 links
Автоматизация на 1С для тех, кому стандартных решений недостаточно

🌐 1norm.ru
✉️ @KokorinAV
Download Telegram
Ну что, в России окончательно заблокировали Телеграм. Все срочно переманивают аудиторию в Макс.

Значит, пора нам завести канал для телеграмобояр, которые освоили ВПН. Ведь как говорил великий Джон Коннор: «Если вы меня слышите, вы и есть Сопротивление».

Здесь будем писать истории с работы и не всегда умные мысли, которые приходят нам в голову. Без контент-плана и обязательств — только когда есть что сказать и время написать.

Подписывайтесь, пока VPN работает. А то я даже не представляю, как вы жили без этого канала.

Ах да, в Максе канала не будет
Как менеджерам продать 1000 матрасов со скидкой и не убить друг друга

Ситуация: 100 менеджеров в разных городах, продают клиентам матрасы оптом. Рынок максимально жесткий, маржа минимальная, но все решают объемы. И тут удается закупить у поставщика 1000 матрасов со скидкой 25%.

Но если наценка от цены поставщика 10%, то продавать со скидкой 25% можно только эту 1000. Уже 1001 матрас будет продан в убыток. Для каждого менеджера это отличная возможность выполнить план и заработать очки репутации у клиентов. Но тут есть проблемы:

— Клиент скажет «беру 100шт» и не оплатит счет;
— Менеджер врубит волка с Уолл-стрит и забронирует 200шт для любимых клиентов — и будет сидеть на этой брони, пока остальные продают эти же матрасы дороже.

Что сделали: дописали механизм скидок в 1С, чтобы можно было строго лимитировать количество товаров по скидке. При этом учитывали не только проданные, но и просто зарезервированные товары. Плюс сделали менеджерам отчет, чтобы видеть, сколько акционных товаров ещё есть.

Все выжили, но РОП все равно раз в неделю проверяет брони и снимает их, если клиент не успел оплатить.

Подробности и скриншоты — на сайте
Как интегрировать свой сервис с 1С и платить 1Сникам реже и меньше

Сначала честно: если вы стартап и есть шанс закрыться до того, как 1Сники доделают API — берите самое дешёвое предложение и не усложняйте. Когда выстрелит — тогда и переделаете.

Для остальных сделали чеклист «как на разработке потратить побольше, чтобы на поддержке потратить поменьше».

1. Разделяйте получение и обработку данных. Сохраняйте в 1С данные запроса и сразу отвечайте сервису, что всё ОК. А обработку делайте регламентными заданиями.

Почему: в современной айтишке не принято ждать ответ на запрос по 30 секунд. А если вам в 1С надо создать штук 5 документов и 3 справочника, сервис отвалится по таймауту раньше, чем 1С закончит. Бонусом ваши 1Сники получат возможность разобраться с ошибкой без просьб отправить запрос ещё раз. Потому что самые большие потери времени — на коммуникации между отделами.

2. Сделайте возможность получать и отправлять данные несколько раз. Ведь и сервису, и 1С может поплохеть. Вроде бы это общий стандарт разработки: не получил ответ — не меняй статус. Но на практике видели разное. Если статус меняется сразу после отправки данных, то при ошибке загрузки данные для вашего сервиса уже «отправлены», а в 1С их нет. Если их ещё и повторно не запросить — всё, повторная отправка данных превращается в задачу на 90 сообщений в Слаке.

3. Сохраняйте всё, что приходит по API. Никогда не знаешь, что пригодится в будущем. Бонусом сможете показать разработчикам сервиса их же запрос и быстро выяснить, на чьей стороне надо чинить.

4. Если логика на стороне 1С меняется постоянно — выносите её из кода в настройки. Пусть 1Сник правит бизнес-логику в отдельном механизме внутри 1С, а не в конфигурации. Тогда каждое изменение не будет стоить вам доработки, тестирования и деплоя. Если логика меняется редко — выносите хотя бы в отдельный модуль, чтобы можно было быстро дорабатывать.

5. Если можно — используйте для загрузки Enterprise Data. Это стандартный формат обмена от самой фирмы «1С», они же гарантируют его совместимость при обновлениях. Так вы защитите свой код от ситуации, когда «1С» добавила новый реквизит, от которого зависит формирование какой-нибудь Книги продаж — и косяк главбух увидит в последний день сдачи отчёта в 19:00.

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

Как это выглядит на практике — в кейсе про интеграцию, которая не ломается полтора года
Как избавить бухгалтерию от лишней работы и при чём тут Oracle

Мир. Труд. Май. Из этих трёх слов мы можем повлиять только на второе. Поэтому к Дню трудящихся принесли вам историю, как уменьшили себестоимость продажи хлеба.

Крупная продуктовая сеть, 130 магазинов. Основной поставщик каждый день привозит товар в каждый магазин. На каждую поставку оформляется товарная накладная, счёт-фактура, сертификаты. Бухгалтерия открывает бумажную накладную, ищет номенклатуру, добавляет строки в приходный документ в 1С. Больше 1500 строк ежедневно.

Труд так себе, согласны?

Вот и собственник так решил. Пришёл к нам, стали разбираться. Оказалось, что у поставщика всё уже есть в Oracle. То есть данные лежат в одной базе, а сотрудники переписывают их в другую. Что может быть увлекательнее?

Что сделали: настроили загрузку данных в 1С из Oracle поставщика. Сотрудник выбирает период, нажимает «Прочитать» — видит все накладные поставщика. 1С сама сопоставляет товары и склады: зелёное — совпало, красное — надо разобраться. «Сформировать документы» — и в 1С появляются приходные накладные, счета-фактуры, перемещения на нужные склады.

Ручного труда стало меньше на 99%. Сотрудники не набивают документы, а проверяют. Освободившееся время уходит на задачи, в которых нужна голова, а не пара рук. Ну и себестоимость хлеба чуть снизилась. Тоже ведь неплохо? С праздником!

Подробности и скриншоты — на сайте
🏆 Ачивка разблокирована: «Дипломат»
*Согласовать время созвона за 47 сообщений и 3 дня*

Лет 15 назад ходил по интернету список «ачивок программиста». Одна из них — месяц решать вопрос с американским коллегой по два письма в сутки.

С тех пор технологии шагнули далеко вперёд: теперь можно делать то же самое через телеграм с бухгалтером в соседнем городе.

Наш ПМ на этой неделе разблокировал эту ачивку. Теперь навык есть, можем выходить на американский рынок, я считаю 💪🇺🇸
Ваш B2B-портал всё равно будет некрасивым. Можно хотя бы не переплачивать

Дистрибьютор хотел портал для дилеров: остатки, заказы, акты сверки. Классика.

Стандартный путь — отдельный сайт, обмен данными с 1С, веб-команда в придачу к команде 1С. А потом дилер видит на портале «в наличии 50 штук», а на складе уже 10. Потому что синхронизация.

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

Красиво? Нет. Это же 1С. Но ваши дилеры и так весь день работают у себя в такой же 1С — для них это привычная среда, а не культурный шок. Им нужно, чтобы данные были актуальные, а портал работал. Не анимация и градиенты.

Что получили:
— одна команда вместо двух
— данные без задержек
— доработки за разумные деньги (добавить отчёт — это не мини-проект с двумя командами)
— три месяца от старта до продакшена

Что пришлось сделать: допилить производительность (стандартный механизм сыроват), прикрутить нормальную авторизацию и разобраться с лицензиями.

Кому подходит: учётная система — УТ, КА или ERP, внешних пользователей десятки, работают с компьютеров. Если это про вас — полный кейс на сайте
Два с половиной года бежим впереди паровоза

Загружаете отчёт Wildberries в 1С — сумма не сходится. Маркетплейс добавил новый тип операции, типовой загрузчик о нём не знает и молча выбрасывает строки. Мы находим решение, дорабатываем загрузчик. А через пару месяцев 1С выпускает обновление с похожей функцией.

То есть часть работы 1С потом доделывает сама и бесплатно для клиента. Обидно ли, что пришлось платить за то, что и так появилось через пару месяцев? Наверное. Но сводить отчётность надо сейчас, а не когда-нибудь. Поэтому приходится быть быстрее.

За 2,5 года для одной фабрики игрушек накопилось больше двадцати доработок загрузчиков WB и Ozon — в Бухгалтерии и в ERP. Что-то 1С со временем догнала. Что-то — до сих пор не сделала: типового загрузчика Wildberries для ERP, например, просто не существует. Написали с нуля.

Итог этого забега довольно скучный: у вас просто правильная аналитика в 1С и чуть менее уставший бухгалтер.

Если продаёте на WB или Ozon и ведёте учёт в 1С — этот паровоз вам, скорее всего, знаком. Присоединяйтесь, бежать вместе и веселее, и дешевле.

Полный кейс с ценой забега на сайте
Бежим быстрее собственного контента

В прошлом посте рассказывали, как 2,5 года дорабатываем загрузчики маркетплейсов для фабрики игрушек. Так вот: пока готовили тот текст, успели сдать для неё же ещё одну доработку. Догоняем уже не 1С, а сами себя.

Суть: фабрика отгружает на Ozon по схеме FBO. Перед каждой поставкой сотрудник полдня сидел в личном кабинете — создавал грузоместа, вручную раскладывал товар, скачивал этикетки. Хотя весь состав паллет уже лежал в 1С, в упаковочных листах.

Дописали обращение к API Ozon: грузоместа создаются из упаковочного листа одной кнопкой, этикетки сами возвращаются в 1С.

По пути выяснили, что при повторной отправке API Ozon молча стирает собранную поставку. Закрыли жёстким запретом в коде. Пошли писать кейс. Написали, показали разработчику на фактчекинг. Он пишет: «А, запрет я уже снял, там теперь галочка „перезаписать“». В общем, кейс устарел ещё до публикации.

Если увидите у нас публикацию об истории пятилетней давности — не удивляйтесь: разработка просто опять убежала вперёд.

Полный кейс (почти актуальный) — на сайте.
37 человек, которым это надо

Если Ozon и Wildberries для вас недостаточно нишевые, вот вам история про «Детский мир». Встроенных загрузчиков для него в 1С нет, так что мы сделали всё то же, что уже есть для Ozon и WB, только сами.

Бухгалтер разносил тысячи строк руками по несколько дней. Теперь справляется за 20 минут.

Написали про это статью, а Яндекс пометил её «маловостребованной» и выкинул из поиска. Пошли разбираться: «Детский мир 1С» ищут 37 раз в месяц. Расстроились.

Через пару дней Яндекс вернул страницу обратно. Потому что как ещё вы узнаете о таких нишевых интеграторах, как мы?

Полный кейс на сайте.