Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

При выгрузке файлов конфигурации большое количество изменений #28

Open
viskvortsov opened this issue Jun 8, 2015 · 8 comments
Labels

Comments

@viskvortsov
Copy link

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

  1. Меняются местами строки в файлах,
  2. Меняется язык выгрузки (расширеннаяподсказка превращается в extandedtooltip)

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

Сталкивались с таким? Можете подсказать как победить?

@viskvortsov viskvortsov changed the title При выгрузке файлов конфигурации большее количество изменений При выгрузке файлов конфигурации большое количество изменений Jun 8, 2015
@artbear
Copy link
Member

artbear commented Jun 8, 2015

Сталкивались. К сожалению, это проблема выгрузки 1С.
Выгрузка 1С не является статической и порождает большое количество ненужных изменений.

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

@viskvortsov
Copy link
Author

Вот что ответил 1С на партнерке:
Многие проблемы не идентичности имеют своим истоком сами конфигурации - в них содержится достаточно много мертвых данных в том числе и таких которые разработчик конфигурации просто не может увидеть (особенности реализации структуры данных конфигурации) ни в кофигураторе не в XML выгрузке, а в сравнении они участвуют, хотя на идентичность конфигураций не влияют.

Другая проблема это ошибки платформы как исправленные, но оставившие свой след в данных конфигураций, так и имеющиеся на данный момент к последним относится проблема установки после загрузки права интерактивного удаления - это известная ошибка.

Отдельно стоят следствия принятых в прошлом решений по развитию платформы - неидентичность в некоторых случаях для свойства использовать всегда реквизита типа набор констант или некоторых абсолютных картинок как раз из таких.

Замечу что многие (но не все) из этих проблем уходят если:

  1. загрузить конфигурацию из XML
  2. сохранить файл конфигурации (.cf)
  3. повторно выгрузить в XML конфигурацию загруженную из XML на 1 шаге
  4. загрузить полученную XML выгрузку в пустую базу
  5. сравнить с .cf файлом полученным на шаге 2

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

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

@pumbaEO
Copy link

pumbaEO commented Jun 8, 2015

Имхо 1с ники, просто отмазались.
То что меняютса xml теги, в зависимости от региональньіх настроек компьютера, базьі - это факт, почему не учитывают ключи коммандной строки и принудительную локализацию - не знаю, им видно лень.

По факту, борюсь с этим только тем, что написал скрипт на python который парсит template.xml и для определенных тегов отменяю изменения, если только они поменялись, т.к. там по факту только и поменялось, что uuid.

@artbear
Copy link
Member

artbear commented Jun 8, 2015

@pumbaEO Поделишься скриптом?

@pumbaEO
Copy link

pumbaEO commented Jun 9, 2015

https://github.com/pumbaEO/undiff1c/blob/master/src/undiff1c/undiff1c.py

precommit hook: python undiff1c.py --g
требует установки unidiff, pip install unidiff

@EvilBeaver
Copy link

@Pr-Mex тоже это решал, но получением "Отчета по хранилищу" и его парсингом. Измененные объекты, которых нет в отчете - считаются неизменившимися.

@Pr-Mex
Copy link

Pr-Mex commented Jul 7, 2015

Ещё добавлю, что много изменений бывает при первой выгрузке.
Если концу разобрать и собрать и в таком виде оставить, то при последующих сборках разборках проблем будет меньше.

@Pr-Mex
Copy link

Pr-Mex commented Jul 7, 2015

А 1С как обычно хитрит. Достаточно Ерп 2.0 разобрать, собрать и сравнить с оригиналом.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants