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

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

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

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

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

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

  • Поиск и сопоставление измененных объектов;
  • Внесение обновлений из нового релиза;
  • Внесение ранее произведенных изменений, «затертых» на предыдущем этапе;
  • Проверка совместимости и работы процессов.

Разница будет заключаться во времени реализации: если доработок много, процесс соответственно займет больше времени, потребует сосредоточенности, внимания и ручной проверки.

Рассмотрим для среды 1С обновление нетиповой конфигурации на примере «1С:Управление торговлей» (релиз 2014 года) на следующий доступный релиз.

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

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

Выгрузка информационной базы завершена:


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


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


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


Окно со справочной информацией, инструкцией и очередностью обновлений:



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


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


Остались только объекты, подходящие под это условие:


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


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

*Давайте разберемся в терминологии:

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


Настраиваем форму отчета и выгружаем его. Список внесенных ранее изменений зафиксирован:


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


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


Принимаем список изменений:*


*Если кнопка «Принять» неактивна, следует запустить «Тестирования исправлений»:



Запускаем через F5 отладку и получаем подтверждение легальности обновлений:



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

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

ЛЮБОЕ обновление конфигурации начинается с выгрузки ИБ. Это "золотое правило", это надо помнить всегда, это надо делать при любом методе (даже если там про это забыли сказать). Далее, можно пойти двумя способами: либо обновлять в тестовой базе, либо обновлять в рабочей базе. Тут важный момент в следующем: обычно изменённые конфигурации обновляют не на каждый релиз (как это можно легко делать с типовыми), а сразу на несколько, поскольку этот процесс трудозатратный. В первом способе (обновлять на тестовой базе) - предполагается итоговый перенос обновления на рабочую базу через загрузку cf-файла. В этом случае могут произойти ошибки, связанные с удалёнными реквизитами (об этом можно найти множество статей). Стало быть - есть некоторые риски, но зато во время обновления (которое может занять целый день и даже дольше), пользователи могут спокойно работать, изменяя базу данных. Во-втором способе (обновлять на рабочей базе) - эти риски исключены, но на всё время обновления ключевые пользователи не смогут работать в этой базе. В форумах есть достаточно обсуждений, какой метод чем хорош и стоит-ли переносить обновление через файл конфигурации. Могу лишь сказать: исходя из опыта работы по первому способу, подобных ошибок не случалось при загрузке cf-файла. В любом случае - по бэкапу можно восстановить базу. Здесь будет рассматриваться именно первый способ, но на суть метода это не влияет и при желании можно действовать по второму способу, используя предложенный метод.

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

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

1. Сохраняем в текстовых файлах изменения конфигурации ДО и ПОСЛЕ обновления. Открываем в режиме Конфигуратора рабочую и тестовую базы. Открываем в них конфигурации. И в обеих базах запускаем обработку сравнения конфигурации ("Конфигурация - Сравнить конфигурации..."). ВАЖНО : в обеих базах одинаково выбирать конфигурации:

Причём сохраняем следующим образом: в рабочей базе (где конфигурация ДО обновления) - в файл с окончанием "old", а в тестовой базе (где конфигурация ПОСЛЕ обновления) - в файл с окончанием "new".

2. Внесение утерянных изменений в обновлённую конфигурацию . Переходим к ключевому этапу метода. Поскольку это основной пункт, то для небольшого пояснения происходящего немного мат.части. На платформе 1С 7.7 файл обновления представлял собой полную конфигурацию. И обновление в 1С 7.7 заключалось в загрузке новой конфигурации и реорганизации базы данных под эту конфигурацию. Таким образом, и конфигурация, и обновление по сути были одним и тем же md-файлом. В отличии от платформы 1С 7.7, на платформе 1С 8.x: конфигурация передаётся через cf-файл, а обновление - через cfu-файл. Отличие этих файлов в том, что cf-файл содержит все объекты конфигурации, а cfu-файл - только те, которые изменяются данным обновлением. И, таким образом, при обновлении на платформе 1С 8.x затрагиваются только те объекты конфигурации, которые реально изменились в новом релизе. В результате, если такой объект изменялся нами, то после обновления он полностью заменится на типовой, и нам будет необходимо повторить в нём те изменения, которые были у него до обновления так, чтобы этот объект содержал и наши изменения, и изменения нового релиза, одновременно. Но зато если изменённый нами объект конфигурации не затрагивался обновлением - в нём останутся наши изменения после обновления. Чтобы проще это понять - изображу это в виде схемы:

На данной схеме изображена некоторая типовая конфигурация в процессе изменения и обновления. Строки - это её объекты (документы, справочники, обработки и так далее). Сначала (под номером I) - это просто типовая конфигурация: все объекты без каких-либо изменений. Потом, под номером II, мы уже видим типовую изменённую конфигурацию: некоторые объекты были изменены и эти изменённые объекты обозначены красным цветом. Под номером III - это очередное обновление для типовой конфигурации: по сути оно содержит только затронутые изменениями нового релиза объекты, которые обозначены зелёным цветом, но для наглядности я дорисовал и все остальные объекты. И нам требуется получить обновлённую типовую конфигурацию (изображённую на схеме I), но с изменениями и схемы II, и схемы III. На данном примере - эта конечная конфигурация изображена под номером IV и содержит один объект, который был изменён и нами, и обновлением. Остальные изменённые нами объекты, очевидно, остались нетронутыми данным обновлением. Теперь вопрос: как внести ВСЕ наши изменения в объект, который был затронут обновлением? Очевидно, что нам надо сделать два шага: во-первых, отыскать этот объект, а во-вторых - найти в нём места, где должны быть наши изменения и внести их заново. Замечу, что, естественно, таких объектов может быть несколько и требуется их всех найти и исправить. Итак, приступим к этому последнему этапу обновления. На данный момент, у нас должна быть открыта тестовая база в режиме Конфигуратора. Если там ещё открыт результат обработки сравнения конфигураций или ещё какое-нибудь окно - закроем их всех, чтобы не путаться. Далее - мы открываем рабочую базу в режиме Конфигуратора (на время обновления тестовой базы можно было закрыть её) и запускаем там сравнение конфигураций. И описание последних двух шагов (найти и исправить) я помещу в отдельные подпункты:

2.1. Поиск объекта, с затёртыми обновлением изменениями . Самое время вспомнить про txt-файлики с окончаниями old/new. На самом деле, в этих файлах отражены все изменения конфигурации (относительно типовой) ДО и ПОСЛЕ обновления соответственно. Таким образом, если мы какое-то изменение затёрли обновлением, то оно будет только в файле "ОтчетОСравнении_old.txt". То есть - поиск необходимых объектов конфигурации сводится к сравнению этих двух файлов. Сравнивать эти файлы мы будем с помощью файлового менеджера Total Commander и его встроенных инструментов. Думаю, что здесь не нужно пояснять, что такое Total Commander, где его брать и как им пользоваться... Тем не менее, требуемые этапы его применения здесь кратко буду описывать. Итак, запускаем Total Commander. Если язык интерфейса английский (главное меню и так далее), то можно сменить на русский: "Configuration - Options...", в диалоговом окне выбираем в левом столбике раздел "Language", в списке ищем/выбираем "Russian (Русский)" и жмём "OK". Далее, через Total Commander ищем txt-файлы отчётов, выделяем их ("Insert" или "правым кликом мышки") и запускаем сравнение файлов: "Файлы - Сравнить по содержимому..." (в английском интерфейсе: "Files - Compare By Content..."). В открывшемся окошке слева/справа отображается соответственно содержимое файлов, кнопки "Следующее отличие"/"Предыдущее отличие" позволяют искать различия. Этот инструмент позволит быстро найти интересующие нас объекты.

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

2.2. Внесение изменений в обновлённые объекты. После того, как мы нашли объект с затёртыми изменениями, надо определить, где именно были эти изменения: в модуле (программном тексте), диалоговом окне (на форме) или иных настройках. Здесь я буду разделять два случая: изменение в модуле и все другие изменения. И рассмотрим эти два случая отдельно.

2.2.1. Затёртые обновлением изменения были в модуле. На самом деле, это основной случай (такое встречается намного чаще) и этот случай как раз в нашем примере: изменение удалились в модуле "УчётНДС". Как выше мы уже напоминали, что в Конфигураторе рабочей базы у нас открыто окно сравнения конфигураций. Ищем там необходимый нам объект. На самом деле, его положение в дереве конфигурации описано в нашем текстовом файле, а именно: "ОбщийМодуль.УчетНДС.Модуль". Именно так и ищем в окне сравнения. Разворачиваем дерево подчинённостей пока не найдём нужный модуль - с левого края напротив него должен быть зелёный карандаш, показывающий, что объект изменён по сравнению с конфигурацией поставщика. По найденной строке кликаем правой кнопкой мышки и выбираем "Показать различия в модулях...":

После этого откроется окно сравнения модулей:

Здесь, в верхней части указаны процедуры и функции , в которых имеются изменения (в нашем случае - это одна процедура "ВывестиСчетФактуруВТабличныйДокумент"), а в нижней части - тексты выбранной процедуры или функции с выделенными изменениями. Нам нужно эти изменения перенести в нашу тестовую базу. Но при этом не удалить изменения от обновления. Автоматизировать это можно следующим образом. Устанавливаем курсор в левую нижнюю часть (где текст выбранной процедуры с нашими изменениями) и жмём последовательно Ctrl+A (выделить всё) и Ctrl+C (копировать выделенное в буфер). Затем создаём файл с условным названием "old_izm.txt", открываем в текстовом редакторе и жмём Ctrl+V (вставить содержимое буфера). То же самое делаем для правой нижней части (где текст выбранной процедуры из типовой конфигурации необновлённого релиза) - в результате создаём файл с условным названием "old_type.txt". После этого переходим в Конфигуратор тестовой базы (он должен быть открыт рядом, но без каких-илбо окон внутри, чтобы не путаться в этих двух конфигураторах) - и в конфигурации ищем наш модуль (в данном примере это "ОбщийМодуль.УчетНДС.Модуль") и в нём необходимую процедуру (в данном примере это "ВывестиСчетФактуруВТабличныйДокумент"): выделяем её всю и копируем в новый текстовый файл с условным названием "new_type.txt". Таки образом, у нас появилось три файла ("old_izm.txt", "old_type.txt", "new_type.txt"), на основе которых нам нужно создать четвёртый файл - "new_izm.txt". В этом четвёртом файле как раз должны содержаться наши изменения, но с учётом обновления. Его мы будем формировать последовательно сравнивая имеющиеся три файла. Для начала определим, имеются-ли в этой процедуре следы изменений обновления? Для этого мы сравниваем через Total Commander (см. выше) файл "old_type.txt" и "new_type.txt". Если сравнение показало, что файлы идентичны или различие в количестве пробелов или знаков табуляции - это значит с этим куском изменений нам повезло и перенести изменения можно просто скопировав содержимое файла "old_izm.txt" и вставив в открытый модуль тестовой базы, удалив перед этим соответствующую процедуру (проще говоря - заменив её). Тут важно аккуратно следить за пробелами до и после процедуры, чтобы не было лишнего в дальнейшем сравнении: на функциональность это, конечно, не повлияет, но слегка затруднит проверку. Если же сравнение "old_type.txt" и "new_type.txt" показало, что есть реальные различия - это означает, что в этой процедуре имеются как наши изменения, так и изменения обновления. Чтобы упростить задачу переноса: сначала можно визуально оценить, каких изменений больше - от обновления или наших. Для этого опять же через Total Commander последовательно сравниваем "old_type.txt" с "new_type.txt" и "old_izm.txt". И смотрим, где изменений больше: в сравнении "old_type.txt" и "new_type.txt" или в сравнении "old_type.txt" и "old_izm.txt". Если изменений больше в первом сравнении (обновление сильнее изменило функцию), то легче исправлять файл обновлённый, внося наши изменения, то есть - изменяем "new_type.txt". Условно назовём это первый случай внесения изменений. Если изменений больше во втором сравнении (у нас было больше изменений), то легче исправлять наш файл, внося изменения обновления, то есть - изменяем "old_izm.txt". Условно назовём это вторым случаем внесения изменений. Теперь, как именно быстро и точно перенести изменения. Для этого мы создаём четвёртый файл и, как уже договаривались, называем его "new_izm.txt". С учётом оптимизации переноса исправлений, копируем в этот файл содержимое либо "new_type.txt", либо "old_izm.txt" (соответственно, для первого или второго случая внесения изменений).
Теперь открываем сразу два окна сравнения файлов. Для первого случая внесения изменений - это сравнения для файлов "new_izm.txt"/"old_izm.txt" и "old_type.txt"/"old_izm.txt". Для второго случая - это сравнения файлов "new_izm.txt"/"new_type.txt" и "old_type.txt"/"new_type.txt". В окне сравнения есть кнопка "Редактирование": нажмём её в сравнении первой пары. Теперь поясним, что мы видим. В первой паре сравнения видны объекты и от нашего изменения, и от обновления. В соответствии, какой у нас случай, нам надо перенести изменения только наши, либо только обновления. Во втором окне сравнения - как раз видны только те изменения, которые мы должны перенести. Если обратить внимание - в обоих случаях, второй файл и первого, и второго сравнения - один и тот же. Поэтому мы ориентируемся на строки в этом файле, и по строкам во втором сравнении, вносим изменения в окне первого сравнения: нажатая кнопка "Редактирования" как раз позволит нам это сделать.

Для "наглядности" изобразим графически действия при переносе в первом случае (изменяем обновлённый файл, внося наши изменения):

Действия во-втором случае - абсолютно аналогичны и принцим действия ровно такой-же.

Самый сложный и неприятный случай - когда наши изменения и изменения обновления - в ОДНОМ месте. То есть реально на одном сегменте кода были два изменения. В таком случае требуется вмешательство программиста. Так же вмешательство программиста, но в меньшей степени, требуется, если, например, обновлением изменены имена переменных, которые используются в наших изменениях. Стоит заметить так же, что в файле "old_type.txt", либо "old_izm.txt" могут быть пустые строки - это "следа" наших измений. Переносить надо так, чтобы в конечном файле их не было. На функциональность это не влияет, но в дальнейших сравнениях (при последующих обновлениях) - это немного затруднит анализ действий. Итак, после того, как мы сформировали четвёртый файл, перенеся все изменения - надо его содержимое скопировать в конфигурацию. В Конфигураторе тестовой базе, должен быть открыт нужный модуль на новом месте: удаляем существующую процедуру и вставляем содержимое нашего конечного файла, с учётом всех пробелов между предыдущими/последующими функциями. Таким образом мы перенесли изменения ОДНОЙ процедуры найденного объекта. У нас (рис. 6) эта процедура действительно одна. Если таких процедур несколько - описанные действия надо проделать для каждой. Если процедура новая (только в левой половинке) - то просто добавить её в соответствующий модуль в тестовой базе (для корректности дальнейшего сравнения - нужно сохранить порядок процедур, как в соответствующем модуле рабочей базы, где ещё старый релиз).

2.2.2. Затёртые обновлением изменения были НЕ в модуле. Для переноса таких изменений подобное сравнение никак не упростит работу, поэтому переносятся изменения просто визуальным сравнением объектов в рабочей и тестовой базах.

Таким образом - переносим изменения для каждого объекта, где наши изменения затёрлись обновлением. Чтобы проверить, насколько мы верно перенесли все изменения - сохраняем конфигурацию в тестовой базе, выгружаем сравнение конфигураций в файл "ОтчетОСравнении_new2.txt" и сравниваем с файлом "ОтчетОСравнении_old.txt". Если всё идиально, то будет сообщение "Файлы идентичны". Если обновлением были удалены какие-то объекты - то при правильном переносе изменений будут видны только эти объекты в различии. Правильным будет если в сравнении будут видны только пробелы/пустые строки/табуляции, но в таком случае лучше это вычищать и добиваться сообщения "Файлы идентичны". Таким образом, после сохранения изменений в тестовой базе, выгружаем сравнение в файл и сравниваем с изменениями в старом релизе - повторяем это до тех пор, пока сравнение не покажет, что мы перенесли все требуемые изменения.

3. Переносим обновлённую конфигурацию из тестовой в рабочую базу . На предыдущих этапах мы обновили тестовую базу до последнего релиза, проверили и перенесли необходимые изменения и сохранили полученную конфигурацию. Теперь мы её выгружаем в cf-файл и загружаем в рабочую базу. Перед загрузкой - необходимо сделать копию рабочей базы и снять с поддержки конфигурацию. ВСЁ. Пользователи "бездельничали" только в начале, когда мы выгружали базу, и в конце, когда мы снова выгружали базу и загружали конфигурацию.

На этом обновление полностью завершено.

Оригинал статьи находится на сайте

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Создание "старого" файла поставщика для текущей конфигурации. Файл 1cv8.cf можно взять из дистрибутива поставщика или сохранить из рабочей базы, если конфигурация находится на поддержке. Для сохранения файла 1cv8.cf из рабочей базы необходимо в меню «Конфигурация» U94; «Поддержка» U94; «Настройка поддержки...» нажать кнопку «Сохранить в файл» и указать каталог и имя файла. Например, на рабочий стол.

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

    Создание файла "новой" конфигурации поставщика. Для этого выбираем пункт в меню «Конфигурация» U94; «Сохранить конфигурацию в файл...». Уточняем расположение и имя файла 1cv8.cf . Нажимаем «Сохранить».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Аналогичным образом сравниваем старую конфигурацию поставщика с новой . Для сравнения нам понадобится файл новой конфигурации поставщика . Если такого файла нет, то теперь его можно получить из основной базы. Для сохранения в файл новой конфигурации поставщика в основной базе в меню «Конфигурация» U94; «Поддержка» U94; «Настройка поддержки:» нажимаем кнопку «Сохранить в файл». (Рисунок 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, выбрав пункт меню «Конфигурация» U94; «Сохранить конфигурацию в файл…».

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Определение типа конфигурации

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


Стандартная (типовая) конфигурация – подготовка к обновлению

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

Третий способ происходит чуть позже, на этапе обновления через интернет. Можно все сделать через диск ИТС, которые поступают на предприятие ежемесячно, также этот диск можно взять у сотрудника, имеющего договор с ИТС, только нужно проследить за совпадением конфигураций. В противном случае все выполняется через интернет. Есть важный нюанс: пакеты обновления устанавливаются строго последовательно, и какие-то релизы были пропущены, то система потребует установить вначале их. содержится в меню Справка, где понадобится нажать раздел О программе.
Если с интернетом все в порядке, то требуется зайти на сайт usersv8.1c.ru, в котором вводится логин и пароль. Далее выбираются нужные конфигурации, находящиеся по ссылке Скачать обновления. Следующий шаг – это выбор конкретных релизов, с учетом самых первых и тех, которые выходили недавно. Все файлы по очереди сохраняются на компьютере. Перед обновлением требуется открыть всех архивные файлы, и установить каждый релиз. Релизы можно загрузить, как было описано, и из диска ИТС. Теперь нужно заходить в режим Конфигуратора, после чего слева должны отображаться объекты, если же их нет, то потребуется нажать вкладку Открыть конфигурацию.
Для обновления пользователь переходит в Конфигурация-Поддержка-Обновить конфигурацию. В новом окне нажимается Поиск.

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

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

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

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

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

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

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

Возможные при обновлении 1С

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

Для решения проблемы потребуется:
— менять количество символов в кодах;
— менять коды в информационной базе;
— менять свойство контроля уникальности во всех справочниках.

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

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

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