PORTA.ru - on-line магазин ПОРТАтивной техники.PORTA.ru - on-line магазин ПОРТАтивной техники.

Новости
Мои разработки
FAQ
Ссылки
Форум

Методика обновления релизов конфигураций.

Не претендуя на художественную ценность этого произведения и при этом предупреждая что это всего лишь общий механизм и все будет зависеть только от Вас.

Сокращения:
"ТК"-текущая конфа, которую нужно обновить.
"ИК"-исходная (не измененная) конфигурация того-же релиза,что и ТК.
"НИК"-новый релиз ИК, тот на который надо перейти, перенеся изменения из ТК.

Проверял на Бухгалтерии. С Регистрами есть особенности, в ИТС написано, что для них важен порядок следования состава списочных свойств. Здесь мы их рассматривать (пока) не будем.
1. Работаем ТОЛЬКО на копиях. После выполнения каждого пункта, копируйте полученную конфу куда-нибудь, чтобы можно было быстро вернуться к ней, без повтора сначала всех действий.
2. Открываем в конфигураторе ИК, делаем "Объединение" с ТК, печатаем краткий список изменений. Таким образом мы получим список всех отличий ИК от ТК. Список изменений нам пригодится в дальнейшем. Закрываем не сохраняя.
3. Открываем в конфигураторе ИК. Делаем "Загрузить измененную конфигурацию" из НИК. Сохраняем. Получаем НИК1. Закрываем. Копируем НИК1 куда-нибудь - она еще пригодится.
4. Открываем в конфигураторе НИК1. Делаем "Объединение" с ТК ("Приоритет" -"Текущая", "Объединять"), помечая галками только те объекты, которые были добавлены в ТК (справочники, документы, перечисления), ставим галку на весь План Счетов. Сохраняем. Получаем НИК4 (по № пункта).
5. Открываем в конфигураторе ТК. Делаем "Объединение" с НИК1 ("Приоритет" -"Загружаемая", "Замещать"), помечая галками только те объекты (справочники, документы, перечисления), которые наверняка не изменялись в ТК по сравнению с ИК (т.е.их нет в списке из п.2) , или изменения не существенны и их можно потерять. Сохраняем. Получаем НИК5. (по № пункта).
6. Открываем в конфигураторе НИК5. Делаем "Объединение" с НИК4 ("Приоритет" -"Загружаемая", "Объединять"). В списке изменений, у Вас должны остаться только те объекты, изменения которых зафиксированы в Списке Изменений из п.2 плюс (возможно) Глоб.модуль, Общие таблицы (Объект "Задача"), Интерфейсы и Права. Ставим галки, а вот куда ставить и куда не ставить, решайте прочитав ниже....

Рассмотрим эти объекты каждый по раздельности:
Составляющие "Задачи" - "Глобальный модуль" и "Общие таблицы":
Глобальный модуль: я, лично, глобальный модуль полностью вставил из НИК и перенес изменения из ТК ч/з буфер обмена, а вообще можно корректировать его можно по тем же правилам, что и модули форм документов и модули проведения документов - описание будет ниже.
Общие таблицы: я полностью перенес - визуальная проверка напрягает. Если что-то "вылезет" - недолго подправить.
Получается, что объект "Задача" переносим.
Интерфейсы и Права: легко конфигурируемые вещи. Признак Объединения на Ваше усмотрение, но есть мнение, что при объединении интерфейсов MD бывает "распухает" до безобразия. Я, лично Интерфейсы и Права переносил в самую последнюю очередь, после того, как вся остальная работа была сделана.


Итак, ставим все (или не все) галки. Сохраняем.
После такого Объединения, в модулях скобками вида //{{MRG[ --> ] выделены и закомментированы, как ваши изменения, так и изменения от 1С. Делаем "Поиск во всех текстах": "MRG". Пусть количество найденных вас не смущает, (у меня было около 600).
Если конфа знакомая, процесс корректировки происходит относительно быстро. Вот здесь и проявится ваш профессионализм - здесь надо раскомментировать Ваши изменения, а старые тексты от 1С удалить. Заодно избавляемся от самих строка "//{{MRG[ --> ]". В новой конфе "MRG" остаться не должно. У меня на эту работу ушло чуть больше часа, - все зависит от того насколько велик Список из п.2. Если возникают вопросы, что убирать, а что оставлять, то можно открыть в "отдельных" Конфигураторах ТК и НИК и смотреть там. После всех работ делаем "Полный синтаксический контроль".
В результате, получаем конфу, которой можно обновить ТК ч/з "Загрузить измененную конфу".

И еще, копирайт, к сожалению, не сохранился:
1.Совершенно безболезненно добавление отчетов и обработок. Безболезненно добавление новых справочников,регистров и перечислений.
2. В Бухгалтерии безболезненно добавление новых документов, для изменения существующих пользуюсь созданием копий существующих. В ЗИК это уже не безболезненно, там многого конструкций в глобальнике и обработках "Если Документ.Вид()=...", в старой ЗИК еще ничего, а в ЗИК 2 по вновь созданному документу не будут формироваться записи журналов расчетов и проводки без правки текста в глобальнике. В Торговле легче, но тоже могут быть проблемы.
3. В глобальник и тексты модулей изменения вносить можно, добавлять кнопки в формы, изменять печатные формы. Но ОБЯЗАТЕЛЬНО ПРОТОКОЛ, причем гораздо удобнее не в текстовом файле, а сделать свою обработку, которая ничего не выполняет, а в ней просто записано в таблице части что когда и зачем менял, в таблички этой обработки записывать измененные печатные формы, на диалог кидать добавленные кнопки в документах, в модуле - вписывать измененные куски кода. После объединения обработка остается, и довольно быстро можно восстановить изменения.
4. В план счетов счета добавлять можно и менять у существующих субконто. НО - после объединеня с типовой надо ПЕРЕД СОХРАНЕНИЕМ восстановить изменения Плана Счетов. Если сразу сохранить, то изменения уйдут, и если нет архива , то все довольно печально.
5. Хуже всего добавление новых реквизитов справочников и документов.
В этом случае, даже после объединения, если добавить пропавший реквизит, то все данные этого реквизита обнулятся, т. будет другой id. Тут выходов несколько:
1) при объединении не ставить галку напротив измененного объекта, а все что добавили разработчики в документе - довнести вручную - довольно неудобно, если измененя в типовой существенные.
2) при Объединении ставить не "Замещать объекты", а "Объединять объекты", тогда добавленный реквизит не пропадет, однако модуль, при неудачном стечении обстоятельств, может превратиться в кашу. Можно сделать так: сначала объединить в режиме "Замещать" без нужного документа, затем объединить в режиме "Объединять объекты " только нужный документ, затем скопировать из типовой весь модуль документа в новую конфу и потом довнести свои изменения.
3) способ -я чаще пользуюсь, не вносить свои реквизиты справочников, а создавать свои служебные справочники со ссылками на существующие, а в документах анализировать служебные справочники и вытаскивать из них нужные реквизиты.


И еще:
Если вы добавляли в документ/справочник реквизит, он есть в диалоге и его надо перенести в другую конфу, тады действуйте так: сначала скопируйте сам элемент в диалоге, а потом уже реквизит в документ/справочник (дерево конфигурации), тогда имя реквизита состыкуется и он станет тем чем надо.
<сообщил WWWolfy>

- Наверх -

В качестве благодарности за решение проблемы, щелкните здесь.
Поддержите развитие сайта.
Спасибо!
Автор и разработчик: Кайгородов Андрей aka mszsuz. mszsuz@online.sinor.ru ICQ#33993114. Дата последнего обновления страницы: Friday 09.04.2004 16:52
1C:TOP-100 Рейтинг ресурсов 1С
Hosted by uCoz