Доброго дня, коллеги!
Нередкая ситуация у программистов 1С – у вас новый клиент, вы начинаете с ним работать, при знакомстве с информационной базой выясняется, что решение “не обновляемое” (снято с поддержки, обновлено “криво” и т.д.). Далее возникает трудоемкая задача перевода базы в разряд “обновляемых”.
Разбираем варианты решения данной проблемы!
Вопрос
Ответ
Добрый день!
Есть несколько предложений:
- Создаем пустую типовую базу этого же релиза, переносим в нее все доработки конфигурации. Получаем новую базу, у которой нет проблем с конфигурацией поставщика, сохранены все доработки. Теперь в нее нужно перенести данные из текущей базы. Поскольку конфигурации полностью совпадают, можно воспользоваться “Конвертацией данных”, сгенерировать автоматически правила для обмена между одинаковыми конфигурациями. При помощи этих правил можно перенести все данные из старой базы в новую. Недостаток такого подхода – перенос данных может быть достаточно долгим по времени.
- Полностью снимаем конфигурацию с поддержки (меню Конфигурация – Поддержка – Настройки поддержки). После этого выполняем сравнение-объединение с cf-файлом типовой конфигурации этого же релиза (его можно взять на партнерском ИТС или на пользовательском сайте фирмы “1С”, если для этого релиза выложен полный дистрибутив). После этого конфигурация станет на поддержку, а добавленные реквизиты или объекты метаданных останутся в конфигурации. Теперь остается только сравнить-объединить с исходной конфигурацией, чтобы перенести изменения в модулях, формах, выверить все доработки. Все данные в базе при этом должны сохраниться.
Комментарий слушателя
Воспользовался вторым вариантам. Обновление через поддержку теперь получается. Спасибо. Объекты не встали полностью на «замок», а только «редактируются с сохранением поддержки», так понимаю, что это нормальное поведение системы?
Если обновления делаются на копии. Обновляется до последнего релиза выгружается в cf , потом путем сравнить объединить конфигурацию из файла , обновляется и через поддержку «догоняем» конфигурацию поставщика. Но как быть если есть несколько ключевых релизов, делать несколько cf для каждого?
Ответ тренера
- Да, это нормально, что объекты не полностью “на замке”, а редактируются с сохранением поддержки. Чтобы все объекты снова оказались “на замке”, можно загрузить типовую конфигурацию поставщика (cf-файл из дистрибутива нужного релиза). Но тогда будут потеряны все доработки.
Еще вариант вернуть конкретный объект конфигурации “на замок” – выполнить сравнение-объединение с конфигурацией поставщика (в окне, открываемом из меню Конфигурация – Поддержка – Настройки поддержки), в открывшемся окне указать нужные настройки поддержки для конкретного объекта.
- Да, если ключевых релизов несколько, то придется несколько раз выполнить обновление.
Есть несколько способов перенести выполненное обновление из копии базы в рабочую:
- Можно выгрузить cf-файл из копии и загрузить его в рабочую базу. При загрузке сохраненного cf-файла в рабочую базы чаще всего ничего не случится, всё корректно обновится. Но иногда (правда, очень редко) встречались случаи потери данных при загрузке конфигурации, полученной таким способом. Вероятно, проблема была связана с идентификаторами каких-то конкретных объектов метаданных.
- Можно создать хранилище конфигурации, к которому подключена и рабочая база, и копия для обновления. Обновление выполняется и тестируется на копии, изменения помещаются в хранилище, остается в рабочей базе только получить изменения из хранилища. Не нужно будет вообще выгружать cf-файл.
- Еще можно предложить сначала обновлять рабочую базу через настройку поддержки (так обновим конфигурацию поставщика), а затем сравнивать с cf-файлом, выгруженным из базы для обновления. Таким образом, конфигурация поставщика обновится, также будут перенесены все изменения.
Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки.
Добрый день! Каким-то образом (давно) снесли конфигурацию поставщика. Как её можно восстановить? При попытке обновления через “Поддержку” появляется ошибка “ошибка при выполнении файловой операции”.
Добрый день!
Можно попробовать загрузить типовой cf, т.е. вернуть всю конфигурацию целиком на поддержку. Конечно, такое можно сделать, только если все доработки не нужны больше.
Еще вариант – из типового cf этого же релиза сделать новую базу, в нее перенести все доработки, сохранить cf, загрузить его в существующую базу. Конечно, сначала это нужно проверить на копии базы, чтобы не потерять данные, если что-то пойдет не так.
Спасибо за подробный ответ! У нас релиз 8.3.20.1710. Он похоже кривой был с самого начала..
Про HTML верно подмечено, в документе при сравнении декорация якобы изменена :
Документ.ОтветСтрахователяНаТребованиеПроверкиФСС.Форма.ФормаДокумента
Элементы
Форма
ГруппаПредставляемыеДокументы
КоманднаяПанельДокументов
ДекорацияСИнформациейОФайлах
Заголовок
“< Форматированная строка ""ru"" – ""К ответу допускается прикладывать файлы любых расширений, за исключением типов bat, cmd, com, exe, msi. Размер одного файла с вложением не должен превышать 4.7 Мб.
“””
“> Форматированная строка “”ru”” – “”К ответу допускается прикладывать файлы любых расширений, за исключением типов bat, cmd, com, exe, msi. Размер одного файла с вложением не должен превышать 4.7 Мб.
“””
В общем особо не заморачиваюсь, всем удачных обновлений!
Спасибо за информацию! Вам тоже успехов!
Еще вариант вернуть конкретный объект конфигурации “на замок” – выполнить сравнение-объединение с конфигурацией поставщика (в окне, открываемом из меню Конфигурация – Поддержка – Настройки поддержки), в открывшемся окне указать нужные настройки поддержки для конкретного объекта.
это не работает!
полную поддержку не даёт выбрать.
Добрый день!
Проверил. Этот способ работает.
Снимаем “замок” для справочника:
Выполняем сравнение-объединение с конфигурацией поставщика (меню Конфигурация – Поддержка – Настройки поддержки), в открывшемся окне изменяем настройки правил поддержки для справочника:
После выполнения сравнения справочник оказывается “на замке”:
Добрый день! Не получается вставить скриншоты ((
На словах:
Есть стандартный ЗУП 3.1 с добавленными 2 доками, рег сведений и отчетом.
Корень конфигурации стоит на замке, остальные объекты с сохранением поддержки с возможностью изменения. Сравниваю/объединяю с конфигурацией поставщика как и через настройка поддержки, так и cf с сайта 1С. Показывает измененные права (их больше всего), 3 документа и отчет которые НЕ МЕНЯЛИСЬ!
Поставить на замок не даёт, т.к. верхний радио недоступен. Ну да ладно…
Основной вопрос в том, что после выставление галочек и объединения ничего не изменяется, как были измененными так и остаются…
извините если сумбурно объяснил, со скриншотами было бы понятнее :))
уточнение : на замок поставил при очередном обновлении, НО: роли и объекты как были измененными, так и остаются! (после обновления опять провел сравнение с конф поставщика)
Логика работы сравнения/обновления/объединения непонятна!!
Мне некритично, потому что сам веду ЗУП с самого начала, но до этого тоже самое было и с Бух 3.0 переданной по наследству :) но тоже уже привык…
У меня уже мысли пошли к тому , что какой-то кэш надо почистить или ещё чего…..
Добрый день!
Да, периодически тоже сталкиваюсь при обновлении с дважды измененными объектами “под замками”.
Часто такие отличия появляются в справочной информации объектов.
Справочная информация и форматированные строки базируются на HTML. Похоже, что разные версии платформы по-разному работают с этими данными.
Если открыть справку проблемных объектов и посмотреть ее текст, то различия могут быть в html-теге META.
Например,
и
На партнерском форуме есть ветки, посвященные такому поведению системы. Сообщаются следующие ответы службы поддержки.
Ошибка механизма сравнения-объединения в части справочной информации – по мнению отдела разработки, различие в справочной информации ошибкой не является – следствие использования Internet Explorer, установленного в системе.
Затем
Описанная Вами ситуация известна, по этой теме зарегистрирована ошибка 10144292. Она признана разработчиками не критичной, поэтому выход релиза с исправлением может занять длительное время.
Сейчас эта ошибка опубликована со статусом Отклонена.
Также ранее платформа работала с HTML через Internet Explorer, сейчас в платформе перешли на библиотеку WebKit. Возможно, из-за этого появились еще какие-то нюансы.
Потому что даже на актуальных версиях платформы встречается такое же поведение.
Также подобные отличия наблюдаются в форматированных строках. Предполагаю, тоже потому что форматированные строки базируются на HTML, как написано выше.
Еще одна причина подобного поведения – разные версии платформы. Дистрибутив обновления готовится на одной версии платформы, а обновление базы клиента – на другой версии платформы. И между ними есть какие-то внутренние отличия. Например, новые права доступа в ролях появились. Поэтому в ролях возникают отличия, хотя их никто не редактировал.
Попробуйте разные версии платформы, может, часть различий уйдет просто после перехода на другую версию платформы.
Самый радикальный вариант – загрузить типовой cf, т.е. вернуть всю конфигурацию целиком на поддержку. Конечно, такое можно сделать, только если все доработки не нужны больше. Вдруг у Вас именно такой вариант? Может, доработки уже устарели, а отчет можно сделать внешним. Или воспользоваться расширениями для рефакторинга кода.
Еще вариант – из типового cf этого же релиза сделать новую базу, в нее перенести все доработки, сохранить cf, загрузить его в существующую базу. Конечно, сначала это нужно проверить на копии базы, чтобы не потерять данные, если что-то пойдет не так. Такие действия тоже могут уменьшить количество измененных объектов, которые на самом деле не изменялись.