В процессе обновления нетиповой конфигурации 1С, особенно такой масштабной, как УПП, может возникнуть неприятная ситуация. Вы часами painstakingly расставляете флажки в окне сравнения и объединения, анализируя каждое изменение. Чтобы лучше понять контекст, вы решаете открыть форму одного из измененных документов, и тут происходит непредвиденное: случайное движение мыши, смещение элемента на форме, и вот основная конфигурация уже изменена. В тот же миг окно сравнения/объединения становится "серым" и неактивным. Все кнопки, кроме "Обновить" и "Закрыть", перестают нажиматься. Что произошло и как вернуть все назад, не теряя проделанную работу? Давайте разберем эту проблему по шагам.
Прежде чем переходить к решениям, выясним причину такого поведения платформы. Когда вы запускаете процесс сравнения/объединения, 1С создает "слепок" (snapshot) вашей основной конфигурации в том состоянии, в котором она была на момент начала операции. Весь дальнейший анализ различий и применение изменений основываются на этом исходном состоянии.
Когда вы редактируете какой-либо объект (форму, модуль, макет) в основной конфигурации, вы нарушаете целостность этого "слепка". Платформа обнаруживает, что текущее состояние конфигурации больше не соответствует тому, с которым начиналось сравнение. Чтобы избежать потенциальной порчи данных или некорректного объединения, она включает защитный механизм — блокирует окно. Это не ошибка, а штатное поведение, направленное на предотвращение более серьезных проблем.
Важный момент: стандартного способа "откатить" последнее изменение и "разморозить" окно сравнения не существует. Продолжить с того же места, где вы остановились, к сожалению, не получится. Процесс придется начинать заново, но есть несколько способов минимизировать потери времени.
Самый очевидный, но и самый трудозатратный путь — начать все с нуля. В заблокированном окне активна кнопка "Обновить". Многие боятся ее нажимать, предполагая, что она может применить какие-то нежелательные изменения. На самом деле, эта кнопка просто инициирует процесс сравнения и объединения заново.
Обновить в окне сравнения/объединения.Этот способ подходит, если вы только начали работу и не успели сделать много настроек. Если же была проделана многочасовая работа, этот вариант может привести к унынию. Но не отчаивайтесь, есть более хитрые методы.
Чтобы не начинать обновление "грязной" конфигурации, сначала лучше отменить то самое случайное изменение. Самый правильный способ сделать это — сравнить вашу основную конфигурацию с конфигурацией базы данных, в которой еще сохранена версия объекта до вашего вмешательства.
Разберем по шагам:
Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента).Этот метод гарантирует, что вы начнете процесс обновления с корректной исходной точкой, но все равно потребует повторной расстановки всех флажков.
Это самый радикальный, но и на 100% надежный способ. Если вы следовали золотому правилу и сделали резервную копию базы данных (.dt файл или бэкап SQL) перед началом обновления, вы можете просто восстановить ее и начать процесс заново.
Этот способ незаменим, если случайные изменения были многочисленными или вы не уверены, что именно изменили. Однако он может занять больше времени, особенно если база данных большая.
Повторять многочасовую работу по расстановке флажков — занятие крайне утомительное. К счастью, в платформе есть инструмент, который является настоящим спасением в таких ситуациях.
Сохраняйте и загружайте настройки объединения!
В окне сравнения/объединения на панели инструментов есть две неприметные, но очень важные иконки:
Выработайте привычку: в процессе обновления, после анализа и настройки объединения для крупного блока объектов (например, всех справочников или документов), сохраняйте настройки в XML-файл. Назовите его понятно, например, settings_update_upp_1.3.150_step1_docs.xml.
Теперь, если произойдет сбой, блокировка окна или вам просто нужно будет прерваться, ваш алгоритм действий будет таким:
Этот простой прием экономит часы, а иногда и целые дни работы при обновлении сложных, сильно измененных конфигураций. Используйте его всегда!