Возможность быстро получить актуальное количество контрагентов в базе 1С — критически важный навык для бухгалтеров, аналитиков и администраторов систем. Эта цифра нужна для отчётности, аудита, планирования миграций или просто для оценки «засорённости» справочника. Но в зависимости от версии 1С, конфигурации и стоящей задачи способов подсчёта может быть несколько — от элементарных до требующих знания языка запросов.
В этой статье мы разберём 5 рабочих методов, как посчитать контрагентов в 1С, включая нюансы для Бухгалтерии 3.0, Управления торговлей 11, ERP 2 и других популярных конфигураций. Вы узнаете, как исключить помеченные на удаление записи, отфильтровать только активных партнёров или получить данные по группам. А для продвинутых пользователей — приведём готовые SQL-запросы и примеры кода на встроенном языке.
Предупреждаем сразу: в некоторых конфигурациях 1С количество контрагентов в стандартных отчётах может отличаться от реального числа записей в базе данных из-за особенностей хранения помеченных объектов. Поэтому всегда проверяйте результат несколькими способами, если точность критична.
1. Самый простой способ: стандартный отчёт «Справочники»
Если вам нужно оперативно узнать количество контрагентов без углубления в настройки, воспользуйтесь встроенным отчётом Справочники. Этот метод работает во всех типовых конфигурациях и не требует прав администратора.
Инструкция:
- 📊 Откройте меню
Отчёты → Стандартные отчёты → Справочники(в некоторых версиях путь может немного отличаться, например,Все функции → Отчёты → Справочники). - 🔍 В поле «Справочник» выберите
Контрагенты. - 📌 Нажмите кнопку «Сформировать».
- 📊 Внизу отчёта будет строка «Итого», где и указано общее количество записей.
Этот способ показывает всех контрагентов, включая помеченные на удаление, если не применять дополнительные фильтры. Чтобы исключить «мусорные» записи, перед формированием отчёта нажмите Ещё → Настройки → Отбор и добавьте условие ПометкаУдаления = Ложь.
В Бухгалтерии 3.0 отчёт «Справочники» можно вызвать через панель «Все функции» (Ctrl+Shift+F12), если его нет в основном меню.
2. Через список справочника: быстрый визуальный подсчёт
Когда нужно оценить количество контрагентов в конкретной группе или с определёнными признаками (например, только поставщики), удобнее работать непосредственно со списком справочника. Этот метод подходит для оперативного анализа без формирования отчётов.
Как это сделать:
- 📋 Откройте справочник
Контрагентычерез менюСправочники → Контрагенты. - 🔎 Примените нужные фильтры (например, по группе, виду контрагента или статусу).
- 📊 Внизу окна справочника отображается строка состояния с количеством отобранных записей (например, «Записей: 452»).
- 📤 Для экспорта списка в Excel нажмите
Ещё → Выгрузить в Excel— в файле будет точная цифра.
Обратите внимание: в некоторых конфигурациях (например, в УТ 11) строка состояния может не показывать количество записей по умолчанию. В этом случае:
- Нажмите на заголовок любой колонки (например, «Наименование») правой кнопкой мыши.
- Выберите
Настройки списка. - На вкладке «Прочее» отметьте галочку «Показывать количество строк».
Почему количество в списке и в отчёте может отличаться?
В списке справочника отображаются только те записи, которые соответствуют текущему фильтру и правам пользователя. Стандартный отчёт «Справочники» может учитывать дополнительные параметры (например, иерархию групп), поэтому цифры иногда расходятся.
3. Использование отчёта «Анализ справочников» (для администраторов)
Если вам нужна детальная статистика по контрагентам — например, распределение по группам, количество помеченных на удаление или динамика изменения — используйте отчёт Анализ справочников. Он доступен только пользователям с правами администратора.
Пошаговая инструкция:
- 🛠️ Перейдите в
Администрирование → Обслуживание → Анализ справочников(в некоторых версиях путь может бытьВсе функции → Стандартные → Анализ справочников). - 📋 В списке справочников выберите
Контрагенты. - 🔧 Настройте параметры:
- 📌 Установите флаг «Показывать помеченные на удаление», если нужно их учесть.
- 📌 Отметьте «Показывать группы», чтобы увидеть иерархию.
- 📌 Включите «Показывать реквизиты», если нужна детализация по полям (например, по ИНН или виду контрагента).
- 📊 Нажмите «Сформировать».
В результате вы получите таблицу с количеством контрагентов в каждой группе, а также сводные данные по всем записям. Этот отчёт удобен для аудита справочника перед миграцией или очисткой базы.
| Параметр отчёта | Что показывает | Когда пригодится |
|---|---|---|
| Помеченные на удаление | Количество записей с флагом удаления | Оценка «мусора» в базе перед очисткой |
| Группы справочника | Распределение контрагентов по папкам | Анализ структуры хранения данных |
| Реквизиты (например, ИНН) | Количество уникальных значений в поле | Поиск дублей или некорректных данных |
| Дата изменения | Когда запись редактировалась последний раз | Выявление неактуальных контрагентов |
4. SQL-запрос для точного подсчёта (для IT-специалистов)
Если вам нужно получить данные напрямую из базы (например, для интеграции с другими системами или сложной аналитики), используйте SQL-запрос. Этот метод требует доступа к серверу 1С и знания структуры базы данных.
Пример запроса для 1С:Предприятие 8.3 (работает на SQL-сервере):
SELECT COUNT(*) AS КоличествоКонтрагентов
FROM [dbo].[_Reference16] AS Контрагенты
WHERE Контрагенты._Marked = 0 -- Исключаем помеченные на удаление
Где:
_Reference16— стандартное имя таблицы для справочника «Контрагенты» в большинстве конфигураций (но может отличаться!)._Marked = 0— фильтр для исключения помеченных на удаление записей.
Для Управления торговлей 11 или ERP 2 таблица может называться иначе (например, _Reference64). Чтобы узнать точное имя:
- Откройте конфигуратор 1С (режим «Конфигуратор»).
- Перейдите в
Объекты → Справочники → Контрагенты. - В панели свойств найдите параметр «Имя таблицы» (или «TableName» для англоязычных версий).
Уточнить имя таблицы справочника в конфигураторе
Проверить права доступа к базе данных
Создать резервную копию перед выполнением запросов
Учесть особенности СУБД (MS SQL, PostgreSQL и т.д.)
-->
⚠️ Внимание: Не выполняйте SQL-запросы на рабочей базе без резервной копии! Ошибка в запросе может привести к повреждению данных. Для тестирования используйте копию базы.
5. Программный подсчёт на встроенном языке 1С
Для автоматизации или интеграции в обработки можно написать код на встроенном языке 1С. Этот способ гибкий и позволяет учитывать специфические условия (например, только контрагентов с определённым видом или датой последнего документа).
Пример кода для подсчёта активных контрагентов:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КОЛИЧЕСТВО(RAZR) КАК Количество
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| НЕ Контрагенты.ПометкаУдаления
| И Контрагенты.ЭтоГруппа = ЛОЖЬ"; // Исключаем группы
Результат = Запрос.Выполнить();
Количество = Результат.Выбрать().Следующий().Количество;
Сообщить("Активных контрагентов: " + Количество);
Дополнительные возможности:
- 🔍 Фильтрация по
ВидКонтрагента(например, только «Покупатель»): добавьте условиеИ Контрагенты.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтрагентов.Покупатель). - 📅 Учёт даты последнего документа:
И СУЩЕСТВУЕТ (ВЫБРАТЬ 1 ИЗ Документ.ЗаказПокупателя ГДЕ Контрагент = Контрагенты.Ссылка). - 📊 Группировка по регионам или другим реквизитам.
Этот код можно вставить в обработку или внешнюю печатную форму. Для вывода результата в табличный документ используйте методы ТабличныйДокумент.ВывестиСтроку().
Встроенный язык 1С позволяет гибко фильтровать контрагентов по любым реквизитам, включая пользовательские. Это единственный способ учесть бизнес-логику, заложенную в конфигурации (например, «активные партнёры за последний год»).
6. Нюансы для разных конфигураций 1С
Способы подсчёта контрагентов могут отличаться в зависимости от конфигурации. Рассмотрим ключевые особенности для популярных решений:
1С:Бухгалтерия 3.0:
- 📌 В стандартном отчёте «Справочники» контрагенты отображаются вместе с
Партнёрами(если включена интеграция с ЗУП). - 📌 Для раздельного подсчёта используйте фильтр по виду контрагента.
1С:Управление торговлей 11:
- 📌 Здесь контрагенты делятся на
Покупателей,ПоставщиковиПрочих. В отчётах их можно считать отдельно. - 📌 В справочнике есть реквизит «Тип контрагента» — его можно использовать в запросах для точной фильтрации.
1С:ERP 2:
- 📌 Контрагенты связаны с
Бизнес-партнёрами. Для корректного подсчёта может потребоваться учёт этой иерархии. - 📌 В отчёте «Анализ справочников» доступны дополнительные аналитические разрезы (например, по сегментам бизнеса).
1С:Зарплата и управление персоналом:
- 📌 Контрагенты здесь чаще всего представляют
Физических лицилиОрганизации-работодатели. Их подсчёт ведётся отдельно от торговых партнёров.
⚠️ Внимание: В конфигурациях с интеграцией (например, Бухгалтерия + ЗУП) один и тот же контрагент может учитываться в нескольких справочниках. Перед подсчётом уточните, какие именно записи вам нужны!
FAQ: Частые вопросы о подсчёте контрагентов в 1С
Как посчитать только активных контрагентов (с которыми были документы за последний год)?
Используйте запрос на встроенном языке с условием по дате последнего документа:
ВЫБРАТЬ РАЗЛИЧНЫЕ Контрагенты.Ссылка
ИЗ Документ.ЗаказПокупателя КАК Док
ГДЕ Док.Дата > ДобавитьМесяц(ТекущаяДата(), -12)
Затем подсчитайте количество уникальных ссылок в результате.
Почему в отчёте «Справочники» и через SQL количество контрагентов разное?
Это происходит потому, что:
- SQL-запрос может учитывать служебные записи (например, предопределённые элементы).
- Отчёт «Справочники» по умолчанию исключает помеченные на удаление записи, если не настроен иначе.
- В некоторых конфигурациях справочник «Контрагенты» может быть связан с другими объектами (например, «Партнёры» в ЗУП), что влияет на подсчёт.
Можно ли посчитать контрагентов по группам в одном отчёте?
Да, для этого:
- В отчёте «Анализ справочников» включите опцию «Показывать группы».
- Или используйте запрос на встроенном языке с группировкой:
ВЫБРАТЬ
Контрагенты.Родитель КАК Группа,
КОЛИЧЕСТВО(*) КАК Количество
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
НЕ Контрагенты.ПометкаУдаления
СГРУППИРОВАТЬ ПО
Контрагенты.Родитель
Как экспортировать список контрагентов с количеством в Excel?
Способы:
- Из справочника: нажмите
Ещё → Выгрузить в Excel. - Из отчёта «Справочники»: сформируйте отчёт, затем
Ещё → Выгрузить → В Excel. - Через запрос: используйте
ЗаписьXMLилиЗаписьJSONдля выгрузки данных в файл.
Для автоматической выгрузки напишите обработку с использованием объекта ExcelДокумент.
Как посчитать контрагентов с уникальным ИНН?
Используйте запрос с группировкой по ИНН:
ВЫБРАТЬ
КОЛИЧЕСТВО(RAZR) КАК УникальныеИНН
ПОМЕСТИТЬ ВТУникальныеИНН
ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
Контрагенты.ИНН КАК ИНН
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
НЕ Контрагенты.ПометкаУдаления
И НЕ Контрагенты.ИНН = ""
И НЕ Контрагенты.ИНН = "0") КАК УникальныеИНН
Затем получите количество записей из временной таблицы ВТУникальныеИНН.