Статті - особистий досвід як швидко і без зайвих витрат оновити змінену конфігурацію
Особистий досвід: як швидко і без зайвих витрат оновити змінену конфігурацію
Оновлювати конфігурацію відразу на кілька релізів вельми небезпечно. Справа в тому, що після кожного оновлення конфігурації запускається оновлення інформаційних баз в режимі "1С: Підприємство". Тому якщо актуалізувати тільки останній реліз, інформаційні бази можуть не відповідати останньої конфігурації. У статті Дмитро Рудаков, фахівець компанії ЗАТ "Сибірська Аграрна Група", ділиться особистим досвідом з одноразового оновленню конфігурації на 12 релізів.
Перевірка режиму зміни конфігурації
А якщо конфігурація коштує на підтримку з можливістю зміни, і в цій же базі даних формується регламентована звітність, то необхідно оновлювати конфігурацію на кожен реліз, що може бути дуже дорого в людино-годинах. Наприклад, оновлення сильно зміненій "УПП" на 1 реліз може зайняти 30 годин робочого часу досвідченого фахівця.
Тому перш ніж приступати до оновлення, потрібно визначити: працюєте ви в типовій конфігурації з можливістю зміни або в конфігурації без можливості зміни? Для цього треба зайти в конфігуратор, де в меню виконайте дії "Конфігурація - Підтримка - Налаштування підтримки".
Рис.1. Виклик вікна настройки підтримки конфігурації
Якщо встановлено "На підтримку", то ця конфігурація типова, а якщо "Включено можливість зміни" - конфігурація, швидше за все, змінена (по крайней мере, така можливість закладена). Третій стан - "Конфігурація знята з підтримки". Різні стану конфігурації показані на малюнках 2, 3, 4.
Мал. 2. Типова конфігурація без можливості змін
Мал. 3. Типова конфігурація з включеною можливістю зміни
Мал. 4. Конфігурація, знята з підтримки
Алгоритм поновлення змінених конфігурацій
Нещодавно переді мною постало завдання відновлення зміненої конфігурації "Управління торгівлею", реліз 10.3.13.2. Конфігурація була змінена в результаті об'єднання з галузевим рішенням "БІТ: Управління автосервісом 8" і безперервно допрацьовувалася протягом двох років. Тепер конфігурацію потрібно було оновити до релізу 10.3.25.1, тобто на 12 релізів. Я розбив всю процедуру поновлення на кілька етапів.
Етап 1. Оцінка вартості та термінів процедури поновлення
Перш ніж приступати до самостійної роботи, я вирішив отримати незалежну оцінку фахівців в цій області. Єдина компанія, що володіє можливістю поновлення змінених конфігурацій автоматизованими методами, це ТОВ "1С-ІжТіСі". Я звернувся до фахівців цієї компанії з проханням оцінити вартість поновлення моєї конфігурації. Для оцінки часу і вартості робіт я надав поточну конфігурацію, яка потребує оновлення. Через день я отримав листа зі звітом.
Звіт за підсумками оцінки вартості і термінів проведення оновлення конфігурації:
Конфігурація: Управління торгівлею, редакція 10.3
Поточна версія конфігурації: 10.3.13.2
Оновлення до версії: 10.3.25.1
Кількість оновлюваних модулів 1 847
Кількість контрольних релізів: 8
Також я уточнив, яким чином були обрані релізи, необхідні для поновлення. У відповідь на своє питання я отримав скріншот, на якому це було наочно продемонстровано (рис. 5). У стовпці "Номер версії" вказана версія конфігурації, до якої необхідно оновитися. У стовпці "Оновлення версії" зазначено, з якого релізу можливо оновлення. В результаті оцінки кількість необхідних оновлень скоротилося до 9.
Мал. 5. Вибір релізів, які обов'язково потрібно використовувати для коректного оновлення конфігурації
Після вивчення звіту "1С-ІжТіСі" я підрахував особисті тимчасові витрати на той же самий обсяг роботи. Кожна процедура поновлення займає у мене приблизно 6 годин. Отже, загальні витрати часу становлять 56 (9х6) робочих годин, тобто приблизно сім робочих днів. Крім того, існує ймовірність, що після поновлення виявляться якісь недоліки: наприклад, користувач поскаржиться, що потрібні для нього зміни в конфігурації загублені, і тоді тимчасові витрати серйозно збільшаться. Тим часом, фахівці компанії "1С-ІжТіСі" пропонують виконати весь обсяг роботи за три-чотири робочих дня. Тому я вирішив скористатися їх послугами.
Тепер коротко поясню, що саме було змінено в конфігурації.
Сильно змінені об'єкти. Це об'єкти, в яких змінено багато типових властивостей. Коригування мають комплексний характер. Реквізити об'єкта додані в табличну частину, виведені на форму об'єкта і на форму списку. Дописані обробники доданих реквізитів в формах. Змінено типовий механізм проведення документа або запису набору руху для регістра.
Сильно змінені документи:
"Замовлення постачальникові";
"Переміщення товарів";
"Вимога-накладна";
"Надходження товарів і послуг".
Сильно змінені регістри:
"Партії товарів на складах";
"Товари на складах".
Значно змінені об'єкти. Об'єкти, в яких додані реквізити, змінені або форми об'єктів, або модулі об'єкта (як правило, проведення документа нетипове).
Документ "Прибутковий касовий ордер";
Регістр відомостей "Комплектуючі номенклатури";
Регістр відомостей "Списані товари";
Загальні модулі.
Незначно змінені об'єкти. В об'єктах змінені тільки форми і додані реквізити.
Довідники:
"Види номенклатури";
"Договори контрагентів";
"Контрагенти";
"Номенклатура";
"Типи цін номенклатури";
"Ряд регістрів відомостей".
У розділі "Загальні" змінені підписки на події, макети, ролі, загальні модулі. Майже все було змінено галузевим рішенням.
Етап 2. Видалення конфіденційної інформації
Перш ніж надавати співробітникам "1С-ІжТіСі" інформаційну базу для тестування, в ній потрібно видалити конфіденційну інформацію. Для таких випадків фірма "1С" рекомендує використовувати обробку "Зміна конфіденційної інформації", яка не дуже широко відома.
Обробка "Зміна конфіденційної інформації" призначена для вибіркового зміни або очищення інформації в інформаційній базі. Обробку можна використовувати для підготовки інформаційної бази перед передачею на тестування, де необхідно приховати (очистити, змінити) деяку інформацію.
Природно, конфіденційна інформація в кожній компанії різна, але звертаю вашу увагу на дані, які, найімовірніше, потрібно змінити:
- Довідники: Фізичні особи, Контактні особи, Контактні особи контрагентів, Контрагенти, Типи цін.
- Регістри відомостей: Паспортні дані фізичної особи, ФІОФізЛіц.
Ваш список, ймовірно, буде ширше, але це найбільш поширені дані. Їх зміна навряд чи вплине на можливість тестування вашої інформаційної бази. Також можна груповий обробкою видалити всі ті об'єкти, робота з якими обслуговуючої компанією не передбачається.
Етап 3. Отримання результатів поновлення
Через три дні мені надали cf-файли і вичерпні інструкції по їх установці. Для контрольних релізів надаються cf-файли, які не можна використовувати для роботи користувачів, так як в них оновлені тільки метадані. Вони призначені тільки для коректного оновлення на останню версію.
В результаті оновлення я виділив дві невеликі завдання для самостійного рішення.
Перша. В силу того, що оновлення проводиться з використанням механізму "Порівняння, об'єднання", конфігурація БД дійсно оновлюється, і оновлюється правильно, без технічних ризиків завдяки врахуванню контрольних релізів. Однак не оновлюється конфігурація постачальника. Зрозуміло, технічно грамотний фахівець без проблем доповнить дану роботу, однак я попросив "1С-ІжТіСі" вислати більш повну інструкцію по оновленню. Відповідно до неї, оновлення зможе зробити навіть недосвідчений фахівець.
Друга. В результаті оновлення всі об'єкти залишаються на підтримку з можливістю зміни, що теж може бути непрямим недоліком. Якщо потрібно скористатися цими послугами одноразово, тоді потрібно все об'єкти знову ставити на підтримку. Зробити це у мене поки що виходить тільки перебором всіх об'єктів метаданих. На жаль, поки цей процес виконується вручну, але в майбутньому і він буде автоматизовано.
Крім двох названих завдань, був виявлений один невеликий недолік, який, в принципі, не впливає на якість оновлення і рідко проявляється. В результаті оновлення рядка коду вихідної конфігурації і оновленої візуально збігаються, але в кінці рядків з якихось причин додані прогалини. Це є недоліком, так як кілька збільшує обсяг зміненого коду. І в разі подальшого ручного поновлення було б краще не мати таких ділянок коду. На рис. 6 наведено приклад до оновлення, а на рис. 7 - приклад після оновлення.
"Дійсно, є деякі відмінності в перекладі рядків коду, але дана зміна привнесли розробники в новий типовий реліз конфігурації УТ. Всі зміни перенесені коректно. Ви можете в цьому переконатися, порівнявши модуль Вашої оновленої робочої конфігурації і нової типової конфігурації".
Мал. 6. Код частково зміненої конфігурації до поновлення
Мал. 7. Код частково зміненої конфігурації після поновлення
Так, дійсно, розробники УТ 10.3 видалили зайві прогалини в конфігурації постачальника. Але що якби розробники видалили якісь оператори в рядку коду? Були б вони так само збережені?
"Щоб максимально точно обробляти значущі рядки (оператори) ми ігноруємо все незначні рядки і різні типи переказів рядків. Після поновлення другим проходом додаємо порожні рядки і переклади рядків. У разі якщо оновлення конкретної функції не потрібно, беремо її або з нової типової, або з робочої, зі збереженням порожніх рядків і перекладів ".
Висновки про результати поновлення
Таким чином, завдання автоматизованого поновлення вирішена майже в повному обсязі. Практично всі вдалося автоматизувати, і в більшості випадків оновлення буде проходити без корекції з боку програміста 1С. Швидкість поновлення типових конфігурацій з внесеними змінами збільшується в рази.
В цілому, можу сказати, що дана послуга і продукт мають не тільки велике майбутнє, але і цілком хороше сьогодення. Цим сервісом можна і потрібно користуватися. Думаю, що ні один програміст не візьметься вручну оновлювати конфігурацію (тим більше, змінену) з 12-ю пропущеними релізами всього за 3 000 руб.
Інформація про компанію ЗАТ "Сибірська Аграрна Група".
Група Компаній "Сибірська Аграрна Група" - провідне агропромислове об'єднання Сибірського Федерального округу. Компанія є холдинг з повним виробничо-збутових циклом, де всі процеси йдуть по замкнутому ланцюзі - від виробництва комбікормів до виробництва м'ясної продукції та її реалізації. Основними напрямками діяльності є свинарство, рослинництво, переробка та реалізація м'яса. Сьогодні до складу "Сибірської Аграрної Групи" входять: м'ясокомбінати в Лисичанську і Бердянськ, три свинарських комплексу - в Лисичанській, Свердловській областях і в республіці Бурятія, комбікормовий завод, птахофабрика "Томська", а також мережа магазинів фірмової роздробу.
Інформація про компанію ТОВ "1С-ІжТіСі". ТОВ "1С-ІжТіСі" - дочірня компанія фірми "1С". Більше 6 років спеціалізується на автоматизації процесів оновлення і тестування змінених конфігурацій на платформі "1С: Підприємство". В даний час співпрацює більш ніж з 400 партнерами, клієнтами і розробниками тиражних галузевих рішень поУкаіни і СНД.