Alexander Speshilov (speshuric) wrote,
Alexander Speshilov
speshuric

Categories:

Технология работы с конфигурацией

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

Графическая схема

Схема конфигураций, 19,63 КБ

Роли участников процесса

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

Описание конфигураций и информационных баз

См. графическую схему.
  1. Стандартная конфигурация УПП. На поддержке . Изменения запрещены. Развёрнута как минимум одна ИБ с этой конфигурацией у разработчика, ответственного за приём обновлений 1С, причём обычно это типовая демонстрационная ИБ. На этой же ИБ же проверяются сообщения об ошибках в типовой конфигурации перед отправкой в службу поддержки.
  2. Конфигурация, которая находится на поддержке с разрешёнными изменениями. Развёрнута у каждого разарботчика Синар в виде пустой ИБ с загруженной конфигурацией (никогда не запускается в режиме "Предприятие"). Связана с хранилищем, а значит основная конфигурация всегда идентична основной рабочей ИБ (это будет видно из процесса работы). Предназначена для нескольких задач: во-первых, служит буфером обмена между хранилищем и ИБ, в которой ведётся разработка, во-вторых именно в этой ИБ формируются файлы поставки. Подробно о происхождении этой ИБ см. "Цикл обновления". По сравнению с типовой конфигурацией 1С, кроме функциональных различий, надо отметить, что изменен идентификатор на УправлениеПроизводственнымПредприятиемСинар, а также изменена информация о поставщике и некоторые другие идентификационные реквизиты "корня" конфигурации.
  3. Основная ИБ. На поддержке Синар без возможности модификации. С ней работают пользователи (разработка в ней не ведётся). Иногда может служить базой для снятия копии для последующего создания информационной базы для разработки.
  4. Конфигурация для разработки. Находится на поддержке Синар с возможностью изменения. Такая ИБ (как минимум одна) развёрнута у каждого разработчика, может содержать копию данных основной ИБ.

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

Под "данными" в данном абзаце понимается структура конфигурации и её наполнение, а не данные информационных баз!
  • Из конфигурации 1 в конфигурацию 2 данные попадают через механизм обновления конфигурации поставщика. Т.к. в конфигурации 2 разрешены изменения и она отличается от типовой конфигурации, то обновление происходит со сравнением и объединением и требует достаточно продолжительного времени. (Ответственный - Разработчик, ответственный за приём обновлений 1С)
  • ИБ с конфигурацией 2 связана с хранилищем, поэтому осуществляется постоянная двусторонняя синхронизация с хранилищем. (Ответственный - Разработчики Синар)
  • Для подготовки файла поставки, используется ИБ с конфигурацией 2, связанная с хранилищем. Обязательно перед формированием файлов поставки конфигурация обновляется из хранилища. Обязательно полученный файл поставки проверяется на ИБ разработчика с конфигурацией 4. Возможно автоматизированное выполнение скриптом. (Ответственный за создание файлов поставки - Администратор создания файлов поставок, ответственные за формирование версии хранилища - Администратор хранилища конфигурации)
  • Полученные файлы поставки складываются в общую папку шаблонов обновлений с нумерацией версий по хранилищу конфигурации. Возможно автоматизированное выполнение скриптом. (Ответственный за контроль, архивацию, доступ и т.п. - Администратор создания файлов поставок)
  • Файлы обновления при помощи механизма обновления конфигурации поставщика загружаются в основную ИБ. В отличие от обновления типовой УПП здесь не происходит сравнения/объединения. Возможно автоматизированное выполнение скриптом. (Ответственный - Администратор загрузки файлов поставок)

Цикл доработки

Расписано достаточно подробно, на самом деле сам процесс достаточно быстрый (но проходит все стадии).
  1. Разработчик Синар разрабатывает некий блок или изменение в ИБ с конфигурацией 4. При этом есть определённые правила оформления кода, рекомендации по разработке и реестр доработок, которые позволяют "не потеряться" этой доработке в конфигурации.
  2. Администратор хранилища конфигурации дополнительно контролирует, что внесенные изменения не разрушат структуру хранилища и конфигурации 2
  3. Разработчик Синар (совместно с Пользователем) осуществляет предварительную проверку разработанного блока в ИБ с конфигурацией 4
  4. В зависимости от харакетра доработки разрабатывается план тестирования
  5. Администратор создания файлов поставок создаёт файл поставки в ИБ с конфигурацией 2
  6. Разработчики Синар тестируют файл поставки по планам тестирования в ИБ с конфигурацией 4
  7. Администратор создания файлов поставок принимает решение о допустимости загрузки файла поставки в рабочую ИБ (конфигурация 3)
  8. Администратор загрузки файлов поставок загружает файл поставки в рабочую ИБ (конфигурация 3)
  9. Все разработчики Синар обновляют конфигурацию 4

Цикл обновления

Обновление по типовой 1С очень неприятный и сложный момент в работе. И, кстати, спасибо фирме 1С, что она, как может, этот процесс облегчает нам. Где не указано, там действия выполняет Разработчик, ответственный за приём обновлений 1С.
  1. Получается информация от об изменении.
  2. Принимается решение о целесообразности и сроках обновления. Обычно ждём неделю-две, если нет чего-то срочного в обновлении. Иногда обновлять не имеет смысла из-за незначительности изменений (вносятся "аналогичные" изменения по циклу доработки)
  3. Захват всех объектов конфигурации в хранилище. Все разработчики предупреждаются об этом.
  4. Обновление конфигурации 2 по конфигурации 1 через механизм поставок и сравнение-объединение. Очень сложный и творческий процесс. Требуется сохранить всю текущую функциональность, внеся изменения от типовой 1С. Занимает 2-6 дней без сохранения конфигурации. Большой объём ОЗУ и надёжный ИБП - обязательны!
  5. Сохранение конфигурации 2 в обновлённом варианте. Хранилище пока не обновляется!
  6. Проверка конфигурации путём "загрузить конфигурацию из файла" на ИБ с конфигурацией 4.
  7. Формирование плана внедрения и планов тестирования.
  8. Обновление версии хранилища. Ни в коем случае эта версия не уходит в рабочую ИБ!
  9. Тестирование версии хранилища всеми разработчиками по планам, по "своим" участкам с привлечением опытных пользователей.
  10. Обновление версии хранилища. Потому что на предыдущем шаге почти гарантированно что-то "всплывает".
  11. Окончательное тестирование.
  12. Разработчик, ответственный за приём обновлений 1С формирует обновлённый файл конфигурации 2.
  13. Все разработчики создают новую пустую ИБ с конфигурацией 2 и связанную с хранилищем.
  14. Обновление (по стандартному циклу) загружается в рабочую ИБ
Tags:
Subscribe

  • Странная штука powershell...

    Странная штука powershell... Простой скрипт: $start = get-date for($i=1; $i -le 1000000; $i++){} $end = get-date ($end-$start).TotalMilliseconds #…

  • про Linux

    С IE на оперу я перелез, когда мне понадобилось сильно экономить трафик. Других достоинств у оперы нет и не было. Как появилась возможность - перелез…

  • Об эффективности отечественной государственной системы

    Только Факты: 1. Сегодня курс доллара 1$ = 28.223 (по данным rbc.ru) 2. По данным BBC: Соединенные Штаты уже потратили на участие в военной и…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 17 comments

  • Странная штука powershell...

    Странная штука powershell... Простой скрипт: $start = get-date for($i=1; $i -le 1000000; $i++){} $end = get-date ($end-$start).TotalMilliseconds #…

  • про Linux

    С IE на оперу я перелез, когда мне понадобилось сильно экономить трафик. Других достоинств у оперы нет и не было. Как появилась возможность - перелез…

  • Об эффективности отечественной государственной системы

    Только Факты: 1. Сегодня курс доллара 1$ = 28.223 (по данным rbc.ru) 2. По данным BBC: Соединенные Штаты уже потратили на участие в военной и…