Показать сообщение отдельно
Старый 26.11.2018, 20:03   #16  
Сисой is offline
Сисой
Участник
Аватар для Сисой
Злыдни
1C
 
934 / 335 (13) ++++++
Регистрация: 05.02.2003
Адрес: Москва
Немного о том, как в 1С реализовали аналог слоев.
Больше всего расширения (термин 1С) похожи на патчи. Их может быть сколько угодно (хоть 100), они могут быть как вместе с конфигурацией, так и распространяться в виде файлов. При подключении они устанавливаются в три "слоя" (Исправление, Адаптация, Дополнение), внутри каждого слоя порядок "кто последний подключен, того и тапки".
При подключении расширение проверяется на совместимость, его можно проверить и программно. Расширения, не требующие изменения БД могут подключаться "на лету", в режиме 1С:Предприятия.
Расширение в любой момент можно деактивировать (но все добавленные структуры данных останутся в БД) или удалить (с изменением схемы БД).
Расширять и переопределять можно практически любые структуры данных и методы. Можно создавать свои объекты и модули. Для процедур и функций объектов 1С можно делать то, что мы привыкли делать в ООП при наследовании.
Формы тоже переопределяются и дополняются, они же у 1С декларативные (в виде дерева). Единственное, что нельзя - убирать команды исходной конфигурации (но можно переопределить их методы, например, отключить их).
Проектирование расширения сводится к импорту нужных объектов из конфигурации в расширение, доработке этих объектов или созданию своих новых объектов. Также в рамках разработки расширения разработчик может настроить, какие свойства исходной конфигурации нужно проверять при проверке применимости расширения (например, тип и длину строки реквизита; название контролируется автоматически).
1С реализовала расширения в первую очередь для облачных сервисов, где на серверах для десятков организаций крутится одна типовая конфигурация, физически все хранится в одной БД с разделителями, но при помощи расширений можно подкручивать функциональность для одной или нескольких организаций. Организации используют расширения, чтобы не править типовые решения (например, зарплатно-кадровые). Думаю, не за горами момент, когда 1С будет в виде расширений выпускать заплатки, исправляющие ошибки для ERP (до выхода очередного релиза).

Последний раз редактировалось Сисой; 26.11.2018 в 20:07.
За это сообщение автора поблагодарили: sukhanchik (2), natterru (1).