1C-Company / 1c-edt-issues

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

Форма в расширении ломает ЕДТ #1527

Open Roffild opened 1 month ago

Roffild commented 1 month ago

1С:Предприятие 8.3 (8.3.24.1691) Управление торговлей, редакция 11 (11.5.17.130) Ruby 2024.1.0

Я в Конфигураторе изменил много Документ.ЧекККМ.Форма.ФормаДокументаРМК

После импорта Расширения и открытия ФормаДокументаРМК, ЕДТ не может нормально отобразить (половина кнопок отсутствует) и требует "Обновить".

В Гит форму сохранил, так что глянем на отличия после "Обновить" ;)

  1. Опять притащили кучу не нужных объектов (картинок) в Расширение. Я против, но поведение предсказуемо.
    
    <Picture>
    -        <xr:Ref>0:8ced9e45-859b-4745-9e95-fef529776c5f</xr:Ref>
    +        <xr:Ref>CommonPicture.ЗаполнитьФорму</xr:Ref>
        <xr:LoadTransparent>false</xr:LoadTransparent>
    </Picture>
  1. Точно это должно быть удалено? Я не просил удалять.

    <AutoTitle>false</AutoTitle>
    <CommandBarLocation>None</CommandBarLocation>
    -   <CommandSet>
    -       <ExcludedCommand>Copy</ExcludedCommand>
    -       <ExcludedCommand>Delete</ExcludedCommand>
    -       <ExcludedCommand>Post</ExcludedCommand>
    -       <ExcludedCommand>PostAndClose</ExcludedCommand>
    -       <ExcludedCommand>SetDeletionMark</ExcludedCommand>
    -       <ExcludedCommand>UndoPosting</ExcludedCommand>
    -       <ExcludedCommand>Write</ExcludedCommand>
    -   </CommandSet>
    -   <AutoTime>CurrentOrLast</AutoTime>
    -   <UsePostingMode>Auto</UsePostingMode>
    -   <RepostOnWrite>true</RepostOnWrite>
    <AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
        <Autofill>false</Autofill>
    </AutoCommandBar>
  2. Удаленный мною Штрихкод вернулся, НО с Видимость=Ложь.

                    <ContextMenu name="ТоварыНомерСтрокиКонтекстноеМеню" id="19"/>
                    <ExtendedTooltip name="ТоварыНомерСтрокиРасширеннаяПодсказка" id="1390"/>
                </LabelField>
    +               <InputField name="ТоварыШтрихкод" id="2251">
    +                   <Visible>false</Visible>
    +                   <ReadOnly>true</ReadOnly>
    +                   <SkipOnInput>true</SkipOnInput>
    +                   <EditMode>EnterOnInput</EditMode>
    +                   <Width>13</Width>
    +                   <HorizontalStretch>false</HorizontalStretch>
    +                   <DropListButton>true</DropListButton>
    +                   <ChoiceButton>false</ChoiceButton>
    +                   <TextEdit>false</TextEdit>
    +                   <BackColor>#DCDCDC</BackColor>
    +                   <ContextMenu name="ТоварыШтрихкодКонтекстноеМеню" id="2252"/>
    +                   <ExtendedTooltip name="ТоварыШтрихкодРасширеннаяПодсказка" id="2253"/>
    +               </InputField>
                <LabelField name="ТоварыНоменклатураТипНоменклатуры" id="1091">
                    <Visible>false</Visible>
  3. Артикул в конец группы переместился. Спасибо, что из группы к Штрихкоду не выкинул (где он был) !..

                            <ContextMenu name="ТоварыНоменклатураКонтекстноеМеню" id="21"/>
                            <ExtendedTooltip name="ТоварыНоменклатураРасширеннаяПодсказка" id="1396"/>
                        </InputField>
    -                       <LabelField name="ТоварыНоменклатураАртикул" id="1001">
    -                           <ReadOnly>true</ReadOnly>
    -                           <EditMode>EnterOnInput</EditMode>
    -                           <Width>6</Width>
    -                           <HorizontalStretch>false</HorizontalStretch>
    -                           <ContextMenu name="ТоварыНоменклатураАртикулКонтекстноеМеню" id="1002"/>
    -                           <ExtendedTooltip name="ТоварыНоменклатураАртикулРасширеннаяПодсказка" id="1395"/>
    -                       </LabelField>
                        <InputField name="ТоварыХарактеристикаДополнительно" id="2182">
    @@ -882,10 +876,18 @@
                            <ChoiceButton>true</ChoiceButton>
                            <ChoiceButtonRepresentation>ShowInInputField</ChoiceButtonRepresentation>
                            <ContextMenu name="ТоварыУпаковкаДополнительноКонтекстноеМеню" id="2189"/>
                            <ExtendedTooltip name="ТоварыУпаковкаДополнительноРасширеннаяПодсказка" id="2190"/>
                        </InputField>
    +                       <LabelField name="ТоварыНоменклатураАртикул" id="1001">
    +                           <ReadOnly>true</ReadOnly>
    +                           <EditMode>EnterOnInput</EditMode>
    +                           <Width>6</Width>
    +                           <HorizontalStretch>false</HorizontalStretch>
    +                           <ContextMenu name="ТоварыНоменклатураАртикулКонтекстноеМеню" id="1002"/>
    +                           <ExtendedTooltip name="ТоварыНоменклатураАртикулРасширеннаяПодсказка" id="1395"/>
    +                       </LabelField>
                    </ChildItems>
                </ColumnGroup>
                <InputField name="ТоварыХарактеристика" id="22">
  4. Сумма почти в конец таблицы улетела, как Артикул без группы.

  5. Кнопки "Возврат..." местами переставились (как Артикул).


А можно мне Форму из Конфигуратора без изменений после импорта ???

"Обновить форму" в Конфигураторе используется только после перехода на новую версию. ЕДТ требует "Обновить" только из-за кривой конвертации в свой формат XML.

Искать "пять отличий" без Гит сложновато...

Roffild commented 1 month ago

Я выделил проблемную форму в Расширение. Конфигуратор отлично с ней работает, а ЕДТ посыпался.

1С:Предприятие 8.3 (8.3.24.1691) Управление торговлей, редакция 11 (11.5.17.130) Ruby 2024.1.0

EDT-Form-Problem.zip

Задача:

  1. Загрузить Расширение в Конфигураторе.
  2. Импортировать в ЕДТ.
  3. Добавить код //Hello, World! в модуль Документ.ЧекККМ.Форма.ФормаДокументаРМК
  4. Выгрузить Расширение из Конфигуратора.

Разница в Git должна быть только в добавленной строке //Hello, World! !

Erik773 commented 1 month ago

Здравствуйте @Roffild Лейбл critical убрали, так как проблема не соответствует критериям критичности Благодарим за подробное описание сценария и предоставленные данные, это поможет в исправлении ошибки.

Roffild commented 1 month ago

Лейбл critical убрали, так как проблема не соответствует критериям критичности

Точно правильно импортировали Расширение ? И ЕДТ запустил дебаг ???

У меня ЕДТ сразу ошибками сыплет!!!1111

!MESSAGE Ошибка взаимодействия с платформой 1С:Предприятия 8.3.24.1691:
Ошибка загрузки/выгрузки конфигурации
по причине:
Исключение XDTO произошло при чтении файла- zip:///Documents/ЧекККМ/Forms/ФормаДокументаРМК/Ext/Form.xml.
по причине:
Несоответствие свойства и элемента данных XDTO:
Свойство: 'Picture'
!STACK 0
com.e1c.g5.dt.applications.ApplicationException: Ошибка взаимодействия с платформой 1С:Предприятия 8.3.24.1691:
Ошибка загрузки/выгрузки конфигурации
по причине:
Исключение XDTO произошло при чтении файла- zip:///Documents/ЧекККМ/Forms/ФормаДокументаРМК/Ext/Form.xml.
по причине:
Несоответствие свойства и элемента данных XDTO:
Свойство: 'Picture'
    at com.e1c.g5.dt.internal.applications.infobases.ui.InfobaseApplicationBehaviourDelegate.publish(InfobaseApplicationBehaviourDelegate.java:157)
    at com.e1c.g5.dt.internal.applications.ApplicationManager.lambda$7(ApplicationManager.java:477)
    at com._1c.g5.v8.dt.common.runtime.ProgressMonitors.computeWithSubMonitor(ProgressMonitors.java:277)
    at com.e1c.g5.dt.internal.applications.ApplicationManager.publish(ApplicationManager.java:465)
    at com.e1c.g5.dt.applications.IApplicationManager$pbryglu.publish(Unknown Source)
    at com.e1c.g5.dt.internal.applications.ui.ApplicationUiSupport.askUserAndUpdate(ApplicationUiSupport.java:252)
    at com.e1c.g5.dt.internal.applications.ui.ApplicationUiSupport.lambda$0(ApplicationUiSupport.java:115)
    at com._1c.g5.v8.dt.common.runtime.ProgressMonitors.computeWithSubMonitor(ProgressMonitors.java:277)
    at com.e1c.g5.dt.internal.applications.ui.ApplicationUiSupport.ensureUpdated(ApplicationUiSupport.java:102)
    at com.e1c.g5.dt.applications.ui.IApplicationUiSupport$pbryglu.ensureUpdated(Unknown Source)
    at com._1c.g5.v8.dt.internal.launching.ui.statushandlers.ApplicationUpdateStatusHandler.handleStatus(ApplicationUpdateStatusHandler.java:45)
    at com._1c.g5.v8.dt.internal.launching.ui.statushandlers.ApplicationUpdateStatusHandler.handleStatus(ApplicationUpdateStatusHandler.java:1)
    at com._1c.g5.v8.dt.debug.core.launchconfigurations.CustomErrorHandlingLaunchDelegate.handleStatus(CustomErrorHandlingLaunchDelegate.java:208)
    at com._1c.g5.v8.dt.launching.core.launchconfigurations.AbstractRuntimeDebugAwareLaunchDelegate.updateApplication(AbstractRuntimeDebugAwareLaunchDelegate.java:309)
    at com._1c.g5.v8.dt.internal.launching.core.launchconfigurations.RuntimeClientLaunchDelegate.lambda$0(RuntimeClientLaunchDelegate.java:189)
    at com._1c.g5.v8.dt.common.runtime.ProgressMonitors.runWithSubMonitor(ProgressMonitors.java:360)
    at com._1c.g5.v8.dt.internal.launching.core.launchconfigurations.RuntimeClientLaunchDelegate.doLaunch(RuntimeClientLaunchDelegate.java:149)
    at com._1c.g5.v8.dt.debug.core.launchconfigurations.CustomErrorHandlingLaunchDelegate.launch(CustomErrorHandlingLaunchDelegate.java:56)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:805)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:716)
    at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1040)
    at org.eclipse.debug.internal.ui.DebugUIPlugin$1.run(DebugUIPlugin.java:1243)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: com._1c.g5.v8.dt.platform.services.core.infobases.sync.InfobaseSynchronizationException: Ошибка взаимодействия с платформой 1С:Предприятия 8.3.24.1691:
Ошибка загрузки/выгрузки конфигурации
по причине:
Исключение XDTO произошло при чтении файла- zip:///Documents/ЧекККМ/Forms/ФормаДокументаРМК/Ext/Form.xml.
по причине:
Несоответствие свойства и элемента данных XDTO:
Свойство: 'Picture'
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.connections.AbstractInfobaseConnection.lambda$6(AbstractInfobaseConnection.java:406)
    at com._1c.g5.v8.dt.common.runtime.ProgressMonitors.computeWithSubMonitor(ProgressMonitors.java:277)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.connections.AbstractInfobaseConnection.loadConfiguration(AbstractInfobaseConnection.java:259)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.connections.ParticipantAwareInfobaseConnection.loadConfiguration(ParticipantAwareInfobaseConnection.java:97)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.connections.ReconnectableInfobaseConnection.loadConfiguration(ReconnectableInfobaseConnection.java:168)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.strategies.OnDemandSynchronizationStrategy.lambda$4(OnDemandSynchronizationStrategy.java:143)
    at com._1c.g5.v8.dt.common.runtime.ProgressMonitors.computeWithSubMonitor(ProgressMonitors.java:277)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.strategies.OnDemandSynchronizationStrategy.infobaseDatabaseUpdateRequested(OnDemandSynchronizationStrategy.java:120)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.InfobaseSynchronization.updateConnectedInfobase(InfobaseSynchronization.java:662)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.InfobaseSynchronizationManager.lambda$2(InfobaseSynchronizationManager.java:332)
    at com._1c.g5.v8.dt.common.runtime.ProgressMonitors.computeWithSubMonitor(ProgressMonitors.java:277)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.InfobaseSynchronizationManager.updateInfobase(InfobaseSynchronizationManager.java:307)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.InfobaseSynchronizationManager.lambda$2(InfobaseSynchronizationManager.java:346)
    at com._1c.g5.v8.dt.common.runtime.ProgressMonitors.computeWithSubMonitor(ProgressMonitors.java:277)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.InfobaseSynchronizationManager.updateInfobase(InfobaseSynchronizationManager.java:307)
    at com._1c.g5.v8.dt.platform.services.core.infobases.sync.IInfobaseSynchronizationManager$pbryglu.updateInfobase(Unknown Source)
    at com.e1c.g5.dt.internal.applications.infobases.ui.InfobaseApplicationBehaviourDelegate.publish(InfobaseApplicationBehaviourDelegate.java:134)
    ... 22 more
Caused by: com._1c.g5.v8.dt.platform.services.core.runtimes.execution.RuntimeCoreException: Ошибка взаимодействия с платформой 1С:Предприятия 8.3.24.1691:
Ошибка загрузки/выгрузки конфигурации
по причине:
Исключение XDTO произошло при чтении файла- zip:///Documents/ЧекККМ/Forms/ФормаДокументаРМК/Ext/Form.xml.
по причине:
Несоответствие свойства и элемента данных XDTO:
Свойство: 'Picture'
    at com._1c.g5.v8.dt.internal.platform.services.core.runtimes.execution.DesignerSessionOperationSupport.execInExistingDesignerSession(DesignerSessionOperationSupport.java:261)
    at com._1c.g5.v8.dt.platform.services.core.runtimes.execution.impl.DesignerSessionThickClientLauncher.importConfigurationFromXml(DesignerSessionThickClientLauncher.java:526)
    at com._1c.g5.v8.dt.internal.platform.services.core.infobases.sync.connections.AbstractInfobaseConnection.lambda$6(AbstractInfobaseConnection.java:338)
    ... 38 more
Caused by: com._1c.g5.designer.ssh.client.ConfigurationLoadException: Ошибка загрузки/выгрузки конфигурации
по причине:
Исключение XDTO произошло при чтении файла- zip:///Documents/ЧекККМ/Forms/ФормаДокументаРМК/Ext/Form.xml.
по причине:
Несоответствие свойства и элемента данных XDTO:
Свойство: 'Picture'
    at com._1c.g5.internal.designer.ssh.client.operation.LoadFilesQuery.processExecutionResponses(LoadFilesQuery.java:117)
    at com._1c.g5.internal.designer.ssh.client.operation.LoadFilesQuery.processExecutionResponses(LoadFilesQuery.java:55)
    at com._1c.g5.internal.designer.ssh.client.operation.AbstractQuery.execute(AbstractQuery.java:140)
    at com._1c.g5.internal.designer.ssh.client.operation.AbstractQuery.exec(AbstractQuery.java:87)
    at com._1c.g5.v8.dt.common.runtime.InterruptingProgressMonitor.runInterruptibly(InterruptingProgressMonitor.java:82)
    at com._1c.g5.v8.dt.internal.platform.services.core.runtimes.execution.DesignerSessionOperationSupport.executeDesignerOperation(DesignerSessionOperationSupport.java:173)
    at com._1c.g5.v8.dt.platform.services.core.runtimes.execution.impl.DesignerSessionThickClientLauncher.lambda$17(DesignerSessionThickClientLauncher.java:568)
    at com._1c.g5.v8.dt.internal.platform.services.core.runtimes.execution.DesignerSessionOperationSupport.lambda$11(DesignerSessionOperationSupport.java:232)
    at com._1c.g5.v8.dt.internal.platform.services.core.runtimes.execution.DesignerAgentConnection.use(DesignerAgentConnection.java:587)
    at com._1c.g5.v8.dt.internal.platform.services.core.runtimes.execution.DesignerSessionOperationSupport.lambda$10(DesignerSessionOperationSupport.java:222)
    at com._1c.g5.v8.dt.common.runtime.ProgressMonitors.computeInSubTask(ProgressMonitors.java:412)
    at com._1c.g5.v8.dt.internal.platform.services.core.runtimes.execution.DesignerSessionOperationSupport.execInExistingDesignerSession(DesignerSessionOperationSupport.java:222)
    ... 40 more
Roffild commented 1 month ago

Форму НЕ "Обновлять"! А то не честно по отношению к Конфигуратору...

Erik773 commented 1 month ago

Точно правильно импортировали Расширение ? И ЕДТ запустил дебаг ???

У меня ЕДТ сразу ошибками сыплет!!!1111

@Roffild подскажите, пожалуйста, возможно ли компенсировать неработоспособность этой функций временной (до исправления проблемы) работой в конфигураторе 1С:Платформы? Если ошибка блокирует или значительно замедляет Вашу работу, то приоритет задачи может быть пересмотрен.

Roffild commented 1 month ago

bug

Roffild commented 1 month ago

Форма на скрине отображается неправильно: нет 18 кнопок из основной формы.

Конфигуратор в Расширение позволяет всякие вольности, потому что - "заплатка". Может пора изучить исходники Конфигуратора? Заодно дзэн https://github.com/1C-Company/1c-edt-issues/issues/1475#issuecomment-2352857263 познаете...

Roffild commented 1 month ago

Вот одна из главных причин работы Конфигуратора с Расширением. ЕДТ же может вырезать такой объект или гнать ошибку! bug

Roffild commented 4 weeks ago

1С:Предприятие 8.3 (8.3.25.1445) Управление торговлей, редакция 11 (11.5.17.140) Ruby 2024.1.1

В Конфигураторе:

  1. Создать Расширение.
  2. "Добавить в расширение" форму.

После импорта ЕДТ будет утверждать: форма не полноценна и нужно "Обновить" (желтая полоса) !

extension1.zip

Эта Lite-версия бага показывает, что совместимость ЕДТ с Конфигуратором СЛОМАНА !!!

vadimeg commented 23 hours ago

Механизм обновлений форм был исправлен в 2024.2. Сейчас не должно быть лишних предложений по обновлению, либо их должно стать заметно меньше.