26.12.2017 Кирилл Карцев 17786
Механизм расширений в 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С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в ООО «Шокостайл»
ООО «Шокостайл»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

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

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

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

Управление персоналом и кадровый учет (HRM) Кадровый учет Расчет зарплаты Рег...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

Отрасль:
Производство

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

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

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

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

- Финансово-бухгалтерский блок
- Казначейство ...

ООО «Аэроэкспресс»
ООО «Аэроэкспресс»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление холдингом

· Планирование закупок · Управление закупочными процедурами, включая 223 ФЗ ...

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

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

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

Объемно-календарное планирование производства Автоматизация бизнес-проце...

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

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

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

- Блок планирования проектов (процессы объемно-календарного планирования пр...

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

Отрасль:
Профессиональные услуги

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

- Налоговый учет;...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

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

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление...

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

Отрасль:

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

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

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

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

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

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