1C-Company / 1c-edt-issues

Пространство для пожеланий и обсуждения ошибок 1C:Enterprise Development Tools
https://edt.1c.ru/
138 stars 9 forks source link

Ошибки в работе с командным интерфейсом (изменение видимости команд) #51

Open DmitryShvaika opened 3 years ago

DmitryShvaika commented 3 years ago

Опишите ошибку

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

Как воспроизвести

ОшибкаВидимостиИсходная.zip

  1. Загрузите dt-файл в пустую базу
  2. Можно сохранить исходный Cf-файл, можно использовать файл из архива (выгружен из dt)
  3. Загрузите проект в Edt
  4. В модуле формы документа Реализация добавьте любой комментарий
  5. Обновите базу
  6. Выгрузите результирующий Cf-ник
  7. Сравните его с исходным с полными настройками

image

Как результат видим изменение видимости команд (как нормальных, так и битых ссылок), и изменение порядка команд

image

Ожидаемое поведение

Командный интерфейс не должен изменяться при редактировании модуля. При изменении командного интерфейса изменение данных должно соответствовать изменениям, произведенным на форме.

Скриншоты

Дополнительно прилагаю видео - процесс изменения порядка команд интерфейса в тестовой базе

КомандаПрыгает

Окружение (пожалуйста укажите информацию):

tretyakevich commented 3 years ago

Оригинальный файл XML-выгрузки: `

CommonCommand.ОбщаяКоманда2
            <Type>Auto</Type>
            <CommandGroup>FormCommandBarCreateBasedOn</CommandGroup>
            <Index>1</Index>
            <Visible>
                <xr:Common>false</xr:Common>
            </Visible>
        </Item>`

Выгрузка EDT: `Item>

Document.Реализация.StandardCommand.CreateBasedOn
            <Type>Auto</Type>
            <CommandGroup>FormCommandBarCreateBasedOn</CommandGroup>
        </Item>`
  1. Не сериализовано одно свойство (Visible). Раз оно выгрузилось - то false для Visible в платформе не считается default-ым значением. Нужно проверить на чистой форме. В EDT оно явно считается default-ым (поскольку нет в выгрузке). В зависимости от результата тестирования считать проблему либо EDT-й, либо платформенной.
  2. Как и предполагалось - редактирование модуля не меняет модель формы. Проблема именно в выгрузке в XML-формат платформы. Причина обновления формы при изменении модуля - ограниченная функциональность платформы по работе с XML-файлами (изменение модуля требует публикации всей формы).
tretyakevich commented 3 years ago

Проверил 1-й пункт выше. Visible false не является дефолтным значением и в нормальных условиях выставляется только в случае снятия галки 'Видимость'. Однако в предоставленной конфигурации галка стоит, и в выгрузке есть эта запись. Нужно выяснить, какое состояние индицируется таким образом.

Проверил - явно неадекватное поведение платформы на выгрузке. При снятии флага автоположения (и вне зависимости от положения/записи/незаписи индекса) начинает писать Visible=false.

(Ниже все варианты для снятого автоположения):

Ожидаемое поведение (которое, собственно, и воспроизводится EDT):

Планируемые действия:

tretyakevich commented 3 years ago

Дополнительно прилагаю видео - процесс изменения порядка команд интерфейса в тестовой базе

@DmitryShvaika Данная проблема не относится к проблеме с неожиданным изменением данных при публикации в ИБ, и, соответственно, не является критической. Соответственно в рамках данной Issue и приоритетного процесса анализа/исправления критических проблема исправляться не будет.

Просьба оформить ее отдельной ошибкой.

DmitryShvaika commented 3 years ago

Спасибо, завел: https://github.com/1C-Company/1c-edt-issues/issues/55

MaksimDzyuba commented 2 years ago

Дополнительно прилагаю видео - процесс изменения порядка команд интерфейса в тестовой базе

@DmitryShvaika Данная проблема не относится к проблеме с неожиданным изменением данных при публикации в ИБ, и, соответственно, не является критической. Соответственно в рамках данной Issue и приоритетного процесса анализа/исправления критических проблема исправляться не будет.

Просьба оформить ее отдельной ошибкой.

снял с задачи, что она критичная

marmyshev commented 1 year ago

@tretyakevich уточни, бага исправлена полностью в 2021.3 или частично? Нужно либо перенести майлстоун или снять, либо закрыть задачу