|
26.11.2018, 20:03 | #1 |
Участник
|
Немного о том, как в 1С реализовали аналог слоев.
Больше всего расширения (термин 1С) похожи на патчи. Их может быть сколько угодно (хоть 100), они могут быть как вместе с конфигурацией, так и распространяться в виде файлов. При подключении они устанавливаются в три "слоя" (Исправление, Адаптация, Дополнение), внутри каждого слоя порядок "кто последний подключен, того и тапки". При подключении расширение проверяется на совместимость, его можно проверить и программно. Расширения, не требующие изменения БД могут подключаться "на лету", в режиме 1С:Предприятия. Расширение в любой момент можно деактивировать (но все добавленные структуры данных останутся в БД) или удалить (с изменением схемы БД). Расширять и переопределять можно практически любые структуры данных и методы. Можно создавать свои объекты и модули. Для процедур и функций объектов 1С можно делать то, что мы привыкли делать в ООП при наследовании. Формы тоже переопределяются и дополняются, они же у 1С декларативные (в виде дерева). Единственное, что нельзя - убирать команды исходной конфигурации (но можно переопределить их методы, например, отключить их). Проектирование расширения сводится к импорту нужных объектов из конфигурации в расширение, доработке этих объектов или созданию своих новых объектов. Также в рамках разработки расширения разработчик может настроить, какие свойства исходной конфигурации нужно проверять при проверке применимости расширения (например, тип и длину строки реквизита; название контролируется автоматически). 1С реализовала расширения в первую очередь для облачных сервисов, где на серверах для десятков организаций крутится одна типовая конфигурация, физически все хранится в одной БД с разделителями, но при помощи расширений можно подкручивать функциональность для одной или нескольких организаций. Организации используют расширения, чтобы не править типовые решения (например, зарплатно-кадровые). Думаю, не за горами момент, когда 1С будет в виде расширений выпускать заплатки, исправляющие ошибки для ERP (до выхода очередного релиза). Последний раз редактировалось Сисой; 26.11.2018 в 20:07. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2), natterru (1). |
Теги |
1c |
|
|