Open pravets opened 2 months ago
А на 2024.1.0 воспроизводится?
А на 2024.1.0 воспроизводится?
сейчас буду проверять. не хотел на тестовую версию переходить, но, возможно, придется
А на 2024.1.0 воспроизводится?
Воспроизвелось на 2024.1.0 + 8.3.24.1691
Добрый день! Вот выгрузка конфигурации, где первая группа имеет тип Обычное, а вторая Авто. Выгрузки из EDT и конфигуратора совпадают:
<ChildItems>
<UsualGroup name="Group1" id="1">
<Behavior>Usual</Behavior>
<ExtendedTooltip name="Group1ExtendedTooltip" id="2"/>
</UsualGroup>
<UsualGroup name="Group2" id="3">
<ExtendedTooltip name="Group2ExtendedTooltip" id="4"/>
</UsualGroup>
</ChildItems>
Для "Обычное" выгружается тэг
При отсутствии тега behavior в файле xml конфигуратора в свойство Поведение должно попадать значение "Обычное"
Это не соответствует поведению конфигуратора. Если в платформенной выгрузке нет Behavior, то будет значение Авто.
Экспортировал конфигурацию в конфигуратор, где поменял значения - первая группа стала Авто, а вторая - Обычное. При импорте в EDT ожидаемое поведение мержа:
Для "Обычное" выгружается тэг Usual.
Перепроверил выгрузку конфигуратора. Это ошибка конфигуратора, а не EDT. 22, 23 платформы выгружают Usual, а 24 платформа теряет этот тег при выгрузке. Перепроверю еще 25 платформу и буду писать багрепорты разработчикам платформы.
upd: 25 платформа также теряет тег behavior для значения Usual при выгрузке
Можете прислать код вашей формы?
Код моей формы - вся УНФ целиком. ломает все формы без исключения.
behavior.zip выгрузка конфигуратора на 24 платформе.zip behavior-ib.zip
Провел эксперимент. Во вложении архив рабочей области ЕДТ 2023.3.6 с гит репозиторием. В проекте примитивная конфигурация с одной обработкой в которой одна форма. На форме 4 группы. В изначальной конфигурации откуда шел импорт группы были с поведением Авто, Обычное, Сворачиваемая и Всплывающая
На 24 платформе криво импортировалась группа Обычное с заменой поведения на Авто. (при этом при экспорте данной конфигурации в файлы через конфигуратор поведение всех групп выгружается корректно) При замене через ЕДТ поведения с Авто на Обычное ЕДТ удаляет тег behavior, то есть для поведения Обычное ЕДТ предполагает отсутствие тега в файле. Затем я принудительно прописал тег behavior Usual для группы. В ЕДТ сохранилось поведение Обычное И последним коммитом я удалил тег behavior для группы с поведением Обычное и Авто. В ЕДТ группы стали с поведением Обычное.
Я не знаю какое соответствие тегов предполагается для поведения, но эксперимент показывает, что отсутствие тега в файле равно поведению Обычное.
Дополнение: попробовал импорт из xml-файлов - все группы импортировались визуально корректно, ну у группы с поведением Обычное отсутствует тег behavior. Этот момент уже не отражен а репозитории из вложения.
На данный момент для себя вижу решением принудительно прописать тег behavior всем группам, чтобы исключить неоднозначное поведение при отсутствии тега
Я проверял на версиях 8.3.24.1646 и 8.3.25.1360. У вас 24-й конфигуратор поновее, возможно внесли регрессию. Если будете создавать баг на платформу, то, если не сложно, напишите здесь номер бага.
Я провел тест на последних версиях платформ начиная с 17-го релиза и заканчивая 25-ым.
Результаты:
Платформа 17, 18, 19 - тег <behavior>Usual</behavior>
отсутствует в выгрузке
Платформа 20, 21, 22, 23 - тег появляется в выгрузке
Платформа 24, 25 - тег снова отсутствует в выгрузке
Проверял на типовой УНФ 1.6.27.178
Собственно, при отсутствии тега в выгрузке получаем в результате цикла разборка/сборка кучу расхождений из-за смены Поведения групп формы с Обычное на Авто.
Отправил обращение в 1С, номер обращения HL-889622, ожидаю рассмотрения и присвоения кода ошибки в случае принятия.
Часть багрепорта уходит на сторону платформы, но замечанием ЕДТ остается то, что отсутствие тега <behavior>
интерпретируется как поведение Обычное, а не Авто. Могу предположить, что так сложилось исторически, так как платформа ранее не выгружала тег для поведения Обычное.
Поведение зависит от совместимости конфигурации. Начиная с 8.3.20 все работает корректно. До совместимости 8.3.19 на платформах 24 и 25 - сломано.
Оказывается дело в ключе --ignore-unresolved-refs - с ним выгрузка в части проблемного свойства проходит корректно.
я верно понял, что с этим ключом поле Поведение на 25-й платформе начинает выгружаться корректно?
я верно понял, что с этим ключом поле Поведение на 25-й платформе начинает выгружаться корректно?
Не, я ввел в заблуждение. 1С для разных инструментов по разному определяет совместимость (где-то из Основной конфигурации, где-то из БД) и при выполнении тестов иногда ошибаешься
Описание ошибки
Для поля "Поведение" формы может быть 4 значения - Авто, Сворачиваемая, Всплывающая, Обычное В xml конфигуратора и EDT это тег
<behavior>
Соответствие значения свойства значению значению тега: Авто -Auto
Сворачиваемая -Collapsible
Всплывающая -PopUp
Обычное - Тег отсутствует в файлеИ со случаем когда Поведение "Обычное" и связана ошибка. В экспортируемых файлах в формате конфигуратора тег behavior отсутствует, а ЕДТ при импорте считает, если тега нет, то поведение должно быть "Авто". Как итог после цикла импорт/экспорт получаем тысячи расхождений в формах, которых быть не должно.
Ошибка довольна критична, так как отнимает уйму времени на детальный просмотр всех форм и отсечение фантомных правок, а также ломает данные конфигурации.
Как воспроизвести
Скриншоты
Состояние в конфигурации перед импортом:
Как EDT это импортирует:
Ожидаемое поведение
При отсутствии тега
behavior
в файле xml конфигуратора в свойство Поведение должно попадать значение "Обычное"Лог рабочей области
edt.log
Версия 1С:EDT
2023.3.6, 2024.1.0
Операционная система
Windows
Версия платформы 1С:Предприятие 8
8.3.24.1586, 8.3.24.1691
Установленные плагины
No response
Дополнительная информация
На 2023.1.4 ошибке НЕТ