Узнать количество клиентов в базе 1С:Предприятие — задача, с которой регулярно сталкиваются бухгалтеры, менеджеры по продажам и администраторы систем. Казалось бы, что может быть проще: открыл справочник контрагентов и посчитал. Но на практике всё сложнее: в базе хранятся не только активные клиенты, но и устаревшие записи, дубли, поставщики, подрядчики. Как вычленить именно тех, кто важен для бизнеса?
В этой статье мы разберём 5 проверенных способов — от элементарных (подойдут новичкам) до продвинутых (для опытных пользователей и программистов). Вы узнаете, как:
- 🔍 Быстро получить число активных клиентов через стандартные отчёты
- 📊 Отфильтровать контрагентов по признакам (юридические/физические лица, группы)
- 💻 Использовать SQL-запросы для точного подсчёта (включая архивные данные)
- 🔄 Автоматизировать сбор статистики с помощью обработок
- 📈 Визуализировать динамику изменения клиентской базы по периодам
Все методы протестированы на актуальных версиях 1С:Управление торговлей 11, 1С:Бухгалтерия 3.0 и 1С:ERP 2.5, но подходят и для других конфигураций на платформе 1С:Предприятие 8.3. Если вы работаете с устаревшей версией (например, 8.2), некоторые пункты меню могут отличаться — проверяйте их расположение через поиск по интерфейсу (Ctrl+Shift+F).
1. Стандартный отчёт «Список контрагентов»: быстрый подсчёт
Самый простой способ — воспользоваться встроенным отчётом. Он не требует прав администратора и доступен даже пользователям с ограниченными правами (например, менеджерам отдела продаж).
Инструкция:
- Откройте раздел
Покупки и продажи(илиКонтрагенты, в зависимости от конфигурации). - Перейдите в
Отчёты → Список контрагентов. - В настройках отчёта (
Ещё → Настроить список) добавьте колонкуКоличествоилиИтоги. - Нажмите
Сформировать— внизу отчёта появится общее число записей.
⚠️ Внимание: Этот метод показывает всех контрагентов, включая поставщиков, транспортные компании и прочие организации. Чтобы отсеять лишнее:
- 📌 Используйте фильтр по
Группе контрагентов(например, «Покупатели» или «Клиенты»). - 📌 Добавьте отбор по
Виду контрагента— «Юридическое лицо» или «Физическое лицо». - 📌 Исключите помеченные на удаление (
Пометка удаления = Ложь).
Если в вашей конфигурации нет отчёта «Список контрагентов», попробуйте альтернативу: Отчёты → Анализ контрагентов → Количество и обороты по контрагентам. Там тоже есть сводные итоги.
Для более детального анализа экспортируйте отчёт в Excel (Ещё → Выгрузить в Excel) и используйте сводные таблицы. Это поможет, например, посчитать клиентов по регионам или категориям.
2. Группировка и фильтрация в справочнике контрагентов
Если вам нужно не просто количество, а структурированные данные (например, сколько клиентов в каждом городе или с каким статусом), используйте возможности самого справочника.
Алгоритм:
- Откройте справочник
Контрагенты(Справочники → Контрагенты). - Нажмите
Ещё → Настроить списоки добавьте нужные колонки:Город,Статус,Дата созданияи т.д. - Включите
Итогивнизу списка (галочка в настройках). - Сгруппируйте данные по нужному полю (например, по
Группе контрагентов), перетащив его в область группировки.
Пример группировки для анализа:
| Группа контрагентов | Количество | Примечание |
|---|---|---|
| Покупатели (опт) | 124 | Клиенты с оборотом > 100 тыс. руб. |
| Покупатели (розница) | 487 | Физ. лица и мелкие заказы |
| Поставщики | 89 | Исключаем из подсчёта клиентов |
| Транспортные компании | 12 | Не являются клиентами |
🔹 Полезный лайфхак: Сохраните настройку списка (Ещё → Сохранить настройку), чтобы не настраивать её каждый раз. Например, создайте вариант «Активные клиенты» с фильтром по дате последнего заказа.
3. SQL-запросы: точный подсчёт с учётом нюансов
Для опытных пользователей и программистов SQL-запросы — самый гибкий инструмент. Они позволяют:
- 🎯 Подсчитать клиентов с учётом дополнительных условий (например, только тех, кто делал заказы в текущем году).
- 🔄 Объединить данные из нескольких таблиц (например, контрагенты + заказы покупателей).
- 📅 Анализировать динамику по периодам (ежемесячный прирост клиентской базы).
Пример запроса для подсчёта активных клиентов (тех, у кого есть хотя бы один заказ за последний год):
ВЫБРАТЬ
COUNT(RAZLICHNYE Контрагенты.Ссылка) КАК КоличествоКлиентов
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.ПометкаУдаления = ЛОЖЬ
И Контрагенты.ЭтотОбъект.Группа В (&ГруппыКлиентов)
И СУЩЕСТВУЕТ (
ВЫБРАТЬ РАЗЛИЧНЫЕ ЗаказыПокупателей.Ссылка
ИЗ Документ.ЗаказПокупателя КАК ЗаказыПокупателей
ГДЕ ЗаказыПокупателей.Контрагент = Контрагенты.Ссылка
И ЗаказыПокупателей.Дата >= ДАТАВРЕМЯ(2023, 1, 1)
)
Где &ГруппыКлиентов — массив групп, которые вы считаете клиентскими (например, «Покупатели», «Розница»).
Как выполнить SQL-запрос в 1С?
Откройте Файл → Новый → Запрос (или Все функции → Запросы). Вставьте код, нажмите Выполнить. Результат отобразится в отдельной таблице. Для сохранения запроса используйте Файл → Сохранить как...
⚠️ Внимание: При работе с SQL в 1С учитывайте:
- 🔐 Вам нужны права на выполнение запросов (обычно есть у администраторов или пользователей с ролью «Полные права»).
- 📊 Сложные запросы могут тормозить базу — выполняйте их в нерабочее время или на тестовом сервере.
- 🔄 Структура таблиц может отличаться в разных конфигурациях. Например, в 1С:ERP заказы хранятся в
Документ.ЗаказКлиента, а не вЗаказПокупателя.
4. Использование обработок для автоматизации
Если вам нужно регулярно мониторить клиентскую базу (например, ежемесячно отправлять отчёт руководителю), имеет смысл создать собственную обработку. Это сэкономит время и исключит ошибки ручного подсчёта.
Варианты реализации:
- 🛠️ Простая обработка на основе стандартных отчётов (можно сделать через конструктор запросов).
- 🤖 Сложная обработка с дополнительной логикой (например, разбивка по сегментам клиентов).
- 📧 Автоматическая рассылка отчётов по email (требует настройки почтового сервера в 1С).
Пример кода для простой обработки (подсчёт клиентов с заказами за текущий месяц):
Процедура ПодсчетАктивныхКлиентов(Команда)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Заказы.Контрагент КАК Контрагент
|ИЗ
| Документ.ЗаказПокупателя КАК Заказы
|ГДЕ
| Заказы.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца";
НачалоМесяца = НачалоМесяца(ТекущаяДата());
КонецМесяца = КонецМесяца(ТекущаяДата());
Запрос.УстановитьПараметр("НачалоМесяца", НачалоМесяца);
Запрос.УстановитьПараметр("КонецМесяца", КонецМесяца);
Результат = Запрос.Выполнить();
Количество = Результат.Выгрузить().Количество();
Сообщить("Активных клиентов за месяц: " + Количество);
КонецПроцедуры
Чтобы создать обработку:
- Откройте
Файл → Новый → Обработка. - Вставьте код в модуль объекта.
- Добавьте кнопку на форму и свяжите её с процедурой
ПодсчетАктивныхКлиентов. - Сохраните обработку и запускайте по мере необходимости.
Исправлен ли синтаксис запроса?|Указаны ли корректные параметры (даты, группы)?|Есть ли права на выполнение запросов?|Сделан ли бэкап базы (для сложных операций)?-->
🔹 Где взять готовые обработки? Многие обработки для анализа клиентской базы выложены на порталах Infostart или 1С:ИТС. Ищите по запросам вроде «обработка анализа контрагентов 1С УТ 11».
5. Анализ динамики: как менялось количество клиентов
Статичное число клиентов — это хорошо, но для бизнеса важнее понимать тенденции: растёт ли база, какие сегменты развиваются, а какие «проседают». Для этого используйте:
Способ 1. Отчёт «История изменений контрагентов»
- 📅 Показывает, когда были созданы или изменены карточки клиентов.
- 📈 Позволяет построить график прироста клиентской базы по месяцам.
Способ 2. Сравнительный анализ по периодам
Создайте запрос, который считает клиентов с группировкой по годам/месяцам:
ВЫБРАТЬ
ГОД(Контрагенты.ДатаСоздания) КАК Год,
МЕСЯЦ(Контрагенты.ДатаСоздания) КАК Месяц,
COUNT(Контрагенты.Ссылка) КАК Количество
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.ПометкаУдаления = ЛОЖЬ
И Контрагенты.ЭтотОбъект.Группа В (&ГруппыКлиентов)
СГРУППИРОВАТЬ ПО
ГОД(Контрагенты.ДатаСоздания),
МЕСЯЦ(Контрагенты.ДатаСоздания)
УПОРЯДОЧИТЬ ПО
Год,
Месяц
Способ 3. Интеграция с Power BI или Excel
Экспортируйте данные из 1С в Excel или Power BI для построения дашбордов. Например:
- 📊 График прироста клиентов по месяцам.
- 🎯 Диаграмма распределения клиентов по регионам.
- 💰 Корреляция между количеством клиентов и выручкой.
⚠️ Внимание: При анализе динамики учитывайте сезонность бизнеса. Например, в розничной торговле пик регистрации новых клиентов часто приходится на ноябрь-декабрь (предновогодние покупки), а спад — на январь. Без учёта сезонности выводы могут быть искажёнными.
6. Типичные ошибки и как их избежать
При подсчёте клиентов в 1С пользователи часто сталкиваются с одними и теми же проблемами. Вот самые распространённые:
Ошибка 1. Учёт «мусорных» контрагентов
В базе могут быть:
- 🗑️ Тестовые контрагенты (с названиями вроде «Тест», «Проверка»).
- 🏢 Дублирующиеся записи (например, «ООО Ромашка» и «Ромашка ООО»).
- 📦 Контрагенты-поставщики, ошибочно попадающие в отчёт.
Решение: Всегда используйте фильтры по группам и видам контрагентов. Периодически проводите чистку базы с помощью обработок вроде «Поиск и удаление дублей».
Ошибка 2. Игнорирование пометки удаления
Удалённые контрагенты по умолчанию не показываются в списках, но могут попадать в отчёты, если не указать условие ПометкаУдаления = ЛОЖЬ.
Ошибка 3. Неучёт архивных данных
Если вы анализируете динамику, помните, что:
- 🗃️ В архивных базах данные могут быть неполными.
- 🔄 При переносе данных между базами часть истории может потеряться.
Ошибка 4. Подсчёт по дате создания, а не по дате первого заказа
Дата создания карточки контрагента не всегда совпадает с датой первого взаимодействия. Например, карточка могла быть создана заранее (на выставке), а первый заказ поступил только через полгода.
Решение: Для точного анализа используйте дату первого документа (заказа, реализации).
Перед любым анализом клиентской базы обязательно согласуйте критерии отбора с бизнес-задачей. Например, для отдела продаж «клиент» — это тот, кто сделал хоть один заказ, а для маркетинга — кто подписан на рассылку.
FAQ: Частые вопросы о подсчёте клиентов в 1С
Можно ли посчитать клиентов по филиалам или регионам?
Да, для этого:
- В справочнике
Контрагентыдобавьте колонкуРегион(илиФилиал). - Сгруппируйте данные по этому полю в отчёте или SQL-запросе.
- Для визуализации экспортируйте данные в Excel и постройте сводную таблицу.
Если поле Регион не заполнено, используйте адрес контрагента и извлекайте регион через функцию ПолноеНаименованиеРегиона().
Как посчитать клиентов, которые не делали заказы больше года?
Используйте запрос с условием на дату последнего заказа:
ВЫБРАТЬ РАЗЛИЧНЫЕ
Контрагенты.Ссылка
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
НЕ СУЩЕСТВУЕТ (
ВЫБРАТЬ Заказы.Ссылка
ИЗ Документ.ЗаказПокупателя КАК Заказы
ГДЕ Заказы.Контрагент = Контрагенты.Ссылка
И Заказы.Дата >= ДАТАВРЕМЯ(2023, 1, 1)
)
Этот запрос вернёт всех клиентов, у которых не было заказов с начала 2023 года.
Как автоматизировать отправку отчёта по клиентам на email?
Для этого:
- Создайте обработку, которая формирует отчёт (как в разделе 4).
- Добавьте в неё код для отправки email через
ПомощникПочтовыхСообщений:
Почта = Новый ПомощникПочтовыхСообщений;
Почта.Адресат = "director@company.ru";
Почта.Тема = "Отчёт по клиентской базе на " + ТекущаяДата();
Почта.Текст = "Количество активных клиентов: " + Количество;
Почта.Отправить();
⚠️ Предварительно настройте почтовый профиль в 1С (Администрирование → Настройки почты).
Почему количество клиентов в отчёте и в SQL-запросе отличается?
Разница может возникать из-за:
- 🔄 Разных условий фильтрации (например, в отчёте не учтена пометка удаления).
- 📅 Разных периодов анализа (в SQL вы могли указать другой диапазон дат).
- 📊 Разных источников данных (отчёт берёт данные из виртуальной таблицы, а SQL — из физической).
Проверьте настройки обоих методов и сравните условия отбора.
Как посчитать клиентов в 1С:УНФ (Упрощёнка)?
В 1С:Упрощёнка алгоритм аналогичный, но:
- Справочник контрагентов называется
Партнёры. - Документы заказов хранятся в
ЗаказПокупателяилиРеализацияТоваровУслуг. - Для SQL-запросов используйте префикс
Документ.ЗаказПокупателя.
Пример запроса для УНФ:
ВЫБРАТЬ COUNT(RAZLICHNYE Партнеры.Ссылка) КАК КоличествоКлиентов
ИЗ Справочник.Партнеры КАК Партнеры
ГДЕ Партнеры.ЭтоГруппа = ЛОЖЬ