Что сломается в конфигурации 1С, если я удалю процедуру, регистр, константу или реквизит?

26.10.26

Разработка - Инструментарий разработчика

Граф зависимостей по выгрузке «Нано-УТ 2.0» нашёл 66 из 72 позиций, которые затрагивают семь изменений (процедура, регистр, перечисление, константа, реквизит), и дал 3 лишних. Те же изменения проверила платформой 8.3.27 с ключом -ExtendedModulesCheck и без него: файлы названы для 17 позиций, регистры в строках и реквизиты в коде не найдены. В архиве инструмент, тесты, выгрузка стенда и журналы.

Файлы

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

Наименование Скачано Купить файл
Анализ влияния изменений 1С: граф зависимостей по выгрузке, ручной ответ для 7 изменений, тесты и журналы платформы (24.10.2026)
.zip 373,88Kb
0 2 500 руб. Купить

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

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

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

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

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.
Разработка 1С
О чём это (в трёх тезисах)
1.Граф по XML и BSL назвал 66 из 72 позиций ручного ответа и добавил 3 лишних. Пропуски и лишние позиции связаны со строковыми именами и динамическим доступом.
2.Обычный /CheckModules промолчал при удалении функции общего модуля, значения перечисления и константы. С ключом -ExtendedModulesCheck платформа назвала модули для этих изменений, но не назвала процедуры и строки. Регистры в строках и реквизиты в коде не заметил ни один режим.
3.Платформа и граф видят разные части конфигурации. Динамический перебор реквизитов и имя регистра, переданное параметром, не видит ни один из них.
Протокол проверки
Что проверялосьИнструмент impact.py строит граф зависимостей по выгрузке XML и BSL. Семь изменений с ручным ответом, затем те же изменения в платформе.
Где и когда24.10.2026, Windows 11 Pro, Intel Core i5-2400, 7,9 ГБ ОЗУ, SATA SSD; 1С:Предприятие 8.3.27.2130 x86; выгрузка «Нано-УТ 2.0» (293 файла); Python 3.12.10.
КакРучной ответ записан в evaluate.py до подсчёта. Платформа: CREATEINFOBASE, /LoadConfigFromFiles, /CheckModules -ThinClient -Server -ExternalConnection без ключа и с -ExtendedModulesCheck; журналы в evidence/.
РезультатВ ручном ответе 72 позиции, граф нашёл 69, из них верных 66. Платформа во всех режимах назвала файл для 17 позиций из 72; процедуру и строку указал только обычный режим и только для вызова внутри модуля.
ГраницыОдна небольшая учебная конфигурация. Ручной ответ составляла та же, кто писала инструмент. Расширения, вызовы Выполнить и подписки на события на рабочих конфигурациях не проверялись.
Суть статьи

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

Ключевые идеи
  • Обычный /CheckModules не проверил вызовы между общими модулями: удаление СостояниеУчета.ЧислоИзСоответствия, у которой семь вызывающих процедур, прошло без сообщений.
  • Ключ -ExtendedModulesCheck нашёл вызовы, значения перечислений и обращения к константе: число сообщений совпало с числом обращений в BSL, но процедура и строка не указаны.
  • Граф нашёл 66 из 72 позиций при 3 лишних; все промахи объясняются строками, параметрами и динамикой.
  • Регистры в строках запросов и реквизиты в коде платформа не нашла ни в одном режиме, даже когда загрузка прошла.
  • В архиве инструмент, ручной ответ, тесты, выгрузка стенда и журналы.
Главная мысль

Граф сужает поиск до списка кандидатов до правки, а платформа проверяет получившуюся конфигурацию. Динамические места остаются на ручной проверке.

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

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

Стенд

Условие Значение
Платформа 1С:Предприятие 8.3.27.2130 x86, пакетный Конфигуратор, файловая база
Выгрузка «Нано-УТ 2.0», учебная конфигурация: 293 файла (81 BSL, 212 XML), 71 объект метаданных, 268 процедур и функций, из них 45 экспортных
Инструмент impact.py, Python 3.12.10, только стандартная библиотека; граф строится за 0,83 с
Компьютер Windows 11 Pro, Intel Core i5-2400, 7,9 ГБ ОЗУ, SATA SSD; рабочая машина с открытыми приложениями
Метод семь изменений с ручным ответом; те же изменения в копиях выгрузки, загрузка в новую базу, /CheckModules без ключа и с -ExtendedModulesCheck

Это одна небольшая конфигурация. Она не позволяет судить о скорости или полноте на УТ 11 или ERP, где объектов на порядки больше.

Что строит инструмент

Инструмент читает выгрузку «в файлы» и записывает связи «кто что использует». Узлы графа: процедуры, объекты метаданных, реквизиты, значения перечислений, формы. Каждая связь хранит файл, строку, тип и уверенность. Уверенность «точно» означает связь, которая прямо написана в тексте или XML. «По имени» означает совпадение строки или имени свойства; такая связь может оказаться ложной.

На выгрузке стенда получилось 1688 связей: 1480 точных и 208 по имени.

Откуда связь Сколько
Вызовы процедур (Модуль.Метод( и вызовы внутри модуля) 353
Привязки полей форм и колонки списков (DataPath) 369
Типы реквизитов и параметров форм 192
Обработчики событий и команды форм 114
Строки, равные имени регистра, документа или отчёта 208
Права ролей 150
Записи движений документов (RegisterRecords) 140
Принадлежность формы объекту 67
Состав подсистем 38
Менеджеры, Метаданные., тексты запросов, значения перечислений, открытие форм 57

Запрос выглядит так:

Bash UTF-8
1
python impact.py stand/src proc:ТоварыУчет.Движение --depth 3

Результат на глубине 1 для этой процедуры:

Глубина Источник Связь Файл:строка
1 ВозвратыУчет.Применить вызов, точно CommonModules/ВозвратыУчет/Ext/Module.bsl:127
1 ТоварыУчет.Применить вызов, точно CommonModules/ТоварыУчет/Ext/Module.bsl:75

Глубина 2 добавляет УчетСервер.Пересчитать, глубина 3 доходит до обработчиков документов: 28 записей, обработка проведения и отмены проведения у каждого из 14 документов. Это число я сверила поиском по тексту: вызов УчетСервер.Пересчитать встречается в модулях объектов 28 раз.

Рядом с графом инструмент печатает предупреждения о динамических конструкциях. В этой выгрузке их 35: 17 раз Метаданные() у переменной, 12 раз имя объекта дописывается к тексту запроса, 4 раза менеджер выбирается по имени из переменной, 2 раза перебор коллекции метаданных. Вызовов Выполнить или Вычислить со строкой кода в выгрузке нет; что инструмент делает с таким кодом, показано в разделе «Пределы».

Семь изменений и ручной ответ

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

Ответ составляла по текстовому поиску и чтению кода, с решением по каждому вхождению. Он записан в evaluate.py. Независимой эту разметку считать нельзя: я же писала инструмент, часть его выдачи видела до окончания разметки, а второго человека, который проверил бы список, не было.

Номер Изменение Ручных мест Из чего состоит ответ
S1 Удалить ТоварыУчет.Движение 2 два вызывающих модуля
S2 Удалить СостояниеУчета.ЧислоИзСоответствия 7 семь процедур в пяти модулях
S3 Удалить регистр накопления Продажи 23 14 документов, 3 роли и 6 процедур
S3b Удалить регистр ЗаказыКлиентов 26 14 документов, 3 роли и 9 процедур; у регистра есть одноимённый отчёт
S4 Удалить значение НаправлениеРасчетов.Покупатель 4 четыре процедуры
S5 Переименовать реквизит ПродажаТовара.НулеваяЦенаПодтверждена 4 форма, две процедуры по имени, одна с перебором реквизитов
S6 Удалить константу НаименованиеОрганизации 6 3 роли, 3 процедуры

Что нашёл граф

Подсчёт на глубине 1, то есть прямое использование:

Номер Ручных Найдено Верных Лишних Пропущено Полнота Точность
S1 2 2 2 0 0 100% 100%
S2 7 7 7 0 0 100% 100%
S3 23 21 21 0 2 91% 100%
S3b 26 26 23 3 3 88% 88%
S4 4 4 4 0 0 100% 100%
S5 4 3 3 0 1 75% 100%
S6 6 6 6 0 0 100% 100%
Всего 72 69 66 3 6 92% 96%

Четыре изменения из семи граф описал полностью. Все шесть пропусков и три лишние позиции относятся к трём изменениям, где имя берётся из строки, параметра или цикла. Разберу их.

Где граф ошибся

Имя регистра хранится в списке

Модуль ДвиженияУчета хранит имена регистров списком строк и дальше обращается к ним по имени:

BSL UTF-8
1
2
3
Функция Регистры() Экспорт
    Результат = Новый Структура;
    Для Каждого Имя Из СтрРазделить("ТоварыНаСкладах,РезервыТоваров,ЗаказыКлиентов,ЗаказыПоставщикам,РасчетыСКлиентами,РасчетыСПоставщиками,ДенежныеСредства,Продажи", ",") Цикл
BSL UTF-8
1
2
        Если ТипРегистра = "Накопления" Тогда
            Набор = РегистрыНакопления[Группа.ИмяРегистра].СоздатьНаборЗаписей();

Строка со списком попала в граф как связь «по имени»: в Регистры найдены все восемь регистров. Процедуры Записать и СтарыеРегистраторы берут имя из результата Регистры() и своего имени регистра в тексте не содержат. На глубине 1 граф их пропустил (S3 и S3b). Они появляются на глубине 2 как вызывающие Регистры, и при глубине 2 S3 находит все 23 позиции. Точность при этом падает до 92%: в список попадают вызывающие процедуры УчетСервер.Пересчитать и ОтчетыСервер.Сформировать, которых в прямом ручном ответе нет.

Имя регистра передано параметром

В ЗаказыУчет процедура ДвижениеЗаказа получает имя регистра аргументом и передаёт его дальше:

BSL UTF-8
1
2
Процедура ДвижениеЗаказа(Состояние, Событие, ИмяРегистра, Заказ, Товар, Количество, Сумма, ЭтоПриход)
    СостояниеУчета.ДобавитьДвижение(Состояние, ИмяРегистра, Событие.Ссылка, Событие.Дата,

Строки "ЗаказыКлиентов" стоят в вызывающих процедурах (Применить, Исполнить), и граф их нашёл. Саму ДвижениеЗаказа он пропустил: имя регистра в её тексте не написано. Это пропуск S3b, который не исчезает и на глубине 2.

Одноимённый отчёт и ключ состояния

У регистра ЗаказыКлиентов есть одноимённый отчёт, а в СостояниеУчета.Создать есть ключ состояния с тем же словом. В трёх позициях строка "ЗаказыКлиентов" называет не регистр, но выглядит так же, и граф связывает её со всеми объектами с таким именем. В ручной ответ эти места не вошли:

Лишнее место Что на самом деле
ОтчетыСервер.Сформировать имя отчёта в условии
СостояниеУчета.Создать ключ структуры состояния
форма отчёта ЗаказыКлиентов, процедура СформироватьДляПечати имя отчёта в вызове

Для строки без типа определить, что она называет: регистр или отчёт, инструмент не может. Он помечает такую связь как «по имени», и читателю остаётся решить самому.

Перебор реквизитов в цикле

Для S5 граф нашёл форму, привязанную к реквизиту через DataPath, и две процедуры, где написано .НулеваяЦенаПодтверждена. Четвёртую позицию он не увидел:

BSL UTF-8
1
2
3
4
5
6
Функция Нормализовать(Документ) Экспорт
    Мета = Документ.Метаданные();
    Данные = Новый Структура;
    Для Каждого Реквизит Из Мета.Реквизиты Цикл
        Данные.Вставить(Реквизит.Имя, Документ[Реквизит.Имя]);
    КонецЦикла;

Здесь реквизит не назван ни одной строкой, его имя берётся из метаданных во время работы. Если переименовать реквизит, Нормализовать продолжит работать, а в ТоварыУчет.СводТоваров обращение Событие.Данные.НулеваяЦенаПодтверждена сломается. Граф покажет вторую процедуру и не покажет первую.

Выгрузка, сделанная самой платформой

Выгрузка стенда лежит в репозитории готовой. Чтобы проверить, что граф к ней не привязан, я загрузила её в базу и выгрузила обратно командой DESIGNER /DumpConfigToFiles (код 0, 20,4 с). Платформа записала 270 файлов вместо 293: 24 пустых модуля в выгрузку не попали, зато появился ConfigDumpInfo.xml.

Те же семь запросов дали на этой выгрузке 66 найденных позиций из 72, верных 63: полнота 88%, точность 95%. Всё отличие связано с одной ролью. В выгрузке платформы у роли «Администратор» нет перечня объектов, потому что права заданы по умолчанию. Правок в этой роли при удалении регистра или константы не будет, и граф её не называет. В ручном ответе, составленном для stand/src, эта роль есть. Остальные результаты не изменились.

Что сказала платформа

Каждое из семи изменений я внесла в копию выгрузки, создала новую файловую базу, загрузила выгрузку через /LoadConfigFromFiles и запустила /CheckModules -ThinClient -Server -ExternalConnection два раза: обычный и с ключом -ExtendedModulesCheck. Если загрузка останавливалась на XML (S3, S3b, S5, S7), я вручную убирала из XML ссылки на удалённое или переименованное (записи движений документов, права ролей, привязки полей форм) и повторяла прогон, чтобы проверка дошла до BSL. Для контроля прогнала выгрузку без изменений и переименование ТоварыУчет.Остаток: эту функцию зовут три процедуры своего модуля и одна процедура ЗаказыУчет.

Изменение Загрузка /CheckModules С ключом -ExtendedModulesCheck
Без изменений код 0 код 0 код 0, ложных сообщений нет
Контроль: переименована ТоварыУчет.Остаток код 0 код 101: Списать, Приход, Применить, шесть сообщений в двух контекстах те же и «Возможно ошибочный метод» по ЗаказыУчет
S1: удалена ТоварыУчет.Движение код 0 код 101: семь вызовов внутри ТоварыУчет.Применить, ВозвратыУчет не названа те же и два сообщения «Возможно ошибочный метод» по ВозвратыУчет
S2: удалена СостояниеУчета.ЧислоИзСоответствия код 0 код 0, сообщений нет код 101: 8 сообщений «Возможно ошибочный метод» в пяти модулях
S3 и S3b: удалён регистр Продажи, затем ЗаказыКлиентов код 1: по 28 строк «Неизвестный объект метаданных» без имён файлов не запускалась не запускалась
S3 и S3b после ручной чистки XML код 0 код 0 код 0
S4: удалено значение Покупатель код 0 код 0 код 101: 4 сообщения «Возможно ошибочное свойство: Покупатель» в трёх модулях
S5: переименован НулеваяЦенаПодтверждена код 1: форма объекта не запускалась не запускалась
S5 после правки DataPath форм код 0 код 0 код 0
S6: удалена константа код 0, три предупреждения код 0 код 101: 4 сообщения «Возможно ошибочное свойство» (ПечатьСервер и общая форма)
S7: переименован Склад код 1: три формы не запускалась не запускалась
S7 после правки DataPath форм код 0 код 0 код 0

Что из этого следует:

  1. Обычный режим находит вызов удалённой процедуры только внутри её модуля. Между модулями он не увидел два вызова в S1 и семь процедур в S2. В прошлой проверке висячих вызовов на той же выгрузке картина была такой же: без ключа платформа нашла 13 вызовов из 69, с ключом 64.
  2. Ключ добавляет сообщения «Возможно ошибочный метод» и «Возможно ошибочное свойство». В S1, S2, S4 и S6 число сообщений совпало с числом обращений в BSL (2, 8, 4 и 4), а набор модулей совпал с набором модулей в моём ручном ответе. Процедуру и строку платформа с этим ключом не называет, только модуль и имя. Ложных сообщений на выгрузке без изменений нет.
  3. Ни один режим не читает строки и тексты запросов. После ручной чистки XML удалённые регистры (S3 и S3b) и переименованные реквизиты (S5 и S7) прошли без сообщений, хотя в BSL осталось шесть процедур с Продажи, девять с ЗаказыКлиентов и три с НулеваяЦенаПодтверждена.
  4. Структуру XML платформа проверяет жёстко: пока в документах оставалась запись движений по удалённому регистру, загрузка завершалась кодом 1 и проверка модулей не запускалась. Сообщения не называют документ, и в S3 к ним добавлено ещё 18 строк «Ни один из документов не является регистратором для регистра» про соседние регистры. После ручной чистки XML исчезли и они.
  5. Для удалённой константы загрузка вывела три строки «Неизвестный объект метаданных - Constant.НаименованиеОрганизации» и завершилась кодом 0. После удаления константы это имя осталось только в Rights.xml трёх ролей (Администратор, Оператор, Чтение), но файлы ролей в сообщениях не названы.

Граф и платформа рядом

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

Изменение Позиций в ручном ответе Граф, верных Платформа, файл назван
S1 2 2 2
S2 7 7 7
S3 23 21 0
S3b 26 23 0
S4 4 4 4
S5 4 3 1
S6 6 6 3
Всего 72 66 17

Для S1, S2 и S4 платформа с ключом называет те же модули, что и граф. Граф добавляет процедуры и строки, вызывающую цепочку (в S1 до 28 обработчиков документов), роли и подсистемы: в S6 три роли с правом на константу платформа не назвала. Платформа добавляет то, чего граф не умеет: проверку собранной конфигурации после изменения, то есть загрузку XML и синтаксис.

Граф запускается до правки за 0,83 с без базы и лицензии. Полный прогон платформы с создаваемой базой и двумя проверками занимал в моих запусках от 21 до 145 с; на компьютере параллельно работали другие программы, поэтому эти времена годятся только как порядок величины.

Поиск реквизита по имени: пример «Склад»

Реквизит документа можно искать только по имени свойства, типов в BSL инструмент не знает. Как это выглядит, показал S7: переименование ПродажаТовара.Склад.

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

По имени в BSL граф вернул ещё 20 записей. Элемент с именем «Склад» есть в описании 13 объектов: 9 документов, 3 регистров накопления и 1 регистра сведений. Из 20 записей 10 относятся к процедурам общих модулей и 10 к модулям форм отчётов. Какие из 20 записей касаются именно документа «Продажа товара», по списку не определить: нужна ручная проверка каждой. Поэтому S7 в подсчёт полноты и точности не входит. Платформа по BSL промолчала.

Для реквизита с редким именем поиск по имени работает хорошо: у НулеваяЦенаПодтверждена он вернул две процедуры, обе по делу. Для общего слова результат это длинный список кандидатов.

Пределы

Инструмент не видит:

  • Код, собранный в строке и выполненный через Выполнить или Вычислить. В выгрузке стенда такого кода нет. В тесте на искусственном примере инструмент выдаёт предупреждение и не добавляет вызов в граф.
  • Имя объекта, составленное из частей. Связь появляется, только если строка с этим именем стоит где-то рядом.
  • Реквизиты, к которым обращаются через переменную без типа или перебором (Документ[Реквизит.Имя]).
  • Имя регистра или процедуры, переданное параметром в другую процедуру.
  • Расширения конфигурации, перехваты, общие реквизиты, параметры сеанса, регламентные задания, HTTP- и веб-сервисы, макеты, схемы компоновки. Эти части выгрузки не разбираются.
  • Роли с правами по умолчанию. В выгрузке платформы у роли «Администратор» нет перечня объектов, и граф такую роль не называет.
  • Подписки на события: разбор написан по формату XML и проверен на искусственном примере. В выгрузке «Нано-УТ» подписок нет, поэтому на рабочей конфигурации этот код не испытан.
  • Совместимость изменения. Если поменять тип параметра или порядок аргументов, инструмент назовёт вызывающие места, а оценивать их не будет.

Опыт с платформой тоже ограничен: проверены контексты клиента, сервера и внешнего соединения в одной версии платформы, а выполнение кода в режиме предприятия не запускалось. Режим -ExtendedModulesCheck называет модуль и имя без процедуры и строки и не читает строки с именами и тексты запросов. Времена прогонов приводить для сравнения не стоит: на компьютере параллельно работали другие программы, и один и тот же сценарий в разных запусках занимал разное время.

Что проверить у себя

  1. Выгрузите конфигурацию в файлы: 1cv8.exe DESIGNER /F <база> /DumpConfigToFiles <каталог>.
  2. Запросите граф для объекта, который собираетесь менять: python impact.py <каталог> meta:Вид.Имя --depth 2 --warnings.
  3. Пройдите глазами записи «по имени» и предупреждения о динамике, которые относятся к процедурам из списка.
  4. Внесите изменение в копию выгрузки, создайте новую файловую базу (CREATEINFOBASE File=...), загрузите копию через /LoadConfigFromFiles и запустите /CheckModules -ThinClient -Server -ExternalConnection два раза: без ключа и с -ExtendedModulesCheck.
  5. Сравните сообщения платформы со списком графа. Расхождения проверьте вручную: именно там скрыта динамика.

Файл к статье

В архиве impact-18-3-companion.zip находятся: impact.py, evaluate.py с ручным ответом, platform_experiment.py и compare_platform.py для опыта на платформе, выгрузка стенда stand/src, тесты с искусственной выгрузкой, README и журналы запусков. Тесты работают без платформы 1С. Из корня распакованного архива:

Bash UTF-8
1
2
3
python -m unittest discover -s tests -v
python evaluate.py stand/src --lists
python impact.py stand/src meta:AccumulationRegister.Продажи --depth 2

В тестах 14 проверок: 13 на искусственной выгрузке и одна сверяет цифры этой статьи на выгрузке стенда; в моём прогоне все проходят. Опыт с платформой запускается командой python platform_experiment.py stand\src work S1 S2 S3 и требует установленную платформу 8.3.27 и свободную лицензию для Конфигуратора. Если у вас другой каталог платформы, задайте переменную ONEC_BIN.

Итог

Граф зависимостей по выгрузке хорошо работает там, где связь написана в тексте: вызов между модулями, значение перечисления, константа, запрос с именем объекта. Он дал 66 верных позиций из 72 и 3 лишних, а промахи сосредоточились там, где имя прячется в строке, параметре или цикле. Платформа без ключа проверила структуру XML и вызовы внутри модуля, а удаление функции общего модуля, значения перечисления и константы для неё осталось незамеченным. С ключом -ExtendedModulesCheck она назвала модули для этих трёх видов изменений, но не процедуры и строки, и промолчала про регистры в строках и про реквизиты в коде.

Практический порядок получается такой: сначала запросить граф и пройти глазами список, включая записи «по имени» и предупреждения о динамике; затем внести изменение, загрузить выгрузку в платформу и запустить /CheckModules с ключом и без него. Если граф и платформа ничего не нашли, это не доказательство отсутствия связей: шесть пропусков остались у графа в S3, S3b и S5, а платформа пропустила регистры и реквизиты целиком.

Выводы относятся к одной небольшой учебной конфигурации, версии платформы 8.3.27.2130 и ручной разметке, которую составляла я сама. На УТ 11 и ERP, на расширениях и на коде с Выполнить инструмент не проверялся.

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

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

1С:Предприятие Анализ влияния Граф зависимостей Рефакторинг Конфигуратор Проверка конфигурации

См. также

Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)

Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.

50000 руб.

10.09.2026    14000    125    0    

87

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    83463    432    171    

364

Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    286090    1608    423    

1220

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Разработчик Аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    17011    63    62    

74

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    44336    123    54    

135

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    77216    147    41    

154

Разработка Инструментарий разработчика Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Pilot 1C превращает задачу, поставленную обычными словами, в техническое задание, код на встроенном языке и сценарии проверки. Прежде чем что-то предложить, он сверяется с устройством вашей конфигурации через граф Analyzer 1C: существует ли объект, из чего он состоит, кто его вызывает, какие роли дают права. Чего найти не удалось – спрашивает, а не выдумывает. Готовый код проходит более полутора сотен проверок по справочнику языка и стандартам разработки, который приезжает вместе с продуктом. Модель – ваша: любой сервер, совместимый с программным интерфейсом OpenAI, в том числе локальный. Правки в конфигурацию Pilot не вносит – их применяет разработчик.

18300 руб.

11.09.2026    3845    5    0    

10

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

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    28826    104    46    

107
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 1146 27.10.26 08:21 Сейчас в теме
Какова ценность всего этого?
Прикрепленные файлы:
3. Ninel_S 208 27.10.26 12:44 Сейчас в теме
2. Ninel_S 208 27.10.26 12:39 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация