Чек-лист: переплачиваете ли вы за 1С:УТ, 10 пунктов аудита

Чек-лист: переплачиваете ли вы за 1С:УТ, 10 пунктов аудита

Почему компании переплачивают за 1С:Управление торговлей

По данным независимых аудитов, от 40 до 60% компаний, использующих 1С:Управление торговлей (УТ), ежегодно тратят на лицензии и сервисное обслуживание больше, чем реально необходимо. Причины разнообразны: исторически сложившаяся структура лицензирования, неактуальные договоры с партнёрами, неиспользуемые подсистемы, задвоенные рабочие места и банальное незнание актуальных условий 1С.

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

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

Пункт 1. Инвентаризация активных пользователей и клиентских лицензий

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

В 1С:УТ 11 можно программно получить список всех пользователей и проверить дату их последнего входа:

// Получение списка пользователей с датой последнего входа
// Запускать в консоли запросов или во внешней обработке

Функция ПолучитьАктивностьПользователей(ДатаГраница)

	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	ПользователиСистемы.Наименование КАК Пользователь,
		|	ПользователиСистемы.Код КАК Код,
		|	ПользователиСистемы.ДатаПоследнегоВхода КАК ДатаПоследнегоВхода,
		|	ПользователиСистемы.АутентификацияОС КАК АутентификацияОС
		|ИЗ
		|	Справочник.Пользователи КАК ПользователиСистемы
		|ГДЕ
		|	ПользователиСистемы.ПометкаУдаления = ЛОЖЬ
		|	И ПользователиСистемы.НеДействителен = ЛОЖЬ
		|УПОРЯДОЧИТЬ ПО
		|	ПользователиСистемы.ДатаПоследнегоВхода УБЫВ";

	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();

	МассивНеактивных = Новый Массив;

	Пока Выборка.Следующий() Цикл
		// Проверяем, заходил ли пользователь позже указанной даты
		Если Выборка.ДатаПоследнегоВхода < ДатаГраница Тогда
			МассивНеактивных.Добавить(
				Выборка.Пользователь + " (последний вход: " +
				Формат(Выборка.ДатаПоследнегоВхода, "ДФ=дд.ММ.гггг") + ")"
			);
		КонецЕсли;
	КонецЦикла;

	Возврат МассивНеактивных;

КонецФункции

// Вызов: найти пользователей, не входивших 90 дней
ДатаГраница = ТекущаяДата() - 90 * 86400;
Неактивные = ПолучитьАктивностьПользователей(ДатаГраница);
ДляКаждого Строка Из Неактивные Цикл
	Сообщить(Строка);
КонецЦикла;

Если вы обнаружили 5, 10 «мёртвых» учётных записей, это прямой повод пересмотреть количество клиентских лицензий при следующем продлении ИТС или переходе на новый договор.

Пункт 2. Анализ типа используемых лицензий: клиентские vs серверные

1С:УТ может работать в двух режимах: файловый (без сервера 1С:Предприятие) и клиент-серверный. Многие небольшие компании приобрели лицензию на 1С:Сервер (x32 или x64), хотя фактически работают в файловом режиме или наоборот, используют сервер, но не имеют лицензии на него.

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

Также стоит разобраться в типах клиентских лицензий:

  • Однопользовательская лицензия, только для одного рабочего места;
  • Многопользовательские лицензии (на 5, 10, 20, 50, 100, 300, 500 мест), выгоднее при масштабировании;
  • Лицензия 1С:Предприятие 8 ПРОФ, включает право на сервер и определённое число мест.

Нередко компании «набирают» лицензии россыпью (5+5+10), хотя купить одну на 20 мест было бы дешевле. Сравните стоимость вашего текущего «портфеля» с альтернативными вариантами.

Пункт 3. Проверка актуальности договора ИТС и его уровня

Информационно-технологическое сопровождение (ИТС), ежегодный договор с партнёром 1С, который даёт право на обновления конфигурации. Он бывает нескольких уровней: Техно, Проф и Корп. Каждый уровень стоит по-разному и включает разный набор сервисов.

Типичные проблемы с ИТС:

  • Компания платит за ИТС КОРП, хотя не использует ни одного сервиса из расширенного пакета;
  • Договор ИТС заключён на большее число баз, чем реально используется;
  • ИТС оформлен на устаревшего партнёра, который не оказывает реальной поддержки, но получает агентское вознаграждение;
  • Компания платит за ИТС, но обновления не устанавливаются месяцами, деньги уходят впустую.

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

Пункт 4. Аудит подключённых сервисов 1С:Fresh и облачных решений

В последние годы 1С активно продвигает облачные сервисы: 1С:Fresh, 1СПарк Риски, 1С-ЭДО, 1С-Отчётность и другие. Каждый из них, отдельная статья расходов. Проблема в том, что при подключении они часто «включаются по умолчанию» и продолжают тарифицироваться, даже если бизнес-процесс изменился.

Составьте таблицу всех подключённых сервисов:

Сервис Стоимость в год Реально используется? Альтернатива
1С-ЭДО от 3 000 ₽/год + трафик Проверить Диадок, СБИС
1С-Отчётность от 5 000 ₽/год Проверить Контур.Экстерн
1СПарк Риски от 8 000 ₽/год Проверить Контур.Фокус
1С:Fresh (облако) от 700 ₽/мес/польз. Проверить Локальная установка

Особое внимание уделите электронному документообороту: тарифы на ЭДО могут существенно различаться в зависимости от объёма документов и оператора.

Пункт 5. Проверка использования функциональных опций и подсистем УТ

1С:УТ 11, мощная конфигурация с огромным количеством подсистем: Управление запасами, CRM, Планирование, Управление доставкой, Розница и т.д. При внедрении часто включают «всё подряд», а потом половина функций не используется.

Это не прямая переплата за лицензии, но это косвенная переплата: за обслуживание, доработки, обучение и поддержку сложной системы, которая на 50% избыточна для ваших задач. Проверить, какие функциональные опции включены, можно через консоль запросов:

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

Функция ПолучитьВключённыеФункциональныеОпции()

	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	Константы.Имя КАК ИмяКонстанты,
		|	Константы.Значение КАК Значение
		|ИЗ
		|	Константы КАК Константы
		|ГДЕ
		|	Константы.Значение = ИСТИНА
		|УПОРЯДОЧИТЬ ПО
		|	Константы.Имя";

	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();

	СписокОпций = Новый СписокЗначений;

	Пока Выборка.Следующий() Цикл
		СписокОпций.Добавить(Выборка.ИмяКонстанты, Выборка.ИмяКонстанты);
	КонецЦикла;

	Возврат СписокОпций;

КонецФункции

// Дополнительно: проверяем конкретные опции УТ
Функция ПроверитьОпцииУТ()

	Опции = Новый Структура;

	// Проверяем включение ключевых подсистем
	Опции.Вставить("ИспользоватьCRM",
		ПолучитьФункциональнуюОпцию("ИспользоватьCRM"));
	Опции.Вставить("ИспользоватьПланированиеПродаж",
		ПолучитьФункциональнуюОпцию("ИспользоватьПланированиеПродаж"));
	Опции.Вставить("ИспользоватьДоставку",
		ПолучитьФункциональнуюОпцию("ИспользоватьДоставку"));
	Опции.Вставить("ИспользоватьБонуснуюПрограмму",
		ПолучитьФункциональнуюОпцию("ИспользоватьБонуснуюПрограмму"));

	// Выводим результат
	ДляКаждого КлючЗначение Из Опции Цикл
		Если КлючЗначение.Значение Тогда
			Сообщить("ВКЛЮЧЕНО: " + КлючЗначение.Ключ);
		Иначе
			Сообщить("Выключено: " + КлючЗначение.Ключ);
		КонецЕсли;
	КонецЦикла;

КонецФункции

Если вы обнаружили включённые подсистемы, которые не используются, отключите их. Это упростит систему и снизит затраты на сопровождение.

Пункт 6. Анализ стоимости доработок и их целесообразности

Один из главных источников скрытой переплаты, накопленные доработки, которые были актуальны 3, 5 лет назад, но сегодня либо дублируют стандартный функционал новых версий УТ, либо вообще не используются.

Типичная ситуация: в 2019 году заказали доработку печатной формы накладной. В 2022 году 1С выпустила аналогичный функционал в стандарте. Доработка продолжает «жить» в базе, усложняет обновления и требует доп. расходов при каждом обновлении конфигурации.

Как провести аудит доработок:

  1. Запросите у вашего разработчика или партнёра список всех изменений относительно типовой конфигурации (сравнение через «Поддержка и обслуживание»);
  2. Для каждой доработки выясните: кто заказал, зачем, используется ли сейчас;
  3. Проверьте, не появился ли аналогичный функционал в типовых обновлениях;
  4. Оцените стоимость поддержки каждой доработки при обновлении.

Нередко «чистка» устаревших доработок экономит 30, 50% бюджета на ежегодные обновления. Если вам нужен независимый взгляд, можно найти разработчика 1С для аудита кодовой базы.

Пункт 7. Проверка маркировки: не платите ли вы за лишние интеграции

С 2019 года в России активно внедряется обязательная маркировка товаров. Многие компании в спешке подключили платные сторонние сервисы для работы с Честным ЗНАКом, хотя в актуальных версиях 1С:УТ 11.5+ эта функциональность уже встроена в стандарт.

Проверьте:

  • Используете ли вы встроенную интеграцию с ГИС МТ (Честный ЗНАК) в 1С:УТ, или платите за сторонний коннектор?
  • Актуальна ли ваша версия конфигурации, поддерживает ли она текущие форматы обмена с маркировкой?
  • Не задвоены ли расходы: платите и за встроенный модуль, и за внешний сервис?

Подробнее о том, как правильно организовать маркировку в 1С без лишних затрат, читайте в соответствующем разделе нашего блога. Отказ от дублирующих сторонних сервисов может сэкономить от 20 000 до 100 000 рублей в год в зависимости от объёма операций.

Пункт 8. Оценка стоимости владения: сравнение локальной и облачной версий

Если ваша компания использует локальную установку 1С:УТ, посчитайте реальную совокупную стоимость владения (TCO) за год:

  • Стоимость лицензий (амортизация);
  • ИТС (обновления и поддержка);
  • Зарплата или стоимость услуг системного администратора;
  • Стоимость сервера (амортизация или аренда);
  • Резервное копирование и обеспечение доступности;
  • Стоимость доработок и их поддержки.

Сравните эту сумму с тарифами 1С:Fresh или других облачных провайдеров. Для компаний до 10 пользователей облако нередко оказывается дешевле. Для крупных компаний (50+ пользователей), наоборот, локальная установка выгоднее.

// Пример расчёта примерного TCO в рублях за год
// Можно адаптировать под реальные данные компании

Функция РассчитатьTCO()

	// Исходные данные (заполняются вручную)
	КоличествоПользователей = 15;
	СтоимостьЛицензийНаМесто = 12000; // руб. за одно место (амортизация 5 лет)
	СтоимостьИТС = 45000; // руб. в год
	СтоимостьАдминистрирования = 120000; // руб. в год
	СтоимостьСервера = 80000; // руб. в год (амортизация или аренда)
	СтоимостьДоработок = 60000; // руб. в год

	// Расчёт TCO
	АмортизацияЛицензий = КоличествоПользователей * СтоимостьЛицензийНаМесто;
	ИтогоTCO = АмортизацияЛицензий
		+ СтоимостьИТС
		+ СтоимостьАдминистрирования
		+ СтоимостьСервера
		+ СтоимостьДоработок;

	// Стоимость облака для сравнения
	СтоимостьОблака = КоличествоПользователей * 700 * 12; // 700 руб/мес/польз

	Сообщить("=== Анализ TCO 1С:УТ ===");
	Сообщить("Локальная установка: " + Формат(ИтогоTCO, "ЧРД=.; ЧГ=0") + " руб./год");
	Сообщить("Облачное решение: " + Формат(СтоимостьОблака, "ЧРД=.; ЧГ=0") + " руб./год");

	Если ИтогоTCO > СтоимостьОблака Тогда
		Сообщить("Вывод: облако выгоднее на " +
			Формат(ИтогоTCO - СтоимостьОблака, "ЧРД=.; ЧГ=0") + " руб./год");
	Иначе
		Сообщить("Вывод: локальная установка выгоднее на " +
			Формат(СтоимостьОблака - ИтогоTCO, "ЧРД=.; ЧГ=0") + " руб./год");
	КонецЕсли;

	Возврат ИтогоTCO;

КонецФункции

Пункт 9. Аудит регламентов обновления и стоимости сопровождения

Одна из скрытых статей расходов, хаотичные обновления конфигурации. Если в компании нет чёткого регламента, обновления устанавливаются по мере необходимости или «когда что-то сломается», а не планово. В итоге каждое обновление превращается в мини-проект: программист тратит часы на анализ конфликтов с доработками, тестирование и исправление ошибок. Умножьте это на 8, 12 обновлений в год, и получите значительную незапланированную статью расходов.

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

// Анализ изменённых объектов конфигурации
// Помогает оценить сложность и стоимость будущих обновлений

Процедура ПроанализироватьИзмененияКонфигурации()

	КонфигурацияБД = ПолучитьКонфигурациюБазыДанных();
	КонфигурацияПоставщика = ПолучитьКонфигурациюПоставщика();

	КоличествоИзмененных = 0;
	КоличествоВсего = 0;

	Для Каждого ОбъектМД Из КонфигурацияБД.Метаданные() Цикл
		КоличествоВсего = КоличествоВсего + 1;
		Если ОбъектМД.Изменён() Тогда
			КоличествоИзмененных = КоличествоИзмененных + 1;
		КонецЕсли;
	КонецЦикла;

	ПроцентИзменений =?(КоличествоВсего > 0,
		КоличествоИзмененных / КоличествоВсего * 100, 0);

	Сообщить("=== Аудит изменений конфигурации ===");
	Сообщить("Всего объектов: " + КоличествоВсего);
	Сообщить("Изменено: " + КоличествоИзмененных);
	Сообщить("Процент изменений: " + Формат(ПроцентИзменений, "ЧЦ=5; ЧДЦ=1") + "%");

	Если ПроцентИзменений > 30 Тогда
		Сообщить("Риск: высокий, обновления будут дорогостоящими");
	ИначеЕсли ПроцентИзменений > 10 Тогда
		Сообщить("Риск: средний, обновления требуют контроля");
	Иначе
		Сообщить("Риск: низкий, обновления проходят штатно");
	КонецЕсли;

КонецПроцедуры

Найдите специалиста для решения этой задачи на koderion.ru

Пункт 10. Проверка дублирующихся систем и интеграций

Нередко компании параллельно используют несколько систем, которые частично дублируют функциональность 1С:УТ. Например, отдельный сервис для управления складом, сторонняя CRM для работы с заказами или Excel-таблицы для ценообразования, при том что всё это уже есть в УТ. Каждая такая система стоит денег: лицензии, поддержка, интеграция с 1С и рабочее время сотрудников на двойной ввод данных. Проведите ревизию всех используемых IT-инструментов и сравните их функции с возможностями 1С:Управление торговлей.

Особое внимание уделите интеграциям: каждый коннектор или обмен данными, это затраты на разработку, поддержку и потенциальный источник ошибок. Если интеграция существует только потому, что «так исторически сложилось», а не потому что это реально необходимо, скорее всего, её можно упразднить, перенеся процесс целиком в УТ. Итоговая экономия может составить от 20 до 50% текущих IT-расходов.

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

Процедура ПроверитьАктивныеОбмены()

	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	ПланОбмена.Наименование КАК НаименованиеПлана,
		|	ПланОбмена.Код КАК КодПлана,
		|	КОЛИЧЕСТВО(УзлыОбмена.Ссылка) КАК КоличествоУзлов,
		|	МАКСИМУМ(УзлыОбмена.КодУзла) КАК ПоследнийУзел
		|ИЗ
		|	ПланыОбмена.КАК КАЖДЫЙ ПланОбмена
		|		ЛЕВОЕ СОЕДИНЕНИЕ ПланыОбмена.КАК КАЖДЫЙ УзлыОбмена
		|		ПО УзлыОбмена.Ссылка <> УзлыОбмена.ЭтотУзел
		|ГДЕ
		|	НЕ УзлыОбмена.ПометкаУдаления
		|СГРУППИРОВАТЬ ПО
		|	ПланОбмена.Наименование,
		|	ПланОбмена.Код
		|УПОРЯДОЧИТЬ ПО
		|	КоличествоУзлов УБЫВ";

	РезультатЗапроса = Запрос.Выполнить();
	ВыборкаПланов = РезультатЗапроса.Выбрать();

	Сообщить("=== Активные планы обмена ===");

	Пока ВыборкаПланов.Следующий() Цикл
		Сообщить(
			ВыборкаПланов.НаименованиеПлана
			+ " | Узлов: " + ВыборкаПланов.КоличествоУзлов
		);
		Если ВыборкаПланов.КоличествоУзлов = 0 Тогда
			Сообщить(" ⚠ Нет активных узлов, возможно, интеграция устарела");
		КонецЕсли;
	КонецЦикла;

КонецПроцедуры

Найдите специалиста для решения этой задачи на koderion.ru

Найдите специалиста для решения этой задачи на koderion.ru