Рассмотрим данный вопрос на примере конфигурации 1С:Зарплата и Кадры.
Предположим, что у нас есть:
- Измененная конфигурация 1С:Зарплата и Кадры 7.70.310.
- Новый релиз типовой конфигурации 1С:Зарплата и Кадры 7.70.315.
Создание пустых баз типовых релизов
Скачаем обновления конфигураций с сайта 1С (релиз 7.70.310 и 7.70.315).
Распакуем архивы в пустые каталоги, например, CurrentBase и NewBase для 310-го и 315-го релизов соответственно.
Запускаем 1С предприятие и добавляем, созданные ранее типовые конфигурации, в список информационных баз.
Конфигурации, скаченные с сайта 1С являются специализированными, поэтому для того, чтобы с ними можно было производить какие-либо действия, необходимо открыть их и сохранить.
Запускаем Конфигуратор для текущей базы (CurrentBase, типовой релиз 7.70.310). При первом запуске необходимо указать параметры базы данных.
Оставляем все как есть, нажимаем ОК. Заходим в меню «Конфигурация» - «Открыть конфигурацию». Появится предупреждение.
Нажимаем ОК. Откроется окно конфигурации. После этого сохраняем изменения (меню «Файл» - «Сохранить»).
Аналогичные действия необходимо проделать с новой базой (NewBase, типовой релиз 7.70.315).
Сравнение типовых релизов
Запускаем 1С:Предприятие в режиме Конфигуратор для базы CurrentBase. Заходим в меню «Конфигурация» - «Объединение конфигураций», выбираем файл 1CV7.MD и каталога NewBase. Программа сравнит две конфигурации и выведет список изменившихся объектов.
Для удобства сформируем краткий отчет (кнопка «Отчет) по изменениям и распечатаем его. До подленно известно, что все изменения, которые были внесены в нашу рабочую конфигурацию, были специальным образом прокомментированы в текстах модулей, поэтому часть подробной информации из отчета нам не понадобится. Перед тем как распечатать, я удалю ее. Если Вы не уверены, что программу дорабатывали сознательные программисты - печатайте как есть.
Процесс обновления не типовой конфигурации
Если изменений много, то рекомендую обновлять группами объектов (справочники, документы и т.д.), периодически сохраняясь. Но нужно учитывать их зависимости. Например, в первую очередь обновляются Константы и Перечисления, т.к. они могут использоваться в документах и прочих объектах. Журналы документов нужно обновлять после того как сохранены все изменения в документах.
Итак, мы имеем список измененных объектов конфигурации. Приступим к обновлению.
Запустим 1С:Предприятие в режиме Конфигуратор для базы, которую необходимо обновить. Заходим в меню «Конфигурация» - «Объединение конфигураций», выбираем файл 1CV7.MD и каталога NewBase (типовой релиз 7.70.315). Будем объединять небольшими группами, поэтому нажимаем кнопку «Выкл. все».
Константы
Здесь мы имеем только один добавленный объект. Константа новая, изменить ее не могли, поэтому смело помечаем её и нажимаем кнопку «ОК».
Откроется окно конфигурации с добавленной константой.
Важно! Для всех новых объектов метаданных, таких как, добавленная выше, константа, необходимо сразу настроить права. Поэтому давайте зайдем в свойства этого элемента и сделаем необходимые настройки.
Сохраним изменения (меню «Файл» - «Сохранить»).
Перечисления
Снова запускаем объединение конфигураций, нажимаем кнопку «Выкл. все». Дабы не повторяться, для следующих групп объектов, я не буду напоминать об этом.
С добавленными значениями перечислений все понятно, не задумываясь отмечаем их. С измененными тоже более или менее ясно, сами значения не изменились, скорее всего поменялись только описания. С удаленными объектами нужно разбираться. Вероятнее всего они были добавлены в типовую конфигурацию. Но в нашем случае все просто: достаточно взглянуть в список изменений, который мы распечатали ранее, в котором видно, что эти объекты не менялись. Следовательно не будем их отмечать.
Нажимаем «ОК», сохраняем конфигурацию.
Глобальный модуль, общие таблицы
Первым делом заглянем в распечатку, которая у нас перед глазами. Общие таблицы у нас не менялись, изменился только текст глобального модуля. Поэтому можно не обращать внимание на грозное предупреждение «Объект удален». Мы просто не будем обновлять все общие таблицы.
Также нужно отдать должное программистам, которые вносили изменения в данную конфигурацию. Вся, необходимая сейчас информация, имеется в начале глобального модуля. Если бы нам пришлось обновлять общие таблицы, то из комментариев можно было понять что именно в них доработано.
Далее можно пойти двумя путями:
- Скопировать текст всего глобального модуля из нового типового релиза, затем внести все доработки, сделанные программистами.
- Если Вы распечатали изменения в конфигурации с подробной информацией типа: «Добавлены строки (261, 261)», то можно найти соответствующие изменения в новой типовой конфигурации и скопировать их в обновляемую.
В зависимости от того, каких изменений больше (доработок программистов или нового от фирмы 1С), я пользуюсь первым или вторым способом. В любом случае, выбор всегда остается за Вами. В этот раз пойдем по первому пути.
Откроем второе окно конфигуратора для базы NewBase. Скопируем текст глобального модуля (меню «Действия» - «Выделить все», затем «Действия» - «Скопировать») и заменим им текст "глобальника" обновляемой конфигурации.
Теперь необходимо перенести все доработки. Отроем еще одно окно конфигурации с обновляемой базой. Два конфигуратора открыть не получится, поэтому придется сделать копию и брать данные уже из нее.
Все доработки в нашей базе прокомментированы определенным образом, поэтому запустим поиск по строке вида: «//Modified ОАО "Рога и Копыта"». Затем доработанные блоки кода по очереди перенесем в обновляемую базу.
Этот процесс не быстрый и достаточно кропотливый, т.к. помимо поиска места, куда вставить измененный код, нужно еще иметь представление что этот код делает и проанализировать, станет ли он работать в новой редакции.
Продолжение следует...