8.х Обновление измененной конфигурации

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Diego, 23 дек 2010.

  1. TopicStarter Overlay
    Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Добрый день!

    Есть база УПП 1.2.29.1 сильно измененная.
    Добавлены новые документы, константы, регистры, перечисления, отчеты, обработки, интерфейсы.
    Добавлены новые реквизиты в стандартные документы (реализация, заказы, отчет производства и др.), соответственно изменены формы этих документов.

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

    Процесс обновления измененной конфигурации примерно представляю себе. Для перехода на следующую версию необходимо в новую конфигурацию перенести все изменения старой версии (по сравнению со стандартной конфигурацией поставщика) и уже этой конфигурацией обновлять базу.
    Но как лучше это сделать при переходе через несколько версий (после 29 релиза были еще 30,31,32,33)?

    Обновляться сразу на 34 релиз боязно - вдруг потеряются какие-то данные. Возможно промежуточные релизы были ключевыми.
    Недавно обновлял стандартный 29 релиз УПП так - сначала сразу на 32, потом 33, 34. Вроде все нормально перенеслось, ничего не пропало.

    С измененной конфигурацией планирую такую же последовательность.
    Только для себя решил так, чтобы было поменьше работы.
    В промежуточные релизы 32 и 33, которыми буду обновляться перенесу только все добавленные и измененные реквизиты документов, регистры, перечисления, константы - т.е. только то, где непосредственно хранятся данные.
    Обновлю базу через эти релизы.
    Модули, формы документов, отчеты, обработки, печатные формы, роли, интерфейсы и т.п. изменю только в окончательном 34 релизе для обновления. И уже им обновлюсь окончательно.
    Понятно что в процессе обновления, пока база имеет версию 32 и 33 нельзя открывать и перепроводить никакие изменненые документы (реализации, заказы и т.п.), там где изменялиь формы и модули.

    Подскажите правильно ли собираюсь сделать?
    На что еще обращать внимание при таком обновлении?
    Поделитесь, у кого есть опыт или где можно почитать о подобном...
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Да, здесь верно. Нельзя удалять добавленные объекты, иначе понятное дело - потеряете данные.
    Переписывать то промежуточные релизы не надо - при объединении насколько я помню в окне, вновь добавленные объекты и так будут со снятой галкой, т.е. затронуты не будут. А вот окончательный - тут 2 варианта, либо сделать готовый, и последнее обновление делать уже на него, либо если есть время, то накатать по такому же принципу базовое обновление, в отдельном окне открыть отличия базовой 1.2.29.1 от вашей переделанной, и уже в обновленную вносить исправления. Но судя по тому, что сильно переделанная, то времени может потребоваться много, скорее придется отдельно конфигурацию создавать, и последнее обновление делать на готовую.
    После каждого промежуточного обновления - не забывать запускать базу, и выполнять предложенные обработки по обновлению.
    Ну и естественно бэкапы не забудте.
  3. TopicStarter Overlay
    Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Спасибо, что подтвердили мои догадки, примерно так это себе и представлял...
  4. mikl
    Offline

    mikl

    Регистрация:
    29 мар 2011
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    А если у меня только копия базы клиента, то я могу, воспользовавшись вышеизложенной технологией сделать так:

    1. Сейчас у клиента 25 релиз. Я открываю меню Конфигурация-Сравнить/Объединить. Указываю типовой .cf (26 релиз). Обновляю на 26 релиз, в окне сравнение/объединение просматриваю объекты и где надо снимаю галки у тех объектов, которые были доработаны под нужды клиента. Т.е. добавили программисты справочник "Города" - снимаю галку. Изменили реквизит документа - снимаю галку у конкретного реквизита документа. Если все это не снято по умолчанию. Теперь у меня получилась обновленная на 26 релиз база. Делаю Конфигурация-Сохранить конфигурацию в файл.

    2. Обновляю эту базу на 27 релиз. Делаю все как в п.1.

    3. приезжаю к клиенту с готовыми .cf (26,27) и Конфигурация-Сравнение/объединение. Спокойно нажимаю кнопку Выполнить ничего не проверяя.
  5. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Нет! Никаких сравнение-объединение! Только через пункт меню "поддержка".
    Конфигурация какая, по номеру релизов понять не могу. Неизвестно что там в типовых менялось.

    Сделайте так. У себя на копии готовите 27 релиз (чтобы конфигурация была измененной рабочей).
    К клиенту приезжаете, накатываете последовательно типовые 26, 27 релизы через пункт меню поддержка (следите только чтобы добавленные реквизиты-справочники не затерлись, но по-умолчанию все и так ок должно быть). После каждого релиза не забываем запускать базу в режиме 1С:Предприятия. После этого уже через пункт сравнить-объеденить накатываете ваш подготовленный 27 релиз.
    Обязательно - резервная копия базы клиента перед началом работы.
  6. TopicStarter Overlay
    Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    В теории все верно, но только для добавленных объектов, которых нету в типовой конфигурации (Ваш справочник "Города").

    Если у Вас есть типовые объекты конфигурации, которые дорабатывали программисты, а также которые изменялись при обновлении 1С - получится нехорошо.
    Например, программист что-то добавил в модуле объекта "Реализации товаров и услуг" (встроенную печатную форму с соответствующим кодом вывода на печать).
    А 1С в новые обновления что-то внесла новое в модуль проведения этого документа, влияющее на записи в регистры.

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



    Озадачился тут обновлением еще более старой УПП.
    Была сильно дописаная 1.2.5.1 , обновлял на текущую (на момент начала работы это была 1.3.17.1, сейчас уже 1.3.21 вышла :D ), причем было много дописанных типовых документов.
    В результате не стал именно обновлять старую конфу.
    А сделал чистую базу из 1.3.17.1, внес туда все изменения и залил все данные из старой (с 2008 года, баз весила 5Гб).
    С 1 января вроде все работает, кто-то даже не заметил, что база обновилась...
  7. mikl
    Offline

    mikl

    Регистрация:
    29 мар 2011
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Спасибо за ответы.
    Конфигурация 1С Бухгалтерия предприятия 2.0.25.

    Но для того, чтобы пазл полностью сложился, нужны ответы на дополнительные вопросы:

    1. Почему только через пункт меню "Поддержка"? И почему последний релиз накатывать через "сравнение/объединение"?

    2. Diego. Хорошо, допустим, галочку я уберу с модуля документа Реализации. Изменения которые придумала 1с у меня не накатятся. Но я же могу получить информацию, КАКИЕ именно типовые изменения произвела фирма 1с в новом релизе. Потом просто добавляю типовые изменения их в готовый. Ну, честно говоря, я делаю так: смотрю какое количество изменений внесли программисты наши и смотрю какие изменения внесла внесла фирма 1С. Если 1с добавила там 3 строки, то я галочку снимаю в сравнении/объединении, т.е. оставляю свои изменения, потом внесу типовые. Если наоборот у меня из доработок добавлено 3 строки, а 1с целую телегу изменений сделала, то галочку в сравнении/объединении оставляю, потом добавляю своих 3 строки доработки.
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Потому что если не думаете о себе (и о своем времени), подумайте о тех людях которые будут работать с конфигурацией и обновлять ее после вас.
    Через сравнение-объединение вы обновляете только основную конфигурацию (ну и соответственно затем конфигурацию базы данных), но не обновляете конфигурацию поставщика.
  9. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    В целом подход правильный.
    Но предпочитаю в любом случае полностью накатывать изменения из типовой конфигурации, потом уже дописывать свои изменения.
  10. mikl
    Offline

    mikl

    Регистрация:
    29 мар 2011
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Полностью согласен. Но я рассчитывал на то, что конфигурацию поставщика я могу в любой момент обновить. Достаточно лишь через поддержку выбрать файл обновления, снять все галочки. Тогда основная конфигурация не тронется, а конфа поставщика обновится. Дело в том, что с конфигурацией поставщика что-то не то, конкретно с версией: 2.0.25.66. Из-за недостатка знаний, у меня возникла неуверенность. Я не знаю, могли ли программеры изменить конфу поставщика или ее в принципе нельзя изменить? Номер верси ведь не похож на типовой. Может они какие там файлы поставки создавали, когда раньше обновляли, я не в курсе. Поэтому конфу поставщика решил не трогать.
  11. mikl
    Offline

    mikl

    Регистрация:
    29 мар 2011
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Ну тут дело вкуса наверно. Я заметил одну тонкость. Если я буду накатывать изменения из типовой, то все доработки в объектах (модули, диалоги форм) уберутся. Мне придется заново их добавлять. А так, если у меня изменен модуль документа Реализации, но 1с в новом релизе не сделала никаких изменений, касаемых этого документа, то я галочку снимаю при сравнении/объединении и все мои доработки сохраняются,и не нужно ничего заново вносить.
  12. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Только еще раз: не нужно использовать сравнение-объединение. Обновление через аналогичный пункт меню поддержка. В настройках фильтра ставите галку на "показывать дважды измененные". Прекрасно видно в какие модулях есть внесенные вами исправления, и в тот же момент в этом релизе их обновила и фирма 1С. Там уже принимаете решение обновить данный модуль на 1С-вский и потом дописать свои исправления, либо не обновлять модуль и после обновления конфигурации перенести исправления внесенные 1С.
  13. mikl
    Offline

    mikl

    Регистрация:
    29 мар 2011
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Т.е. не обращить внимания, что версия конфы поставщика странная? (см. выше сообщение).
  14. TopicStarter Overlay
    Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Тоже согласен, что правильный.
    Только часто лучше наоборот сделать: в измененную добавлять изменения из типовой.
    Т.к. часто в измененной конфе правлены формы: расположение и размер элементов и т.п., а в типовых конфигурациях формы документов меняются очень редко, только код модуля или код формы.
    А перенести коды намного проще, чем заново перерисовывать элементы на форме.

    Тем более, что отловить изменение кода через сравнение очень просто, а отловить, что изменилось на форме штатно никак (элемент подвинулся, привязки изменились и т.п.): только на глазок. :angry:
  15. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    У меня вручную форма не правится. Если необходимо - все элементы передвигаются, создаются, устанавливаются исключительно программно. Код создания-расстановки для всех элементов вынесен в отдельный модуль. Сделал один раз и забыл про формы.
  16. TopicStarter Overlay
    Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    [off]Респект, все бы так делали...
    На "отрисовку" одной формы наверно много времени уходит по сравнению с обычной правкой?[/off]
  17. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    [off]
    Ну естественно зависит от того что надо переделать на форме. Есть хорошая обработка для этих целей АнализИДекомпиляцияФорм как-то так называется, брал если не ошибаюсь на инфостарте. Вначале на копии базы расставляем на форме элементы как нужно, потом с помощью этой обработки декомпилируем форму, там на выходе получается код формы. Соответственно находим там код для создания наших элементов, и переносим его. Код там конечно не на 100% идеальный на выходе, кое что править надо, но основную работу обработка делает. Потом так, можно сказать мелкие правки.

    Справедливости ради отмечу, что встречаются формы, которые так наскоком не победить (ну мне нормально не удалось). В частности из типовой это форма обработки подбора номеклатуры. Там насколько я понял причина в том, что эта форма привязывается к правой границе (т.е. растягивается по высоте) + на самой форме есть разделитель. В общем не хотела она отображаться нормально, съезжали элементы формы. Задача у меня там была в том, чтобы на эту форму над полем с номенклатурой добавить чекбокс. В итоге решил по другому: не стал добавлять чекбокс на форму, а в панели с кнопками этой формы добавил еще одну кнопку, ну которая запоминает состояние нажата-не нажата, получился аналог.
    [/off]
  18. TopicStarter Overlay
    Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Спасибо, как то не обращал внимания на эти публикации Инфостарта.
    Скачаю, буду изучать.
  19. alivan
    Offline

    alivan

    Регистрация:
    6 фев 2012
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Прошу прощения, прочитал всю ветку и не совсем понял. Есть желание обновить базу. Она дорабатывалсь, но где и что не знаю. БГУ.
    Общая мысль всего здесь написанного понятна. Но вот частности...
    1. Создаю новую чистую базу последнего релиза.
    2. Написано добавить изменения. Т.е. в конфигураторе чистой базы сравнить/обединить сделать?
    Покажет что изменения есть в новой базе а что за изменения, или 1с что-то доработала, или в старой программисты дописали.
    3.
    Лучше остановиться на 2 пункте. Каким образом добавляете изменения в чистую базу. Если сам писал понятно, а если без тебя?
  20. AlexanP
    Offline

    AlexanP

    Регистрация:
    29 фев 2012
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Вопрос: В режиме 1С:Предприятия будет работать конфигурация базы данных, а не основная(рабочая) конфигурация. Так ведь ? Или я не понимаю ?
    После каждого релиза ведь не надо обновлять конфигурацию базы данных (т.е. приводить ее в соответствие с основной конфигурацией) ?

Поделиться этой страницей