gifts2017

Сравнение и объединение - способ получения изменений в ролях, формах и макетах СКД - новые возможности платформы 1С 8.2

Опубликовал Сергей (TSSV) в раздел Программирование - Практика программирования

Недавно с удивлением для себя обнаружил механизм, позволяющий видеть исчерпывающую информацию по различиям в ролях, формах (в т. ч.  в условном оформлении и просмотра по ролям у реквизитов управляемых форм) и макетах СКД - вплоть до различий в настройках оформления, вариантов, запросов и параметров. Опросил знакомых разработчиков (людей опытных!) - народ в неведении... Поискал в интернете - нашел только сетования и несколько статей и даже платных решений, посвященных решению данной проблемы. А между тем такая возможность в 8.2 есть!

Недавно с удивлением для себя обнаружил механизм, позволяющий видеть исчерпывающую информацию по различиям в ролях, формах (в т. ч.  в условном оформлении и просмотре по ролям у реквизитов управляемых форм и пр.) и макетах СКД - вплоть до различий в настройках оформления, вариантов, запросов и параметров. Опросил знакомых разработчиков - народ в неведении... Поискал в инете - нашел только сетования и несколько статей и даже платных решений, посвященных данной проблематике. А между тем такая возможность в 8.2 уже есть! По крайней мере с 8.2.14 уж точно.

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

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

http://infostart.ru/public/74341/

http://infostart.ru/public/22363/

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

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

Теперь к сути вопроса - как увидеть различия. Все очень просто - в окне сравнения конфигураций щелкнуть правой кнопкой мыши по измененному объекту, выбрать "Отчет о сравнении объектов", "Подробно", "Табличный документ". В результате будут выведены различия только по текущему объекту (например форме или роли).

Чтобы проще было разобраться, что к чему в получаемых таким образом отчетах, измените что нибудь в форме, правах или СКД, сохраните, но не обновляйте конфигурацию БД. Потом сравните основную конфигурацию с БД и увидите как отобразилось в отчете сделанное вами изменение. Надеюсь кому то это пригодится. Хорошего кода!

 

 



См. также

Подписаться Добавить вознаграждение

Комментарии

1. Алекс Ю (AlexO) 28.03.13 10:26
Автор, не открывайте Америку.
По формам уже давно (чуть ли не с 8.0) сравнивает и показывает.
По сравнению ролей - лет 7 уже как есть те же обработки с ИС типа "Матрица ролей", да и типовой просмотра ролей был неплох и при желании можно было быстро и наглядно сравнить роли по объектам.
В 8.2.14 только чуть доработали до "унификации" - включили в общее окно сравнения и объединения.
Дмитрий74Чел; EMelihoff; +2 Ответить 1
2. Алекс Ю (AlexO) 28.03.13 10:29
Я, конечно, все понимаю - но постить статьи из серии "1с - мои первые книжки" надо как-то тогда в отдельном треде :)
С пометкой "кто впервые открыл 1С".
3. Евгений Сосна (pumbaE) 28.03.13 11:01
(0) Приводить пример с измененным одним элементом - это пять. Сделайте 20 элементов измененных, с измененными привязками...
4. Михаил Ражиков (tango) 28.03.13 11:07
м-дя...
Теперь к сути вопроса - как увидеть различия. Все очень просто - в окне сравнения конфигураций щелкнуть правой кнопкой мыши по измененному объекту, выбрать "Отчет о сравнении объектов", "Подробно", "Табличный документ".

миносовать не буду - из жалости
5. Tsaregorodtsev (TSSV) 28.03.13 11:19
(1) AlexO,
Автор, не открывайте Америку.
По формам уже давно (чуть ли не с 8.0) сравнивает и показывает.

Ваш сарказм не нов и понятен. Подробного сравнения ролей в 8.0 и 8.1 не было, сравнение форм в 8.1 (естественно обычных) есть, отслеживает в т. ч. изменения привязок - это правда.
Я, конечно, все понимаю - но постить статьи из серии "1с - мои первые книжки" надо как-то тогда в отдельном треде :)
С пометкой "кто впервые открыл 1С".

Вы можете их не читать совсем и обратититься в администрацию с этой идеей. Я с удовольствием читаю подобные статьи. Тем более (вы читали явно невнимательно) - интересовался мнением опытных разработчиков - практиков.
Но мнение болтунов-теоретиков навеное тоже кому то интересно.
при желании можно было быстро и наглядно сравнить роли по объектам

Это разные вещи - смотреть роли у объекта и объекты у роли и не только, вобщем тоже мимо.
6. Tsaregorodtsev (TSSV) 28.03.13 11:20
7. Tsaregorodtsev (TSSV) 28.03.13 11:21
8. Евгений Сосна (pumbaE) 28.03.13 11:31
9. Яков Коган (Yashazz) 28.03.13 11:32
А вообще полезно бывает документацию-то почитать. Как много нам открытий чудных несёт порой RTFM.

Вот если б управляемые формы в xml раздербанить, а потом с помощью ДокументXML сравнить, это да-а-а.
10. Tsaregorodtsev (TSSV) 28.03.13 12:49
(9) Yashazz, Я начал именно с этого, с попытки раздербанить управляемую форму. Но свойства и элементы формы не являются коллекциями, поэтому сделать что-то типа рекурсивного обхода контейнера ЭтаФорма не получилось естественно, поэтому бросил эту затею. Были даже мысли анализировать результирующий HTML, но он будет являться суммой настроек - конфигурация плюс программные изменения свойств... Мне приходится часто анализировать результаты работы нескольких разработчиков, а так как в УФ многие вещи делаются в настройках формы, которых очень много, то это для меня очень ценной находкой оказалось. А читать документацию - на любителя я думаю все таки, но вы конечно же правы. Последнее время предпочитаю курсы смотреть.
11. Андрей Д. (bambr1975) 28.03.13 12:58
(10) Tsaregorodtsev, в последней версии http://infostart.ru/public/106310/ управляемые формы можно анализировать и сравнивать вплоть до конкретных свойств. Для сравнения ролей там тоже сделано немало.
12. Александр Капустин (kapustinag) 28.03.13 13:45
(0) Сравнение форм подробное в Платформе 8.1 было достаточно давно, с 2008 года как минимум. А подробное сравнение ролей было анонсировано в Платформе 8.2.14, и вышло именно тогда. В-общем, для того, кто следит за изменениями, и кому эта функциональность действительно нужна в работе - предмет статьи совсем не является новостью.
Если в обязанности тех разработчиков, кого Вы опрашивали, не входит обновление типовых конфигураций - то ничего удивительного, что они про это не знали. Хотя все-равно характеризует их определенным образом.
13. Tsaregorodtsev (TSSV) 28.03.13 14:40
(12) kapustinag, Разработчики о которых я говорю далеко не чайники, напротив, я о них высокого мнения и остаюсь при нем, ибо практика - критерий истины. Не стыдно не знать, стыдно не хотеть знать, а так же кичиться своими познаниями.
"
Сократ говорил, что есть люди, которые думают что они что-то знают, в чем-то хорошо разбираются, но когда он начинал им задавать вопросы докапываясь до сути, оказывалось, что они не могли объяснить даже основных понятий, о которых они говорили: что такое благо, удовольствие, справедливость, знание, истина и т. п. В основном это касалось софистов - людей, которые считали себя мудрецами и за деньги (иногда за очень большие) учили мудрости, риторике, некоторым наукам молодых людей, чаще всего в Афинах.
Вот противопоставляя себя софистам, Сократ и говорил, что в отличии от них, он хотя бы понимает, что ничего не знает, а они заблуждаются даже в этом, думая, что в чем-то постигли истину.
"
Думаю выводы каждый сделает сам.
14. Александр Капустин (kapustinag) 28.03.13 20:15
(13) Tsaregorodtsev, Сомнительный метод спора - отвечать цитатами из древних и великих в ответ на 100% верные сведения.
Замечу, что я уважаемых Вами разработчиков ничем не обидел, а просто констатировал факт, что они, скорее всего, не особо интересовались новшествами в средствах разработки и администрирования 1С. По крайней мере в какой-то период не интересовались. Профессиональная квалификация тут совершенно ни при чем.
15. Tsaregorodtsev (TSSV) 28.03.13 21:40
(14) kapustinag, Я слышал про то что появилось сравнение ролей в 8.2.14 и еще давно, все мы слышим что что то где то появилось как обычно "набегу", так как дел полно текущих и времени в обрез, но тут человек "пощупал" и пишет, дескать народ, это действительно вещь стоящая! А некоторые недовольны - документацию дескать читай. Ну так и читайте документацию тихо, зачем читать эту статью я не понимаю тогда. И с Вами я не спорю, а пишу свои мысли по поводу прочитанного, тоже не хочу обидеть лично Вас ничем. Здесь люди общаются и это интересно вобщем то.
16. Сергей Марченко (MarSeN) 28.03.13 22:20
(9) Yashazz
Используйте выгрузку конфигурации на платформе 8.3 и будет Вам счастье.
Там вся конфа выгружается в xml.
17. Алекс Ю (AlexO) 29.03.13 09:50
(5) Tsaregorodtsev,
Но мнение болтунов-теоретиков

Конечно, мнение студентов-впервыекоткрывателей книжек намного интереснее.
(5) Tsaregorodtsev,
Ваш сарказм не нов и понятен.

Также не новы потуги студентов прочитать книжки. Но не получается никак...
(5) Tsaregorodtsev,
интересовался мнением опытных разработчиков - практиков.

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

Откуда и растут ноги большинства студентов.
(10) Tsaregorodtsev,
о свойства и элементы формы не являются коллекциями, поэтому сделать что-то типа рекурсивного обхода контейнера ЭтаФорма не получилось естественно, поэтому бросил эту затею.

Вот без всяких студенческих курсов обошелся, и затруднения для решения моей задачи отсутствие "прямого обхода" элементов и их значений на форме не вызвало. Поэтому затею не бросил, довел до конца и сдал работу.
18. Алекс Ю (AlexO) 29.03.13 09:52
(16) MarSeN,
Используйте выгрузку конфигурации

Вот когда вместе с остальными студентами попробуете, да решите пару ПРАКТИЧЕСКИХ задач, а не обсуждение "теоретических" возможностей в кругу практических студентов, тогда и напишите про использование выгрузки конфигурации в XML.
19. Алекс Ю (AlexO) 29.03.13 09:58
(15) Tsaregorodtsev,
но тут человек "пощупал" и пишет, дескать народ, это действительно вещь стоящая!

А поле ввода поместить на форму - вешь стоящая или нет?
Пощупайте, обстоятельно, статью напишите.
зачем читать эту статью я не понимаю тогда.

Обычно задают вопрос - зачем писать такую статью? Но, видимо, из-за того, что статьи у вас вываливаются сами по себе, остается только задаваться первым вопросом - второй просто не успевает у вас сформироваться.
20. Tsaregorodtsev (TSSV) 29.03.13 11:09
(17) AlexO,
Вот без всяких студенческих курсов обошелся, и затруднения для решения моей задачи отсутствие "прямого обхода" элементов и их значений на форме не вызвало. Поэтому затею не бросил, довел до конца и сдал работу.

И получил зачет, у сомого себя похоже, поздравляю! Но тут нужно серьезно призадуматься Вам.
Надеюсь я ответил на все Ваши вопросы.
21. Михаил Ражиков (tango) 29.03.13 11:19
(17) AlexO,
студентов прочитать книжки
студентов НЕ прочитать книжки
22. Сергей Марченко (MarSeN) 05.04.13 14:46
(18) AlexO
много мог бы написать в ответ, да промолчу, зная Ваше амплуа.
23. mikhailovaew (mikhailovaew) 16.12.13 18:02
кто-нибудь владеет инструментом сравнения и объединения макетов СКД? максимум, что мне удалось - выгрузить СКД в файлы xml и сравнивать их как текстовые файлы. А вот как объединить изменения?
24. Tsaregorodtsev (TSSV) 23.12.13 08:44
(23) mikhailovaew, готового средства я не встречал. Попробуйте посмотреть эту публикацию: http://infostart.ru/public/194576/. Может получится решить вопрос динамическим преобразованием исходного макета?
25. mikhailovaew (mikhailovaew) 29.12.13 20:12
(24) пожалуй, там немного не то... в любом случае, спасибо, что не оставили без внимания мой вопрос.
26. Екатерина * * (ekaterinaeon) 16.09.14 09:32
А я скажу спасибо автору статьи, как новичок, недавно столкнувшийся с необходимостью обновлять типовые базы с кучей мелких доработок. Навели на мысль и сэкономили мне кучу времени :)
27. Виталий Фантич (Boudybuilder) 03.07.15 09:57
Привет.
А как сравнивать и объединять элементы форм?
По модулям разобрался вроде. Можно про процедуры и функции брать или с одной или с другой стороны. А если какие то строчки по отдельности?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа