Обновление нетиповой конфигурации. Личный опыт: как быстро и без лишних затрат обновить измененную конфигурацию 1с обновление нетиповой конфигурации

Это довольно старая моя статья, но она до сих пор является актуальной. Поэтому я решил, что будет целесообразно опубликовать её на www..

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

Возможно, вы заметили, что при каждом очередном обновлении количество объектов, требующих вашего внимания, только увеличивается. При этом вы точно знаете, что изменен, например, только один документ, а при обновлении выдается список из нескольких десятков измененных объектов. Конечно, можно воспользоваться методикой описанной в моей статье «Технология обновления нетиповых конфигураций 1С:Предприятия 7.7» от 27.06.2003. Да, это будет работать. Многие именно так выполняют обновления. Но я считаю данный подход неэффективным и трудоемким при обновлении конфигураций на платформе 1С:Предприятия 8. В отличие от платформы 1С:Предприятия 7.7 платформа 1С:Предприятия 8 позволяет открывать одновременно несколько конфигураций (файлы *.cf) и выполнять несколько сравнений конфигураций в одной копии конфигуратора. Исключение составляют, пожалуй, только конфигурации построенные на УПП (Управление производственным предприятием) - они слишком тяжелые, платформа падает.

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

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

Следует обратить внимание на то, что база данных может содержать до трех видов конфигураций:

  • конфигурация базы данных - это конфигурация, с которой работают пользователи;
  • рабочая конфигурация (основная ) - это конфигурация, в которую мы можем вносить изменения, при этом пользователи могут продолжать работать;
  • конфигурация поставщика - это исходная конфигурация поставщика, на основе которой обычно создаются рабочая конфигурация и конфигурация базы данных . В базе данных может быть несколько конфигураций от различных поставщиков. Поставщиком конфигурации может быть не только фирма «1С».

В случае, когда конфигурация снята с поддержки, конфигурации поставщика не будет. Что в свою очередь значительно повышает трудоемкость обновления.

Рассмотрим процесс обновления и разберем возможные ошибки на примере обновления конфигурации УПП (поставщик типовой конфигурации - фирма «1С», доработки компании Информ Сервис). Изначально обновление данной конфигурации выполнялось не по описанной в данной статье технологии, поэтому рассматриваемые в статье ошибки являются наиболее часто встречающимися на практике. Обновление будет выполняться с версии 1.2.6.2 на версию 1.2.14.1.

Этап 1. Подготовка.

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

Этот этап можно пропустить, если последнее обновление прошло через «поддержку» (Меню «Конфигурация» → «Поддержка» → «Обновить конфигурацию») или было выполнено по описанной в данной статье методике.

Несоответствие версий рабочей конфигурации и конфигурации поставщика может возникнуть при использовании для обновления *.cf файлов, не из дистрибутива поставщика или при использовании методов обновления отличающихся от описанных в данной статье. Напрмер, объекты добавлялись в рабочую конфигурацию копированием через буфер обмена или Drag&Drop.

1. Сравнение версий.

Проверим номера версий рабочей конфигурации и конфигурации поставщика . Номер рабочей конфигурации смотрим в меню «Конфигурация» → «Открыть конфигурацию» меню «Правка» → «Свойства». В блоке «Разработка» пункт «Версия». (Рисунок 1).

Номер конфигурации поставщика смотрим в меню «Конфигурация» → «Поддержка» → «Настройка поддержки…» пункт «Версия». (Рисунок 2).

Если номера совпадают, то переходим к следующему этапу. См. .

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

2. Сохранение рабочей (основной) конфигурации.

Сохраним рабочую конфигурацию в файл, например work.cf . Для этого выберем пункт меню «Конфигурация» → «Сохранить конфигурацию в файл…».

3. Получение файла обновления для конфигурации поставщика.

Для приведения в соответствие конфигураций нам понадобится файл *.cf из дистрибутива поставщика с тем же номером версии, что у рабочей конфигурации (Рисунки 3 и 4). Данный файл можно получить при установке соответствующего дистрибутива. По умолчанию установка дистрибутива конфигурации выполняется в каталог C:/Program Files/1cv81/tmplts. Подробнее об установке шаблонов конфигураций см. документацию.

Проверим каталог шаблонов. Если в каталоге шаблонов есть *.cf файл нужной версии, то переходим к .

Что можно сделать, если нет *.cf файла нужной версии конфигурации поставщика ? В этом случае можно воспользоваться файлами *.cfu и повторив описанную в Этапе 1 процедуру несколько раз последовательно поднять номер версии до требуемого релиза, в данном случае до 1.2.6.2. Следует отметить, что использование файлов *.cfu может не вскрыть ошибки, допущенные ранее при обновлении. Что, согласитесь, довольно странно, учитывая тот факт, что вначале собирается файл поставщика на основе и *.cfu файла, а затем выполняется обновление. Возможно это связано с тем, что в сравнении почему-то участвуют не все объекты конфигурации. Поэтому предлагаю использовать возможно более длинный путь, но и более надежный.

Необходимо создать пустую базу данных со "старой" конфигурацией поставщика . Обновить конфигурацию поставщика до нужной версии и уже её использовать при выполнении работ на 1 этапе. Для получения "новой" конфигурации поставщика нужно сделать следующее:

  1. Создание "старого" файла поставщика для текущей конфигурации. Файл 1cv8.cf можно взять из дистрибутива поставщика или сохранить из рабочей базы, если конфигурация находится на поддержке. Для сохранения файла 1cv8.cf из рабочей базы необходимо в меню «Конфигурация» → «Поддержка» → «Настройка поддержки...» нажать кнопку «Сохранить в файл» и указать каталог и имя файла. Например, на рабочий стол.
  2. Создание базы данных с новой конфигурацией поставщика. Базу данных можно создать, используя дистрибутив поставщика с диска ИТС или используя полученный ранее 1cv8.cf с рабочего стола. В первом случае следуем инструкции входящей в дистрибутив. Во втором случае для создания базы из расположенного на рабочем столе файла, создаем новую информационную базу без конфигурации и запускаем конфигуратор. В меню «Конфигурация» → «Загрузить конфигурацию из файла...» указываем файл, сохраненный ранее на рабочем столе. Открываем конфигурацию через меню «Конфигурация» → «Открыть конфигурацию» и обновляем до нужного релиза через меню «Конфигурация» → «Поддержка» → «Обновить конфигурацию» используя файлы *.cfu.
  3. Создание файла "новой" конфигурации поставщика. Для этого выбираем пункт в меню «Конфигурация» → «Сохранить конфигурацию в файл...». Уточняем расположение и имя файла 1cv8.cf . Нажимаем «Сохранить».

4. Приведение в соответствие рабочей конфигурации и конфигурации поставщика через обновление.

Используя полученный *.cf файл конфигурации поставщика выполним обновление. Для этого выберем пункт меню «Конфигурация» → «Поддержка» → «Обновить конфигурацию», «Выбор файла обновления», «Готово» (Рисунок 5), «Выполнить» (Рисунок 6).

Варианты решения:

  • снять пометку с объекта, которыйв конфигурации поставщика;
  • удалить ссылку на объект, которыйв конфигурации поставщика.

Исходя из того, что ссылка в добавленном интерфейсе «РуководительОтдела» выполнена на объект конфигурации поставщика , поддержка с которого снята поставщиком (возможно в связи с изменением методики учета), то правильным решением в данной ситуации будет удаление ссылки на этот отчет из интерфейса «РуководительОтдела». Окно сравнения конфигураций не закрываем, ссылку на отчет «ОплатаЗаказов» в интерфейсе «РуководительОтдела» удаляем. После удаления ссылки выполним повторное сравнение конфигураций. Для этого нажмем кнопку «Обновить» в окне обновления (Рисунок 6).

5. Восстановление настроек частично утерянных на предыдущем этапе.

Для восстановления частично утерянных настроек выполним объединение с ранее сохраненным файлом рабочей конфигурации work.cf . Для этого выберем пункт меню «Конфигурация» → «Сравнить, объединить с конфигурацией из файла…».

6. Сохранение результатов обновления.

Сохраним изменения рабочей конфигурации и обновим конфигурацию базы данных . Для этого выберем пункт меню «Конфигурация» → «Обновить конфигурацию базы данных».

Здесь нас поджидает очередная проблема (Рисунок 8).

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

С ролями поступаем просто - удаляем, т.к. роли не изменялись (это можно проверить, сравнив и рабочую конфигурацию ). С реквизитом документа действуем иначе. Реквизит необходимо переименовать, например ЗаказРезерв1, а после обновления перенести значения из переименованного реквизита в новый. Для этого можно воспользоваться обработкой УниверсальныеПодборИОбработкаОбъектов.epf с диска ИТС.

Рассмотрим еще одну ситуацию, аналогичную предыдущей, но возникшую при обновлении 1С:Бухгалтерии предприятия 8.1. Что делать с формами? (Рисунок 9)

На рисунке мы видим, что ФормаСписка была удалена у поставщика, а затем добавлена поставщиком новая форма с тем же именем. Соответственно необходимо пометить обе формы для обновления и нажать кнопку «Выполнить».

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

Сохраним изменения рабочей конфигурации и обновим конфигурацию базы данных «Конфигурация» → «Обновить конфигурацию базы данных».

Если необходимо, перенесем значения реквизита ЗаказРезерв1 в ЗаказРезерв с помощью внешней обработки в режиме 1С:Предприятие.

Этап 2. Обновление.

После проведения подготовительных работ на Этапе 1 переходим к обновлению основной конфигурации и переносу ранее сделанных доработок типовой конфигурации поставщика.

Для обновления конфигурации нам понадобится файл *.cfu или файл *.cf из дистрибутива поставщика. Подробнее о способах их получения можно почитать .

Если обновление выполняется через несколько версий конфигурации, то следует обратить внимание на ситуацию, описанную в статье « ». Если обновление выполняется не на рабочей базе, то после завершения работ по подготовке каждого нового этапа сохраняем файлы *.cf. Они понадобятся при обновлении конфигурации рабочей базы данных заказчика.

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

Если обновление выполняется через несколько версий, то для снижения трудоемкости обновления, можно воспользоваться методикой с вычислением ключевых релизов, описанной в статье «Обновление конфигураций 1С:Предприятия 8. Прыжок через 20 версий ».

1. Подготовка баз данных.

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

2. Трёхсторонее сравнение конфигураций.

Откроем обе базы в режиме Конфигуратор и выполним трёхсторонее сравнение конфигураций в обеих базах, используя имеющийся файл новой конфигурации поставщика. Для этого в обеих базах выберем пункт меню «Конфигурация» → «Поддержка» → «Обновить конфигурацию», «Выбор файла обновления», «Готово» (Рисунок 10).

В результате сравнения трех конфигураций (старая конфигурация поставщика , новая конфигурация поставщика и рабочая конфигурация ) получаем список измененных объектов. Устанавливаем фильтр «Показывать только дважды измененные свойства» (Рисунки 11 и 12).

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

На этом работу во второй (вспомогательной) базе приостанавливаем и продолжаем в основной. Кнопку «Выполнить» во вспомогательной базе не надо нажимать. Нам эта база нужна именно в таком виде до окончания процесса обновления.

Итак, в результате получаем список объектов, дважды измененных при доработке типовой конфигурации и в . Если согласиться с обновлением, то сделанные ранее доработки в этих объектах будут утеряны. Поэтому по каждому объекту необходимо принять решение о том, каким образом он будет обновлен (Рисунок 13). На этом этапе выполняем предварительное сравнение исключительно для того, чтобы уменьшить объем работ в дальнейшем. Оценка не точная быстрая - «на глазок».

новой конфигурации поставщика , то оставляем экземпляр объекта поставщика. Оставляем галочку. Затем перенесем изменения из рабочей конфигурации .

Если изменений в объекте больше в рабочей конфигурации , то оставляем экземпляр объекта рабочей конфигурации . Снимаем галочку. Затем перенесем изменения из конфигурации поставщика .

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

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

Далее все сравнения выполняем во вспомогательной базе. Одно сравнение у нас уже есть - трехстороннее. Для определения ранее внесенных изменений выполняем дополнительное второе сравнение старой конфигурации поставщика с основной конфигурацией . Для этого выберем пункт в меню «Конфигурация» → «Сравнить конфигурации:», выберем для сравнения «Конфигурация поставщика » и «Основная конфигурация

Аналогичным образом сравниваем старую конфигурацию поставщика с новой . Для сравнения нам понадобится файл новой конфигурации поставщика . Если такого файла нет, то теперь его можно получить из основной базы. Для сохранения в файл новой конфигурации поставщика в основной базе в меню «Конфигурация» → «Поддержка» → «Настройка поддержки:» нажимаем кнопку «Сохранить в файл». (Рисунок 2). Указываем имя файла, например, new.cf. Далее делаем третье сравнение конфигураций и при сравнении в качестве второй конфигурации указываем файл new.cf.

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

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

Сравнение форм, таблиц, и модулей объектов в конфигурации выполняется с достаточной степенью детализации (Рисунок 17). Этого вполне достаточно для принятия решений.

Но в некоторых случаях данные в отчетах о сравнении представляются в виде, не позволяющем принять решение быстро. Например, в случае изменения типа реквизитов, имеющих составной тип данных, состав вводимых на основании объектов и т.д. Именно на данном этапе, ввиду его сложности, происходит потеря доработок при обновлении. Рассмотрим эту ситуацию на примере реквизитов, имеющих составной тип данных. При формировании отчета о сравнении объектов (Рисунок 17) различающиеся данные в сравниваемых конфигурациях представлены в виде списков, содержащих состав типов данных, разделенных запятыми. При этом в отчете совершенно не видно, какие типы данных были добавлены или удалены. Конечно, для выявления различий отчет можно распечатать и «скрыжить». В рассматриваемом примере таких объектов около 200. Очевидно, что процесс сравнения представляется достаточно трудоемким и составит около 50 часов.

Для снижения трудоемкости работ при сравнении объектов можно воспользоваться обработкой «Сравнение ячеек», разработанной компанией Информ Сервис. Примерно в 20 раз может выть снижена трудоемкость работ при сравнении составных объектов.

Обработка «Сравнение ячеек» запускается в режиме 1С:Предприятие и позволяет представить информацию из отчета о сравнении объектов в наглядном виде (Рисунки 18 и 19). Для сравнения используются возможности 1С:Предприятия 8.

Схема работы обработки проста. В конфигураторе создаем отчет о сравнении объектов (Рисунок 17) и сохраняем в файл, например ОтчетОСравнении.mxl. Открываем 1С:Предприятие и в диалоге (Рисунок 18) выбираем сохраненный файл и указываем сравниваемые ячейки. Для этого дважды щелкаем правой клавишей мыши на выбранной ячейке табличного документа. По кнопке «Сравнить» получаем результат сравнения, в котором различающиеся позиции выделены цветом (Рисунок 19).

Далее, исходя из того, что сравнение выполняется по тем же принципам сравнения объектов, схема действий будет выглядеть так. Сохраняем следующий отчет под тем же именем файла. Нажимаем кнопки «Обновить» и «Сравнить».

Особо пристальное внимание следует уделить шаблонам RLS по измененным ролям пользователей.

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

Этап 3. Сдача работ.

В приведенном примере объем работ по исправлению ошибок, допущенных при предыдущих обновлениях, а также по обновлению на версию 1.2.14.1 и переносу ранее внесённых в типовую конфигурацию изменений составляет порядка 100-150 часов. Выполнить такой объем работ, выполняя обновление непосредственно в базе заказчика, не представляется возможным. Соответственно подготовительные работы необходимо выполнить на копии базы данных, а результат обновления перенести в рабочую базу заказчика.

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

Если в рабочей базе данных заказчика во время подготовки обновления не проводились работы по изменению конфигурации, а обновление готовилось на актуальной копии рабочей базы данных, то для переноса настроек сохраним рабочую конфигурацию в файл, например work_2.cf, выбрав пункт меню «Конфигурация» → «Сохранить конфигурацию в файл…».

  • используя файл work_2.cf, переносим изменения. Для этого выберем пункт меню «Конфигурация» → «Загрузить конфигурацию из файла…»;
  • на вопрос об обновлении конфигурации базы данных ответим согласием.

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

Если обновление готовилось не на актуальной копии рабочей базы данных, то для переноса настроек воспользуемся методикой использованной на первом этапе. Для этого нам понадобится файл *.cf типовой конфигурации поставщика (1.2.14.1) и результат обновления в виде также *.cf файла. Для этого сохраним рабочую конфигурацию в файл, например work_2.cf, выбрав пункт меню «Конфигурация» → «Сохранить конфигурацию в файл…».

Дальнейшие действия на стороне заказчика будут следующие:

  • создать резервную копию базы данных;
  • используя файл *.cf типовой конфигурации поставщика, выполним обновление. Для этого выберем пункт меню «Конфигурация» → «Поддержка» → «Обновить конфигурацию», «Выбор файла обновления», «Готово» (Рисунок 10), «Выполнить»;
  • используя файл work_2.cf, переносим изменения. Для этого выберем пункт меню «Конфигурация» → «Сравнить, объединить с конфигурацией из файла…»;
  • сохраним изменения рабочей конфигурации и обновим конфигурацию базы данных. Для этого выберем пункт меню «Конфигурация» → «Обновить конфигурацию базы данных».

Правильное выполнение данного этапа позволит в дальнейшем избежать работ, описанных в Этапе 1.

Обновление 1С производится нажатием «одной» кнопки, типовая конфигурация сама может скачать обновление 1С и установить его. От пользователя потребуется ввести только регистрационные данные.

Что делать, если конфигурация нетиповая? Или типовая, но в ней выполнены доработки – добавлен справочник, пару реквизитов, отчет?

Ответ на этот вопрос мы узнаем сегодня.

Что такое нетиповая конфигурация 1С

Нетиповая конфигурация 1С, это когда:

  • Конфигурация написана с нуля самостоятельно программистом
  • Конфигурация была типовой, но в нее добавили изменения
  • Даже если добавили один реквизит.

Для того, чтобы внести любые изменения в типовую конфигурацию, необходимо .

При обновлении 1С нетиповой конфигурации, снятой с поддержки, 1С предложит «поставить нетиповую конфигурацию на поддержку» обратно. Тогда все изменения будут аннулированы (стерты).

Для того, чтобы при обновлении 1С нетиповой (измененной) конфигурации 1С, изменения остались, а обновлении 1С применилось – можно использовать другой режим обновления 1С.

Посмотрим на пример измененной конфигурации, которую мы хотим обновить. Это типовая конфигурация 1С Бухгалтерия (слева), в которую внесены изменения (справа):

4) В справочнике «Физические лица», в модуле формы, в функции ПрочитатьМестоРождения() добавили строчку программы

Как сработают все эти изменения в момент обновления 1С нетиповой конфигурации 1С?

Обновление 1С с сохранением изменений нетиповой конфигурации 1С

Обновление 1С конфигурации обычно распространяются в виде самораспаковывающегося архива. После распаковки нужно запустить файл установки, чтобы установить обновление 1С на компьютер (не в 1С!).

При установке обновления Вы выбираете куда будет установлено обновление 1С. Обычно это . Вы можете установить в любую другую папку на диске, а 1С указать, где находятся .

Файлы обновления 1С могут быть следующего вида:

  • файл с расширением CF – содержит полностью новый вид конфигурации
  • файл с расширением CFU – содержит только изменения от предыдущей версии.

Оба файла хранятся в каталоге обновлений 1С, в папке с наименованием версии.

Будьте внимательнее при использовании файла CFU – он позволяет обновить только с !

Итак, для обновления 1С выберите один из вариантов пунктов меню:

  • Конфигурация/Сравнить объединить с конфигурацией из файла – для файлов CF
  • Конфигурация/Поддержка/Обновить конфигурацию/Выбор файла обновления 1С – для файлов CF или CFU.

Первым делом 1С сравнит две конфигурации. Конфигурация Вашей базы данных называется «Основная конфигурация», а конфигурация из обновления – «Конфигурация из файла».

1С отобразит все различия в виде привычного дерева , где справа отображены изменения.

Посмотрите – на нашем примере, выделены справочники, которые были изменены или добавлены.

Так как мы обновляем 1С нетиповую конфигурацию, которая была изменена – то есть когда-то она была типовой, необходимо ввести некоторые настройки.

Нажмите кнопку Настройка. Выберите «Загружаемая конфигурация является потомком основной» (то есть является измененной типовой).

Галочка «Разрешить удаление объектов основной конфигурации» позволяет удалять , если они удалены в обновлении 1С. Так как мы добавляли в конфигурацию реквизиты и справочники, а в обновлении 1С их нет, то 1С будет считать, что в обновлении 1С они удалены. Поэтому не надо ставить эту галочку.

Рассмотрим обнаруженные платформой различия внимательно.

Раскроем ветку справочника Номенклатура. В ветке Реквизиты мы видим, что в типовой конфигурации отсутствует реквизит, а мы его добавляем. Минус значит, что он будет удален.

Так как нам не нужно, чтобы был удален реквизит, который мы сами добавляли, нужно сделать следующее (варианты):

  • В кнопке «Настройка» НЕ УСТАНАВЛИВАТЬ галочку «Разрешить удалять объекты основной конфигурации»
  • Если галочка все же установлена, то снять галочку на против данного реквизита. На картинке галочки напротив реквизита нет, так как удалять объекты не разрешено.

Также у справочника Номенклатура была изменена форма. 1С это увидела и показывает нам в списке измененных объектов форму справочника тоже.

Чтобы посмотреть какие изменения сделаны на форме, можно сделать следующее (варианты):

  • Нажать правой кнопкой сначала на форму в левой колонке и выбрать пункт меню «Открыть форму», а потом в правой. Визуально сравнить две формы.
  • Нажать правой кнопкой на форме и выбрать пункт меню «Отчет о сравнении объектов» (подробно, табличный документ)

Отчет о сравнении объектов, при сравнении форм, показывает много различий. Это связано с тем, что когда мы добавляем всего лишь одно поле на форму – автоматически производится изменение множества смежных элементов – отступов, привязок и т.п.

В списке изменений мы видим наши изменения – изменения надписи и замену поля.

Мы можем согласиться или отказаться от изменения формы выбором галочки возле нее. Это влечет за собой следующие последствия:

а) если мы ставим галочку

  • форма будет заменена на новую
  • наши изменения типовой конфигурации будут стерты
  • изменения из обновления 1С будут применены
  • далее вручную будет необходимо вернуть наши изменения

б) если мы не ставим галочку

  • форма будет оставлена старой
  • наши изменения остаются
  • новые изменения из обновления 1С не применяются
  • далее вручную будет необходимо добавить изменения из обновления 1С.

Можно использовать третий вариант. Раскройте ветку Форма до конца и в колонке «Режим объединения» выберите «Объединить».

в) если мы выбрали «Объединить»

  • форма будет некая новая, в которой будут и новые изменения и старые
  • наши изменения остаются
  • новые изменения появляются
  • если какое-либо поле было удалено, а на его место поставлено другое поле, в результате объединения на одном и том же месте окажутся сразу оба поля – и старое и новое
  • есть шансы, что форма будет выглядеть нормально
  • далее вручную нужно проконтролировать, что не произошло «эксцессов»

2) В справочнике «Физические лица», в модуле формы, в функции ПрочитатьМестоРождения() добавили строчку программы

Чтобы посмотреть изменения в модуле формы, которые обнаружила 1С, раскроем ветку формы до конца, нажмем на нее правой кнопкой, выберем пункт меню «Показать различия в модулях».

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

Другой способ – это использовать кнопку лупы в этой строчке.

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

3) В справочнике «Электронные представления..» удалили несколько реквизитов

1С определила, что мы удалили реквизиты типового справочника и предлагает нам их восстановить.

Справочник же, нами добавленный, 1С предлагает удалить. В этом случае действует то же правило, что и в случае с добавленным нами реквизитом (см. ранее).

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

Обратите внимание, что если Вы удалили реквизит в результате обновления 1С, то удалили и данные, которые были в него внесены пользователями, а значит повторное добавление того же реквизита не восстановит эти данные.

Если в конфигурации есть несколько связанных объектов – например реквизит и форма; при этом Вы разрешили обновление 1С формы, но сняли галочку с реквизита, то наступает противоречие.

После нажатия кнопки Выполнить, 1С находит такие ситуации и сообщает от них.

После нажатия на кнопку Выполнить у Вас остается еще одна возможность подумать.

Чтобы подтвердить проведенное обновление 1С – нужно выбрать пункт меню Конфигурация/Обновить конфигурацию базы данных.

Чтобы отказаться от обновления 1С – нужно выбрать пункт меню Конфигурация/Вернуться к конфигурации БД.

Третий вариант (указана последовательность пунктов меню):

  • Выбрать Файл/Сохранить
  • Конфигурация/Сохранить конфигурацию в файл
  • Конфигурация/Конфигурация базы данных/Вернуться к конфигурации БД.

Таким образом Вы полученную объединенную конфигурацию выгружаете в файл, а от изменений отказываетесь. Вы можете проанализировать полученную конфигурацию, внести ручные правки, а позже просто загрузить ее с помощью меню Конфигурация/Загрузить конфигурацию из файла.

Нетиповая конфигурация 1С (доработанная) – это автоматизированная система управления предприятия, которая претерпела ряд изменений, в виду специфики или нужд бизнеса.

Когда первая конфигурация станет популярной и будет использоваться во многих компаниях, то она становится типовой.

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

Но если было в законодательство внесено ряд серьезных изменений (к примеру, изменен алгоритм учетности), то есть 2 варианта того, что делать с обновлениями:

  • обновить на новую типовую версию;
  • обновить нетиповую конфигурацию 1С самостоятельно, с учетом изменения законодательства.

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


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

Пошаговая инструкция как обновить нетиповую конфигурацию 1С самостоятельно

Этапы обновления:

  1. Выгружаем информационную базу.
  2. Переходим в меню «Конфигурация». Там выбираем пункт меню «Поддержка» и дальше - «Обновить конфигурацию».
  3. После предыдущего шага выгружаем форму отчета, предварительно настроив его.
  4. Переходим к самому процессу обновления. Для этого нажимаем кнопку «Выполнить».
  5. Открывается информационное окно с данными и элементами выбора настроек. В нем ничего не меняете. Нажимаем «ОК».
  6. Запускаем «Предприятие».
  7. Чтобы обновление закончилось, необходимо принять изменения в контекстном меню, которое открылось.
  8. Используя функцию F5, получаете подтверждение о том, что все произведенные обновления легальны.

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

В этой статье будет рассказано про обновление нетиповой конфигурации 1С (редакций 8.2 и 8.3), с сохранением всех изменений внесенных вами (или другими разработчиками) в типовую конфигурацию 1С 8.

Рассмотрим пример обновления конфигурации Бухгалтерия 2.0 с нетиповыми изменениями в модулях, ролях, подписках на события, планах обмена и т.д. Рассмотренные здесь случаи не будут слишком сложными для обновления, при их помощи я лишь покажу методику обновления, что позволит вам разобраться со своими случаями.

Обновление нетиповой конфигурации 1С пошаговая инструкция

Рассмотрим по шагам алгоритм обновления конфигурации 1С 8. Данный алгоритм является универсальным, первые одиннадцать его шагов описывают процесс обновления любой типовой конфигурации 1С 8, а все пункты в совокупности описывают обновление нетиповой конфигурации 1С 8:

  • Скачайте файл обновления конфигурации с сайта users.v8.1c.ru или получите его из любых других доступных источников(например с диска ИТС);
  • Распакуйте и установите файл с обновлением 1С 8 в любую папку на жестком диске;
  • В папке с номером релиза 1С 8 найдите файл 1cv8.cfu — именно этот файл содержит обновления конфигурации;

  • Запустите 1С:Предприятие в режиме Конфигуратор ;
  • Перейдите в меню Конфигурация -> Поддержка -> Обновить конфигурацию .

  • В открывшемся окошке «Обновление конфигурации» устанавливаем флаг на пункте Выбор файла обновления и жмем кнопку Далее (если хотите то можно воспользоваться и первым пунктом Поиск доступных обновлений и поискать файлы обновлений в автоматическом режиме);
  • В поле «Укажите файл обновления» выберите.cfu файл из папки с номером релиза. Заметьте, что обновить конфигурацию базы 1С 8 можно не на любой релиз. Для каждого файла обновления существует список релизов для которых оно предназначено. Поэтому возможно придется устанавливать несколько файлов обновления последовательно;
  • В следующем окне вы увидите описание данного обновления. Также в нем можно посмотреть для обновления каких версий конфигурации предназначен данный файл. Нажмите кнопку Продолжить обновление ;
  • Если данную версию конфигурации невозможно обновить выбранным файлом, то вам будет выдано окошко с подсказкой, какие релизы следует установить;
  • Если выбранный файл подходит для обновления конфигурации, то появится окно с данными о версии обновления. Для продолжения обновления нажмите кнопку ОК;
  • После этого запустится процесс обновления. Если ваша конфигурация типовая, то по его завершении останется только согласится изменить текущую конфигурацию и запустить 1С 8 в режиме Предприятие;
  • Если же вы обновляете конфигурацию с изменениями (нетиповую), то после завершения процесса обновления появится окно сравнения-объединения старой и новой конфигурации.

Обновление нетиповой конфигурации 1С разбор примера

Перейдем к подробному разбору правильного обновления нетиповой конфигурации 1С 8. Вся проблема обновления такой конфигурации заключается в том, что в типовые объекты метаданных (общие модули, роли, документы, справочники и т.д.) внесены сторонние изменения. Надо сделать так, что бы все ваши изменения остались на своем месте, в целости и сохранности, но при этом все изменения фирмы 1С, содержащиеся в файле обновления, тоже были применены. Именно для этого при обновлении измененной конфигурации появляется окно сравнения Основной конфигурации (с вашими изменениями) и Новой конфигурации поставщика (обновленная типовая конфигурация).

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

Для это нажмите расположенную внизу окна кнопку Фильтр , в открывшемся окне установить флаг и нажмите ОК.

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

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

Обновление общего модуля.

  • Рассмотрим пример: В общий модуль КонтрольВерсииКонфигураци вы внесли следующие изменения:
    • В процедуре ПроверитьВерсиюКонфигурации() закомментировали строку: //ОткрытьФормуМодально("ОбщаяФорма.НерекомендуемаяВерсияКонфигурации", Параметры);
    • Добавили в модуль свою процедуру с именем МояТестоваяПроцедура().

    При обновлении этот модуль изменился, поставив в окне сравнения фильтр по дважды измененным мы увидим, что он попал в список.

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

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

    • Затереть ваши изменения установив типовые. После чего вручную внести затертые изменения в обновленный модуль;
    • Не обновлять модуль и внести типовые изменения вручную.

    Механизмы сравнения конфигураций

    Для сравнения изменений в модуле можно воспользоваться следующими встроенными механизмами окна сравнения-объединения конфигураций:

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






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


      Не смотря на то, что данный отчет предоставляет всю информацию о изменениях, он не удобен в работе (по крайней мере при обновлении модулей). Гораздо более интересны две его модификации: Отчет о сравнении объектов основной конфигурации со старой конфигурацией поставщика (в этом отчете видны только изменения внесенные вами) и (в этом отчете видны только только изменения внесенные в модуль обновлением).



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

    Мы разобрали все инструменты необходимые для обновления модуля. Для того, что бы показать их практическое применение рассмотрим по шагам процесс обновления модуля КонтрольВерсииКонфигураци с перечисленными выше изменениями. Обновим модуль двумя способами:

    • Обновим модуль, затерев внесенные в него изменения. Внесем их вручную после обновления;
    • Не будем обновлять модуль. Изменения полученные в обновлении внесем после.

    Первый способ:

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

      • Из отчета видно, что в модуль внесено два изменения (перед каждым новым изменением пишутся номера строк, в которых оно внесено):
        • Изменена строка 34, в основной конфигурации она закомментирована, а в старой конфигурации поставщика нет;
        • Добавлена процедура, в старой конфигурации поставщика на ее месте пусто, а в основной конфигурации она есть. Отчет не закрываем, он нам пригодится;
      • Теперь найдем первое отличие в окне сравнения модулей. Для этого снова кликаем правой кнопкой мыши по ветке Модуль и в контекстном меню выбираем пункт Показать различия в модулях… Так как в окне сравнения модулей не видно номеров строк (глобальной нумерации), то для того чтобы найти первое изменение пролистаем все процедуры в верхней половине окна. Также из отчета мы знаем, что первое изменение связано с изменением строки, поэтому ищем текст выделенный красным цветом. Измененная строка найдется в процедуре ПроверитьВерсиюКонфигурации().

      • Откроем текстовый документ, созданный для записи изменений. Пунктом «1.1.1» запишем там название процедуры, в которой находится изменение. После этого нам надо вписать в него найденное изменение так, что бы мы легко могли найти его в тексте модуля. Для этого я обычно копирую в документ не одну, а сразу несколько строк процедуры, до и после изменений. Но в данном случае процедура маленькая и поэтому достаточно скопировать саму измененную строку. Получится следующая запись: 1. Общие модули 1.1 КонтрольВерсииКонфигураци 1.1.1 ПроверитьВерсиюКонфигурации //ОткрытьФормуМодально("ОбщаяФорма.НерекомендуемаяВерсияКонфигурации", Параметры);
      • Теперь снова откроем отчет о сравнении конфигураций, посмотрим следующее изменение и также найдем его в окне сравнения модулей. На этот раз это добавленная новая процедура. Так как данная процедура полностью отсутствует в старой конфигурации поставщика, то ее текст будет выделен синим шрифтом:

      • Снова откроем текстовый документ, созданный для записи изменений. В пункт «1.1.2» запишем название добавленной процедуры. После этого скопируем туда весь текст добавленной процедуры. 1.1.2 МояТестоваяПроцедура Процедура МояТестоваяПроцедура() Экспорт //Текст процедуры КонецПроцедуры
      • КонтрольВерсииКонфигураци установлен флаг, означающий, что данный модуль следует обновить, затерев все внесенные изменения;
      • Далее необходимо записать в текстовый документ изменения других дважды измененных объектов метаданных. Но так как в данном примере мы рассматриваем конкретный общий модуль, то пропустим этот этап;
      • После того, как работа над дважды измененными объектами выполнена, в окне сравнения / объединения нажимаем кнопку Выполнить;
      • Если появится окно с текстом «Существуют объекты, измененные в основной конфигурации…», нажимаем кнопку Да ;

      • В следующем окне Настройка правил поддержки не меняем никаких настроек, а просто нажимаем кнопку Да ;

      • Последним появится сообщение: «Объединение конфигураций завершено». Жмем кнопку ОК ;
      • Сохраним конфигурацию при помощи меню Файл -> Сохранить , пиктограммы Сохранить (синяя дискета) или сочетания клавиш Ctrl + S ;
      • После того как конфигурация сохранена, восстановим затертые изменения модуля. В дереве метаданных найдем и откроем модуль КонтрольВерсииКонфигураци;
      • Откроем текстовый документ в который занесены изменения данного модуля;
      • В пункте «1.1.1» указана процедура ПроверитьВерсиюКонфигурации, найдем ее в модуле и раскроем;
      • В текстовом документе указано, что следует закомментировать строку: ОткрытьФормуМодально("ОбщаяФорма.НерекомендуемаяВерсияКонфигурации", Параметры);

        Найдем ее в модуле и установим комментарий;

      • В пункте «1.1.2» указана процедура МояТестоваяПроцедура, которую необходимо добавить в модуль. Копируем ее из текстового документа и вставляем в конец модуля;
      • Сохраняем конфигурацию одним из указанных выше способов;
      • Обновление конфигурации на этом завершено, осталось только обновить конфигурацию, воспользовавшись клавишами F5 или F7 или соответствующими пиктограммами, и в режиме 1С:Предприятия подтвердить легальность обновления;

    • Второй способ:
      • Второй способ полностью повторяет первый, за исключением того, что действует он от обратного. Поэтому опишу его кратко;
      • Создаем текстовый документ с такой же структурой;
      • Сформируем отчет Отчет о сравнении объектов новой конфигурации поставщика со старой конфигурацией поставщика;
      • Используя сформированный отчет и окно сравнения модулей выпишем в текстовый документ изменения внесенные новой конфигурацией поставщика;
      • В окне сравнения / объединения конфигураций проверяем, что возле модуля КонтрольВерсииКонфигураци СНЯТ ФЛАГ. Это означает, что данный модуль не будет обновляться;
      • Обновляем конфигурацию, вносим изменения из текстового документа в модуль КонтрольВерсииКонфигураци.

Обновление плана обмена.

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

Рассмотрим по шагам обновление состава плана обмена ПоОрганизации с указанными изменениями:

  • В созданный при обновлении общего модуля текстовый документ добавим новые строки: 2. Планы обмена 2.1 ПоОрганизации
  • Найдем план обмена ПоОрганизации в окне сравнения / объединения, раскроем его до ветки Состав. Замечу, что в плане обмена вами может быть изменен и модуль, его надо обновлять по правилам описанным для общего модуля. В данном случае нас интересует именно обновление состава плана обмена;
  • Как и в случае с общим модулем, состав плана обмена можно либо обновить, после этого добавив свои изменения вручную, либо не обновлять, добавив типовые изменения вручную. Если ваших изменений в составе больше, чем типовых, то обновлять лучше вторым способом, если меньше то первым. Посмотреть каких изменений больше можно при помощи все тех же отчетов:
  • В нашем примере типовых изменений больше, поэтому выпишем в текстовый документ наши изменения: 2. Планы обмена 2.1 ПоОрганизации - ***Справочники - -->Справочник.ВнешниеОбработки
  • Проверяем, что в окне сравнения / объединения установлена галочка возле плана обмена ПоОрганизации;
  • Сохраняем конфигурацию;
  • После того как конфигурация сохранена, восстановим затертые изменения плана обмена. В дереве метаданных найдем и откроем план обмена ПоОрганизации;
  • В пункте «2.1» текстового документа указан справочник ВнешниеОбработки, найдем его в дереве метаданных состава плана обмена и установим флаг, означающий участие справочника в обмене;

  • Сохраним и обновим конфигурацию;

Обновление подписки на событие.

Рассмотрим пример: в источник подписки на событие ПередУдалениемСправочникаДляОбменаПоОрганизации вы включили справочник ВнешниеОбработки. При обновлении состав источников изменился, задача аналогичная предыдущим — выполнить обновление нетиповой конфигурации 1с правильно.

Рассмотрим по шагам обновление состава источников подписки на событие с указанными изменениями:


Обновление ролей в 1С

Перед тем, как начать рассказывать про обновление ролей в 1С 8, хочется заметить, что лучше не изменять типовые роли, в этом нет никакой необходимости, к тому же сильно затрудняется обновление нетиповой конфигурации 1с. Если вы дорабатываете какую либо типовую конфигурацию и добавляете в нее свои документы, справочники и т.д., то создайте свою роль (или несколько, в зависимости от ситуации), в которую включите новые объекты метаданных. Если вы так не сделаете, то со временем вам будет очень тяжело обновлять типовые роли (а под час невозможно), так как почти в каждом релизе они сильно изменяются и отчеты о сравнении конфигураций могут выглядеть не слишком понятно.

Но все же часто бывают случаи когда роль уже изменена, и не один раз, а разбираться зачем и почему времени нет. Поэтому рассмотрим пример: в типовой роли Бухгалтер для справочника НалоговыеОрганы добавлены права на чтение и просмотр, при обновлении набор прав роли также был изменен.

Рассмотрим обновление роли по шагам:

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

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

    • Измененные объекты выглядят так: - ***Справочники - ***НалоговыеОрганы - ***Права - ***Чтение - ***Значение -->Разрешено <--Запрещено - ***Просмотр - ***Значение -->Разрешено <--Запрещено

      При этом подробно указано, какие права изменились;

  • В нашем примере из полезной информации в отчете о сравнении находится лишь одна строка, добавляем ее в текстовый документ: 4. Роли 4.1 Бухгалтер - -->Объект - РегламентированныйОтчетСтатистикаФорма11НА

    При этом можно указать какой это объект метаданных, но в данном случае и так видно, что отчет;

  • В окне сравнения / объединения снимем галочку возле роли Бухгалтер;
  • После этого необходимо записать в текстовый документ изменения других дважды измененных объектов метаданных и выполнить обновление (процесс подробно описан выше);
  • Сохраняем конфигурацию;
  • После того как конфигурация сохранена, необходимо внести типовые изменения в роль Бухгалтер . В дереве метаданных найдем и откроем данную роль;
  • В пункте «4.1» текстового документа сказано, что в роль добавлен объект РегламентированныйОтчетСтатистикаФорма11НА, найдем его в дереве метаданных роли, установим галочки на правах Использование и Просмотр;

  • Сохраним и обновим конфигурацию.

На этом статья про Обновление нетиповой конфигурации 1С завершена. Если после прочтения у вас остались вопросы — смело задавайте их в комментариях! По желанию читателей в следующей статье я могу рассказать о других интересных и сложных аспектах обновления нетиповой конфигурации 1С 8.

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

Как в нетиповой конфигурации 1С выполнить обновление.

Общие понятия

При обновлении (update, англ.) нетиповой платформы изменения всегда затрагивают элементы типовой конфигурации (configuration, англ.) поставщика.

В базе данных (БД) содержится до трёх разновидностей конфигураций:

  • непосредственно база данных - с ней работают логические алгоритмы;
  • рабочая (так называемая основная, КонфигОР) - которую мы периодически изменяем;
  • конфигурация поставщика (КонфигП - на её основе создаются пользователем и рабочая, и конфигурация БД.

Если программа сбрасывается с поддержки - от поставщика её уже не будет. Однако тогда неизбежно повышение трудозатрат на обновление. Рассмотрим обновление нетиповой конфигурации 1С. Примером будет платформа УПП (Управление производственным предприятием).

Сведение

На первом этапе нужно убрать различия между рабочей и поставляемой конфигурациями. Это сократит оценку ранее привнесённых нами доработок. Несоответствия между ними возникает, когда при обновлении использовались посторонние файлы (не из поставляемого дистрибутива) или методы обновления отличались от стандартных.

Сравнение версий

Проводим сверку номеров версий (рабочей и поставленной). Первая проверяется в «Конфигурация»/«Открыть»/«Правка»/«Свойства». В разделе «Разработка/Версия». Вторая в «Конфигурация»/«Поддержка»/«Настройка поддержки»/«Версия»:

При совпадении номеров можно переходить к разделу Получение файла через обновление.

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

Сохранение конфигурации (рабочей)

Сохраним КонфигОР в некий файл с именем, например, work.cf. Для этого выбираем «Конфигурация»/«Сохранить…».

Получение файла поставщика

Для сведения КонфигОР с КонфигП нужен cf-файл из дистрибутива поставщика (той же версии). По умолчанию он будет в C:/Program Files/1cv81/tmplts. Проверим наличие нужного cf-файла в таблице шаблонов. Что делать, если нет нужного файла требуемой версии конфигурации поставщика? Тогда нужно сформировать пустую БД из старой, обновить её до требуемой версии и уже потом использовать.

Получение файла через обновление

Для выполнения update cf-файла КонфигП выбирается в меню команда: «Конфигурация/Поддержка/Обновить…/Выбор файла/Готово/Выполнить» (Последовательно на картинках):

Для решения её нужно снять пометку на удаление с объекта в configuration поставщика. Потом после удаления повторно выполняем сравнение - нажимаем кнопку «Обновить» в окошке обновления.

Восстановление настроек

Часть утерянных настроек восстанавливается методом объединения с сохранённым ранее файлом work.cf. Для этого выбираем «Конфигурация/Сравнить, объединить… файла».

Сохранение и корректировка

Для сохранения КонфигОР и обновления базы данных в пункт меню «Конфигурация» выбираем «Обновить…БД». Здесь встречаем новую проблему:

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

Роли можно просто удалить, т. к. они не изменялись. Реквизит же необходимо переименовать, к примеру, на ЗаказРезерв1. А после обновления внести значения из переименованного в созданный. Ещё одна ситуация при обновлении. Как быть с формами?

Из рисунка видно, что ФормаСписка удалена поставщиком, а потом добавлена заново под тем же именем. Нужно пометить их обе на обновление и нажать «Выполнение».

Если при update выдаётся сообщение о наличии ссылок на удаляемые объекты, то, не закрывая форму, нужно очистить ссылки на неё в свойствах самих объектов. Здесь это находится в свойствах регистра. Далее в форме обновления выбрать опцию update, пометить на обновление теперь уже свойства регистра и повторно нажать «Выполнить».

Сохранение изменений рабочей и обновление конфигурации БД: «Конфигурация/Обновить…БД». Перенос значения реквизита ЗаказРезерв1 на ЗаказРезерв осуществляется внешней обработкой режима 1С:Предприятие.

Подготовка баз

По результатам сведения готовим две идентичные базы. Первая (основная) - это наш искомый результат. Вторая же (вспомогательная) - для выполнения подготовительных действий. В случае с файловым вариантом просто копируем их в каталог и подключаем к списку ИБ, с клиент-серверным - делаем выгрузку/загрузку.

Сравнение

После открытия обеих БД Конфигуратором выполним их трёхстороннее сравнение. Используем для этого файл новой КонфигП - «Конфигурация/Поддержка/Обновить…/Выбор файла…/Готово»:

Сравнение рабочей, старой и новой конфигураций поставщика даёт нам список изменённых объектов по фильтру «Показывать дважды изменённые свойства». С ними нужно решить проблему в первую очередь:

На этот момент работа со вспомогательной базой приостанавливается до окончания всего процесса, кнопку «Выполнить» больше не нажимаем. Переходим к работе в основной базе с полученным списком дважды изменённых объектов. Согласие с обновлением приведёт к потере сделанных ранее доработок. Поэтому по каждому из объектов требуется принимать решение - как он будет изменён.

Проведём предварительную оценку только лишь для уменьшения работ в последующем. Если изменений элемента больше содержится в новой КонфигП - оставляем объект поставщика. Ставим галочку. Переносим изменения из КонфигОР. Если изменений элемента больше содержится в рабочей configuration - оставляем экземпляр объекта КонфигОР. Снимаем галку. Перенесём изменения из КонфигП. Модули нужно сравнивать попроцедурно. Для этого нажимаем кнопку как на рисунке:

Расставляем галочки для указания процедур и функций на замену или удаление:

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

Последующие сравнения выполняем снова во вспомогательной базе. Находим ранее внесённые изменения дополнительным сравнением старой КонфигП с КонфигОР - «Конфигурация/Сравнить…»:

Аналогично сравниваем старую КонфигП с новой. Если файла новой нет, - его теперь можно взять из основной базы.

Итак, дважды изменённые объекты получены. В основной базе получена практически готовая configuration. В ней нужно разобраться с дважды изменёнными элементами.

ВАЖНО. При анализе пользователя должны интересовать не причины внесения тех или иных изменений, а их последствия. То есть, главное - необходимость сохранить функционал. Возможно, для этого потребуется не перенос изменённых строк, а полная переработка кода под новую КонфигП.

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

В сравнительном отчёте различающиеся данные даются в виде списка, из которого не видно какие типы данных добавлялись/удалялись. Если количество строк отчёта достигает двухсот, то процесс «ручного» сравнения представляется довольно трудоёмким (около пятидесяти часов).

Снижение трудоёмкости достигается использованием, например, конфигурации «Сравнение ячеек» от компании Информ Сервис. Она доступна к запуску в режиме 1С:Предприятие и представляет данные отчёта о сравнении в удобном виде. Сравнение осуществляется возможностями 1С:

Схема работы проста. В конфигураторе создаётся сравнительный объектный отчёт. Сохраняется в файл, к примеру, ОтчетОСравнении.mxl. В диалоге 1С:Предприятие он открывается и указываются сравниваемые ячейки (по двойному щелчку правой кнопкой мыши на выбранной ячейке табличного документа). По нажатию «Сравнить» даётся результат сравнения, при этом отличающиеся позиции выделяются цветом.

Дальнейшая инструкция действий выглядит так.

  1. Следующий отчёт сохраняется тем же именем.
  2. После окончания обновления и переноса доработок типовой конфигурации выполняется синтаксический контроль модулей и тестирование работы изменённых объектов.
  3. После удачного тестирования процесс можно считать законченным. Остаётся обновить печатные формы, отчёты и обработку. В некоторых случаях проверить внешние формы отчётности .

Работаем с 1С 7.7

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

Также сложностей нет, если в платформу добавлены дополнительные элементы учёта (справочники, константы, отборы, отчёты, регистры, журналы расчётов, пр.). Они уложатся при объединении платформ. Добавленные документы тоже не внесут дисгармонии, если не было изменений признаков для ввода «на основании» таких добавленных документов.

Рекомендуется выполнять update на быстродействующем ПК с большим объёмом оперативки. При её недостатке 1С может отказаться отрабатывать часть функций и «зависнуть». Большой объём виртуальной памяти эту проблему не решает.

Создание архивной копии

Для этой цели нужно воспользоваться опцией: «Администрирование/Сохранить данные…». Удобно указывать имя архива, совместив его с датой создания (например, ГГММДД.zip).

Подготовка каталогов

Для работы потребуется шесть файлов конфигураций (1cv7.md):

  1. «РабочийНовый» для подготовки обновления (результирующий md-файл);
  2. «РабочийСтарый» по отслеживанию изменений при сравнении и для переноса настроек в ТипНовый_2;
  3. Типовая (старая) «ТипСтарый_1». На её основе ранее была создана рабочая.
  4. Типов. (прежняя) «ТипСтарый_2». Для отслеживания изменений фирмы 1С в новой типовой версии;
  5. Тип. (новая) «ТипНовый_1». Доработки фирмы 1С в новой версии;
  6. «ТипНовый_2» для сложных объектов.

И пять запущенных конфигураторов (все кроме «ТипНовый_1»).

Первоначально каталоги попарно одинаковы:

  • «РабочийНовый» и «РабочийСтарый»;
  • «ТипСтарый_1 и ТипСтарый_2»;
  • «ТипНовый_1» и «ТипНовый_2».

Объединение элементов

Сперва проводим сравнение между 3 и 2, 4 и 5, 1 и 6. Для этого каждой из первых в паре выбрать пункт «Конфигурация/Объединение…» и указать файл метаданных 1cv7.md второго в паре. На экране отразится форма с деревом изменённых элементов. Далее необходимо провести анализ результатов попарного сравнения 3 с 2 и 4 с 5. Оставить для объединения элементы в обновляемых платформах (1 и 6), в которых были изменения от фирмы 1С (4 с 5), но не были отражены в 3 и 2. 1 и 4 нужно объединить в режиме замещения.

Прочие

Сюда можно отнести план счетов и пользовательские интерфейсы . Если в плане счетов были изменения, то его нужно обновлять в режиме «Объединение объектов» РабочийНовый вместе с ТипНовый_2. После объединения интерфейса проверяется наличие ошибок: дублирование пунктов меню, дублирование панелей инструментов, установка признаков для панелей инструментов «Расположение с новой строки».

Загрузка выполняется по сети или на сервере (предпочтительнее). Сначала монопольно обеспечивается доступ к БД. А через режим конфигуратора потом загружается база. Перед проведением загрузки и после неё выполняется архивация данных (как описано в самом начале раздела). Далее нужно следовать инструкциям файла UPDATE.TXT. После окончания загрузки все каталоги, кроме РабочийНовый, можно удалить.

Надеемся, наша публикация помогла вам разобраться с обновлением нетиповой конфигурации 1С. Мы рассмотрели это касаемо и седьмой и восьмой версий.

Оставляйте комментарии, пишите о своём опыте в обновлении 1С.