0. vasilev2015 1386 18.07.19 13:01 Сейчас в теме

Уверенное обновление

Уверенное обновление. Анализ файла ОтчетОСравнении.txt. Bash

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Maxisussr 18.07.19 13:21 Сейчас в теме
(0)
После 1С:Эксперта "заболел" регулярками?
4. vasilev2015 1386 18.07.19 13:44 Сейчас в теме
(1) да, это заразно.
starik-2005; +1 Ответить
2. VmvLer 18.07.19 13:22 Сейчас в теме
в Notepad++ можно писать макросы, зачем тогда скрипт?

думаю для того чтобы написать макрос и ничего не качать
cleaner_it; +1 Ответить
8. vasilev2015 1386 18.07.19 15:41 Сейчас в теме
(2) Здравствуйте !

Выкладывайте макрос. Плюс заочно.
3. acanta 64 18.07.19 13:42 Сейчас в теме
Спасибо, добрый человек.
5. capitan 1248 18.07.19 13:46 Сейчас в теме
6. DmitryKSL 151 18.07.19 14:55 Сейчас в теме
Может я чего-то не понимаю, но судя по скриншоту не применен фильтр "дважды измененные". Зачем такой геморрой себе придумывать?
gudim1979; +1 Ответить
7. vasilev2015 1386 18.07.19 15:40 Сейчас в теме
(6) Здравствуйте !

Как правило, при обновлении я использую этот фильтр.

Но если искать разницу между двумя конфигурациями по предложенной методике, то такой фильтр не нужен:

1. Расхождение между формами могло появиться в предыдущем обновлении,
в результате прыжка через несколько релизов.

2. Список дважды измененных объектов тоже может быть большим. Работает команда программистов.
За всеми не уследить, а в результате работы скрипта получается несколько строк. Проще контролировать.
9. user953800 18.07.19 22:10 Сейчас в теме
"супер-пупер мега скрипт" сохранен в кодировке utf-8 (re.sh)
При запуске получаю ошибки:
awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.'
awk: cmd. line:1: warning: escape sequence `\*' treated as plain `*'
awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.'
awk: cmd. line:1: warning: escape sequence `\*' treated as plain `*'
awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.'
awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.'
10. user953800 18.07.19 22:49 Сейчас в теме
(9) Подправил в строках awk, поставив двойной \\
11. vasilev2015 1386 19.07.19 08:01 Сейчас в теме
(9, 10) Здравствуйте !

я ввожу скрипт в командную строку консоли, у меня те же сообщения,

но это правильно: символами \* и \. я обозначил звездочку и точку.

С двумя косыми сообщения пропали, результат работы остался неизменным ?

Главное, чтобы файл ОтчетОСравнении.txt был в кодировке utf8.

Интересно: какой результат у вас выдает скрипт ?
12. user953800 19.07.19 10:48 Сейчас в теме
(11) Добрый день. Написал в личку.
13. vasilev2015 1386 19.07.19 11:06 Сейчас в теме
(12) Спасибо, мне интересно. В движениях показаны добавленные регистры с локальным префиксом. Это немного странно: если в окне сравнения рабочая конфигурация слева, а конфигурация поставщика справа - то должны показываться добавленные типовые регистры, они без префикса. Чтобы результат стал чище, вместо символов - <-- в скрипте по движениям давайте использовать - <--Регистр (внесу правку в статью). Попробуйте - пришлите результат в личку.
14. user953800 19.07.19 11:08 Сейчас в теме
(13) Только вечером, т.к. все действия были на личном компьютере.
15. vasilev2015 1386 19.07.19 11:12 Сейчас в теме
(14) и еще в файле ОтчетОСравнении.txt посмотрите пожалуйста

ключевые слова Имя - Различаются значения
и ключевые слова <--Реквизит, <--Колонка реквизита, <--Параметр

маловероятно что различий нет
16. user953800 19.07.19 11:41 Сейчас в теме
(15) Таких ключевых полей в отчете нет. Отчет - итог сравнения с конф поставщика в базе, а не конф поставщика обновленной.
Вот такие слова только встречаются:
- ***Реквизит -
- ***Параметр -
- ***Колонка реквизита - 

Ну и добавленные нетиповые реквизиты:
- -->Справочник.Контрагенты.Реквизит
17. vasilev2015 1386 19.07.19 11:57 Сейчас в теме
(16) приложил пример добавления реквизита на форму.
Прикрепленные файлы:
18. user953800 19.07.19 12:04 Сейчас в теме
(17) вот у меня в отчете добавленный реквизит
Очень может быть, что результат без этих строк, т.к. я неправильно в скрипте поменял эти стрелки...
Прикрепленные файлы:
19. vasilev2015 1386 19.07.19 12:36 Сейчас в теме
(18) на картинке не реквизит, а элемент формы. я такие случаи пробовал искать, но не удалось сформулировать скрипт корректно.

Если префикс "т_" является префиксом разработки, и поскольку добавлен элемент с префиксом разработки -

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

Слева основная конфигурация, справа - конфигурация производителя (как на картинке в статье).
20. user953800 19.07.19 13:15 Сейчас в теме
(19) Первая строка - как раз добавленный реквизит. И потом он же выведен на форму.
Сравнение конф так и производилось. Первая - основная, вторая - поставщика.
21. vasilev2015 1386 19.07.19 13:18 Сейчас в теме
(20) сообразил: т_ЦФО это реквизит объекта и он добавлен на форму как элемент.
Скрипт из статьи находит только добавленные реквизиты формы и параметры формы.
Реквизиты объекта как правило, успешно добавляются при обновлении.
А элементы формы я не смог описать в скрипте.
user953800; +1 Ответить
22. AlX0id 22.07.19 08:17 Сейчас в теме
Какая красота получилась! Мир спасен?

До той поры, пока 1сники не нарисуют лишнюю запятую в отчете о сравнении..
23. vasilev2015 1386 22.07.19 08:22 Сейчас в теме
(22) Здравствуйте !

Автор придерживается тех же взглядов.

Поэтому фраза с вопросом и не в конце статьи, а между третьим и четвертым примером.
24. kosmo0 81 25.07.19 09:09 Сейчас в теме
У меня методика обновления измененной конфы примерно следующая.
1. Делаю краткий отчет о сравнении текущей рабочей конфигурации и текущей типовой конфигурации. Получаем список объектов которые были изменены.
2. Делаю краткий отчет о сравнении текущей типовой конфигурации и новой типовой конфигурации. Получаем список измененных объектов в типовой конфигурации.
3. Сравниваем список объектов из 1 и 2. Объекты присутствующие в обоих списках требуют контроля при обновлении. А убрав из списка 2 совпадающие объекты, получаем объекты которые обновляем на автомате (тупо ставим галочку при обновлении).

Конечно есть масса особенностей и граблей.
- Порядок объектов. В большинстве случаев абсолютно не критично (но может создать большой размер файла о сравнении). Теоретически можно почистить от этой информации файл сравнения. Если у изменяемого объекта меняется ТОЛЬКО порядок, то можно убрать и сам объект из файла о сравнении.
НО, наблюдаем потенциальную граблю - изменение порядка реквизитов (измерений, ресурсов для регистров) для документов (справочников, регистров и проч.). Если есть обмены в которых просто передаются объекты, то обмен может встать пока новая конфигурация не будет загружена в передающий и принимающий узел. То есть, если вдруг используется при приеме данных Объект = ПрочитатьXML() и хотябы порядок реквизитов не совпадает - объект не будет принят.
- Случай когда указывается что форма (обычная) отличается от формы в типовой конфигурации, хотя на самом деле это не так (и в ряде случаев можно обновлять ее просто заменив на форму из типовой). Как это получается. Изменили тип ревизита объекта и он выводится на данной форме (например в справочнике увеличили длину кода и сравнение будет показывать различия по элементу формы который выводит код).
- Случай когда при обновлении вроде на затрагиваются измененные процедуры и функции, а просто добавляются пара новых процедур. И можно не напрягая мозг просто добавить новые модули.
Возможные грабли - было процедура Расчет() в которой вы внесли изменения, а тут добавилась процедура Расчет2019() которая будет применяться с 01.01.2019. Если в новую процедуру не внести ваши изменения, то у пользователей могут возникнуть вопросы.

Ну и другие нюансы. Хотя, с развитием платформы в сторону Расширений, это все теряет актуальность. И если вдруг кому-то помог - буду рад.
WellMaster; acanta; +2 Ответить
25. vasilev2015 1386 25.07.19 10:26 Сейчас в теме
(24) Здравствуйте !

Чем отличается пункт (3) от списка дваждыизмененных объектов, который формируется штатно ?
26. kosmo0 81 01.08.19 13:05 Сейчас в теме
(25) Однажды, когда начинал заниматься обновлением, заметил что окно обновления почему-то не выделило объект который необходимо обновить. С тех пор не надеюсь на это окно. Хотя, возможно, платформа была устаревшая.
27. vasilev2015 1386 03.08.19 08:54 Сейчас в теме
(26) Здравствуйте !

За полгода постоянных обновлений только один раз у меня было что-то подобное.
Поэтому я считаю, что типовой механизм очень надежный.
28. kosmo0 81 08.08.19 08:46 Сейчас в теме
(27) Заметил один раз? Если полгода сравнений типового механизма с другой методикой - это одно. А если только заметил один раз - это другое. Вполне вероятно что не заметил еще раз 5 или 10.

Кроме того, имхо, не считаю надежным механизм, который работает непредсказуемо. Опять же, здесь как с бекапами - лучше сейчас потратить лишних полчаса, чем потом разгребать последствия полнедели без сна.
29. kosmo0 81 12.08.19 09:42 Сейчас в теме
(27) Пожалуйста пример. Обновление УПП с 1.3.124.1 на 1.3.124.2.
Изменений кот наплакал. Но по дефолту общий модуль ИнтеграцияЕГАИССлужебныйКлиент не становится на обновление, хотя он в нашей конфе не изменялся. Можно заметить отличающийся квадратик в левой части, но у меня различающихся объектов порядка 10000, поэтому все просматривать весьма утомительно.

Плюс маленькая засада для юных падованов - дважды измененные объекты никак не выделяются на общей картине (смотреть на ветку Документы). И если начинающий специалист по обновлениям не знает куда смотреть то он может упустить это.
Прикрепленные файлы:
30. vasilev2015 1386 12.08.19 10:27 Сейчас в теме
(29) Здравствуйте !

Похвально, что Вы так скурпулезно подходите к обновлению.

Вы анализируете файл ОтчетОСравнении.txt регулярками или другими средствами ?
31. kosmo0 81 15.08.19 10:59 Сейчас в теме
(30) Здравствуйте.

Уровень скурпулезность работы зависит от сложности решения потенциальных проблем. Одно дело база на 5 человек. Другое дело база на 100 человек. И совсем отдельный случай когда база с филиалами по всей стране работает 24/7 и когда 1 час простоя это многмилионные убытки. У меня примерно второй вариант.

У меня для анализа 1с-обработка. На обычных формах и внутри мракобесие (делал одну функцию, со временем прикручивал доп. функционал, короче бардак, но работает).
Упрощенно - два отчета о сравнении (вид - краткий, текстовый), а) между стврой и новой типовой конфой и б)между текущей и типовой конфой нормализуются и сравниваются между собой. Получаем список дважды измененных объектов (получается это быстрее чем при процессе обновления (ну у меня точно), можно распечатать (и видеть не только в момент обновления), можно примерно оценить сложность обновления - как много дважды измененных и как много среди них форм (обновление дважды измененых обычных форм самая сложная проблема (когда элементы форм начинают появляться, исчезать).
Нормализация - приведение к виду "Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента".
Плюс учет разных граблей. Учитывать или нет изменение порядка. Отслеживать изменение в наименовании и прочее.

Если изменений достаточно много, то самый простой контроль. Отчет о сравнении (опять же вид краткий текстовый) между старой и новой ТИПОВЫМИ конфигурациями должен совпадать с отчетом о сравнении между предыдущей и обновленной рабочей конфигурациями.
Также должны совпадать отчеты о сравнении между рабочей и типовой конфигурациями до и после обновления. Это если нет ваших изменений в рабочую конфигурацию.

Опять же повторюсь - на перспективу смотрите на расширения конфигурации.
А если изменений много то воспользуйтесь услугой по обновлению. Если не вру - фирма ИжТиСи, пару лет назад прайс был 12К рублей за год.
32. vasilev2015 1386 15.08.19 11:25 Сейчас в теме
(31) Здравствуйте !

Когда руководитель предложил мне делать обновления - я тоже его связал с ИжТиСи.
Они составили нам смету - догнать один год стоит около 1 млн, длительность обновления - три месяца.
Но три месяца - это долго ))) - поэтому решили делать самостоятельно.
33. kosmo0 81 22.08.19 08:42 Сейчас в теме
(32) Догонять - это отдельная песня. И опять все упирается в количество измененных по сравнению с типовой конфигурацией объектов. Насколько я знаю, в ИжТиСи для обновления конфигурации делают через "Выгрузить конфигурацию в файлы", обновления, "Загрузить конфигурацию из файлов". А эта загрузка/выгрузка занимает много времени (если конфигурация не маленькая). Плюс вроде как у них проводится тестирование.
А руководителю можно рассказать старую историю - "быстро, качественно, не дорого" - выбирайте любые два параметра.
34. u_n_k_n_o_w_n 37 29.08.19 14:14 Сейчас в теме
Самое главное "грамотно" вносить изменения в конфигурацию и проблем с обновлениями вообще не будет.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Владивосток
зарплата от 80 000 руб. до 120 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Екатеринбург
зарплата от 120 000 руб. до 120 000 руб.
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день