1C: EDT: фиксим баги доработанной и устаревшей конфигурации УТ

13.08.21

Разработка - EDT

В этом году у меня появилась возможность использовать 1С: EDT весь рабочий день. В работе конфигурация УТ 11.1, прилично доработанная. Целиком перейти на актуальную конфигурацию УТ 11.4 проблематично, поэтому переходим кусочками в ходе текущих работ.

Первым делом, конечно, повышаем версию платформы конфигурации - режим совместимости.

Режим совместимости конфигурации существенно влияет и на работу приложения и на структуру конфигурации. Обнаружено, что после переключения режима совместимости с 8.3.8 на 8.3.14 (платформа 8.3.18)  в УТ 11.1 перестала работать загрузка адресного классификатора. Появилось сообщение типа "Ошибка доступа к файлу 01.zip"

Ошибка трудно локализуется, так как возникает внутри метода платформы.

Расставляем точки останова в предполагаемых местах возникновения ошибки. Обнаруживаем, что ошибка возникает  при выполнении команды Файл.НачатьПолучениеУниверсальногоВремениИзменения(ОписаниеОповещения); в процедуре модуля формы

ЗапуститьФоновуюЗагрузкуИзКаталогаКлиентаПослеИнициализации(Файл, ДополнительныеПараметры) Экспорт

Поиск в интернет ничего не дает о том, что не так в методе платформы НачатьПолучениеУниверсальногоВремениИзменения.

Зато кнопка "Инспектировать" в режиме отладки на переменной "Файл" показывает пустое свойство "ПолноеИмя". То есть файлы не скопированы.

Ошибка возникает в модуле формы ЗагрузкаАдресногоКлассификатора в Процедуре ЗапуститьФоновуюЗагрузкуИзКаталогаКлиентаПродолжение(). Не выполняется метод платформы НачатьПомещениеФайлов.

Лечится довольно просто. Комментируем переставшую работать процедуру НачатьПомещениеФайлов.

//    НачатьПомещениеФайлов(ОписаниеОповещения, ПомещаемыеФайлы,, Ложь, УникальныйИдентификатор);

Копипастим код из УТ11.4:

ПараметрыЗагрузкиФайла = ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла();
ПараметрыЗагрузкиФайла.ИдентификаторФормы = УникальныйИдентификатор;
ПараметрыЗагрузкиФайла.Интерактивно = Ложь;
ФайловаяСистемаКлиент.ЗагрузитьФайлы(ОписаниеОповещения,ПараметрыЗагрузкиФайла , ПомещаемыеФайлы);

Так это выглядит в среде разработки:

 

 

В 1С: EDT удобно: сразу два проекта  в одной среде открыты, и перепиленная устаревшая конфигурация и текущая актуальная версия. Можно сравнивать, объединять, например, две формы между собой. Именно эта фишка EDT позволяет быстро найти решение.

Внимательный читатель замети на скриншоте выше в левом нижнем углу в окне "трассировка стеков" сообщение: "Поле объекта не обнаружено (Интерактивно)". Сообщение осталось от предыдущего шага багофикса.

При работе в 1c EDT есть возможность автоматически сравнить/объединить выбранные объекты двух конфигураций, сразу увидеть синтаксические ошибки, устранить их и запустить отладку.

Если выскочат ошибки, тогда уже откатить изменения и погрузиться в детали кода и вдумчиво его объединить. В случае с загрузкой классификатора автоматическое объединение не сработало. После объединения появилось обилие синтаксических ошибок (контактная информация существенно переработана на уровне БСП). Откатываемся легко благодаря связке 1c EDT+Git. Переходим в окно "Индексирование Git", выделяем все неиндексированные изменения и нажимаем в подменю выделения "Заменить на Head ревизию". Конфигурация возвращается в состояние перед объединением. Переходим к ручному копипасту.

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

Предвосхищая поток критики, сразу сообщаю, что метод автообъединение предка и текущей конфигурации чаще срабатывает, чем нет.

Вот например, в этой же УТ 11.1 в обработке регистрации объектов для обмена при попытке зарегистрировать объекты по отбору возникала ошибка:

Ошибка отображения типов:
Отсутствует отображение для типа 'ДинамическийСписок'
{Обработка.РегистрацияИзмененийДляОбменаДанными.Форма.Форма.Форма(1079)}:    ТекПараметры = Новый Структура("ДействиеВыбора, ИмяТаблицы", 
{Обработка.РегистрацияИзмененийДляОбменаДанными.Форма.Форма.Форма(379)}:        ДобавитьРегистрациюВСписокОтбор();

по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ДинамическийСписок'

Кликаем удерживая Ctrl на обработку РегистрацияИзмененийДляОбменаДанными в обеих проектах конфигураций, в подменю выделения выбираем сравнить/объединить. Обнаруживаем, что объединение произошло по 20 объектам без синтаксических ошибок (ни одной пиктограмки ):

 

 

Запускаем отладку, убеждаемся, что регистрация работает:

 

 

Описанным методом выполнена адаптация модулей интеграции 1С и ЭДО - в текущую конфигурацию подгружены модули контактной информации, в которых происходили ошибки. Таким же образом добавлен обмен с БП 3.0 в формате EnterpriseData_1_3_2. 

Успешные изменения добавляем в индекс, указываем сообщение коммита и очередное изменение уходит в историю:

 

 

Внимательный читатель, знакомый с Git, заметил прямую линию с точками коммитов, вместо ветвления и слияния веток. Почему так вышло, тема отдельной статьи: 1С:EDT + Git (сколько человек в команде для рационального использования), которая выйдет позже.

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

1С EDT

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

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

EDT Разработчик Бесплатно (free)

Пробелы и табуляции в конце строк незаметны при работе с кодом, но хорошо видны в истории изменений. Если включить автоматическую очистку для всей конфигурации, вместе с полезной правкой можно получить множество изменений форматирования. Для проекта, в котором дорабатывается только часть объектов, это неудобно: хочется поддерживать чистоту своего кода, не затрагивая остальной. Для этой задачи мы разработали небольшой плагин для 1C:EDT. Его главное отличие — фильтрация: очистка выполняется при сохранении только тех файлов, путь которых содержит заданный признак.

09.11.2026    197    kraspila    0    

0

Рефакторинг и качество кода EDT СКД Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Одиннадцать граблей схем компоновки, которые не видно в конструкторе и не ловит EDT, на реальных отчетах БП КОРП. Формат числа задается в двух местах, и условное оформление варианта перебивает формат поля. Ресурс складывает штуки с часами, и помогает выражение «только когда единица одна». Ресурс пуст в детальных записях, параметр не появляется в шапке без userSettingID, valueListAllowed ломает границы периода, Остатки и СрезПоследних с параметром периода падают с «Несоответствием типов», title без xsi:type дает «Исключение XDTO» при загрузке. В конце код проверки схемы из файла до обновления базы, сводная таблица и чеклист.

16.10.2026    563    Konstmax13    2    

2

Технологический журнал Сервера EDT Обновление 1С Системный администратор Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Конфигуратор и агент EDT тихо вылетают на 0 % «Обработки структуры базы данных», EDT пишет «Потеряно соединение с агентом конфигуратора», а модель проекта при этом чистая. Разбор двух аварий на большой серверной базе БП КОРП: какие факты снимать (журнал Windows, техжурнал нужной версии, хвост лога процесса), почему инкрементальная выгрузка EDT ломается после сбоев, как довести обновление пакетно через /UpdateDBCfg -Server, как опознать свои rphost среди нескольких кластеров и снять агент EDT, который сам поднимается и держит базу. Протокол одного дня по минутам и порядок диагностики из восьми шагов.

15.10.2026    509    Konstmax13    0    

0

Групповая разработка (Git, хранилище) EDT Обновление 1С Роли и права Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Загрузка конфигурации в базу висела часами без единой ошибки: ядро на 100 %, SQL не трогается, лог пуст. Одинаково у агента EDT, у /LoadConfigFromFiles и у полной загрузки. Причина нашлась бисектом: блоки прав в Rights.rights, дописанные в конец файла, а EDT и конфигуратор ждут их строго по возрастанию UUID объекта. Рядом еще две грабли: права на перечисления вешают загрузку так же, а право на HTTP-сервис целиком платформа молча выбрасывает. В статье хронология, как найти виновника за минуты, как править права скриптом со вставкой по позиции и скрипт проверки ролей перед обновлением (бесплатно, на GitHub).

15.10.2026    352    Konstmax13    0    

0

Инструментарий разработчика Нейросети Рефакторинг и качество кода EDT Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Как ИИ-агент (Claude Code) работает в живом EDT-проекте 1С:Бухгалтерии КОРП 3.0: из чего собрать стенд с MCP-сервером для EDT, как ставить задачи агенту, где он ломает проект и какие проверки это ловят. Реальные случаи: рукописные метаданные, ронявшие конфигуратор; четыре дня зависшего обновления из-за порядка блоков в Rights.rights; ошибки, которые EDT пропускает, а платформа нет; сплошная сверка вместо «вроде работает». В приложении шаблон CLAUDE.md, шаблон правила, чеклист перед обновлением базы и скрипты проверки ролей и схем СКД.

15.10.2026    3584    Konstmax13    11    

11

Нейросети EDT Разработчик 1С:Предприятие 8 Абонемент ($m)

Набор из 17 скилов для агента, который пишет код. Агент пишет и проверяет конфигурацию в формате 1C:EDT по стандартам раздела ИТС «Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8».

3 стартмани

05.10.2026    776    1    burlakov    0    

3

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) EDT Разработчик 1С 8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Разобрали, как выстроить CI для 1С 8.3 на EDT и Git: ветки с автослиянием, Jenkins и Pipeline Libraries, подготовка эталонной ИБ на каждый MR, Vanessa и xUnitFor1C в Allure. Материал для инструментальщика, который проектирует проверки до master, а не после релиза.

28.09.2026    882    zolotov7481    0    

0

EDT Разработчик Бесплатно (free)

Баги, недостающие улучшения и специфические потребности инфраструктуры не всегда находят отражение в новых версиях 1C:EDT – и тогда проблему можно решить с помощью собственного плагина. Рассказываем, как подготовить Eclipse, разобраться в архитектуре EDT, исследовать типовой функционал, подключать публичные сервисы и создавать пользовательский интерфейс. Разбираем отладку и сборку плагина, а также типичные сложности, из-за которых новички часто останавливаются на первых шагах. Все этапы показываем на примерах из практики создания плагина для работы с хранилищем 1С.

17.09.2026    1438    ZigRinat85    1    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. pa240775 24 20.08.21 06:02 Сейчас в теме
интересно, 600+ просмотров и ни одного помидора не прилетело. В EDT кто-нибудь работает?
2. dmitry1975 360 20.08.21 11:29 Сейчас в теме
(1) Я когда-то давно пробовал запустить EDT, но быстро закрыл. С тех пор пока руки не доходили :))
3. pa240775 24 23.08.21 04:43 Сейчас в теме
(2) время пришло. начнешь работать уже не откажешься. Но надо перестроить себя от работы с целыми снимками к работе с изменениями.
4. AshWork 29.01.22 07:30 Сейчас в теме
Кто-нибудь сталкивался с тем, что под Linux в 1C EDT Навигатор не показывает объекты 1С?
Для отправки сообщения требуется регистрация/авторизация