Сократить расходы на лицензии 1С за 5 шагов

Почему компании переплачивают за лицензии 1С
По данным опросов среди российских предприятий, использующих продукты «1С», от 20 до 45% приобретённых клиентских лицензий фактически не используются. Причины разные: сотрудники уволились, подразделения реструктурировали, часть функций перенесли во внешние сервисы — а лицензии продолжают числиться на балансе и требуют ежегодного продления через договор ИТС.
Ситуацию усугубляет то, что большинство ИТ-отделов не ведут системного учёта фактического использования лицензий. Покупка идёт «с запасом», продление — по инерции. В результате бюджет на программное обеспечение раздувается, а реальная ценность от каждого рубля снижается.
В этой статье мы разберём пять конкретных шагов, которые позволяют системно снизить расходы на лицензирование 1С — без потери производительности и нарушения условий лицензионного соглашения. Каждый шаг подкреплён практическими инструментами, включая готовые фрагменты кода на встроенном языке 1С.
Шаг 1. Полный аудит текущего лицензионного парка
Прежде чем что-то оптимизировать, необходимо понять, что именно у вас есть. Аудит лицензионного парка включает три уровня анализа.
1.1. Инвентаризация приобретённых лицензий
Составьте реестр всех лицензий: конфигурация, редакция, количество клиентских мест, тип (однопользовательская, многопользовательская, серверная), дата приобретения, стоимость, наличие действующего ИТС. Источники информации — договоры с «1С», регистрационные карточки, лицензионные файлы на сервере.
1.2. Анализ фактического использования через журнал регистрации
Журнал регистрации 1С хранит информацию о каждом сеансе пользователя. С его помощью можно определить, кто и как часто входит в систему. Ниже приведён пример обработки на встроенном языке 1С, которая анализирует активность пользователей за последние 90 дней:
// Анализ активности пользователей по журналу регистрации
// Запускается в режиме «Предприятие» с правами администратора
Процедура АнализАктивностиПользователей()
// Определяем период анализа — последние 90 дней
ДатаНачала = ДобавитьМесяц(ТекущаяДата(), -3);
ДатаОкончания = ТекущаяДата();
// Формируем отбор для чтения журнала регистрации
Отбор = Новый СтруктураОтбораЖурналаРегистрации;
Отбор.ДатаНачала = НачалоДня(ДатаНачала);
Отбор.ДатаОкончания = КонецДня(ДатаОкончания);
Отбор.Событие = "_$Session$_.Start"; // Только события начала сеанса
// Читаем записи журнала
Записи = Новый ЖурналРегистрации;
МассивЗаписей = Новый Массив;
Записи.ВыгрузитьЖурналРегистрации(МассивЗаписей, Отбор);
// Собираем статистику по пользователям
Статистика = Новый Соответствие;
Для Каждого Запись Из МассивЗаписей Цикл
ИмяПользователя = Запись.Пользователь;
Если НЕ ЗначениеЗаполнено(ИмяПользователя) Тогда
Продолжить;
КонецЕсли;
Если Статистика[ИмяПользователя] = Неопределено Тогда
Статистика[ИмяПользователя] = Новый Структура(
"КоличествоВходов, ПоследнийВход",
0, '00010101');
КонецЕсли;
Статистика[ИмяПользователя].КоличествоВходов =
Статистика[ИмяПользователя].КоличествоВходов + 1;
Если Запись.Дата > Статистика[ИмяПользователя].ПоследнийВход Тогда
Статистика[ИмяПользователя].ПоследнийВход = Запись.Дата;
КонецЕсли;
КонецЦикла;
// Формируем таблицу результатов
ТаблицаРезультатов = Новый ТаблицаЗначений;
ТаблицаРезультатов.Колонки.Добавить("Пользователь");
ТаблицаРезультатов.Колонки.Добавить("КоличествоВходов");
ТаблицаРезультатов.Колонки.Добавить("ПоследнийВход");
ТаблицаРезультатов.Колонки.Добавить("Статус");
Для Каждого Элемент Из Статистика Цикл
НоваяСтрока = ТаблицаРезультатов.Добавить();
НоваяСтрока.Пользователь = Элемент.Ключ;
НоваяСтрока.КоличествоВходов = Элемент.Значение.КоличествоВходов;
НоваяСтрока.ПоследнийВход = Элемент.Значение.ПоследнийВход;
// Классифицируем пользователей по активности
Если Элемент.Значение.КоличествоВходов = 0 Тогда
НоваяСтрока.Статус = "Неактивен (кандидат на отзыв лицензии)";
ИначеЕсли Элемент.Значение.КоличествоВходов < 5 Тогда
НоваяСтрока.Статус = "Низкая активность";
Иначе
НоваяСтрока.Статус = "Активный пользователь";
КонецЕсли;
КонецЦикла;
// Сортируем по количеству входов (по возрастанию)
ТаблицаРезультатов.Сортировать("КоличествоВходов Возр");
// Выводим результат в табличный документ
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетАнализаПользователей");
Сообщить("Анализ завершён. Найдено пользователей: " +
ТаблицаРезультатов.Количество());
// Возвращаем таблицу для дальнейшего анализа
Возврат ТаблицаРезультатов;
КонецПроцедуры
Результат выполнения этой обработки — список всех пользователей с количеством входов за 90 дней. Те, у кого ноль входов или менее пяти за квартал, — первые кандидаты на перераспределение лицензий.
1.3. Анализ пиковой нагрузки
Для многопользовательских лицензий важно понимать не только общее число пользователей, но и пиковое одновременное подключение. Если у вас 50 клиентских лицензий, а максимальный одновременный онлайн за последние полгода не превышал 30 — вы держите 20 «мёртвых» мест.
Данные о пиковых подключениях можно получить через консоль кластера серверов 1С или с помощью регулярного мониторинга через COM-соединение с агентом сервера.
Шаг 2. Классификация лицензий и выявление избытков
После сбора данных необходимо структурировать информацию и принять решения по каждой группе лицензий. Разделите весь парк на четыре категории:
- Активно используемые — пользователь входит чаще 20 раз в месяц, работает с ключевыми объектами конфигурации. Эти лицензии неприкосновенны.
- Периодически используемые — 5–20 входов в месяц. Кандидаты для перевода на «плавающие» лицензии или аренду.
- Редко используемые — менее 5 входов в месяц. Рассмотрите замену на веб-клиент с тонкой лицензией или вынос функций в отдельный облачный сервис.
- Неиспользуемые — ноль входов за 90 дней. Немедленный возврат в пул или отказ от продления ИТС.
Отдельно проанализируйте серверные лицензии. Нередко компании держат несколько серверов 1С с полными лицензиями, тогда как реально используется один, а остальные — тестовые или резервные среды, для которых достаточно лицензий разработчика или NFR-версий.
Практический кейс: Производственная компания с 80 пользователями 1С:ERP провела аудит и обнаружила, что 18 лицензий принадлежат уволенным сотрудникам, ещё 12 — сотрудникам склада, которые заходят в систему только для просмотра остатков. Перевод складских сотрудников на веб-клиент с ограниченными правами и отказ от неиспользуемых лицензий сэкономил компании 340 000 рублей в год только на ИТС. Если вас интересуют подобные задачи по 1С:ERP, на Кодерион есть специалисты с опытом оптимизации именно этой конфигурации.
Шаг 3. Оптимизация архитектуры — технические инструменты экономии
Технические решения позволяют сократить реальное потребление лицензий без изменения бизнес-процессов.
3.1. Переход на тонкий клиент и веб-клиент
Многие пользователи работают только с ограниченным набором документов: просматривают отчёты, вводят первичку, согласовывают заявки. Для таких сценариев достаточно тонкого клиента или веб-клиента. При этом важно понимать: количество лицензий от типа клиента не зависит — одна клиентская лицензия нужна в любом случае. Экономия достигается иначе: через разделение ролей и вынос части функций в отдельные информационные базы с собственными (более дешёвыми) лицензиями.
3.2. Разделение информационных баз
Если в одной базе работают бухгалтеры, кладовщики и менеджеры по продажам, все они потребляют лицензии одной конфигурации. Рассмотрите вариант выделения отдельных баз:
- Складские операции → 1С:Управление торговлей (более дешёвые лицензии, чем ERP)
- Бухгалтерский и налоговый учёт → отдельная 1С:Бухгалтерия с минимальным числом пользователей
- Зарплата → автономная 1С:ЗУП с доступом только для HR и расчётчиков
Обмен между базами настраивается через стандартные планы обмена или через шину данных. Да, это добавляет сложности администрирования, но может дать существенную экономию на лицензиях.
3.3. Настройка автоматического завершения «зависших» сеансов
Частая проблема: пользователь открыл 1С, ушёл на обед — и лицензия заблокирована на несколько часов. Автоматическое завершение неактивных сеансов освобождает лицензии для других пользователей и реально снижает пиковое потребление.
// Регламентное задание: завершение неактивных сеансов
// Рекомендуется запускать каждые 30 минут
Процедура ЗавершитьНеактивныеСеансы()
// Порог неактивности в минутах
ПорогНеактивностиМин = 60;
// Получаем список активных сеансов
Сеансы = ПолучитьСеансы();
ТекущееВремя = ТекущаяДата();
Для Каждого Сеанс Из Сеансы Цикл
// Пропускаем служебные и фоновые сеансы
Если Сеанс.АдресКлиентскогоПриложения = "" Тогда
Продолжить;
КонецЕсли;
// Вычисляем время простоя
ВремяПростояСек = ТекущееВремя - Сеанс.ВремяАктивности;
ВремяПростояМин = Цел(ВремяПростояСек / 60);
Если ВремяПростояМин >= ПорогНеактивностиМин Тогда
// Логируем завершение сеанса
ЗаписьЖурналаРегистрации(
"ЗавершениеНеактивногоСеанса",
УровеньЖурналаРегистрации.Информация,
,
,
"Пользователь: " + Сеанс.Пользователь +
", Простой: " + ВремяПростояМин + " мин.");
// Завершаем сеанс
Попытка
Сеанс.ЗавершитьСеанс();
Исключение
// Если сеанс уже завершён — пропускаем
Продолжить;
КонецПопытки;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Это регламентное задание можно разместить в общем модуле конфигурации и запускать через планировщик заданий. На практике оно позволяет сократить пиковое потребление лицензий на 15–25%.
Шаг 4. Выбор оптимальной модели лицензирования
Существует несколько моделей получения права на использование 1С, и выбор правильной модели — один из ключевых рычагов экономии.
4.1. Покупка лицензий (perpetual)
Классическая модель: единовременная покупка + ежегодный ИТС (от 20 до 50% стоимости лицензии в зависимости от продукта). Выгодна при долгосрочном использовании (5+ лет) и стабильном числе пользователей.
4.2. Аренда лицензий через 1С:Фреш или партнёрские облака
Модель SaaS: вы платите ежемесячно за фактическое использование. Плюсы:
- Нет капитальных затрат на покупку
- Легко масштабировать вверх и вниз
- Обновления включены в стоимость
- Подходит для сезонного бизнеса
Минусы: при долгосрочном использовании суммарные расходы превышают стоимость покупки. Порог окупаемости — обычно 3–4 года.
4.3. Гибридная модель
Оптимальный вариант для большинства компаний: ядро постоянных пользователей работает на купленных лицензиях, временные и сезонные сотрудники — на арендованных. Это позволяет не держать «запас» лицензий на пике нагрузки.
| Модель | Стартовые затраты | Ежегодные затраты | Гибкость | Лучше для |
|---|---|---|---|---|
| Покупка | Высокие | ИТС (20–50%) | Низкая | Стабильный штат, 5+ лет |
| Аренда SaaS | Нулевые | Высокие | Высокая | Стартапы, сезонный бизнес |
| Гибрид | Средние | Средние | Средняя | Большинство компаний |
4.4. NFR и учебные лицензии для разработки
Для разработки, тестирования и обучения не нужны полные коммерческие лицензии. Используйте:
- Лицензии для разработчиков — значительно дешевле, но запрещены для продуктивной эксплуатации
- Учебные версии — для обучения персонала
- Демо-базы — для тестирования новых функций
Если разработчики работают в продуктивной базе, немедленно создайте отдельную тестовую среду. Это не только сэкономит лицензии, но и снизит риски для бизнеса. Кстати, найти разработчика 1С для настройки правильной архитектуры можно на нашей платформе.
Шаг 5. Внедрение системы контроля и предотвращение будущих переплат
Разовый аудит — это хорошо, но без системы контроля через год ситуация вернётся к исходной. Необходимо выстроить процессы, которые не допустят накопления «балласта».
5.1. Регламент управления доступом
Введите обязательные процедуры:
- Онбординг: новый сотрудник получает лицензию только после согласования с ИТ-отделом и руководителем. Запрашивается минимально необходимый набор прав.
- Оффбординг: при увольнении сотрудника его учётная запись блокируется в день увольнения, лицензия возвращается в пул в течение 24 часов.
- Квартальный пересмотр: каждые три месяца ИТ-отдел формирует отчёт по активности пользователей и направляет его руководителям подразделений для подтверждения необходимости доступа.
5.2. Автоматический мониторинг использования лицензий
Следующий фрагмент кода реализует автоматический отчёт об использовании лицензий, который можно настроить для ежемесячной отправки по e-mail:
Найдите специалиста для решения этой задачи на koderion.ru