gifts2017

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

Опубликовал Алексей Константинов (alexk-is) в раздел Администрирование - Системное

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

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

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

Возможно, вы заметили, что при каждом очередном обновлении количество объектов, требующих вашего внимания, только увеличивается. При этом вы точно знаете, что изменен, например, только один документ, а при обновлении выдается список из нескольких десятков измененных объектов. Конечно, можно воспользоваться методикой описанной в статье «Технология обновления нетиповых конфигураций 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. Подготовка.

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

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

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

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

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

Рисунок 1

Рисунок 1.

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

Рисунок 2

Рисунок 2.

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

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

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

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

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

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

Рисунок 3

Рисунок 3.

 

Рисунок 4

Рисунок 4.

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

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

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

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

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

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

Рисунок 5

Рисунок 5.

Рисунок 6

Рисунок 6.

Итак, первая проблема – «Обнаружены ссылки на объекты, помеченные на удаление». (Рисунок 7).

Рисунок 7

Рисунок 7.

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

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

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

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

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

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

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

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

Рисунок 8

Рисунок 8.

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

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

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

Рисунок 9

Рисунок 9.

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

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

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

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


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

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

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

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

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

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

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

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

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

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

Рисунок 10

Рисунок 10.

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

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

Рисунок 11

Рисунок 11.

Рисунок 12

Рисунок 12.

Рисунок 13

Рисунок 13.

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

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

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

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

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

Рисунок 14

Рисунок 14.

Далее расставляем галочки, указывая какие процедуры и функции следует заменить или удалить (Рисунок 15).

 Рисунок 15

Рисунок 15.

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

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

Рисунок 16

Рисунок 16.

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

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

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

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

Рисунок 17

Рисунок 17.

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

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

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

Рисунок 18

Рисунок 18.

Рисунок 19

Рисунок 19.

Схема работы конфигурации проста. В конфигураторе создаем отчет о сравнении объектов (Рисунок 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.         

 

04.05.2008 /Константинов Алексей Викторович/
редакция от 12.04.2012

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Den (DDD2005) 15.12.08 10:44
2. Андрей Скляров (coder1cv8) 15.12.08 11:06
(1) +1 Где рисунки?...
И шрифт сделай покрупнее, пожалуйста!
3. Андрей Янакаев (YAN) 16.12.08 19:46
Автору + хорошо изложенная методика обновления!
Но все равно процесс обновления не идеальный, мне так не хватает при обновлении возможность формирования окончательного кода в процессе обновлении, и редактирования экранных форм.
4. Алексей Константинов (alexk-is) 16.12.08 20:37
(3) Данная статья является продолжением/уточнением http://www.infostart.ru/blogs/891/
5. Алексей Константинов (alexk-is) 16.12.08 20:44
(3) Кроме этого, я думаю все понимают, что "окончательный код" от версии к версии может координально меняться, всязи с изменением методик используемых/продвигаемых разработчиками фирмы 1С.
6. Валерыч (Valerich) 18.12.08 05:01
а мне очень не хватает возможности отделения обновления формы от ее модуля. Например, добавил я реквизит в документ (есть у него обработка событий или нет, неважно). А поставщик поменял реализацию нескольких методов в модуле этой формы, но не менял саму форму (что кстати тоже надо проверять - а шататный мехнизм показа различий туповат и неудобен). При объединении, форма и ее модуль выступают как единый недилимый объект. В чем-то конечно это и правильно (когда меняется привязка обработчиков и т.п к интерфейсным элементам), а в некоторых случаях без этого вполне можно было бы обойтись.
7. Алексей Константинов (alexk-is) 18.12.08 13:46
(1) (2) Рисунки не потерялись. Просто чтобы опубликовать статью потребовалось 4 часа. Никак не могу совладать с новым движком infostart.
8. Валерий (warenic) 19.12.08 14:01
(6) Эта задача была полностью решена и уже давно. По крайней мере для 7.7. Про GComp поищи материалец...
Смысл такой: все содержимое конфигурации вытаскивается в виде дерева из файлов и каталогов. Соответственно форма раскладывается на: файл с описанием визуальной формы, файл модуля формы, файл с описанием, файлы с таблицами (если есть)... Сравнить отдельные файлы и собрать из них конфигурацию непомерно легче, чем пользоваться конфигуратором. Кроме того, так можно изменить и цифровые идентификаторы объектов, вовсе недоступные штатными средствами.
9. Poppy (poppy) 19.12.08 23:52
Почему бы на 3-м этапе два действия:

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


не объединить в один?

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

10. Алексей Константинов (alexk-is) 22.12.08 06:20
(9) Все просто.
1. В этом случае новые объекты поставщика будут поставлены на поддержку;
2. Повторно сравнение объединение будет выполняться быстрее;
3. Объем хранимых конфигурационных файлов в базе данных будет меньше.
11. Poppy (poppy) 22.12.08 14:03
(10)
Просто ли?
п.1 В другом случае не будут поставлены?
п.2 О чем речь? При каких условиях, на каких этапах?
п.3 О как? Ты хотел сказать больше? Ты предлагаешь хранить в базе данных пользователя две конфигурации. В предложенном варианте - это одна конфигурация.

Лучше если в базе данных у пользователя будет включен режим запрета редактирования конфигурации. В этом случае и конфигураций будет меньше, и пользователь ничего не сможет изменить, и пункт меню Конфигурация» à «Сравнить, объединить с конфигурацией из файла…» работать не будет.
Конфигурация пользователя должна стоять на поддержке у твоей конфигурации, а твоя - у фирмы 1С.
12. Алексей Константинов (alexk-is) 22.12.08 16:33
(11) Я понимаю, что обновление через создание файлов поставки/обновления решает некоторые проблемы. Например, объем файла обновления, время обновления.
Я понимаю какой именно порядок выполнения обновления предлагается в 11 посте.
Я торжественно клянусь подумать над этим и в будущем отразить это в статье.

Если рассматривать предлагаемый в 11 посте вариант, то применительно к "твоей конфигурации".
п.1 Не имеет смысла, т.к. третий этап не нужен, а вместо этого выполняется создание файлов поставки
п.2 При выполнении этапа 1
п.3 Поправка. Предлагаю хранить 3 конфигурации: Конфигурация поставщика (старая), Основная конфигурация и Конфигурация базы данных.

Если рассматривать предлагаемый в 11 посте вариант, то применительно к "конфигурации пользователя" данная статья не имеет смысла. Т.к. на стороне пользователя процесс обновления аналогичен обновлению типовой конфигурации, а статья про нетиповые.
13. Poppy (poppy) 24.12.08 00:01
(12)
п.2 При выполнении этапа 1 при очередном обновлении? Почему бы не воспользоваться результатом этапа 2 предыдущего обновления? Если этот результат сохранить, то надобность в 1-м этапе отпадает?
14. Алексей Константинов (alexk-is) 24.12.08 00:38
(13)
2. Повторно сравнение объединение будет выполняться быстрее;
п.2 О чем речь? При каких условиях, на каких этапах?
п.2 При выполнении этапа 1
п.2 При выполнении этапа 1 при очередном обновлении? Почему бы не воспользоваться результатом этапа 2 предыдущего обновления? Если этот результат сохранить, то надобность в 1-м этапе отпадает?

Совершенно верно. При условии выполнения этапа 1. На этапе 2.
И при всех последующих обновлениях на этапе 2 минуя этап 1.
Собственно к этому все и велось - снизить трудоемкость подготовки обновлений.
15. Малышко В.Н. (molot) 26.12.08 09:46
По первому этапу: я обычно делаю проще. Если разработчик до меня допустил ошибку и версия конфигурации поставщика утратиал актуальность, ее можно актуализировать следующим образом:

- Запустить обновление до актуальной конфигурации поставщика в режиме "Поддержки"
- В появившемся списке измененных объектов СНЯТЬ ВСЕ ФЛАГИ
- Выполнить обновление

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

Или, может, я специфики не понял?
16. Малышко В.Н. (molot) 26.12.08 09:50
"Если обновление выполняется через несколько версий и нет файла *.cf, то придется воспользоваться несколькими файлами *.cfu и последовательно выполнить обновления. Это может значительно повысить трудоемкость обновления, т.к. анализ измененных объектов придется выполнить несколько раз. "

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

Про обработку удаленных объектов или переименованных объектов - все оч. грамотно написано.
17. Малышко В.Н. (molot) 26.12.08 10:12
И еще есть проблемы, кроме описаных в статье:

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

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

ЗЫ. 100-150 часов - повеселило!!! ппц ребята капусту шинкуют :)))

В общем, за статью - плюс. Полезно!
18. Алексей Константинов (alexk-is) 26.12.08 12:52
(15) Совершенно верно. Это и предлагается сделать. Только с некоторыми уточнениями, которые могут вылиться на втором этапе в необходимость "выгружать, сравнивать, объединять, переобновлять и т.п."

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

(17) "ребята капусту шинкуют". Это наша конфигурация. Мы на ней работаем и затачиваем под себя. 100-150 часов это фактически выполненные работы - на себя, а не на клиента. Т.е. типа "бесплатно". Статья писалась непосредственно в процессе обновления с исправлением допущенных ранее "ошибок". Так что все здесь написаное это из жизни.
19. Руслан Климачев (krv2k) 27.12.08 18:32
(18)->(16)
Файл поставки можно получить, выгрузив в файл конфигурацию поставщика. И, если Вы её обновили до актуального релиза (что является обязательным для возможности корректного сравнения), то получить необходимый файл поставки для "старой конфигурации поставщика" - дело нескольких кликов мышки.
20. Малышко В.Н. (molot) 30.12.08 09:15
(18) "Это наша конфигурация. Мы на ней работаем и затачиваем под себя. 100-150 часов это фактически выполненные работы - на себя, а не на клиента."

За что вы себя так :)))

(19) Поддерживаю.

На самом деле статья - очень хорошая и полезная для неискушенных в этом деле пользователей. Спасибо!
21. vilich (vavvv) 22.01.09 11:00
Спасибо. Полезная статья!
22. Дмитрий Карпов (Diamond_Angel) 06.02.09 13:08
Большое спасибо как автору, так и комментирующим.
23. Александр Кузин (sashocq) 13.02.09 00:05
Спасибо, почерпнул кое-что новое.

А насчет выявления изменений в ролях - тут может помочь вот эта обработка: http://infostart.ru/projects/3407/
24. Алексей Константинов (alexk-is) 04.03.09 21:59
Подробнее расписал второй этап...
25. Terv Terv (Terv) 26.06.09 09:47
Почитал. В общем неплохо, но есть неточности и недочеты.
26. Алексей Константинов (alexk-is) 26.06.09 14:52
27. Georg Kond (GeorgKond) 06.07.09 15:26
У меня вопрос по первому этапу.
Не могу сообразить, почему приведение конфигурации поставщика в соответствие с релизом основной конфигурации нельзя сделать так:
1. Создаём информационную базу из дистрибутива с версией, такой же, как у нашей основной конфигурации.
2. Сравниваем, объединяем конфигурацию этой базы с конфигурацией из файла work.cf.

В результате, ведь, должны получить cf с правильным релизом конфигурации поставщика? Или я чего-то не понимаю? Такое ощущение, что здесь подводные камни есть, но не могу понять какие.
28. Алексей Константинов (alexk-is) 07.07.09 12:46
(27) В этом случае вы получите конфигурацию, дающюю идентичный результат, при сравнении с методом, описанным в первом этапе, если сравнение выполняется по именам. И совершенно различный результат при сравнении по внутренним идентификаторам. При этом в случае загрузки полученной вами конфигурации могут быть потеряны данные (удалены колонки / добавлены аналогичные, удалены регистры / добавлены аналогичные, и т.д.), что собственно и описано в первом этапе.

Разумеется это касается только конфигураций, где были изменения в структуре базы данных (Перечислений, ПлановОбмена и т.п. это тоже касается). Если изменения были в модулях или формах диалога, то описанный вами вариант вполне подойдет.
29. Georg Kond (GeorgKond) 07.07.09 20:43
Спасибо за ответ! Полегчало)))

Ещё есть вопрос. Как быть в ситуации, если между релизом Конфигурации поставщика и и релизом Основной конфигурации существуют промежуточные релизы типовых конфигураций. Здесь необходимо обновлять конфигурацию поставщика последовательно, или можно обновить её сразу на последний релиз? Если пойти по первой ветке этого моего предположения, то не получится ли так, что основная конфигурация "обновится" до более старой версии, чем она есть сейчас? А если пойти по второй - обновить сразу на последний релиз типовой, то не возникнет ли каких-нибудь лишних несоответствий?
Этот последний вопрос у меня возникает из-за незнания вот чего: Конфигурация поставщика нужна только для обновления, или на её метаданные имеются "ссылки" из основной конфигурации? (если не "ссылки", то, видимо связь есть по внутренним идентификаторам?)
Проясните пожалуйста!
30. Georg Kond (GeorgKond) 07.07.09 20:45
И, насколько независимо от информационной базы можно оперировать конфигурациями при решении вопроса "Здесь необходимо обновлять конфигурацию поставщика последовательно, или можно обновить её сразу на последний релиз?" из (29). Обновлять с открытием инф.базы в режиме 1С:Предприятие, когда да, а когда нет?
31. Алексей Константинов (alexk-is) 07.07.09 21:36
(29) (30) Очень правильный вопрос. Как показывает практика, то при обновлении УПП практически каждый релиз является обязательным. И после обновления необходимо выполнить запуск в режиме 1С:Предприятия. При этом если изучить модуль, отвечающий за переход от версии к версии, то может создастся впечатление, что можно обновиться с любого релиза на последний. На самом деле, к сожалению, это далеко не так.

Для определения цепочки обновлений самым надежным способом будет - следовать рекомендациям разработчика - фирмы 1С. Пример построения цепочек обновлений можно посмотреть в здесь http://www.infostart.ru/blogs/898/
Но в случаях когда структура метаданных не подвергается изменениям разработчиком, то обновления можно объединить.

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

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

Еще раз повторюсь. В базе хранятся: Конфигурация поставщика, Конфигурация базы данных и изменения к конфигурации базы данных. Основная конфигурация получается из конфигурации базы данных и изменений к конфигурации базы данных (если они есть, т.е. в случае когда основная конфигурация отличается от конфигурации базы данных).
32. gochel (gochel) 09.07.09 17:49
33. Алексей Константинов (alexk-is) 09.07.09 18:21
(32) По моему тоже. Добавили роли, но... По прежнему нет макетов, интерфейсов, типов реквизитов. Во всяком случае в описании нет :)

Нетиповыми бывают не только УПП. При стоимости БП 10 т.р. приобрести еще автоматическое обновление за 400 т.р. :)
34. Александр (BandW) 17.07.09 09:47
(32) Дорого! А судя по их калькулятору стоимости обновления не все так автоматизировано.
Особенно мне понравилось - Вы знаете стоимость последнего обновления?

Нет демо версии!

Но направление верное.
35. Sensey Master (MSensey) 30.07.09 16:37
>> Особо пристальное внимание следует уделить шаблонам RLS по измененным ролям пользователей.

Для снижения трудоемкости работ при сравнении ролей можно воспользоваться отчетом «Информация по ролям» http://infostart.ru/projects/3739/

Если добавишь будут благодарен ;)
36. Денис Лихошерстов (Hans) 30.07.09 19:04
еббб Рисунки че то сбились.
37. Lvbnhbq Lvbnhbq (stuntman) 07.11.09 00:11
Достаточно громоздкий вариант. При обновлении нетиповой конфигурации УПП мало того что очень медленно все эти телодвижения делать, еще и памяти не хватает даже для достаточно мощного компа - вылетает с ошибкой и не дает доделать обновление, пробовал на нескольких компах, видимо для УПП этот вариант обновления будет работать только на мощных станциях. Комп: AMD Athlon 64*2 Corel Processor 4400+, память 2046 RAM и другие аналогичные.
38. Алексей Константинов (alexk-is) 08.11.09 15:39
(37) Приведенный вариант ПК для программиста слабоват :)
...у меня RAM 4Gb + RAID 0
39. Светлана Куприянова (Merlin12042009) 25.01.10 14:25
Добрый день! Вы сейчас на сайте.Помогите, плиз.Очень хотелось бы выделить изменения в конфе УПП 24.2, чтобы легче было перенести в 27-ую через механизм поставки, снимаю галочку "Создать файл поставки", какой файл мне нужно добавить в табличную часть?...
40. Алексей Константинов (alexk-is) 25.01.10 14:37
41. Светлана Куприянова (Merlin12042009) 25.01.10 14:39
Создала файл cfu для 24-ой, а теперь???
42. Светлана Куприянова (Merlin12042009) 25.01.10 14:57
на форуме, куда вы меня послали, я не могу ничего спросить :(
43. Алексей Константинов (alexk-is) 25.01.10 14:59
(41) Хм. Даже не знаю с чего начать...
Попробуйте действовать в порядке описанном в этой статье. Если этого будет не достаточно, то в начале статьи есть ссылка на инструкцию по 7.7. Там расписано несколько подробнее...
44. Алексей Константинов (alexk-is) 25.01.10 15:03
(42) Для того, чтобы писать, нужно нажать "Вступить в группу пользователей" :)
45. Доржи Цыденов (support) 10.02.10 20:39
(42) для этого надо просто вступить в группу
http://infostart.ru/public/18562/enter/
46. Азамат (palshar) 25.03.10 08:43
Хотелось бы уточнить, если конфигурация снята польностью с поддержки, и конфигурация поставщика отсутствует технология такая же будет обновления.
47. Алексей Константинов (alexk-is) 25.03.10 09:19
(46) Да. Начиная с 1 этапа.

Дело в том, что методика описанная в данной статье лишь позволяет снизить издержки на последующие обновления конфигурации. Это совершенно не означает, что не существует других способов обновления конфигураций. Другие способы есть. Их много. В конце концов вы можете разработать свою методику. :)
48. Азамат (palshar) 25.03.10 10:07
Спасибо :) Скажите а если, в конфигурации которая снята с поддержки, через меню «Конфигурация» → «Сравнить, объединить с конфигурацией из файла…» мы будем объединять с конфигурацией поставщика т.е. старой на базе которой была создана конфигурация наша и в настройках при объединение мы уберем галку разрешать удалять объекты основной конфигурации, так то же можно начать.
49. Азамат (palshar) 25.03.10 10:13
Спасибо :). Если в конфигурации, которая снята полностью с поддержки мы сделаем объединении через меню «Конфигурация» → «Сравнить, объединить с конфигурацией из файла…» с конфигурацией поставщика и при этом в настройках не будем ставить галочку разрешить удаление объектов основной конфигурации. Как это может повлиять на дальнейший процесс обновление конфигурации.
50. Алексей Константинов (alexk-is) 25.03.10 10:43
(48) Да
(49) Нет
Точнее так. Раз это влияет на результат, то соответственно в некоторой степени повлияет и на процес. Но я бы не стал на этом зацикливаться. Лучше двигаться дальше. Самое интересное ещё впереди.
51. Виталий (chigsrOck) 02.04.10 10:05
(50) Здравствуйте! Если можно маленький вопросик: При обновлении через поддержку в плане вихов характеристик -> "Виды субконто хозрасчетные" снимаю галочку объединения в строке "Предопределенные" чтобы перенести в новую конфу свои предопределенные элементы. При попытке обновления выскакиевает окно как на рис. 7 только в заголовке что-то типа "Найдены ссылки на объекты не помеченные на участие в объединении" и в нижнем окне список доков, макетов, справочников.
Честно говоря не совсем понял в чем заключается ошибка, если объект при обновлении никуда не девается???? Как состав предопределенных объектов связан с сылками на объект ПВХ?? Спасибо.
52. Алексей Константинов (alexk-is) 02.04.10 10:22
(51) Кнопочка Продолжить доступна? Если доступна, то данное сообщение можно рассматривать как предупреждение. Т.е. дана информация к размышлению, а уже вы решаете двигаться дальше или изменить состав обновляемых данных.
53. Алексей Константинов (alexk-is) 17.04.10 10:11
Обновил содержание статьи
54. Алексей Константинов (alexk-is) 20.04.10 14:05
Опубликована последняя редакция статьи от 16.04.2010
55. Константин - (Kosstikk) 17.06.10 01:23
Начал читать статью и сразу появились вопросы..

Зачем столько гемороя с 1м пунктом, если чтобы обновить конфу поставщика нужно всего лишь:

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

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

З.Ы. автор пиши в личку, поделюсь опытом =)

З.Ы.Ы. зачем постоянно ставим "установить порядок объектов по конфигурации поставщика"? - чтобы последующие сравнения быстрее выполнялись, а в итоге не было лишнего мусора в виде измененного порядка объектов при обновлении.
farhod54; the1; Sgeor; buket; klinval; burlakov_a_a; Tilirxs; VovkaPutin; Kri26s; katavyjob; elvira23; Galimova_Alsou; +12 Ответить 1
56. Алексей Константинов (alexk-is) 17.06.10 06:38
(55) Я так и понял, что статья не была прочитана. В первом пункте конфигурация поставщика конечно же участвует, но цель первого пункта несколько другая.
приведем в соответствие рабочую конфигурацию к конфигурации поставщика

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

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

Или это какой-то секретный опыт? Тогда конечно же в личку...
57. Константин - (Kosstikk) 17.06.10 09:19
у тебя конфигурация поставщика 1.2.4.1 обновляешься ты на 1.2.6.2 - на тот релиз, который в основной конфигурации.

Не очень понятно. Ты хочешь убрать мусор который получился из-за накаток конфигурации вместо обновлений? Какая цель 1го пункта?
58. Алексей Константинов (alexk-is) 17.06.10 09:49
(57) Цель: убрать несоответствия, которые могут получиться, если конфигурация собиралась/обновлялась как попало. Например, объекты конфигурации добавлялись копированием, перетаскивались мышью, были набиты вручную. Есть еще вариант, что было проделано то, о чем я только что упоминал в копии, а обновление было свормировано как поставка и устанавливалось не через поддержку. Ну, и т.п.
Merlin12042009; +1 Ответить
59. Светлана Куприянова (Merlin12042009) 17.06.10 19:51
КАК ускорить процесс обновления, если я обновляла конфу, а в это время эта же конфа дорабатывалась еще пару дней активно в старом релизе.Как мне выделить этот кусок, чтобы его просто объединить с тем что я делала ранее?...Может быть у кого-то была аналогичная ситуация?...)))
60. Алексей Константинов (alexk-is) 18.06.10 05:29
(59) Нужно сравнить исходную рабочую конфигурацию, которую вы обновляли, с новой рабочей конфигурацией. Исходную конфигурацию можно взять в архиве. Искренне надеюсь, что у вас есть архивные копии http://infostart.ru/public/19363/

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

Так как не указано с какого релиза на какой выполняется обновление, я предположил, что между релизами не было ключевых http://infostart.ru/public/18596/
61. Анастасия Подгорнова (AfterEclipse) 30.07.10 06:08
ммм, а если просто так натыкать галочками процедуры не подходит?:) если надо переносить код причем и со старой конфы и с новой ибо обновление затрагивает изменения в старом коде?
62. Алексей Константинов (alexk-is) 31.07.10 12:26
(61) Тут все просто. Нужно найти человека с золотыми руками и светлой головой. :)

В некоторых случаях перенос кода (процедур) не даст нужного результата, так как могут в значительной степени измениться учетные методики. Соответственно это потребует переработки кода. Технология не исключает творчества, а лишь позволяет снизить временные затраты на рутинных операциях и избежать наиболее типовых ошибок.
63. Анастасия Подгорнова (AfterEclipse) 02.08.10 06:43
в том то и соль что роль этого человека в ближайшее время будет вверена лично мне и я пытаюсь набраться опыта в этом деле:)
64. Алексей Константинов (alexk-is) 02.08.10 09:56
(63) Может быть в чем-то поможет разобраться эта статья? http://www.infostart.ru/public/18551/
66. 1 (gradus) 13.02.11 12:51
Спасибо за статью.
Все же остался вопрос по дальнейшем обновлению.
Допустим
1. Установили клиенту типовую конфигурацию (для примера релиз 1)
2. На копии внесли изменения (добавили реквизиты существующих объектов)
3. На копии "Конфигурация" - "Сохранить конфигурацию в файл..." - получаем релиз 1 с доработками.
4. У клиента на рабочей базе "Конфигурация" - "Сравнить, объединить с конфигурацией из файла..." и подсовываем файл из п.3

Далее сам вопрос.

Вышло обновление поставщика (релиз 2)

Как лучше обновиться?

А. (У Вас это этап 3)

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

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

Б.(а можно ли так?)
1. Взять копию базы клиента
2. дальше не знаю :(

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

С уважением.
67. 1 (gradus) 13.02.11 12:56
68. Алексей Константинов (alexk-is) 13.02.11 23:17
(66) Предпочитаю вариант Б. Это позволяет сохранить мелкие доработки, которые пользователь может внести самостоятельно. А также этот вариант позволяет проверить работу конфигурации после обновления на реальных данных.
69. 1 (gradus) 14.02.11 11:24
А какие шаги нужно предпринять в варианте Б?
2.
3.
4.
...

С уважением.
70. Алексей Константинов (alexk-is) 14.02.11 11:47
(69) Собственно порядок действий описан в статьях и в комментариях к ним. Даже не знаю, что ещё можно добавить.

http://infostart.ru/public/18551/
http://infostart.ru/public/18562/
http://infostart.ru/public/18596/
71. bulpi bulpi (bulpi) 14.06.11 20:52
Как это все сложно ...

"В приведенном примере объем работ по обновлению и переносу изменений типовой конфигурации составляет порядка 100-150 часов. "

За 150 часов я напишу новую базу , оттестирую и внедрю. :D :D
72. Александр Медведев (anig99) 14.06.11 21:04
(71) собственно тут есть более короткий вариант... Но хотелось бы посмотреть на человека, который способен за 20 дней написать и оттестировать УПП.
73. bulpi bulpi (bulpi) 14.06.11 21:48
(72)
А кто говорит про УПП ? И вообще про типовую конфу, способную занять сектор рынка ? Если серьезно ( в отличие от моего предыдущего сообщения), такие вещи не делают быстро и в одиночку. Но вот толково автоматизировать учет одной конкретной (непроизводственной!) фирмы за 150 часов вполне реально. Согласитесь, это несопоставимо с тратами 150 часов всего лишь на одно обновление.
74. Александр Медведев (anig99) 14.06.11 21:53
(73) ну да. 150 часов - это ОЧЕНЬ много.
75. Алексей Константинов (alexk-is) 15.06.11 07:47
(74) "в моем случае с пары сотен часов, до 8". Пара сотен часов - это не много?

(73) В статье ведь указано, что ранее при обновлении были допущены ошибки. Как результат - резкое увеличение трудоёмкости обновления. Кроме этого описанный в статье переход через большое количество релизов сопровождался исправлением ошибок, допущенных при предыдущих обновлениях, а также переписыванием некоторых измененных механизмов, связанных с обменом данными, правами пользователей и т.д. Последнее же обновление с подготовкой, тестированием и установкой с 1.2.38.1 на 1.2.39.1 заняло 3 часа. 3 часа - это много?
76. Анатолий Дмитрук (progres488) 01.07.11 14:47
ПВы правы лучше отправить на поедение хомякам
77. Александр Рытов (Арчибальд) 01.07.11 15:15
(73)
Но вот толково автоматизировать учет одной конкретной (непроизводственной!) фирмы за 150 часов вполне реально.
Завод с сезонным производством. РАУЗ. 170 часов.
Но если уже есть извращенная конфигурация, кто ж тебе даст внедрять другую :o
78. Anton Chikov (Fr1eNd_Tver) 28.09.11 12:53
Щас буду тестировать вашу методику, я так понял формы все равно придется править вручную?
79. Алексей Константинов (alexk-is) 28.09.11 13:25
(78) В большинстве случаев, да, вручную.
80. Николай (Koles) 29.09.11 14:55
81. tvv (pmtvv) 09.10.11 14:54
За статью спасибо, пригодилась
82. Игорь Размета (Gar1ck) 11.10.11 15:40
Все грамотно описано, плюсанул.
83. Руслан Климачев (krv2k) 12.10.11 11:20
Статья очень понравилась, все грамотно расписано.
К автору несколько замечаний:
1.
Если в комплекте поставки новой версии конфигурации существует файл *.cfu для перехода с текущей версии конфигурации, то лучше воспользоваться именно этим файлом. В этом случае в сравнении будут участвовать только измененные поставщиком объекты, соответственно вся процедура обновления может быть выполнена значительно быстрее.

Обновление через cfu не может быть быстрее, так как сначала платформа на основании конфигурации поставщика и файла обновления создает cf
2. при выборочном обновлении модулей опасно расставлять галки, так как может сбиться порядок процедур и функций
это может быть критично, если в модуле есть директивы препроцессора
3. при обновлении обычных форм, если нужно обновить только саму форму, но оставить модуль формы неизменным, нужно быть осторожным, так как в этом случае мало предсказуемые казусы (сама форма обновляется частично). Возможно, они имеют место быть и при частичном обновлении модуля формы, но я сталкивался с таким только если снять флаги со всех процедур и функций
84. Наталия Киселева (kng67) 25.10.11 13:58
Статья понравилась. Помогла в разрешении нескольких вопросов по началу. Да и комментарии по статье вызвали интерес. Распечатала, подложила себе в папку. Может еще кому-нибудь начинающему пригодится.
85. Василий Мазурок (mvgfirst) 31.10.11 14:35
Я видимо очень начинающий.. ибо перечитываю сатью уже 5-й раз... и постоянно путаюсь... что в какой конфигурации делать.. какая из них первая.. какая вторая... как-то сумбурно написано... в некоторые детали автор погружается как для полных даунов.. в плоть до кнопочки на картинке... а там где надо понять что в какой конфигурации делается... автор пробежался вскользь...
Я конечно понимаю что лучше один раз сделать руками самому чем языком балаболить... и возможно станет все понятно...
но на данном этапе - я запутался.. что к чему приводим, какую конфигурацию обновлять.. и как...

P.S.
Не сочтите за наглость и бахвальство, на самом деле, это пока самая полная и подробная статья по обновлению что я нашел... но и она тяжела в понимании и все потому что автор иногда пропускает важные детали где они нужны... и описывает там где и так все понятно.
86. Алексей Константинов (alexk-is) 31.10.11 14:49
(85) Изначально статья писалась для сотрудников нашей компании, у которых есть довольно большой работы с 1С. В последствии статья несколько раз переписывалась с учетом вновь открывшихся проблем. Какой именно момент не понятен?
87. Ольга Королева (olqueen) 10.11.11 23:53
Статья понравилась. Попробую на этой неделе обновить конфигурацию.Посмотрим, что получится.
88. Dima (ch1mera) 15.11.11 12:35
89. Ольга Зверькова (Lyuba-Lyuba) 23.11.11 10:25
90. ВладимирП Пономарев (владимирп) 29.11.11 06:55
Дельная подробная статья. Спасибо автору
91. Антон (woozee) 29.11.11 12:02
Геморная статья.. Много лишнего. Где то не совсем правильная методика... Сам обновляю разновсяческие конфигурации разной сложности без проблем и всякого лишнего подобно тому что тут написано.
92. Алексей Епанчин (IChe) 30.11.11 17:29
93. Edil Edil (Sorry) 01.12.11 12:20
да и мне помогло!спасибо
94. Роман (Raminus) 01.12.11 13:45
Статья несколько загромождена ненужными манипуляциями. ИМХО
95. Пуд (Пуд) 07.12.11 11:26
(91) woozee, Согласен, на днях обновлял свою первую нетиповую, прочитал несколько статей, в том числе и эту. Неподготовленного человека она пугает и запутывает. Методика не прозрачна, потом сравнение по "дважды измененным" при переходе через несколько версий не совсем точное. У меня, во всяком случае, некоторые объекты не попали в отобранные. В общем проще надо быть, конечно.

mvgfirst пишет:

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

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

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



P.S.

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

Тут тоже подписываюсь. Очень сложно и перегружено. А описывать понятное - подробно, а темные моменты - обходить - вполне в духе 1С:)
Но в любом случае спасибо за труд! Какие-то моменты могут оказаться полезными!
96. F1_1 (F1_1) 07.12.11 12:47
97. qqqqqq1 (ilnur.56) 08.12.11 15:29
98. Николай Дворецкий (DnlAuto) 09.12.11 12:21
Спасибо за развернутую статью она избавляет от многих ошибок, особенно начинающих программистов. Для начинающих программистов она не заменит опыта, а указывает путь по которому следует развиваться.
100. mimos 19.12.11 10:22
Хм. вроде обновлять - обновляешь , а как ты это делаешь описать трудно )) Молодец. Плюс за труды.
deadman66; +1 Ответить
102. deadman66 (deadman66) 21.12.11 10:14
толковая статья. обновляюсь по ней, использую как инструкцию, что бы ничего не забыть. использую ещё статью по прыжкам через 20 релизов http://infostart.ru/public/18596/
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа