Технология обновления нетиповых конфигураций 1С:Предприятия 7.7

Опубликовал alexk-is в раздел Программирование - Практика программирования

Данная статья рассчитана на уже подготовленного пользователя, владеющего некоторыми навыками программирования и работы в конфигураторе. Статью можно использовать как поэтапное руководство к действию. Статья была написана для повышения качества работ выполняемых сотрудниками компании Информ Сервис при обновлении нетиповых конфигураций. Я надеюсь, что эта информация окажется полезной и для вас.

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

Только качественный контент

Итак, технология обновления нетиповых конфигураций 1С:Предприятия 7.7.
Что в данном случае понимается под технологией - это определенный взгляд на возможные решения проблемы и вытекающие из этого действия пользователя или программиста при обновлении конфигурации, гарантирующие сохранение сделанных ранее дополнительных настроек. Под дополнительными настройками, в данной статье, подразумеваются изменения, внесенные в типовую конфигурацию с целью расширения ее функциональных возможностей. При соблюдении основных моментов описанных в статье и достаточном внимании при выполнении работ, можно добиться 100% гарантии сохранения ранее сделанных настроек.

При обновлении типовых конфигураций на типовые проблем обычно не возникает. Достаточно точно придерживаться инструкции находящейся в файле UPDATE.TXT из каталога новой конфигурации.«Охрана труда» для 1С:Предприятия 8.2

Также особых проблем нет, если в конфигурацию были добавлены дополнительные объекты учета (справочники, константы, журналы документов, отборы, перечисления, отчеты, обработки, регистры, журналы расчетов, виды расчетов, группы расчетов и календари). Все перечисленные объекты сохранятся при объединении конфигураций. С добавленными документами тоже нет проблем, если они не были прописаны в изначально существовавших объектах учета: журналах и отборах; если не были изменены признаки ввода на основании добавленных документов.
Замечу, что при изменении разработчиками фирмы 1С методик учета, возможно придется переработать измененные в конфигурации документы или отчеты, например, для добавления возможности подключения внешних печатных форм или для приведения документов в соответствие текущему законодательству. Вот тут-то вам, возможно, и поможет данная статья провести обновление конфигурации и сохранить ваши настройки.

Следует отметить, что при обновлении больших конфигураций (например, Комплексная, ИТРП и аналогичных), обновление следует проводить под Windows 95, Windows 98 или Windows Me. Проблема при обновлении больших конфигураций под Windows NT, Windows 2000 и Windows XP состоит в отказе операционной системы корректно обрабатывать запросы 1С:Предприятия.
Выдержка по данной проблеме из переписки с hotline@1c.ru:

Это проблема платформы Windows NT/2000/XP.
На диске ИТС в разделе Методическая поддержка есть информация по этому вопросу, в том числе следующая:
Особенности работы с 1С:Предприятием в операционных системах Windows NT/2000. При использовании 1С:Предприятия 7.х на компьютерах с операционными системами Windows NT/2000 встречаются определенные проблемы, связанные с конструктивными особенностями указанных операционных систем. Одна из них проявляется при выполнении автоматического объединения двух конфигураций достаточно большого размера. При этом может появиться сообщение "Ошибка открытия документа". Эта проблема связана с особенностями реализации подсистемы управления составными документами (OLE Compound Storage) которая используется 1С:Предприятием для работы с файлом конфигурации. Реализация данной подсистемы в Windows NT/2000 имеет более низкое, по сравнению с Windows 95/98, ограничение на объем модифицированных в пределах одной сессии данных. Для решения данной проблемы можно рекомендовать производить объединение таких конфигураций по частям или же производить такие операции на компьютерах работающих под управлением Windows 95/98.

С уважением,
отдел тех. поддержки "1С".

Данная проблема решена начиная с версии 1С:Предприятия 7.70.025.

При проведении обновления рекомендуется выполнять работу на наиболее быстродействующем ПК с достаточно большим объемом оперативной памяти. При недостатке оперативной памяти 1С:Предприятие может просто перестать отрабатывать часть функций или просто "зависнуть". Наличие большого объема виртуальной памяти не решает данной проблемы.

Итак, для упрощения изложения материала разобьем на этапы процесс подготовки конфигурации для обновления. Конфигурация для обновления - это конфигурация, которая будет загружена в рабочую базу данных. При загрузке конфигурации, а не объединении есть реальная возможность сэкономить как свое время, так и время пользователей, а также возможность избежать повторной работы по удалению неиспользуемых объектов учета и неиспользуемых пунктов меню.

Этап 1. Создание архивной копии обновляемой базы данных.
Для этого выполните пункт меню "Администрирование" --> "Сохранить данные...". Укажите имя архива, например, в формате ГГММДД.zip. Если в течение дня создается несколько архивов, то к имени архива рекомендую добавить "_N", где N - номер очередной копии архива. Имя архива конфигурации 1С:Бухгалтерия от 24/03/2003г. может выглядеть так: b030624_2.zip. Архив также может быть использован для переноса конфигурации на другой компьютер и для создания необходимого количества копий рабочей конфигурации.

Этап 2. Подготовка каталогов с конфигурациями.
Выполнять обновление можно на любом компьютере, который соответствует описанным ранее требованиям. И это не обязательно сервер. При работе в сети такой подход не остановит работу пользователей и сведет процесс загрузки обновленной конфигурации к 15-45 минутам в зависимости от быстродействия сервера и/или сети. Для работы в дальнейшем нам потребуется 6 (шесть) конфигураций (файлов 1cv7.md), и запустить 5 (пять) конфигураторов (1С:Предприятие в режиме "Конфигуратор"). Названия каталогов приведены для примера - чтобы не запутаться при изложении материала. И будут использованы в тексте для обозначения конфигурации, с которой выполняются те или иные действия. Будем считать их псевдонимами.

Конфигурации:
1. Рабочая конфигурация каталог work_new. Используется для подготовки обновления. Здесь мы получим результирующий .md файл. Конфигурацию для обновления.
2. Рабочая конфигурация каталог work_old. Используется для отслеживания внесенных изменений при сравнении конфигураций и для переноса настроек в tip_new_2.
3. Типовая конфигурация (старая) каталог tip_old_1. Конфигурация, на основе которой была разработана рабочая конфигурация. Используется для отслеживания изменений внесенных в рабочую конфигурацию.
4. Типовая конфигурация (старая) каталог tip_old_2. Конфигурация, на основе которой была разработана рабочая конфигурация. Используется для отслеживания изменений внесенных разработчиками фирмы 1С в новую версию типовой конфигурации.
5. Типовая конфигурация (новая) каталог tip_new_1. Используется для отслеживания изменений внесенных разработчиками фирмы 1С в новую версию типовой конфигурации.
6. Типовая конфигурация (новая) каталог tip_new_2. Используется для обновления некоторых сложных объектов, например экранных форм справочников, документов, журналов.

Конфигураторы и открываемые в них конфигурации:
1. Обновляемая рабочая конфигурация. Каталог work_new.
2. Старая типовая конфигурация. Каталог tip_old_1.
3. Старая типовая конфигурация. Каталог tip_old_2.
4. Текущая рабочая конфигурация. Каталог work_old.
5. Новая типовая конфигурация. Каталог tip_new_2.

Первоначально конфигурации в каталогах work_new и work_old одинаковы, также как tip_old_1 и tip_old_2; tip_new_1 и tip_new_2. Необходимо подготовить соответствующие каталоги с конфигурациями и подключить их в список баз 1С:Предприятия. Если в качестве типовых конфигураций используются базовые конфигурации, то они должны быть предварительно открыты и сохранены.

Этап 3. Обновление неизмененных в рабочей базе объектов.
Необходимо провести сравнение конфигураций tip_old_1 с work_old и tip_old_2 с tip_new_1, а также work_new с tip_new_2. Для этого необходимо для каждой из сравниваемых конфигураций выбрать в меню пункт "Конфигурация" --> "Объединение конфигураций..." и указать файл 1cv7.md из соответствующего каталога (второго в паре). На экран будет выдана форма со структурным деревом измененных объектов. Далее необходимо проанализировать результаты сравнения конфигураций tip_old_1 с work_old и tip_old_2 с tip_new_1. И оставить для объединения объекты в обновляемой конфигурации (work_new с tip_new_2), которые были изменены разработчиками фирмы 1С (tip_old_2 с tip_new_1), но не были изменены в рабочей конфигурации (tip_old_1 с work_old). По результатам анализа объединяем work_new с tip_new_2 в режиме замещения объектов.

Этап 4. Обновление частично измененных в рабочей базе объектов.
Рассмотрим на примере документа. Продолжаем анализировать сравниваемые конфигурации. Например, в рабочей базе work_old был изменен модуль формы документа, а в новой типовой конфигурации tip_new_1 был изменен модуль проведения документа. Для переноса изменений копируем в буфер обмена из конфигурации tip_new_2 модуль проведения документа и заменяем им модуль проведения в конфигурации work_new. С остальными объектами поступаем аналогичным образом.

Этап 5. Обновление частично измененных в новой типовой конфигурации объектов.
Рассмотрим также на примере документа, продолжая анализировать сравниваемые конфигурации. В рабочей конфигурации work_old документ был полностью переработан, а в новой типовой конфигурации tip_new_1 были изменены лишь несколько строк модуля формы документа. Для переноса изменений копируем в буфер обмена из сравнения конфигураций tip_old_2 с tip_new_1 измененные строки модуля и заменяем их в модуле формы конфигурации work_new. С остальными объектами поступаем аналогичным образом.

Этап 6. Обновление полностью измененных в новой типовой конфигурации объектов.
Рассмотрим снова на примере документа. Например, разработчики фирмы 1С полностью переработали документ (конфигурация tip_new_1), а в шапку документа рабочей конфигурации work_old был добавлен реквизит "Исполнитель" и выведен в экранную форму документа. Для переноса изменений копируем в буфер обмена добавленный реквизит из экранной формы конфигурации work_old и вставляем в экранную форму конфигурации tip_new_2. Проверяем порядок обхода добавленных реквизитов в экранной форме. Для этого в случае не "Автоматического порядка обхода" исправляем ситуацию, выбрав пункт меню "Диалог" -> "Настройка порядка обхода...". Затем через буфер обмена копируем реквизит "Исполнитель" шапки документа из конфигурации work_old и вставляем в шапку документа в конфигурацию tip_new_2. Следующий шаг: переносим изменения модуля формы связанные с обработкой данного объекта из сравнения конфигураций tip_old_1 с work_old в модуль формы документа конфигурации tip_new_2. Аналогично обновляем другие экранные формы. Заключительной частью этого этапа является объединение конфигурации work_new с tip_new_2 и загрузкой обработанных на этом этапе объектов.

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

Этап 7. Обновление прочих объектов учета.
К этим объектам я бы отнес, например, план счетов и интерфейсы пользователей. В случае если в план счетов были внесены изменения, то план счетов обновляется в режиме "Объединять объекты" при объединении конфигурации work_new с tip_new_2. После объединения необходимо восстановить, возможно, потерянные уровни аналитики. Из сравнения конфигураций tip_old_1 с work_old видно, какие изменения аналитики были выполнены в рабочей конфигурации work_old. После объединения интерфейса необходимо проверить наличие следующих ошибок объединения: дублирование пунктов меню и панелей инструментов, установку признака для панелей инструментов "Располагать с новой строки".

Этап 8. Загрузка измененной конфигурации в рабочую базу данных.
Загрузка выполняется по сети или непосредственно на сервере, что предпочтительнее. Для этого необходимо обеспечить доступ к базе данных в монопольном режиме и в режиме конфигуратора выбрать пункт меню "Конфигурация" -> "Загрузить измененную конфигурацию...". Перед загрузкой и после загрузки необходимо выполнить архивацию данных, как это описано на первом этапе. Далее рекомендую следовать инструкции обновления базовой конфигурации в файле UPDATE.TXT. После окончания процесса загрузки каталоги work_old, tip_old_1, tip_old_2, tip_new_1 и tip_new_2 могут быть удалены.

Если процесс объединения проходит в несколько этапов, то порядок обновляемых объектов должен быть следующий:
1. Перечисления
2. Справочники, документы
3. Журналы документов, журналы расчетов, константы, регистры
4. Виды расчетов, группы расчетов
5. Отчеты, обработки и прочие объекты учета
6. Интерфейсы

При работе по данной методике время подготовки обновленной конфигурации без переработки объектов учета составляет в среднем от 2 до 8 часов. В данном случае разговор идет о конфигурации "1С:Бухгалтерия 7.7. редакция 4.х. Релиз 7.70.4хх + разработки ИС". В данную конфигурацию добавлено 11 новых документов, 4 справочника, 4 отчета и обработки, 3 журнала документов. Детальный отчет о внесенных изменениях составляет 6244 строки, а краткий 1610 строк.

В любом случае при творческом подходе к решению проблемы можно сэкономить много времени и сил.
Вот вкратце и все. Удачи...

 

27.06.2003 /Константинов Алексей Викторович/

«Порядок обновления релизов конфигураций 7.7» от 18.05.2007
«Технология обновления нетиповых конфигураций 1С:Предприятия 8» от 04.05.2008
«Обновление конфигураций 1С:Предприятия 8. Прыжок через 20 версий» от 17.12.2008

См. также

Лучшие комментарии

6. artbear 11.01.2010 09:14
А как глобальник объединяешь?
Лично я пользуюсь своей методикой, выполняю объединение с помощью GComp + Kdiff3 + спец.скрипты для GComp
например, глобальник очень удобно разобрать на отдельные файлы для каждой процедуры/функции, и выполнять автообъединение на базе KDiff3 (3-стороннее объединение)
Ответили: (7) (11) (14)
+ 2 [ dicwork; zaursoft; ]
# Ответить
5. as108 18.05.2009 03:36
Спасибо за хороший материал, только-только приступила к программированию, сразу столько вопросов возникло. И приятно, что ответы тоже находятся :)

И вообще - спасибо всем на этом сайте, за то что делитесь своим опытом. Успехов Вам!
+ 1 [ support; ]
# Ответить
15. OlegSantana 29.12.2011 14:36
Конфигурация АК47 может разобрать (GComp) MD файлы. Сравнивает рабочую, типовую рабочую, типовое обновление. Позволяет сравнить разницу в коде (Kdiff3). И собрать новый MD из приготовленого.
+ 1 [ bmw_x5e70; ]
# Ответить

Комментарии

3. AdApter 18.02.2009 18:46
млин, как все заморочено. Куча копипастов, а если отвлекли в процессе, то заново? Просто разрыв моего скромного мозга.
У меня 5 конфигураторов сразу вообще не открываются :)
А как насчет создать инструмент для обновления измененных конф?
Ответили: (4)
# Ответить
4. alexk-is 18.02.2009 18:57
(3) Два последних нужны только для копирования. Их можно открывать при необходимости.

В некоторой степени это реализовано на уровне платформы в 1С:Предприятии 8 :)
# Ответить
5. as108 18.05.2009 03:36
Спасибо за хороший материал, только-только приступила к программированию, сразу столько вопросов возникло. И приятно, что ответы тоже находятся :)

И вообще - спасибо всем на этом сайте, за то что делитесь своим опытом. Успехов Вам!
+ 1 [ support; ]
# Ответить
6. artbear 11.01.2010 09:14
А как глобальник объединяешь?
Лично я пользуюсь своей методикой, выполняю объединение с помощью GComp + Kdiff3 + спец.скрипты для GComp
например, глобальник очень удобно разобрать на отдельные файлы для каждой процедуры/функции, и выполнять автообъединение на базе KDiff3 (3-стороннее объединение)
Ответили: (7) (11) (14)
+ 2 [ dicwork; zaursoft; ]
# Ответить
7. alexk-is 11.01.2010 10:48
(6) Все правильно... И так тоже... Нет предела совершенству...
А точнее по поводу объединения - это зависит от количества внесенных изменений, если они вообще были в глобальном модуле. Иногда бывает быстрее перетащить несколько строк руками, а иногда приходится полностью переписывать код внесенных изменений из-за изменения законодательства или учетных методик. Как говорится, раз на раз не приходится и для каждого обновления приходится выбирать наименее затратный по времени вариант.
# Ответить
8. Oleg_46 13.01.2010 17:32
очень полезная информация
# Ответить
9. Denis Fox 16.03.2010 18:33
только начал осваивать программирование 1С, до этого работал бухгалтером. Заинтересовала именно эта статья, споткнулся на третьем этапе. Может подскажете по подробнее, кто из знающих, или есть какие-нибудь другие варианты обновления не типовой конфигурации?
# Ответить
10. bol 28.10.2011 11:55
"объединение с помощью GComp + Kdiff3 + спец.скрипты для GComp" стоит пробовать?
# Ответить
11. rom-x 02.12.2011 21:55
(6) artbear, хотелось бы поподробнее узнать о методике GComp + Kdiff3 + спец.скрипты для GComp
# Ответить
12. quarion 20.12.2011 06:42
Большое спасибо за статью! Вы помогли мне обновиться из типовой конфигурации, но с многими доработками.
# Ответить
13. dicwork 24.12.2011 16:56
А как можно разобрать Глобальный модуль после GCOMPа на отдельные процедуры и функции. Занимаюсь объединением двух нестандартных конфигураций в одну. Есть процедуры с одинаковым названием (ПриНачалеРаботыСистемы и т.д.). Сейчас собираю у себя на компьютере на тестовой базе. А реальные базы продолжают развиваться другими программистами. Когда я составлю план перехода, нужно будет приостановить работу и выполнить реальное объединение. Хотелось бы выполнить это побыстрее и с минимумом ручной работы.
# Ответить
14. dicwork 24.12.2011 17:01
(6) artbear
Я бы тоже хоте поподробнее узеть о вашей методике объединения Глобальных модулей двух конфигураций. Посоветуйте может есть какие-то статьи на эту тему.
# Ответить
15. OlegSantana 29.12.2011 14:36
Конфигурация АК47 может разобрать (GComp) MD файлы. Сравнивает рабочую, типовую рабочую, типовое обновление. Позволяет сравнить разницу в коде (Kdiff3). И собрать новый MD из приготовленого.
+ 1 [ bmw_x5e70; ]
# Ответить
16. AlexTorin 09.01.2012 18:36
А я с 1с недавно - и сразу убило то, что конфа меняется не частично а целиком (т.е. сохраняется и изменяется)...
Хотя и есть возможность сравнения, но это все одно не то - напряжно да и как-то не оптимально.
Я тоже иногда накатываю изменения для типовых на "не типовые" - застрелится.
А за статью - спасибо - сравню со своими шагами в подобном.
# Ответить
17. ARTEM123456 05.03.2012 08:38
Хорошая статья. Спасибо. Очень пригодилась.
# Ответить
18. Rockman 14.03.2012 16:37
Спасибо. Статья хорошая, но уж слишком запутано. Мне для обновления трех конфигураций хватает: старая рабочая, старая неизмененная и новая.
# Ответить
19. анна79 20.03.2012 18:17
Хорошая статья. Спасибо.
# Ответить
20. 2011b11 03.05.2012 09:38
Спасибо Вам за статью, полезная штука, ознакомилась с текстом, многое стало понятно.
# Ответить
21. Hantinka 19.05.2012 10:36
Спасибо за статью! В принципе примерно таким образом и обновлялась, однако после такого подробного объяснения мой "метод научного тыка" обрёл осознанную форму. Ещё раз спасибо!
# Ответить
22. aimerlive 13.07.2012 12:34
спасибо хорошая статья!
# Ответить
23. maxim305 19.07.2012 05:54
Полезная статья, многое для обновления нетиповых конфигураций приходилось добывать самому, в этой статье появилась возможность обобщить накопленный опыт.
# Ответить
24. LexSeIch 17.01.2013 07:48
Мир этому дому!

Статья интересная. Как раз в ближайшее время светит обновление старинных, давно многократно правленых конфигураций. Спасибо.
# Ответить
25. nysysimara 16.10.2013 12:25
спасибо автору,
помогли вспомнить нюансы при обновлении плана счетов
с выходом нового релиза это актуально
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016