Лишние индексы в базе 1С на PostgreSQL: как найти, какой реквизит их создал, и как убрать

23.10.26

Разработка - Рефакторинг и качество кода

В базе 1С на PostgreSQL копятся индексы, которыми никто не пользуется: их создаёт флажок «Индексировать» у реквизитов или их добавляют вручную. Каждый такой индекс замедляет запись: в опыте на тестовой таблице восемь лишних индексов сделали вставку 300 000 строк в четыре-шесть раз дольше. Скрипт на Python смотрит статистику PostgreSQL и показывает, какие индексы ни разу не использовались и какой реквизит 1С их создал. На нашей конфигурации «Нано-УТ» он нашёл четыре ненужных индекса документа и один дубль, добавленный вручную. После того как я сняла флажки и обновила конфигурацию, индексов стало 227 вместо 234, данные не пострадали. В архиве скрипт, запросы и примеры.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Скрипт поиска лишних индексов 1С в PostgreSQL: запросы, примеры и проверки
.zip 76,10Kb
0 4 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.
Администрирование 1С
О чём это (в четырёх тезисах)
1.Индекс базы 1С в PostgreSQL называется `_document62_5`; утилита связывает его с объектом 1С и свойством «Индексировать» через структуру хранения базы и выгрузку конфигурации.
2.На стенде нашла четыре индекса документа без единого обращения, ручной дубль и два ручных индекса, которые повторяют начало служебных; признак «уникальный» в 1С ничего не говорит: уникальны 176 индексов из 227.
3.Снятие свойства «Индексировать» и обновление конфигурации вернули таблицу документа к трём служебным индексам: 234 индекса стали 227, данные и результаты запросов не изменились; три ручных индекса пропали вместе с пересозданной таблицей.
4.Восемь дополнительных индексов в опыте на таблице без 1С сделали вставку 300 000 строк в четыре-шесть раз дольше и увеличили журнал предзаписи (WAL) в 4,8 раза.
Протокол проверки
Что проверялосьСбор статистики индексов PostgreSQL, сопоставление с метаданными 1С, поиск индексов-повторов, снятие свойства «Индексировать», цена индексов на запись.
Где и когда22.10.2026, Windows 11 Pro, i5-2400, 7,9 ГБ ОЗУ, SATA SSD; 1С 8.3.27.2130 x86, серверная база «Нано-УТ 2.0»; Postgres Pro 1C 17.10 в Docker.
Как120 проведённых продаж и 30 повторов типовых запросов; три выгрузки индексов (с флагами, с тремя ручными индексами, после снятия флагов); опыты на отдельной таблице, две серии по три прогона.
РезультатБез обращений: 4 индекса документа и 4 индекса регистра цен с флагами; ручной дубль и 2 индекса-повтора найдены; после снятия флагов 234 -> 227 индексов, 240 документов и 5880 строк выдачи без изменений; 15 тестов логики и 15 проверок на выгрузках.
ГраницыРабочая база, PostgreSQL 15 и 16, Linux, реплики, типовые конфигурации и расширения не проверялись; в проведении 1С прирост скорости не измерен.
Суть статьи

Как найти в базе 1С на PostgreSQL индексы без обращений, точные дубли и индексы, чей ключ - начало другого индекса, и убрать их там, где их создала платформа: через свойство «Индексировать». Проверено на «Нано-УТ» и сервере 1С 8.3.27.

Ключевые идеи
  • Индекс платформы убирают свойством «Индексировать» и обновлением конфигурации, а не командой DROP INDEX.
  • Признак «уникальный» в базе 1С не говорит о защите данных: платформа добавляет ссылку в ключ почти всех индексов.
  • Статистика idx_scan копится с момента сброса; после реструктуризации таблицы окно для неё открывается заново.
  • Ручные индексы на таблице 1С в нашем опыте исчезли при пересоздании таблицы платформой.
  • Повтор индекса утилита определяет по порядку колонок: индекс лишний, если его колонки - начало другого индекса.
Главная мысль

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

Для кого: разработчики и администраторы 1С на PostgreSQL, которые чистят индексы и хотят видеть, какой реквизит каждый из них создал.

В PostgreSQL таблицы базы 1С называются _document62 и _inforg235, а индексы - _document62_5 и _inforg235_4. Администратор СУБД видит индекс, которым никто не пользуется, и не знает, какой реквизит в конфигурации его создал. Разработчик 1С знает реквизиты, но не видит, сколько раз к индексу обращались. Я написала утилиту на Python, которая сводит эти два взгляда вместе: берёт статистику PostgreSQL, описание хранения базы из платформы и выгрузку конфигурации и по каждому подозрительному индексу называет объект 1С и свойство «Индексировать», от которого он появился.

Проверила я её на учебной конфигурации «Нано-УТ» на сервере 1С 8.3.27 и PostgreSQL 17.10. Утилита нашла индексы без единого обращения, дубль, который я создала вручную, и два индекса, которые целиком покрываются другими. Потом я сняла свойство «Индексировать» в конфигурации, обновила базу и посмотрела, что сделала платформа. Все цифры в статье получены на моём стенде 22 октября 2026 года.

На Инфостарте про индексы в 1С уже писали: есть обработка «Структура базы на PostgreSQL», обработка «Структура хранения данных и рекомендации по индексам» и заметка о восстановлении индексов СУБД (ссылки в разделе «Источники»). Моя утилита отличается тем, что связывает счётчики обращений с флагами конфигурации и отдельно ищет индексы, которые повторяют уже существующие.

Стенд

Условие Значение
Платформа 1С:Предприятие 8.3.27.2130 (x86), отдельный экземпляр кластера (ragent на портах 1840/1841), серверная база idxaudit
СУБД Postgres Pro 1C 17.10 в контейнере Docker. PostgreSQL 15 и 16 не проверялись
Конфигурация «Нано-УТ 2.0» - наша учебная торговая конфигурация (справочники, документы, регистры сведений и накопления). Добавлен общий модуль ИндексАудитСтенд: выгрузка структуры хранения и заполнение базы
Данные 12 товаров, 5 контрагентов, 120 проведённых документов «ПродажаТовара» по 3 строки, документ начальных остатков
Компьютер Intel Core i5-2400 3,1 ГГц (4 ядра, 2011 год), 7,9 ГБ ОЗУ, SATA SSD, Windows 11 Pro; Docker Desktop, ВМ на 4 ядра. Компьютер рабочий: во время замеров были открыты браузер и приложение Claude

База маленькая: индексы занимают килобайты. Времена в разделе про запись на другом железе получатся другими, а поведение платформы и логика поиска от железа не зависят.

Рис. 1. Схема стенда: конфигурация и сервер 1С, PostgreSQL, две выгрузки и утилита

Какие индексы создаёт платформа

В базе стенда 227 индексов, из них 176 платформа создала с признаком UNIQUE. Ключ индекса - это список колонок, по которым он упорядочен. Объявить свой индекс уникальным платформа может потому, что последней колонкой ставит в ключ ссылку на объект (_IDRRef), а она у каждой строки своя. Ту же уникальность ссылки уже обеспечивает первичный ключ, поэтому такой UNIQUE не отклонит ни одной строки, которую не отклонил бы он. Признак UNIQUE у служебного индекса 1С поэтому не помогает отличить индекс, который защищает данные, от индекса только для поиска, и утилита на него не опирается. Первичный ключ платформа создаёт как ограничение PRIMARY KEY: _document62ng_pkey. Для документа «ПродажаТовара» в исходной базе три служебных индекса по номеру и дате:

Индекс Ключ
_document62_1 _numberprefix, _number, _idrref
_document62_2 _number, _idrref
_document62_3 _date_time, _idrref, _marked

Лишние индексы появляются, когда у реквизита включено свойство «Индексировать» или «Индексировать с доп. упорядочиванием». Я включила его у пяти реквизитов документа «ПродажаТовара» (Контрагент, Склад с доп. упорядочиванием, ВидЦены, Заказ, Комментарий) и у двух измерений регистра сведений «ЦеныНоменклатуры», обновила конфигурацию базы и запустила нагрузку: 120 продаж и 30 повторов типовых запросов (документы за период, остатки на дату, документы одного контрагента). Платформа создала пять новых индексов на документе и два на регистре, а индекс _document62_3 пересоздала с добавлением склада в ключ. На рисунке показаны индексы документа и число обращений к каждому после нагрузки. Выгрузка сделана запросом collect_indexes.sql из архива; команда PowerShell на снимке читает файл-выгрузку со стенда от 22.10.2026.

Рис. 2. Снимок окна консоли: индексы документа «ПродажаТовара» и число обращений к ним (выгрузка со стенда от 22.10.2026, прочитана из архива)

Индекс _document62_4 (контрагент) использован 30 раз: на нём держится запрос «документы контрагента». Индексы по складу с упорядочиванием, виду цены, заказу и комментарию не использованы ни разу. К таблице регистра _inforg235 обращений нет совсем: ни один запрос нагрузки не читал цены.

Статистика PostgreSQL и её окно

Число обращений к индексу PostgreSQL ведёт сам. Оно лежит в представлении pg_stat_user_indexes, в поле idx_scan (от английского index scan, «просмотр индекса»):

SQL UTF-8 Открыть файл
1
2
3
4
SELECT indexrelname, idx_scan, pg_size_pretty(pg_relation_size(indexrelid))
  FROM pg_stat_user_indexes
 WHERE relname = '_document62'
 ORDER BY indexrelname;

Счётчик копится с момента, когда статистику последний раз сбрасывали. Эту дату хранит pg_stat_database.stats_reset, и утилита печатает её в начале отчёта. Перед нагрузкой я вызвала pg_stat_reset(), поэтому окно наблюдения здесь - один прогон. В рабочей базе окно должно покрывать и самые редкие отчёты: квартальные и годовые.

Что именно увеличивает счётчик, я проверила отдельным опытом на том же PostgreSQL 17.10 (скрипт queries/idx_scan_check.sql в архиве). Одна таблица на 200 000 строк, один индекс, после каждого обращения печатаются план и счётчик. idx_scan вырос при поиске по битовой карте (Bitmap Index Scan), при поиске только по индексу (Index Only Scan), при сортировке по индексу без условия и даже тогда, когда планировщик только оценивал запрос (EXPLAIN без выполнения) со значением за пределами собранной статистики: в этом случае он сам заглядывает в индекс. Значит, ноль в idx_scan означает, что за время наблюдения к индексу не обращался никто, включая планировщик.

Рис. 3. Снимок окна консоли: какие обращения увеличивают idx_scan (поиск по битовой карте, только по индексу, сортировка, оценка планировщиком)

При этом ноль - только повод разобраться. Счётчики обнуляются не только по pg_stat_reset(): PostgreSQL сбрасывает их после аварийной остановки и после восстановления из резервной копии. На стенде я это видела сама: после того как Docker был остановлен без корректного завершения, контейнер прошёл восстановление, и все счётчики базы стали нулевыми. Чтения на реплике в счётчиках основного сервера не видны: у реплики своя статистика. Индекс может быть нужен и без единого поиска, если на нём держится ограничение (UNIQUE, внешний ключ). Наконец, планировщик пользуется индексом для оценок, поэтому после удаления индекса планы других запросов могут измениться.

Связь индексов с метаданными 1С

Имена _Document62 и _Fld124RRef выдаёт платформа. Соответствие между ними и объектами конфигурации возвращает встроенная функция ПолучитьСтруктуруХраненияБазыДанных: таблица значений с именами таблиц, полей и индексов платформы. Я сохраняю её в текст из серверного модуля:

BSL UTF-8 Открыть файл
1
2
3
4
5
6
7
8
9
10
Структура = ПолучитьСтруктуруХраненияБазыДанных(, Истина);
Для Каждого Таблица Из Структура Цикл
	Строки.Добавить("T" + Т + Таблица.ИмяТаблицыХранения + Т + Таблица.Метаданные + Т + Таблица.Назначение);
	Для Каждого Поле Из Таблица.Поля Цикл
		Строки.Добавить("F" + Т + Таблица.ИмяТаблицыХранения + Т + Поле.ИмяПоляХранения + Т + Поле.ИмяПоля + Т + Поле.Метаданные);
	КонецЦикла;
	Для Каждого Индекс Из Таблица.Индексы Цикл
		// Индекс.Поля - поля ключа в порядке индекса
	КонецЦикла;
КонецЦикла;

Полный модуль лежит в архиве (1c/StorageStructure.bsl); платформа проверила его командой проверки модулей, а вызов из внешнего соединения я выполнила на стенде. В выгрузке видно, что _Fld124RRef - реквизит «Склад», _Document62 - «Документ.ПродажаТовара», а индекс _Document62_5 платформа создала сама. У служебных колонок вроде _NumberPrefix в структуре нет ни имени, ни метаданных, и утилита показывает их по имени колонки.

Таблиц, которых нет в структуре (v8users, binarydata и другие служебные таблицы платформы), в базе стенда от 166 до 170 индексов. К метаданным конфигурации они не относятся, поэтому утилита сворачивает их в одну строку отчёта.

Чтобы назвать само свойство, утилита читает XML-выгрузку конфигурации (Конфигуратор, «Выгрузить конфигурацию в файлы») и берёт значения Indexing у реквизитов, измерений и ресурсов. Путь метаданных в выгрузке и в структуре хранения строится одинаково, так что поле «Склад» документа находится по строке Документ.ПродажаТовара.Реквизит.Склад.

Прогон утилиты на базе с лишними индексами

Нужны две команды: первая выгружает индексы через psql, вторая строит отчёт. Утилита ничего не меняет в базе, она только читает файлы.

python index_auditor.py collect --psql "docker exec -i -u postgres nopik-pg psql -d idxaudit" --out indexes.tsv
python index_auditor.py audit --indexes indexes.tsv --storage storage.tsv --config-dir cf-over

На снимке утилита запущена на выгрузках со стенда от 22.10.2026, которые лежат в архиве (examples). Показаны первые 30 строк отчёта.

Рис. 4. Снимок окна консоли: отчёт утилиты по базе с лишними индексами (запуск на выгрузках со стенда от 22.10.2026 из архива)

В разделе про индексы с включённым «Индексировать» восемь индексов, 176 КБ: четыре на документе (_document62_5, _6, _7, _8) и четыре на регистре цен. Часть индексов регистра платформа создаёт и без флагов (_inforg235_1 и _3 были в исходной базе), поэтому утилита пишет осторожно: «в ключе есть поля с включённым свойством», а решение по каждому принимает человек. Индексы _document62_6, _7 и _8 существуют только из-за флагов у реквизитов ВидЦены, Заказ и Комментарий, и к ним никто не обращался.

Индексы, которые повторяют уже существующие

В базе стенда платформа не создала ни одного дубля. Дубли появляются, когда администратор добавляет индекс вручную. Я добавила в базу три индекса командой CREATE INDEX в psql:

  • manual_sklad_dup с тем же ключом, что у _document62_5 (склад, дата, ссылка, пометка удаления);
  • manual_sklad_prefix только по складу;
  • manual_kontr_prefix только по контрагенту.

Первый из них - точная копия служебного индекса 1С. Два других тоже лишние, хотя ни с чем не совпадают. Индекс похож на телефонный справочник: если справочник отсортирован по фамилии, а внутри фамилии по имени, то искать в нём просто по фамилии так же быстро. Отдельный справочник «только по фамилиям» ничего не добавляет. Служебный индекс _document62_5 отсортирован сначала по складу, поэтому поиск по складу он уже обслуживает, и ручной индекс по складу его только повторяет. Так же ручной индекс по контрагенту повторяет начало служебного _document62_4, где контрагент стоит первой колонкой.

Оговорка: короткий индекс меньше длинного, и для части запросов PostgreSQL может выбрать именно его, например при низкой избирательности условия или для сортировки только по складу. Поэтому утилита называет такой индекс кандидатом на удаление, а решает человек. Перед удалением посмотрите планы типовых запросов (EXPLAIN) с ним и без него, лучше на копии базы.

Рис. 5. Снимок окна консоли: ручной дубль и два индекса, которые повторяют начало служебных (запуск на выгрузке со стенда от 22.10.2026 из архива, раздел «созданные вне 1С»)

Из пары одинаковых индексов утилита оставляет тот, который есть в структуре хранения 1С, и называет лишним чужой. Порядок колонок утилита учитывает: ключ (b, a) началом ключа (a, b, c) не считается, это проверяет тест. Индексы с условием WHERE, индексы по выражениям и индексы не вида btree утилита не сравнивает. Уникальные индексы и индексы под ограничениями утилита в кандидаты не включает, даже если они повторяют начало другого. Лишними они бывать могут, например UNIQUE поверх первичного ключа с тем же ключом, но удаление такого индекса меняет правила для данных, и решать это должен человек.

Как убрать лишнее: свойство вместо DROP INDEX

Индекс, который создала платформа, правильно убирать так: снять свойство «Индексировать» и обновить конфигурацию базы. Иначе платформа создаст его снова при следующей реструктуризации. Ручной индекс, созданный администратором вне 1С, убирают обычной командой DROP INDEX: его нет в структуре хранения, и платформа о нём не знает. Ручные индексы бывают и полезны, когда для нужного запроса платформа индекс не строит. Я загрузила в базу конфигурацию без флагов и посмотрела индексы. Снимок сделан сразу после загрузки: сверху ответ Конфигуратора, снизу запрос в psql.

Рис. 6. Снимок окна консоли: обновление базы конфигурацией без флагов «Индексировать» и число индексов после него
Показатель С флагами После снятия флагов
Индексов в схеме public 234 227
Размер индексов, байт 3 047 424 2 826 240
Индексов таблицы _document62 9 4
Документов «ПродажаТовара» 240 240
Строк в выдаче трёх типовых запросов 5880 5880

Платформа пересоздала таблицу _document62 целиком: имя ограничения первичного ключа изменилось (_document62ng_pkey1 снова стало _document62ng_pkey), и все три индекса, которые я добавила вручную, исчезли вместе со старой таблицей. Это результат моего стенда: здесь платформа пересоздала таблицу. Пересоздаёт ли она таблицу при другом изменении структуры, зависит от изменения, и ручные индексы при этом могут как пропасть, так и остаться. После каждого обновления конфигурации проверяйте, на месте ли ваши ручные индексы.

Счётчики idx_scan у новой таблицы начались с нуля: окно наблюдения для неё открылось заново.

Времена двух прогонов нагрузки, 225,6 и 679,7 с, сравнивать нельзя: второй прогон шёл в базе, где уже были проведённые документы, а проведение в «Нано-УТ» дорожает по мере роста истории документов.

Цена лишних индексов на запись

Чтобы не ссылаться на общие слова, я отдельно измерила стоимость индексов без 1С, на таблице в той же СУБД. В таблицу вставляется 300 000 строк, затем обновляется 100 000 строк по колонке без индекса и ещё 100 000 строк по колонке с индексом. Опыт идёт на таблице с 0, 2, 4 и 8 дополнительными индексами. Кроме времени я смотрела на объём журнала предзаписи (WAL, от английского write-ahead log): в него PostgreSQL сначала записывает каждое изменение, чтобы не потерять его при сбое, и каждый дополнительный индекс увеличивает этот журнал. Ниже медианы трёх прогонов:

Дополнительных индексов Вставка, мс Журнал WAL при вставке, МБ Обновление колонки без индекса, мс Обновление колонки с индексом, мс WAL при таком обновлении, МБ Размер индексов, МБ
0 3114 47,1 996 848 20,0 10,7
2 5783 95,6 1388 2530 36,0 31,7
4 9772 136,6 2410 3402 48,0 52,0
8 19 061 228,0 3265 5805 78,9 99,0
Рис. 7. Снимок окна консоли: три прогона bench_write_cost.sql, вставка 300 000 строк и обновления

С восемью дополнительными индексами вставка заняла 19 061 мс против 3114 мс без них, то есть в шесть раз дольше, а журнал WAL вырос в 4,8 раза. Разброс на рабочем компьютере большой: в предыдущей серии из трёх прогонов тех же запросов медианы вставки были 3873 и 15 947 мс, то есть в 4,1 раза. Поэтому я пишу диапазон: в четыре-шесть раз дольше. Объём WAL в обеих сериях получился одинаковым с точностью до процентов (47,3 и 47,1 МБ без индексов, 227,7 и 228,0 МБ с восемью). Обновление колонки без индекса тоже подорожало (996 против 3265 мс); причину я не выясняла.

Отдельно я проверила оптимизацию HOT (Heap-Only Tuples). Когда обновляется колонка, которой нет в индексах, PostgreSQL может положить новую версию строки на ту же страницу таблицы и не трогать индексы. В опыте после обновления колонки без индекса 4281 из 10 000 обновлений прошли как HOT, а после обновления колонки с индексом HOT не было ни одного. Скрипты опытов лежат в архиве.

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

Что не проверялось

  • Рабочая база с миллионами строк и обычной нагрузкой; индексы на сотни мегабайт.
  • PostgreSQL 15 и 16, Linux, реплики (статистика на реплике своя), секционирование.
  • Конфигурации с расширениями и типовые конфигурации: у них своя структура индексов и своё поведение при перестройке таблиц.
  • Платформа ниже 8.3.27.
  • Влияние снятия свойства на планы запросов: утилита этого не оценивает.

Итог

Индекс без обращений - только повод разобраться. Если его создала платформа, удалять его командой СУБД нельзя: убирать его надо свойством «Индексировать» в конфигурации. Ручной индекс удаляют командой DROP INDEX, проверив планы запросов. На стенде утилита нашла четыре индекса документа без обращений, ручной дубль и два ручных индекса, которые повторяют начало служебных. После снятия флагов платформа вернула таблицу к трём служебным индексам, а данные и результаты запросов остались прежними. Перед снятием свойства проверьте, за какой срок накоплена статистика, и запустите редкие отчёты на копии базы.

Источники

Файл к статье

Архив postgresql-index-audit-companion.zip (стенд от 22.10.2026):

  • index_auditor.py - утилита, команды collect и audit, только стандартная библиотека Python;
  • queries/collect_indexes.sql - выгрузка индексов со статистикой; bench_write_cost.sql и hot_update_check.sql - опыты на PostgreSQL;
  • 1c/StorageStructure.bsl - выгрузка структуры хранения базы 1С;
  • examples - выгрузки со стенда (три состояния базы) и файлы конфигурации с флагами; verify.py и test_index_auditor.py - 15 тестов логики и 15 проверок на выгрузках;
  • stand - модуль стенда, нагрузка, вариант конфигурации с лишними индексами; evidence - журналы прогона.

Архив проверен из чистой распаковки: python verify.py проходит без базы и платформы. README.md описывает порядок работы с вашей базой.

Рис. 8. Снимок окна консоли: python verify.py в чистой распаковке архива
 
Нинель Адольевна Щербакова
Нинель Адольевна Щербакова (Ninel_S)
Архитектор • SRE & DevOps инженер • HighLoad 1С
Автор технических публикаций на Infostart. Разработчик NOPik, SRE-Suite-for-1C и мультиагентных ассистентов для экосистемы 1С:Предприятие.

Вступайте в нашу телеграмм-группу Инфостарт

1С:Предприятие PostgreSQL Оптимизация 1С HighLoad Индексы СУБД Администрирование 1С

См. также

Рефакторинг и качество кода Разработчик 1С 8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

8 приёмов за 10 минут: перестаньте прокручивать общий модуль на три тысячи строк как ленту в соцсети. Outline, #Область и фильтр - и вы уже в нужной процедуре, а не на строке «где-то внизу».

25.09.2026    2197    aleksandrboldyusov    9    

18

DevOps и автоматизация разработки Тестирование QA Групповая разработка (Git, хранилище) Разработчик 1С:Предприятие 8 Бесплатно (free)

Четыре года в интеграторе я работал с git и EDT. Git после хранилища полюбил сразу: видно, кто и что менял. С EDT сложнее: тормозит, ошибки при обновлении ERP, автономный сервер внутри него работает только с файловой базой. На новой работе команда захотела перейти на git, я развернул EDT, и оно на второй день разрушило проект при загрузке расширения. Тогда я решил дать команде git с привычным Конфигуратором и инструмент, который за минуту доносит коммит до базы через ibcmd, вместо получасовой загрузки из файлов. На новой работе разрешили ИИ, и я написал это приложение с его помощью: от чтения документации и первого ТЗ до идей в электричке. Впервые за годы снова почувствовал себя творцом, а не закрывателем задач. По дороге приросли выгрузка, объединение и проверка конфигурации по коммитам, YAxUnit и режим MCP-сервера. В статье: схемы, скриншоты, грабли и честный список ограничений. Ссылки пока нет: хочу понять, нужно ли это кому-то, кроме меня.

03.09.2026    12310    KatanaDragon511    30    

40

Инструменты администратора БД Инструментарий разработчика Тестирование QA Системный администратор Разработчик Стажер 1С:Предприятие 8 Бесплатно (free)

В экосистеме 1С давно живут сотни инструментов: от Конфигуратора и Хранилища до систем тестирования, мониторинга, интеграции и CI/CD. Я собрал их в Ландшафт технологий, а теперь добавляю данные о реальном использовании. Рассказываю, как устроена карта, что показал первый опрос и почему в новой волне особенно нужны администраторы, аналитики и тестировщики.

01.09.2026    2843    mrXoxot    6    

25

DevOps и автоматизация разработки Мониторинг Тестирование QA Разработчик 1С:Предприятие 8 Бесплатно (free)

Платформа 1С давно вышла за рамки учетных систем. Сегодня это полноценная среда для создания сложных, высоконагруженных и распределенных приложений. А значит, и стек технологий современного разработчика кардинально изменился. Систематизируем весь инструментарий, который превращает 1С-программиста в инженера: от EDT и Git до автотестов на YAxUnit, контейнеризации приложений в Docker, мониторинга в Prometheus и организации шины данных на Kafka. Разберемся, зачем каждый инструмент нужен, как он вписывается в жизненный цикл разработки и с чего начать его внедрение.

25.08.2026    24665    mrXoxot    55    

88

Рефакторинг и качество кода Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

На проекте сложного обновления 1С:ERP 2.4.14.181 до версии 2.5.22.106 нам было нужно уложить обновление в технологическое окно 48 часов (выходные). Исходный замер, с учетом промежуточных релизов 2.5.8.443, 2.5.12.270, 2.5.17.234, 2.5.22.106, показал требуемое время в 659 часов…

07.07.2026    6823    1c-izh    21    

22

Инструментарий разработчика Рефакторинг и качество кода Разработчик 1С:Предприятие 8 Бесплатно (free)

Инструмент для тех, кто устал читать модули по 50 тысяч строк и искать ошибки глазами. MetaVision загружает выгруженные файлы конфигурации и за секунды строит графы функций, находит уязвимости и подсвечивает проблемы производительности. Ключевые возможности: Визуализация логики функций (графы условий, циклов, транзакций и вызовов). Статический аудит безопасности (RCE, SSRF, COM-инъекции, пароли в коде). Поиск проблем производительности (запросы в циклах, вложенные блокировки). Полнотекстовый поиск по всем модулям конфигурации. Статистика по объектам и функциям. Безопасность: Программа работает строго локально. Код вашей конфигурации не отправляется в интернет и не анализируется на сторонних серверах. Попробуйте MetaVision сегодня — узнайте, что скрывает ваш код.

20.04.2026    15490    1483    KHoroshulinAV    64    

95

Нейросети Рефакторинг и качество кода Разработчик Бесплатно (free)

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

17.03.2026    4959    IgorVasilyev    54    

28

Нейросети Рефакторинг и качество кода Разработчик Бесплатно (free)

В статье рассказываю, как писать код 1С в VS Code с помощью бесплатных AI-моделей 🤖 Используем GLM-4.7 через Roocode + Cerebras (до 1 миллион токенов в день). Подключаем бесплатные MCP. Генерируем новый код и смотрим, как AI справляется с задачами.

06.02.2026    29995    Ibrogim    84    

57
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. pbelousov 22 23.10.26 16:18 Сейчас в теме
как-будто новый тренд начался в мире 1С на убирание индексов.
в то время как я наблюдаю их отсутствие,
и непонимание в людях, зачем же они нужны.

это так... лирическое отступление... :)
2. Ninel_S 214 23.10.26 16:55 Сейчас в теме
Коллега, всё не так драматично ;-)

Индексы - это не “много” или “мало”.
Индексы - это “правильно” или “неправильно”...

Суть:
- добавлять индексы наши люди всегда умели (хоть и плохо);
- удалять безопасно — не умели вообще.

И теперь появляется методология:
- статистика pg_stat_user_indexes,
- сопоставление индекса с реквизитом,
- анализ дублирования,
- проверка начала ключа,
- понимание влияния на WAL и HOT,

Люди, естественно, поднимают волну - «давайте чистить».
Но это не тренд на удаление. Это курс на "осознанность"

Ну или как-то так ;-)
3. starik-2005 3309 24.10.26 14:00 Сейчас в теме
(2)
Это курс на "осознанность"
Скорее ИИ теперь может осознать то, что раньше от большинства скрывалось
4. Ninel_S 214 24.10.26 14:50 Сейчас в теме
(3)
Скорее ИИ теперь может осознать то, что раньше от большинства скрывалось


Скорее "ускользало" ...
Для отправки сообщения требуется регистрация/авторизация