Обработка на Инфостарте
Двадцать чужих обработок в справочнике дополнительных
Часть писали вы, часть предыдущий разработчик, часть прислал подрядчик. Все они запускаются с правами пользователя, пишут документы и ходят по HTTP.
Обработка платная, 10 SM. Есть и продолжение линейки: разбор с локальной моделью, которая объясняет найденное человеческими словами.
В любой базе, которая живёт больше трёх лет, такой список есть. Открывать каждую и читать код никто не будет: это неделя работы без гарантии, что найдёшь что-то важное.
Обработка читает исходники других внешних обработок и отчётов и отвечает на два вопроса: с какой из них начинать смотреть и что именно в ней смотреть. На выходе HTML-отчёт: индекс качества от 0 до 100, светофор, оценка технического долга и список находок с номером строки, фрагментом кода и подсветкой синтаксиса.
Весь анализ идёт внутри 1С. Обработка написана на чистом BSL: ни интернета, ни внешних компонент, ни Java, ни Python, ни отдельного сервиса рядом.
Почему это важнее, чем кажется
Код не покидает вашу машину
Практическое следствие важнее самого факта: инструмент применим там, где облачный анализатор применить нельзя. Обработка подрядчика, купленное решение, код под NDA.
Ничего не устанавливается
Скачали файл, открыли в базе, нажали кнопку. Ни настройки, ни зависимостей.
Приоритет, а не свалка находок
Индекс качества и оценка техдолга нужны ровно для одного: понять, с какого файла начинать. Список из трёхсот замечаний без приоритета никто читать не станет.
Как пользоваться
- 01
Указать, что разбирать
Файлы внешних обработок и отчётов, в том числе из справочника дополнительных.
- 02
Прочитать светофор
Начинать имеет смысл с красного и с высокого техдолга, а не с первого файла по алфавиту.
- 03
Разбирать находки по строкам
У каждой есть номер строки и фрагмент кода с подсветкой, поэтому смотреть можно прямо в отчёте.
Өзіңіз шеше алмай жатырсыз ба? Жазыңыз, бірге қараймыз
Барлық 1С базаларыңыз, олардың коды, интеграциялары мен логтары - бір жерде, күнделікті автожаңартумен. Он конфигуратордың орнына бір сұраныс.
- Құны
- 700 000 ₸-денсалықтарсыз; түпкілікті құны - базалар паркінің аудитінен кейін
- барлық базалардың код объектілері - бір реестрде
- 45 000+
Тақырып бойынша талдаулар
Число в строку в 1С: неразрывный пробел в ключах и как его вычистить
Строка() форматирует число для человека и вставляет между разрядами символ с кодом 160. Когда такая строка уходит в ключ сопоставления, совпадения пропадают без единой ошибки. Здесь таблица поведения Строка() и Формат(), прогнанная на платформе 8.3.27, запрос для поиска испорченных значений, проверка по кодам символов, ловушка с нулём в Формат() и порядок правки, при котором не рвутся уже работающие связи.
Регламентное задание 1С обрабатывает не все записи и не выдаёт ошибок: проверка и исправление цикла
Задание прошло, журнал чистый, счётчик обработанных сходится, а утром часть записей по-прежнему ждёт обработки. Частая причина: постраничный обход со смещением по набору, который сам сжимается от обработки. Как подтвердить это холостым прогоном, сколько теряется при разных размерах страницы, как переписать цикл и чем платить за исправление.
Обмен 1С с внешним сервисом падает по таймауту: сервис занят или лежит, и когда повтор создаёт дубль
Снаружи занятый сервис и лежащий выглядят одинаково: запрос висит, обмен падает по таймауту. Разбираем, как различить их тремя замерами, почему читающая проверка живости врёт, какой таймаут у HTTPСоединение по умолчанию и почему повтор создания без проверки состояния плодит дубли. Числа из ночной синхронизации, которая четыре ночи подряд укладывала принимающий сервис.
В карточке 1С одно значение, в выгрузке другое: кто пишет это поле
Значение в карточке расходится с выгрузкой, а поиск по конфигурации находит писателя, который такое значение поставить не может. Разбираем порядок от данных к коду на случае, где 88 481 запись появилась без известного автора. С запросом на типовой подсистеме свойств и проверкой подписок перед массовой правкой.
Жиі қойылатын сұрақтар
На какой платформе и в каком клиенте работает?
Платформа 8.3.27.1606 и выше, на более старых файл не откроется. Толстый или тонкий клиент под Windows, конфигурация любая. Веб-клиент не поддерживается: в нём нельзя запустить конфигуратор, через который распаковываются файлы .epf.
Какие нужны права и пишет ли обработка что-то в базу?
Нужны право на запуск внешних обработок и доступ в конфигуратор базы: через него распаковываются .epf. В базу обработка ничего не пишет, она читает справочник дополнительных обработок и файлы с диска, остальное держит в памяти. Отчёт сохраняется отдельным HTML-файлом по кнопке.
Зачем ей логин и пароль к базе?
Только чтобы запустить конфигуратор для распаковки .epf, если вход в базу не через Windows. Пароль живёт в памяти формы и очищается после прогона, но пока работает конфигуратор, его видно в списке процессов. Если это неприемлемо, оставьте поле пустым и введите пароль в окне платформы или подайте заранее выгруженные модули .bsl.
Разберёт обработку на обычных формах?
Частично. Модуль объекта разберёт, а модули обычных форм внутри .epf нет: они лежат в Form.bin, и конфигуратор при выгрузке не отдаёт их отдельными файлами. Модули управляемых форм она разбирает.
Чего она не увидит?
Данные между процедурами она не отслеживает: запрос в процедуре, которую вызвали в цикле через три уровня, пройдёт мимо. Если число итераций цикла из текста не определить, находка получает пометку "На проверку" и решает человек. Блокировки и индексы СУБД под условия запросов она не проверяет.
Чем она отличается от ИИ-анализа кода?
ИИ-анализ построен на этом же движке, но принимает текст модулей и добавляет к находкам объяснения локальной модели, для него нужна Ollama. Эта обработка работает без модели и умеет пакетный разбор: каталог с файлами или справочник дополнительных обработок, со сводным рейтингом, худшие сверху.
1С жүйеңізге тегін экспресс-аудит
1-2 күнде базаңызды қарап, өнімділік қайда жоғалып жатқанын табамыз және не істеу керегін айтамыз. Міндеттемесіз.
Тапсырманы талқылайық
Ең жылдамы WhatsApp: тапсырма туралы бірер жол жазыңыз, жұмыс күні ішінде жауап береміз.