1c-edt-issues icon indicating copy to clipboard operation
1c-edt-issues copied to clipboard

Некорректная выгрузка конфигурации в ИБ

Open Mezijas opened this issue 1 year ago • 23 comments

Описание ошибки

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

Для понимания масштаба проблемы, данная проблема проявляется на большей части конфигурации, даже если объект находится на поддержке, edt все равно некорректно записывает информацию о коммандном интерфейсе при выгрузке в ИБ.

Допустим справочник "АналитикаХозяйственныхОпераций"

В файлах edt, в блоке "commandInterface" мы видим:

<commandInterface>
    <navigationPanel>
      <cmiFragmentRecord>
        <command>0</command>
        <userVisible/>
      </cmiFragmentRecord>
      <cmiFragmentRecord>
        <command>0</command>
        <userVisible/>
      </cmiFragmentRecord>
      <cmiFragmentRecord>
        <command>0</command>
        <userVisible/>
      </cmiFragmentRecord>
      <cmiFragmentRecord>
        <command>0</command>
        <userVisible/>
      </cmiFragmentRecord>
      <cmiFragmentRecord>
        <command>0</command>
        <userVisible/>
      </cmiFragmentRecord>
      <cmiFragmentRecord>
        <command>CommonCommand.ИсторияИзменений</command>
        <group>FormNavigationPanelSeeAlso</group>
        <index>0</index>
        <userVisible/>
      </cmiFragmentRecord>
    </navigationPanel>
    <commandBar>
      <cmiFragmentRecord>
        <command>CommonCommand.ЗаполнениеОбъекта</command>
        <userVisible/>
      </cmiFragmentRecord>
      <cmiFragmentRecord>
        <command>CommonCommand.ОтчетыОбъекта</command>
        <userVisible/>
      </cmiFragmentRecord>
      <cmiFragmentRecord>
        <command>CommonCommand.СозданиеСвязанныхОбъектов</command>
        <group>FormCommandBarCreateBasedOn</group>
        <index>0</index>
        <userVisible/>
      </cmiFragmentRecord>
      <cmiFragmentRecord>
        <command>0</command>
        <group>CommandGroup.Печать</group>
        <index>0</index>
        <userVisible/>
      </cmiFragmentRecord>
    </commandBar>
  </commandInterface>

Если же выгрузить конфигурацию, слитую с конфигурацией поставщика (форма полностью бралась из конфигурации поставищка. то, тот же блок выглядит иначе:

<CommandInterface>
		<NavigationPanel>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>CommonCommand.ИсторияИзменений</Command>
				<Type>Auto</Type>
				<CommandGroup>FormNavigationPanelSeeAlso</CommandGroup>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
		</NavigationPanel>
		<CommandBar>
			<Item>
				<Command>0:fef727fa-f63b-4467-9367-73a2425b19e3</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0:bfa90848-930f-433d-8f6f-c11ac2c5eba2</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>CommonCommand.СозданиеСвязанныхОбъектов</Command>
				<Type>Auto</Type>
				<CommandGroup>FormCommandBarCreateBasedOn</CommandGroup>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<CommandGroup>CommandGroup.Печать</CommandGroup>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
		</CommandBar>
	</CommandInterface>

Отдельно развернул ИБ с конфигурацией той же версией на полной поддержке:

<CommandInterface>
		<NavigationPanel>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>CommonCommand.ИсторияИзменений</Command>
				<Type>Auto</Type>
				<CommandGroup>FormNavigationPanelSeeAlso</CommandGroup>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
		</NavigationPanel>
		<CommandBar>
			<Item>
				<Command>0:fef727fa-f63b-4467-9367-73a2425b19e3</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0:bfa90848-930f-433d-8f6f-c11ac2c5eba2</Command>
				<Type>Auto</Type>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>CommonCommand.СозданиеСвязанныхОбъектов</Command>
				<Type>Auto</Type>
				<CommandGroup>FormCommandBarCreateBasedOn</CommandGroup>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
			<Item>
				<Command>0</Command>
				<Type>Auto</Type>
				<CommandGroup>CommandGroup.Печать</CommandGroup>
				<DefaultVisible>false</DefaultVisible>
				<Visible>
					<xr:Common>false</xr:Common>
				</Visible>
			</Item>
		</CommandBar>
	</CommandInterface>

Непонятно в чем конкретно проблема, возможно в настройках edt, либо это проблема конкретно импорта/экспорта... Данная проблема тянется еще с 2021-2022 версий edt. Я не определил, после каких конкретно изменений в конфигруации проявляется данная проблема, предполагаю, что если просто типовую конфигурацию загрузить в проект и выгрузить обратно - проблема не проявится...

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

Полная выгрузка конфигурации из EDT в ИБ.

Скриншоты

No response

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

Выгрузка конфигурации в ИБ в том же виде, что и в конфигурации поставщика.

Лог рабочей области

log.log

Версия 1С:EDT

Ruby 2023.2.1

Операционная система

Windows

Установленные плагины

Нет плагинов

Дополнительная информация

Версия типовой конфигурации: Розница, редакция 2.3 (2.3.14.26) Используемая версия платформы 1с: 8.3.22.1750 (x64) ИБ в файловом режиме.

Mezijas avatar Oct 25 '23 06:10 Mezijas

Забил добавить, при сравнении с конфигурацией поставщика видим изменения командной панели, предположительно из-за некорректной выгрузки из Edt в ИБ image

Mezijas avatar Oct 25 '23 06:10 Mezijas

От себя добавлю, что в принципе платформа и EDT часто расходятся в содержимом файлов. Например, при загрузке в EDT из ИБ в справочниках, документах и т.д. Можно увидеть кучу тегов . При ближайшем изменении этого справочника/документа/итд в EDT (например, добавить пробел в комментарии и сохранить) эти же теги пропадают. Проблема особо чувствительна при переводе проекта на новую версию платформы - подобные артефакты появляются сплошь и рядом, что приводит к лишнему мусору в коммитах.

LesN1ck avatar Oct 25 '23 06:10 LesN1ck

Если выгрузить с помощью 8.3.21 конфигурацию в XML и загрузить обратно - проявляется ли такой же эффект? Очень похоже на исправление в конфигураторе долгожданное https://dl03.1c.ru/content/Platform/8_3_21_1849/1cv8upd_8_3_21_1849.htm#a1778b70-a123-11ec-aa69-0050569f678a

NikitaMikhaylovSB avatar Oct 25 '23 06:10 NikitaMikhaylovSB

Если выгрузить с помощью 8.3.21 конфигурацию в XML и загрузить обратно - проявляется ли такой же эффект? Очень похоже на исправление в конфигураторе долгожданное https://dl03.1c.ru/content/Platform/8_3_21_1849/1cv8upd_8_3_21_1849.htm#a1778b70-a123-11ec-aa69-0050569f678a

Немного контекста не понял, предлагаете попробовать на 21.1849 попробовать выгрузить и загрузить в xml формате? (в проекте используется более новая платформа - 8.3.22.1750). Прошерстил описание обновления, чего-то интересного не нашел

Mezijas avatar Oct 26 '23 05:10 Mezijas

В дополнение к проблеме, есть еще кривые органичения доступа к данным, например:

image

image

Mezijas avatar Oct 26 '23 05:10 Mezijas

RLS - сравните выгрузки XML, нет ли там разницы в концах строк В 8.3.22 уже есть механика, аналогичная 8.3.21.

Итого: нужно средствами конфигуратора выгрузить обе конфигурации в XML и сравнить файлы, есть ли там различия?

NikitaMikhaylovSB avatar Oct 26 '23 06:10 NikitaMikhaylovSB

RLS - сравните выгрузки XML, нет ли там разницы в концах строк В 8.3.22 уже есть механика, аналогичная 8.3.21.

Итого: нужно средствами конфигуратора выгрузить обе конфигурации в XML и сравнить файлы, есть ли там различия?

Какая то неразбериха была в конфигурации на момент создания issue, сейчас снова исправил то, что закривила edt (справочная информация например) из типовой конфигурации. Для чистоты эксперимента создал новый проект, загрузил конфигурацию в edt из иб и сделал полную выгрузку в иб из edt без внесения каких либо изменений. (на скриншотах при сравнении слева конфигурация, которая была объединена с типовой, на справа конфигурация, выгруженная с edt). Так же обратил внимание что в формах в шапке тэга Form - отличается версия формата xml, конфигурация объединенная с типовой выгружает 2.15, конфигурация прогруженная с edt выгружает в версии 2.16

Модуль внешнего соединения Непонятна причина, но при сравнении с типовой - изменений не было, а после выгрузки в xml в файле модуля появились пробелы, edt при выгрузке их убрала (хотя в конфигураторе в обоих конфигурациях пробелов нет...) image

Подсистема Администрирование -> Администрирование_Маркировка Пропал тэг ActionsPanelTools image

Подсистема ЗапасыИЗакупки -> ВЕТИС в конфигурации, выгруженной с edt вообще нет папки с файлом командного интерфейса ВЕТИС image

Подсистема ЗапасыИЗакупки -> РаботаСПоставщиками Пропали 2 команды image image

Ну и в принципе команды с подобным именем "name="0:7b6ca4b7-4b35-4660-b19d-14cae3ea5c67"" - затираются при обновлении базы из edt в ИБ.

Подсистема НормативноСправочнаяИнформация -> БазовыеКлассификаторы Подобные случаи описаны выше. image

Подсистема Органайзер image

Подсистема ПоддержкаОборудования image

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

ОбщийМакет ОписаниеИзмененийСистемы В файлах xml отличий, кроме формата xml - нет image

ОбщийМодуль Глобальный Такая же ситуация, как и с модулем внешнего соединения image

Справочник Номенклатура Изменилась версия формата xml в шапке тэга Form (перенес на след строку для удобства). Пропал тэг GroupList. image

Приложил отчет о сравнении. ОтчетОСравнении.zip

Изменений достаточно много, не стал все разбирать, если какие то конкретные интересны, могу выбочно посмотреть.

Mezijas avatar Oct 27 '23 11:10 Mezijas

Так же обратил внимание что в формах в шапке тэга Form - отличается версия формата xml, конфигурация объединенная с типовой выгружает 2.15, конфигурация прогруженная с edt выгружает в версии 2.16 Это говорит о том, что у вас разные версии платформы, нужно свести их к единой.

NikitaMikhaylovSB avatar Oct 27 '23 11:10 NikitaMikhaylovSB

Так же обратил внимание что в формах в шапке тэга Form - отличается версия формата xml, конфигурация объединенная с типовой выгружает 2.15, конфигурация прогруженная с edt выгружает в версии 2.16 Это говорит о том, что у вас разные версии платформы, нужно свести их к единой.

Да. вы правы. в базе пустышке платформу не прописал. Воспроизвел ситуацию на одной и той же платформе, часть проблем осталась, из выше описанных например:

Модуль внешнего соединения Подсистема Администрирование -> Администрирование_Маркировка Роли - изменения в ограничении доступа к данным. (изменения в самих файлах нет, но в отчете о сравнении то ли кодировка, то ли символы окончания строк отличаются, по крайней мере я так предполагаю)

image

Справочник ГруппыПолучателейСкидки (форма списка) - показывает отличие командной панели, но Form.xml не отличается

Приложил свежий отчет о сравнении. Uploading ОтчетОСравнении.zip…

Mezijas avatar Oct 30 '23 06:10 Mezijas

Из интересного, когда из ИБ загружаешь конфигурацию полностью в существующий проект - Edt не показывает каких либо отличий в конфигурациях, Отличия мы видим только после полной выгрузки из Edt в ИБ и сравнение с прошлым файлом cf

Mezijas avatar Oct 30 '23 06:10 Mezijas

Добавлю - версия 2023.1.4, 2023.2.* также добавляет кучу переименованных реквизитов типа ExtendTooltip и контекстного меню. Проверил - реквизиты переименовываются именно в момент конвертации в формат EDT. Можно, конечно, потом сделать оптимизацию хранения данных проекта, но тогда можно будет забыть про сравнение в конфигураторе. Для нас этот вопрос очень критичный.

dmitry4d avatar Dec 12 '23 05:12 dmitry4d

Снова обновление типовой части - снова 60% процентов (если не больше) отличий, это некорректная выгрузка edt в ИБ.

P.S. Проверял на Edt Ruby 2023.2.4 / 1С:Предприятие 8.3 (8.3.23.1912)

Mezijas avatar Jan 24 '24 11:01 Mezijas

На EDT 2023.2.4 / 1С:Предприятие 8.3.22.2283 также воспроизводится.

Просьба поднять приоритет у данного обращения.

sergsudaev avatar Jan 25 '24 09:01 sergsudaev

Edt Ruby 2023.3.0 / 1С:Предприятие 8.3 (8.3.23.2040) - Такая же история. Если сделать Экспорт проекта конфигурации в Xml (выгрузка конфиграции в xml) - согласно настройке проекта, файлы будут выгружены в UTF-8, но из конфигуратора файлы выгружаются в UTF-8 с BOM. Не думаю, что это повлияет на загрузку в ИБ, но решил отметить.

Соглашусь с коллегой, хотелось бы поднять приоритет у этой проблемы.

Mezijas avatar Jan 26 '24 04:01 Mezijas

Очень актуальная проблема, на EDT 2023.2.4 / 1С:Предприятие 8.3.22.2283. Есть разница между cf, выгруженной из edt и конфигурацией поставщика в объектах, которые стоят на поддержке и не изменялись. Просьба поднять приоритет.

JuliaMoiseenko avatar Jan 26 '24 13:01 JuliaMoiseenko

То же самое. EDT 2023.2.4 / 1С:Предприятие 8.3.23.1997 Пробовал на более новых конфигурациях и различные версии платформ. Если средствами платформы выгрузку в файлы и загрузить обратно - проблемы нет. А вот в EDT просто переключение ветки вызывает полную загрузку конфигурации из проекта в базу. Потом куча отличий при сравнении с ранее выгруженным cf.

Просьба поднять приоритет и помочь с решением этой проблемы. Уж очень "подрезает крылья".

aakravchenko avatar Jan 27 '24 18:01 aakravchenko

Коллеги, нет новостей по этой проблеме? На доработанных типовых конфигурациях, данная проблема ооооооооочень мешает жить.

@Erik773

Mezijas avatar Mar 26 '24 10:03 Mezijas

Здравствуйте, приоритет задачи обсуждается, по результату сообщим дополнительно.

Erik773 avatar Mar 28 '24 04:03 Erik773

Здравствуйте, приоритет задачи обсуждается, по результату сообщим дополнительно.

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

bvarlamov avatar Mar 28 '24 17:03 bvarlamov