惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
NISL@THU
NISL@THU
T
Threat Research - Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
V
Visual Studio Blog
Cyberwarzone
Cyberwarzone
D
Docker
The Hacker News
The Hacker News
C
CERT Recently Published Vulnerability Notes
Vercel News
Vercel News
Project Zero
Project Zero
S
Schneier on Security
aimingoo的专栏
aimingoo的专栏
I
Intezer
腾讯CDC
M
MIT News - Artificial intelligence
Hugging Face - Blog
Hugging Face - Blog
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
AWS News Blog
AWS News Blog
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Vulnerabilities – Threatpost
G
Google Developers Blog
N
Netflix TechBlog - Medium
The Cloudflare Blog
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
A
Arctic Wolf
S
Securelist
酷 壳 – CoolShell
酷 壳 – CoolShell
Cisco Talos Blog
Cisco Talos Blog
Recent Announcements
Recent Announcements
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 热门话题
T
Threatpost
Latest news
Latest news
Blog — PlanetScale
Blog — PlanetScale
Security Latest
Security Latest
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
The GitHub Blog
The GitHub Blog
T
Tor Project blog
P
Proofpoint News Feed

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Универсальные модули 1С: как не разрабатывать одно и то же на каждом проекте
IBS_habrablo · 2026-04-30 · via Все публикации подряд на Хабре

Время на прочтение8 мин

Охват и читатели4.2K

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

Привет, Хабр! Мы, Артем Вожаков и Анастасия Назарец, представители отраслевого центра компетенций IBS в машиностроении. В этой статье расскажем, как пришли к идее универсальных модулей 1С, что именно в них заложили и какие эффекты получили на реальных проектах.

Почему «универсальные модули» вообще понадобились

Отправной точкой стала усталость от необходимости каждый раз делать одно и то же. От проекта к проекту интеграции «съедали» огромную часть трудозатрат, заложенных в рамках проекта, а также несли большое количество «сюрпризов» из-за высокого уровня неопределенности. Раньше (в связи со спецификой конечных заказчиков) было принято считать, что работы по интеграциям, нормативно-справочной информации (НСИ), миграции и контрольным процедурам исключительно уникальны и способов минимизации затрат просто не существует. Разработка велась с нуля, создавались локальные решения, которые сложно переиспользовать, отсутствовали унифицированный подход и возможность накопления знаний для их дальнейшего переиспользования. В результате росли сроки, увеличивались трудозатраты и, как следствие, стоимость реализации проекта, а создаваемая архитектура становилась все менее предсказуемой.

Мы поняли, что ситуацию нужно менять, собрали типовые требования с ряда крупных проектов — с бюджетом от 400 миллионов рублей, — в таких отраслях, как промышленность, телеком, транспорт, посмотрели на них с другого ракурса: сложные интеграции, миграция исторических данных, согласование НСИ, контрольные процедуры — базовый набор задач любого проекта, которые никогда не меняются. Да, меняются детали, да, присутствует специфика, но суть задач всегда остается статичной.

Примеры стандартных требований комплексных проектов 1С:

  • Обеспечить возможность настройки интеграций информационных баз системы с решениями на основе «1С:Предприятие» и с системами прочих вендоров.

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

  • Обеспечить возможность создания и согласования заявок на добавление/изменения НСИ.

  • Обеспечить управляемую миграцию данных из исторических систем.

  • Настроить получение инженерных данных из PLM.

  • Обеспечить возможность формирования сложных процессов согласования (ветвление, последовательное, параллельное, цикличное и групповое выполнение).

  • Четко разграничить права пользователей по подразделениям и складам.

  • Обеспечить возможность создания и настройки произвольных справочников.

  • Централизировать управление НСИ.

  • Исключить потери данных при интеграции.

  • Настроить автоматический контроль корректности данных в системе.

  • Обеспечить возможность запуска процесса создания заявки на изменение справочника из ERP-систем контура проекта, сохранив проверку на полноту и корректность данных.

  • Реализовать множество интеграций в режиме онлайн.

  • Обеспечить возможность настройки нормативного времени исполнения задач согласования и исполнения заявок.

  • Обеспечить возможность печати и экспорта/импорта справочных данных в табличном формате.

  • Поддерживать технологии интеграции REST API, SOAP и обмен через файл. Избегать COM-подключения 1С, внешних источников данных и прямого подключения к системе управления базами данных.

  • И прочее…

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

Универсальный интеграционный модуль

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

Мы создавали универсальный интеграционный модуль (УИМ) как единый инструмент управления всеми потоками данных. Его ключевая идея — построение прозрачной и гибкой схемы интеграционных потоков любой сложности без разработки.

Что же позволяет делать УИМ? Практически все: 

  • В один клик настроить передачу идентичных объектов между базами 1С (ERP–ERP.УХ).

  • В несколько кликов настроить передачу «подобных» объектов 1С: мэппинг реквизитов, поля поиска и прочее.

  • Без разработчика организовать обмены данными в произвольном формате JSON/XML.

  • Собрать интеграции с разными системами и в разных форматах в одной панели управления.

  • Настраивать как интеграции «точка-точка», так и интеграции с использованием сервисных шин данных и брокеров сообщений.

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

  • Передавать миллионы записей максимально эффективно, с отслеживанием и гарантией доставки.

  • Поддерживать отправку больших пакетов данных (например срез остатков на складах на заданную дату).

  • Использовать произвольный код сериализации и обработки входящих сообщений для сверхсложных интеграций.

Важный момент: в рамках УИМ разработаны готовые адаптеры для «1С:Шина», Kafka, RabbitMQ, Datareon и SAP PI.

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

На схеме исходящих потоков УИМ видно, как формируются и обрабатываются сообщения на стороне отправителя:

Схема входящих потоков показывает, как модуль принимает, проверяет и обрабатывает данные:

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

Интеграция с PLM

Отдельной задачей мы поставили себе универсализацию интеграции с PLM-системами (Product Lifecycle Management). Формально это частный случай и один из самых сложных на практике с точки зрения реализации. Мы сделали специализированное решение на базе УИМ, которое стандартизирует обмен с разными PLM-системами, включая Teamcenter, IPS, ЛОЦМАН:PLM, T-FLEX и 1С:PDM.

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

В результате интеграция PLM–ERP перестает быть сложным вызовом от проекта к проекту.

Значительным эффектом является стандартизация процессов, подходов и правил интеграции ERP–PLM и возможность плавно и безболезненно сменить PLM-систему (например, в рамках импортозамещения).

Модуль миграции данных

Миграция — еще одна зона, где «каждый раз заново» — стоит особенно дорого. Мы стандартизировали этот процесс через отдельный модуль, который управляет миграцией от начала и до конца.

Особенности модуля миграции:

  • Формирование и поддержание в актуальном состоянии реестра объектов миграции и статуса подготовки шаблонов.

  • Автоматическая генерация шаблонов Excel с детальным описанием правил заполнения реквизитов.

  • Обеспечение массовой загрузки данных из заполненных шаблонов в систему в один клик.

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

  • Возможность многопоточной загрузки данных и загрузки большого объема данных (>500 000 строк).

  • Возможность выгрузки выверенных данных из базы 1С в шаблоны загрузки для последующей загрузки в другую базу (например, Тест → Прод).

  • Возможность выгрузки и загрузки настроенных шаблонов из одной базы 1С
    в другую.

Ниже — архитектура модуля миграции:

По цифрам: нам удалось снизить затраты на разработку специальных средств миграции — с 40 часов на объект до нуля, а также снизить общие затраты на миграцию почти на 70%.

Модуль централизованной НСИ

Управление нормативно-справочной информацией — классическая боль практически любого проекта. И для случаев, когда необходимо построение ЦНСИ без использования отдельной MDM-системы, мы разработали модуль централизованной НСИ.

Он закрывает полный цикл задач: 

  • Процессы создания, согласования и выполнения заявок на создание/изменение элементов справочников.

  • Управление правилами распространения данных в системы-потребители.

  • Гибкие маршруты согласования — настройка для разных типов справочников.

  • Формирование и актуализация матрицы распределения ответственности за справочники.

  • Отслеживание статусов исполнения заявок в реальном времени.

  • Верификация и валидация заявок перед внесением изменений.

  • Гибкая аналитика и отчетность (отчеты по заявкам, время обработки заявок, статистика по исполнителям, гибкие фильтры).

Архитектура модуля:

По экономике эффект самый заметный. Мы экономим 80% на внедрении полноценной MDM-системы, а получаем, по сути, ту же функциональность без потери управляемости процессами НСИ.

Модуль оперативных контролей и прав

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

Мы сделали отдельный модуль, который позволяет управлять контролями декларативно, основные функции и возможности:

  • Обеспечение детализированного контроля доступа пользователей к критически важным операциям с возможностью гибкой настройки ограничений к реквизитам объектов и элементов форм.

  • Ограничение доступа к изменению реквизитов, элементам форм в соответствии с правилами.

  • Гибкая настройка механизмов распределения прав без необходимости перезапуска пользовательского сеанса.

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

  • Поддержка контролей по группам доступа.

  • Для работы модуля не требуется включение RLS.

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

Вот как реализован механизм применения правил:

По результатам: стоимость реализации контролей снижается примерно на 67%, а сопровождение становится предсказуемым — основные изменения больше не потребуют вмешательства в код.

Заключение

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

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

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