26.12.2017 Кирилл Карцев 17412
Механизм расширений в 1С 8.3. Последовательно...
Содержание:
1. Что такое механизм расширений в 1С
2. В каких ситуациях стоит задуматься о применении этого механизма
3. Последовательность перевода доработанной системы на расширения 1С
4. Обновление и поддержка расширений в 1С

Что такое механизм расширений в 1С


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

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

В каких ситуациях стоит задуматься о применении этого механизма


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

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

• Когда это - требование клиента. Такое тоже бывает: Заказчик просит «настроить» систему, но не снимать ее с поддержки, чтобы было проще ее обновлять. Последнее время такое требование стало встречаться все чаще;

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

При использовании распределенных информационных баз (РИБ). Можно адаптировать функциональность конкретного узла, не внося изменения в основную конфигурацию;

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


Последовательность перевода доработанной системы на расширения 1С


Рассмотрим последовательность перевода конфигурации на расширения 1С. Для примера у нас есть 1С:Бухгалтерия 3.0 с добавленным реквизитом номенклатуры – «КЛ_ШтрихКодОсновной». Реквизит выведен в форму элемента справочника.

           1. Разворачиваем в тестовой среде платформу версии 8.3.11 (или выше) и копию переводимой базы. Все дальнейшие работы делаем первоначально на копии рабочей базы;

           2. Проверяем режим совместимости конфигурации. Осуществляем переход на режим совместимости с платформой не ниже 8.3.11, если такое возможно. Иначе придется подождать выхода типового релиза в совместимости с 8.3.11 (не использовать);

 

Рис. 1. Режим совместимости

           3. Добавляем новое расширение и «заимствуем» в него все необходимые объекты. Заимствовать нужно объекты прямо или косвенно связанные с дорабатываемым функционалом;
На рисунке ниже представлено расширение «Штрих коды КЛ», в котором «заимствованы» необходимые объекты основной конфигурации.
 

Рис. 2 Расширение «Штрих коды КЛ»

             4. Первыми переносим изменения структуры хранения данных (добавленные или измененные по составу объекты). На этом этапе нужно перенести не только изменения в структуре, но и измененные данные в расширение. 

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

В нашем примере нам надо перенести реквизит «КЛ_ШтрихКодОсновной» в расширение. Переименовываем реквизит в источнике в «КЛ_ШтрихКодОсновной1». Добавляем в расширение «КЛ_ШтрихКодОсновной» с таким же типом. Запускаем обработку с кодом:
 


Данные успешно перенесены в расширение.
          5. Далее переносим все остальные доработки системы (формы, модули, отчеты, роли и т.д.);
В нашем примере это будет форма элемента справочника. Тут довольно просто: в заимствованную форму элемента нужно вывести новый реквизит объекта.

          6. Откатываем основную конфигурацию на типовую. Как это сделать, можно найти в интернете.

          7. Тестируем результат в новой системе. База типовая, а данные и добавленная функциональность сохранились:


 

Рис. 3 Добавленная функциональность перенесена в расширение.

          8. Осуществляем переход на рабочей базе и работаем.

Обновление и поддержка расширений в 1С


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

 Кирилл Карцев,
руководитель отдела внедрения ООО “Кодерлайн”.


Наши проекты

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
«1С: Управление торговлей»

- Создание прототипа SRM-системы на базе «1С: Управление торговлей»
- Автомат...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Бухгалтерский учет
- Расчет зарплаты и кадровый учет
- Налоговый учет ...

Фирма 1С
Фирма 1С

Отрасль:

Внедренное типовое решение:
1С:Документооборот

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

Автоматизация контроля исполнительской дисциплины на базе ПП «1С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

Отрасль:
Строительство и девелопмент

Внедренное типовое решение:
1С:Документооборот 8 ПРОФ

- Делопроизводство;
- Учет и хранение документов;
- Учет и контроль исполне...

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

Отрасль:
Авиаперевозки

Внедренное типовое решение:
1С:Бухгалтерия КОРП

Бухгалтерский учет Производственные операции Регламентированная отчетнос...

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

Внедренное типовое решение:
1С:Управление производственным предприятием

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

ООО «Еврорадиаторы»
ООО «Еврорадиаторы»

Отрасль:
1С:ERP 2.4

Внедренное типовое решение:

Специалисты «Кодерлайн» помогли перенести базу из текущей системы «1С:ERP 2.2» ...

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

ООО «Мир Аксиомы»
ООО «Мир Аксиомы»

Отрасль:
Аудиторские и консалтинговые услуги

Внедренное типовое решение:
1С:Бухгалтерия КОРП

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

ООО «Солви Пак»
ООО «Солви Пак»

Отрасль:
Торговля. Производство печати на рулонных материалах

Внедренное типовое решение:
1С:CRM+1С:Комплексная автоматизация

Управление отношениями с клиентами (CRM) ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение