Как удалить объект из расширения 1с
В платформе 8.3.18 произошли значительные изменения, связанные с механизмом расширений. Например, теперь при помощи расширений можно изменять типы реквизитов из основной конфигурации!
Этот функционал давно ожидался всеми разработчиками, использующими расширения при внедрениях.
Этот функционал давно ожидался всеми разработчиками, использующими расширения при внедрениях, так как он сильно увеличивает их возможности при доработках.
Раньше можно было только менять логику дорабатываемой конфигурации, корректировать программный код в модулях, добавлять новые объекты (справочники, документы) в расширении. А вот изменять существующие реквизиты – нельзя. Теперь такая возможность появилась.
Какие преимущества это дает?
- К примеру, когда не хватает типовой длины строкового поля, ее можно можно увеличить с помощью расширения – то есть, не снимая конфигурацию с поддержки.
- Можно увеличить длину числового реквизита в документе, когда разработчики типовой задали недостаточную длину для хранения данных конкретного предприятия.
- Также можно в реквизит составного типа добавить еще один тип данных при помощи расширения. Например, разработчик типовой предполагает, что в реквизите можно указывать только документы «Заказ клиента» и «Реализация». А на проекте для реализации требований заказчика нужно добавить в этот реквизит еще «Заказ поставщику». Это можно теперь сделать при помощи расширения, что очень удобно.
Работа с расширением типов реквизитов детально рассмотрена в этой серии видеоуроков — с практическими примерами и описаниями ограничений.
Кроме того, разобраны и другие полезные возможности расширений:
- Объединение расширений с cfe-файлом из командной строки
- Работа платформы при отключенных расширениях — когда при старте сеанса были подключены не все расширения, изменяющие структуру хранения данных
- Новая логика проверки применимости расширения, использующего аннотацию ИзменениеИКонтроль
- И другие полезные «фишки»…
Общая длительность видео – полтора часа. Приятного просмотра! :)
Видео 1 – Вступление
Ключевые моменты видео:
00:00 – Узнаем, какие темы разбираются в занятии.
Видео 2 – Объединение расширений
Ключевые моменты видео:
00:00 – При помощи какой команды пакетного режима запуска конфигуратора можно выполнять сравнение расширения с файлом на диске?
00:45 – Где на сайте ИТС найти описание параметров командной строки
04:05 – Как вручную в конфигураторе выполнить объединение расширения с файлом на диске
05:10 – Какие параметры нужно указывать в командной строке
06:40 – Почему при объединении расширения из командной строки возникает ошибка “Каталог не обнаружен”
07:50 – Как работает сохранение настроек объединения в файл
12:50 – В каких случаях на практике можно применять объединение расширения с файлом на диске
Видео 3 – Расширение типов реквизитов
Ключевые моменты видео:
00:00 – Как убедиться, что в платформе 8.3.17 и ранее нельзя изменить тип реквизита при помощи расширения
01:20 – Как установить признак контролируемого или проверяемого свойства в расширении
Видео 4 – Расширение строковых реквизитов
Ключевые моменты видео:
00:00 – Как в платформе 8.3.18 увеличить длину строкового реквизита при помощи расширения
01:20 – Какие изменения произошли в панели свойств объекта расширения
03:20 – Можно ли уменьшить длину строкового реквизита при помощи расширения
04:20 – Происходит ли потеря данных при уменьшении длины строкового реквизита с помощью расширения
Видео 5 – Расширение числовых реквизитов
Ключевые моменты видео:
00:00 – Как в платформе 8.3.18 изменить длину и точность числового реквизита при помощи расширения
01:50 – Можно ли уменьшить длину и точность числового реквизита при помощи расширения
Видео 6 – Изменение длины кода
Ключевые моменты видео:
00:00 – Можно ли изменить длину кода и наименования справочника при помощи расширения
01:20 – Как в расширении установить признак контролируемого или проверяемого свойства для длины кода и наименования справочника
02:20 – Можно ли изменить длину номера документа при помощи расширения
Видео 7 – Формирование результирующего типа
Ключевые моменты видео:
00:00 – Почему нельзя уменьшить длину строкового реквизита при помощи расширения
00:50 – Каким образом при расширении типа реквизитов получается составной тип данных
03:20 – Как при помощи расширения добавить дополнительные типы в тип данных реквизита из основной конфигурации
04:20 – Как платформа обеспечивает сохранность данных при расширении типов реквизитов
Видео 8 – Примеры расширения типа
Ключевые моменты видео:
00:00 – Какой тип данных в результате будет иметь реквизит, если его тип изменяет одновременно несколько расширений
02:15 – Как ведет себя платформа при отключении расширения, изменяющего тип данных реквизита основной конфигурации
04:30 – Как при помощи консоли запросов проверить результирующую длину строки реквизита
06:00 – Как воспроизвести пример потери данных при изменении типа данных в расширении
Видео 9 – Свойство Тип
Ключевые моменты видео:
00:00 – Как сделать в расширении свойство Тип одновременно и контролируемым, и модифицируемым
01:30 – Что означает признак контролируемости свойства при расширении типа данных реквизита
02:50 – Каким образом формируется всплывающая подсказка для свойства Тип
Видео 10 – Ограничения составного типа
Ключевые моменты видео:
00:00 – Какие типы данных нельзя включать в составной тип
02:00 – Почему при помощи расширения нельзя изменить тип строкового реквизита на ХранилищеЗначения
Видео 11 – Ограничения расширений
Ключевые моменты видео:
00:00 – Можно ли расширить тип данных для общего реквизита
00:50 – Можно ли при помощи расширения изменить тип реквизита, ссылающегося на внешний источник данных
02:50 – Можно ли расширить тип данных определяемого типа
04:30 – Какие ограничения существуют при работе с планом видов характеристик
Видео 12 – Типовые конфигурации
Ключевые моменты видео:
00:00 – Можно ли в типовой конфигурации УТ 11 воспользоваться расширением типов данных
01:20 – Какой режим совместимости необходим для расширения типов данных
02:20 – Как использование определяемых типов усложняет использование расширения типов
Видео 13 – Отключенные расширения
Ключевые моменты видео:
00:00 – Как ведет себя система, когда при старте сеанса подключены не все расширения, изменяющие структуру хранения данных
01:00 – Как работают предыдущие версии платформы в таком случае
03:40 – Какие изменения произошли в платформе 8.3.18
04:10 – Какие особенности существуют при работе со справочниками, документами, планами обмена
10:40 – Какие особенности существуют при работе с табличными частями
15:50 – Какие особенности существуют при работе с регистрами
Видео 14 – Изменение и контроль
Ключевые моменты видео:
Здравствуйте. Добавила свое расширение, поскольку основная конфа закрыта. Опыта не имею, поэтому вопрос, возможно, дилетантский.
Создала спр-ки и документы.
Все с ними хорошо, но не удаляются помеченные на удаление документы. Когда запускаешь стандартный механизм "Удаление помеченных объектов", он видит помеченные на удаление объекты этого типа, но на финальной стадии пишет "Удаление не требуется. Нет объектов помеченных на удаление", хотя они есть.
(1) тоже сталкивался с подобным, но у меня даже обработка "Удаление помеченных объектов" не находила такие объекты
Но есть же какое - то решение. Для чего же тогда расширения? Подозреваю, что что-то с правами, возможно?
Возможно нужны права на АдминистрированиеСистемы? и если есть какие то права в Расширении на этот справочник то и они должны быть у пользователя.
(4)Добавила в расширение из основной конфы Роль - ПолныеПрава и дала ее на мои объекты, созданные в расширении. Все равно не удаляет. Что еще нужно?
(6)Сложно сказать, можно попробовать отладкой посмотреть в моменте удаления почему он не хочет удалять. По собственному опыту работы с расширениями всегда старались добавлять новые объекты в основную конфу а в расширениях только изменять функционал. Так же возможно влияет вид расширения.
(7) В основную конфу нельзя - она закрыта и не будет открыта никогда . Конечно, можно исхитрится и написать обработку , которая тупо будет удалять объекты из расширения. Но наверняка есть возможность делать это стандартными методами -= не хочется городить огород
(13)Ну и напишите обработку программного удаления и назначайте ее типовой для вашего расширения. Раз типовые механизмы для Вас закрыты, назначайте свои механизмы типовыми ;)
(15)Легко сказать - трудно сделать). Для некоторых крайне сложно без использования дополнительной литературы и потраченного времени за короткий промежуток сделать обработку по удалению помеченных объектов.
(18)Я не сомневаюсь в вашей уверенности. Я сомневаюсь в совей(хотя на сайте я уже 8 лет, но был период 7 лет когда меня тут не было. с момента мой регистрации до конца 2020 года. Тут весело и много нового можно было узнать, жаль что 7 лет ушли в пустую. Иначе я бы был в списке тех для кого было бы все "легко".
(19)Я и отвечал не вам, а тому кто задавал вопрос. Ну если это не один и тот же персонаж под разными никами ;)
(20) я еще раз говорю - не проблема написать обработку по удалению. Хотелось бы разобраться .
Т.е. - я в расширении создала новую подсистему. Никаких ролей пока нет.
Все объекты (справочники, регистры, перечисления )- входят в эту подсистему
Подсистема эта в программе - показывается отдельным пунктом (с объектами, входящими в подсистему)
и в рабочей базе показываются отдельным значком
Программно - моей обработкой все объекты, помеченные на удаление - удаляются.
Но если я ввожу из основной конфигурации Роль - Полные права, у меня из программы значок расширения уходит и ничего не удаляется.
(25)А в роль объекты из расширения вы добавляете? Если просто заимствовать роль из основной, то эта роль о объектах расширения ничего не знает
(27)Ну, это какая то магия в лице моего дилетанства. Без ролей - сейчас все удалилось встроенными стандартными механизмами. Надо как то с ролями разбираться.
(28)Полагаю механизм следующий Если нет ролей в расширении то действует ваша роль из основной конфигурации. Если вы добавили роль в расширение заимствуя из основной то новые объекты в расширении вам надо добавить в новую роль и эту роль сделать доступной. Думаю что заимствование роли из основной не имеет смысла, так как в нее добавить возможно не получится. Надо проверять.
ЗЫ сам я сейчас ухожу от расширения перевожу все что наваял в основную конфу. ;) особенно формы документов. Максимум что - это отладка программного создания затем код переношу в основную.
(29)Да, буду разбираться с ролями, понадобится. Я уже писала - конфу не откроют, это точно. вот поэтому хочу сейчас в расширении реализовать.
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.11.2867.
Теперь с помощью расширений конфигурации вы можете добавлять к прикладному решению собственные структуры для хранения данных: справочники, документы, регистры сведений.
В расширении вы добавляете (или модифицируете) соответствующий объект конфигурации. При загрузке расширения, «на лету», выполняется реструктуризация базы данных, и, перезапустив сеанс, вы сразу же можете заполнять новые структуры своими данными.
Что мы сделали
Можно сказать, что это самая сложная и самая ожидаемая доработка механизма расширений. Мы доработали механизм расширений таким образом, что теперь вы можете добавить в прикладное решение объекты или реквизиты, данные которых будут сохранены в информационной базе. Раньше вы могли дорабатывать прикладное решение, но расширение не влияло на структуру хранимых данных. Теперь с помощью расширений вы можете изменить и структуру данных тоже.
Вы можете добавлять собственные:
- Справочники;
- Документы;
- Регистры сведений;
- Планы обмена.
Кроме этого к справочникам и документам прикладного решения вы можете добавить собственные:
- Реквизиты;
- Табличные части;
- Реквизиты табличных частей.
Как это устроено физически
Чтобы не усложнять, рассмотрим основные принципы работы этого механизма на примере справочника.
Если расширение добавляет собственный справочник, то для него создаётся новая таблица в базе данных. В этом случае всё просто и очевидно.
Сложнее обстоят дела, когда расширение модифицирует уже существующую структуру данных. Если расширение добавляет собственный реквизит к справочнику прикладного решения, то для этого справочника создаётся отдельная таблица с новой структурой (с дополнительной колонкой для нового реквизита). Будем называть её расширенная таблица. В неё переносятся данные из старой таблицы справочника. В дальнейшем все обращения к этому справочнику будут переадресовываться к расширенной таблице.
Независимо от количества расширений, модифицирующих этот справочник, расширенная таблица будет всегда одна. Её структура будет содержать изменения, добавленные всеми расширениями.
Если прикладное решение использует разделение данных, и расширение применяется к одной рабочей области, то в расширенную таблицу будут копироваться только те данные справочника, которые относятся к этой области. На рисунке расширенная таблица называется _REFERENCE1X, оранжевым цветом обозначена колонка, добавленная расширением.
В этой рабочей области обращение к данным справочника будет переадресовываться к расширенной таблице. А для остальных областей, для которых не применялось расширение, все обращения к данным будут адресоваться к старой, исходной таблице справочника _REFERENCE1.
Из такой реализации вытекает одно ограничение, которое, на наш взгляд, не должно существенно помешать вам использовать новые возможности.
Если расширение, модифицирующее структуру данных, вы хотите применять к отдельным областям, то все объекты прикладного решения, которые модифицируются расширением, должны разделяться только «независимо».
Если же вы хотите модифицировать и те объекты, которые разделяются «независимо и совместно», то в этом случае вам не удастся применить расширение только к одной области. Его надо будет применить ко всей базе, ко всем областям сразу. Для этого нужно указать, что разделение данных на расширения «не действует» (свойство общего реквизита Разделение расширений конфигурации = Не использовать).
Дальше рассмотрим несколько ситуаций, которые могут возникнуть после того, как вы применили к прикладному решению расширение, модифицирующее структуру данных.
Изменение расширяемой конфигурации
Итак, в базе данных появились расширенные таблицы. Но после этого конфигурация прикладного решения изменилась. Что будет происходить при реструктуризации базы данных?
Все расширенные таблицы также будут реструктуризироваться. Общая стратегия заключается в том, что все расширенные таблицы должны обновиться до нового состояния расширяемой конфигурации. При этом если в процессе их обновления возникнут ошибки, вызванные исключительно изменениями основной конфигурации, то информация об этом будет выдана так же, как и раньше.
Невозможность применения расширения
Другая ситуация - пользователи поработали, заполнили расширенные таблицы данными. После этого конфигурация прикладного решения изменилась, и при очередном запуске расширение не применилось. Что будет с данными в расширенных таблицах?
Самое главное – данные никуда не исчезнут, они останутся в таблицах. А вот способы работы с этими таблицами могут быть разными.
Самый простой случай, если расширение добавляло собственный справочник. Тогда мы оказываемся в ситуации, когда таблица есть, а метаданных, которые её описывают, нет. В этом случае данные просто будут недоступны. До тех пор, пока не будет решена проблема с применением расширения.
Более интересная ситуация получается тогда, когда расширение модифицировало существующий справочник. В этом случае мы имеем расширенную таблицу и метаданные (из конфигурации), которые описывают только часть этой таблицы. В такой ситуации данные, находящиеся в колонках, добавленных расширением, также будут недоступны. Но остальные данные можно будет прочитать.
Однако запись в этот справочник будет недоступна. До тех пор, пока не будет решена проблема с применением расширения. То есть до тех пор, когда у платформы не появится полный набор метаданных, описывающих эту таблицу.
Удаление расширения
Раньше вы могли спокойно удалять расширения из информационной базы. Это не имело никаких последствий для данных, так как расширения привносили только свою функциональность.
Теперь удаление расширений становится ответственной операцией. Потому что при удалении расширения из базы данных будут удалены и все данные, которые содержатся в структурах, добавленных расширением.
При этом если получается так, что конечная структура таблиц полностью описывается конфигурацией прикладного решения, будет выполнена и «обратная» реструктуризация. То есть данные из расширенных таблиц будут скопированы обратно в исходные таблицы объектов, а сами расширенные таблицы будут удалены.
Загрузка, применение и реструктуризация
Как вы понимаете, результатом использования новых возможностей расширения должна стать база данных с новыми таблицами. Процесс изменения структуры таблиц базы данных (реструктуризация) обычно, раньше, выполнялся только в конфигураторе. В тот момент, например, когда вы нажимали кнопку Обновить конфигурацию базы данных.
Теперь ситуация меняется. Расширения могут подключаться как в конфигураторе, так и в режиме работы 1С:Предприятие. Если при этом требуется изменить структуру таблиц, то в том же режиме будет выполняться и реструктуризация. И для её выполнения требуется монопольный режим.
Если вы работаете с неразделённой базой, то будет установлена монопольная блокировка всей базы. А если база использует режим разделения данных, то будет установлена монопольная блокировка той области, в которую загружается расширение.
При работе в конфигураторе реструктуризация, как и раньше, выполняется в момент обновления конфигурации базы данных. То есть сначала вы загружаете (или создаёте) расширение, сохраняете его в информационной базе. А затем выполняете обновление конфигурации базы данных. В этот момент происходит реструктуризация и создание новых и расширенных таблиц.
А при работе в режиме 1С:Предприятие процессы загрузки расширения и реструктуризации базы данных совмещены, не разделяются.
То есть в момент добавления расширения, или в момент его загрузки в существующее расширение, будут выполнены следующие действия:
- Загрузка расширения в информационную базу;
- Проверка возможности применения расширения;
- Анализ изменений;
- Если на предыдущем этапе выяснилось, что нужно изменять структуру данных, то будет установлен монопольный режим;
- Реструктуризация (если она необходима).
Если на 2 шаге окажется, что расширение применить невозможно, весь процесс будет возвращён к исходному состоянию, в том числе и загрузка расширения в информационную базу.
Реструктуризация в режиме 1С:Предприятие выглядит проще, чем в конфигураторе. Чтобы понять разницу, напомним, как это выглядело в конфигураторе раньше.
Сначала платформа анализировала изменение метаданных и готовила всё, что необходимо для последующего изменения структуры базы данных. Когда всё было готово, она отображала диалог будущих изменений, и ожидала от вас явной команды для того, чтобы всё это выполнить. Вы соглашались, и платформа начинала менять структуру базы данных. Если в этом месте происходил сбой, то оставшиеся изменения платформа выполняла при следующем запуске конфигуратора. Если реструктуризация не была завершена, а вы пытались запустить сеанс 1С:Предприятия, платформа не позволяла вам это сделать, и предлагала перейти в конфигуратор, чтобы завершить реструктуризацию.
Теперь, когда реструктуризация выполняется в режиме 1С:Предприятие, всё происходит так же, но проще. Отсутствует диалог явного принятия будущих изменений. Если в фазе подготовки никаких ошибок не возникло, платформа автоматически примет все изменения и изменит структуру базы данных. Если в фазе изменения структуры базы данных произойдёт сбой, то завершение изменений будет выполнено при следующем запуске сеанса 1С:Предприятия (или при следующем входе в область, если база в режиме разделения данных). То есть тут не требуется участие конфигуратора ни на какой стадии.
Ограничения и планы
Нужно сказать, что в описываемой версии мы сделали не всё, что хотелось сделать. Однако мы решили, что важнее выпустить то, что уже сделано, пусть даже с некоторыми ограничениями.
На текущий момент существенные, на наш взгляд, ограничения выглядят так:
- Регистраторы регистра сведений. Заимствованному регистру нельзя назначить ни собственный, ни заимствованный регистратор (документ);
- При этом собственному регистру можно назначить как заимствованный, так и собственный регистратор;
Эти ограничения мы планируем устранять, в ближайшее время мы будем работать в этом направлении.
Кроме этого мы планируем увеличить набор объектов конфигурации, которые можно дорабатывать с помощью расширений.
Также мы будем работать над тем, чтобы упростить создание расширений, упростить их адаптацию к изменениям прикладного решения (тот случай, когда расширение перестаёт подключаться).
Помимо этого мы готовы принимать ваши пожелания, анализировать их, и учитывать. В настоящий момент существует довольно широкий спектр задач и направлений для дальнейшего развития, поэтому своими пожеланиями вы можете повысить приоритет тех или иных задач в нашей будущей работе. Прежде всего, нам хотелось бы увидеть пожелания, основанные на реальной практике создания и использования расширений.
Для управления расширениями в конфигураторе предназначен диалог Расширения конфигурации. Доступ к этому диалогу осуществляется через меню Конфигурация ‑ Расширения конфигурации. С помощью данного диалога можно создать новое расширение, удалить существующее, открыть конфигурацию расширения, сохранить расширение в файл, а также выполнять другие операции.
Рис. 681. Управление расширениями в конфигураторе
В общем случае получить доступ к командам работы с расширением конфигурации можно следующими способами:
1. С помощью команд командная панель панели окна Расширения конфигурации.
2. С помощью контекстного меню выбранного расширения в окне Расширения конфигурации.
3. С помощью меню Действия ‑ Конфигурация окна с расширением конфигурации.
Команды, представленные в этих меню, по смыслу совпадают с командами, применяемыми для основной конфигурации. Подробное описание этих команд см. здесь.
Описание свойств Активно и Область действия см. здесь.
33.2.1.2. Создание расширения
При создании расширения необходимо указать имя расширения, его синоним и префикс имен методов и объектов, создаваемых в расширении. Этот префикс будет автоматически добавляться к новым отчетам, обработкам и подсистемам, которые созданы в расширении, а также к обработчикам событий, которые создаются в расширяющих формах. В дальнейшем этот префикс можно посмотреть в свойстве расширения конфигурации Префикс имен.
Рис. 682. Новое расширение
При создании нового расширения из расширяемой конфигурации автоматически копируются следующие свойства: Основной режим запуска, Назначение использования, Основной язык, Режим совместимости интерфейса и Режим совместимости. Эти же свойства помечаются как контролируемые.
33.2.1.3. Сохранение расширения в файл
Для установки расширения в какое-либо прикладное решение, необходим файл с расширением конфигурации. Для выполнения этого действия следует выбрать в списке расширений конфигуратора нужное расширение и использовать команду Конфигурация ‑ Сохранить конфигурацию в файл командной панели диалога Расширения конфигурации или контекстного меню этого окна.
В результате выполнения этого действия будет сформирован файл с расширением .cfe. Этот файл будет необходимо подключить к прикладному решению. Подробности работы со стандартной функцией управления расширениями можно получить в книге 1С:Предприятие 8.3. Документация “Руководство администратора”.
33.2.2. В режиме 1С:Предприятие
Для управления расширениями в режиме 1С:Предприятия предназначена стандартная функция Управление расширениями конфигурации. Подробности работы с этой стандартной функцией можно получить в книге 1С:Предприятие 8.3. Документация “Руководство администратора”.
33.2.3. Удаление расширений
Интерактивное удаление расширений (в конфигураторе или в клиентском приложении) различает удаление расширения, которое не расширяет данные и расширения, которое данные расширяет. В первом случае будет задан стандартный вопрос-подтверждение, после чего расширение будет удалено.
Во втором случае удаление выполняется в два действия. Более подробное описание удаления расширения, расширяющего данные, см. здесь.
Удаление расширения из встроенного языка выполняется без дополнительного контроля со стороны системы (метод РасширениеКонфигурации.Удалить()). Однако, разработчик может выполнить все необходимые проверки самостоятельно. Для проверки активности расширения предназначено свойство РасширениеКонфигурации.Активно. Проверить, расширяет расширение данные или нет, можно с помощью метода РасширениеКонфигурации.ИзменяетСтруктуруДанных().
Расширения в 1С 8.3 - это микро конфигурации в формате xml (текст с тегами) которые позволяют дополнить существующую конфигурацию (вклиниться) в виде слоя. Расширения в 1С 8.3 являются одновременно и данными, и метаданными. В одной конфигурации может быть N-е количество и зависимости друг от друга заранее неизвестно. В основном имеет смысл использовать в типовых конфигурациях (на поддержке). Расширение является своеобразным "клином", который можно мигрировать из одной информационной базы в другую.
Конфигуратор 1С - Меню - Конфигурация - Расширения конфигурации. При применении расширения контролируется порядковый номер версии при одинаковых ID (применяется последняя версия). Имя, синоним, префикс - называем как нам удобно.
- Исправление - применяются на конфигурацию поставщика (вклинивание в логику поставщика bug fix, инъекция в код).
- Адаптация - в логику кода не вмешиваемся. Адаптация без изменения логики и зависит от конфигурации поставщика.
- Дополнение - полностью независимое решение. Автономное решение без связки с конфигурацией поставщика.
- Активно - расширение используется. Если будет ошибка применения - признак автоматически отключится.
- Безопасный режим - влияет на работу в клиент-серверной версии. Актуально только для профилей безопасности SQL (разрешения к доступу).
- Защита от опасных действий - запрещает обращение к серверным модулям, открытие внешних отчетов, работа с интернетом. Аналогично параметрам пользователя
- Используется в распределенной ИБ - миграция расширения по распределенным узлам
- Область действия - использование БД целиком или с разделителями для различных технологий (например, для облаков)
- Использовать основные роли для всех пользователей - Рекомендуется ее отключить т.к. значительно влияет на производительность. Для всех пользователей создастся дополнительная роль (с префиксом) расширения и будет применятся. Роли пользователя в основной конфигурации будут иметь приоритет.
- Применилось ли расширение можно увидеть в Меню - Справка - О программе "Конфигурация"
- Если расширений много и не конфликтуют друг с другом - они применяются последовательно по имени и/или версии.
- Отключать расширение (Функции для технического специалиста - Стандартные - Управление расширениями конфигурации) в можно в режиме 1С Предприятие, но при закрытом! конфигураторе. Иначе при попытке отключить признак "Активно" получаем ошибку: Не удалось заблокировать запись. Действие (изменение, удаление или блокировка записи не выполнено). Ошибка блокировки объекта. Объект уже заблокирован: . После отключения расширения необходим перезапуск пользователя.
- Рекомендуется дробить расширения. Создавать на каждый объект своё, так проще контролировать применение и фиксировать ошибки, т.к. при конфликте в режиме 1С Предприятие расширение автоматически отключается.
- Найти пересечения по объектам невозможно. Поэтому расширения должны быть автономны.
- Для новой печатной формы или нового отчета/обработки рекомендуется первично использовать БСП так как количество расширение негативно влияет на производительность
- При удалении расширения сопутствующие данные удаляются без возможности восстановления
- Работать с метаданными основного поставщика не рекомендуется
Система не поддерживает зависимость объектов в конфигурации поставщика. Применяет слои в порядке их очередности ( последовательно), по списку (если они друг с другом не конфликтуют). Первыми будут применятся Исправление , потом Адаптация , а самые последние Дополнение . Далее в списке происходит сортировка по Имени и Версии расширения:
- Вызывать перед
- Вызывать после
- Вызывать вместо
- Вызывать вместо (с контролем)
При изменении существующего или добавлении нового реквизита основной конфигурации через заимствование в расширение. Система создаст новую таблицу чтение которой будет производится через основную таблицу. Поэтому при переопределении свойств реквизита (например: увеличение длины цены с 10 до 12 символов) не рекомендуется использовать заимствование объекта, а создать автономный, новый (в расширении) и работать с ним для исключения конфликтов (как заимствованные объекты). В этом случаем система создаст новую независимую таблицу. Например, также можно реализовывать через Регистр сведений или подчиненный справочник с нужными реквизитами. К баг фиксам данная рекомендация не относится!
Для переноса данных из основной конфигурации в расширение нужно писать обработку (через внешний источник (*.xml, *.bdf и т.п.) или дежурный регистр).
При добавлении в расширение из осн.конфигурации реквизита составного типа система заимствует все объекты
Если объект контролируемый (установлен признак). Система не применит расширение если основной поставщик изменит значение объекта.
Критичная: Значение контролируемого свойства Тип у объекта ***** не совпадает со значением в расширяемой конфигурации "
Также можно установить у объекта свойство: Проверять значение при подключении расширения, не запрещать подключение расширения:
Просмотреть работает ли расширение в пользовательском режиме 1С: Меню - Сервис и настройки - О программе (Расширения конфигурации:).
Отключить расширения в пользовательском режиме 1С (с правами Администратора): Меню - Сервис и настройки - Функции для технического специалиста - Стандартные - Управление расширениями конфигурации - Снять галки с ненужного расширения (Делать это нужно при закрытом конфигураторе и для применения нужен перезапуск сеанса).
Читайте также: