Ошибка применения расширения конфигурации нельзя установить область

Ошибка применения расширения конфигурации нельзя установить область

Ошибка подключения расширения в 1С 8.3

С недавних пор в платформе 1С 8.3 появились расширения, которые немного развязали руки разработчикам. Я тоже сразу начал пользоваться этой возможностью. Но вот дошло дело до обновлений конфигурации 1С БП 3.0 в которой были подключены расширения.

После обновления, при запуске конфигурации словил вот такое сообщение: "Ошибка подключения расширения, не найден объект. ". И расширение соответственно не подключилось. Какой именно объект в данном случае не важно, у меня ругнулся на "УполномоченноеЛицо". Скажу, что я делал расширение формы документа Реализация товаров и услуг и ругался он мне на объект из данного документа. Соответственно я подумал, что надо как-то обновить форму в расширении, тем более что она действительно изменилась. Т.к. информации по расширениям пока мало, стал перечитывать то, что написано на сайте ИТС.

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

Обновил форму, перезапустил конфигурацию, но ошибка осталась.

Стал читать дальше:
"При попытке подключения расширений, каждое расширение последовательно проверяется на соответствие контролируемых реквизитов между расширением и конфигурацией информационной базы. Если хотя-бы один контролируемый реквизит не проходит проверку, пользователю выдается сообщение об ошибке и это расширение не подключается."

Пошел проверять, не изменилось ли название реквизита "УполномоченноеЛицо" в конфигурации информационной базы. И оказалось, что действительно изменилось, стало называться, как это обычно бывает "УдалитьУполномоченноеЛицо". Переименовал название реквизита в расширении на такое же и ошибка исчезла, расширение подключилось.

Читайте также:  Течет сливной шланг у стиральной машины

При сохранении расширения конфигурации вы получаете ошибку:

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

Область действия можно изменить в конфигураторе: Конфигурации — Расширения конфигурации.

В списке расширений найдите нужное и правой кнопкой мыши вызовите контекстное меню и выполните пункт «Изменить область действия расширения конфигурации».

Небольшое вступление — начну с того, что считаю расширения замечательным механизмом (несмотря на возникающие проблемы и некоторые неудобства при разработке). На текущий момент полностью отказался от внешних отчетов, обработок, печатных форм и перешел на расширения.

Про расширения написано уже очень много, последняя большая статься О расширениях замолвите слово.. , но нигде не описаны 2 основные проблемы при работе с расширениями (или, возможно, я этого не заметил)

Проблема №1

Работа с таблицей невозможна. Структура таблицы несовместима с текущими расширениями конфигурации

Данная ошибка возникает при отключении расширения (снятие флага "Активно") при попытке прочитать таблицы (запросом, набором записей и т.д.) которые были модифицированы расширением.

Создали расширение, в котором есть заимствованный регистр накопления и добавленный новый документ, который участвует в движении по этому регистру. Даже несмотря на то, что новый добавленный документ не сделал еще никаких движений по регистру, ошибка будет появляться.

Возможность отключить расширение "на время" и продолжить работу в базовой конфигурации очень удобная штука, но к сожалению сделать это как оказалось не всегда возможно.

Проблема №2

На форуме периодически встречаются темы следующего содержания:

Расширения ничего не знают о типах расширяемой конфигурации (как, впрочем, и о других расширениях), как следствие невозможно в расширениях использовать тип "ЛюбаяСсылка" — какие проблемы мы при этом получаем!?

Читайте также:  Как убрать рекламу sponsored с телефона

Казалось бы, невозможность указать тип реквизита "ЛюбаяСсылка" легко обходится заимствованием документов,справочников и т.д. и указанием их типов — да, все так, но есть несколько но:

  • Все это нас устроит только до тех пор, пока не появится необходимость указать тип из другого расширения (его объекты заимствовать не получится)
  • Невозможность использовать документы — основания из расширений т.е. если мы в расширении создали новый документ и хотим его выбирать как основании для документа конфигурации (например в документе "Реализация товаров и услуг" выбрать документ из расширения) у нас ничего не выйдет.

Отсюда вытекает следующая проблема — невозможность создать структуру подчиненности (структуру взаимосвязей) объектов так как их нельзя добавить в критерии отбора, но можно воспользоваться расширением которое решает данную проблему Структура подчиненности

  • Невозможность использовать механизм дополнительных реквизитов.

Для того, чтобы использовать отчетыобработки основной конфигурации (в которых есть реквизиты с типом "ЛюбаяСсылка" или конкретным типом) в своих расширениях необходимо либо заменить используемый тип на тип "Неопределено", либо заимствовать отчетобработку и выполнить замену типа уже в расширении.

Личный опыт

При написании расширений, которые предполагают использование ссылочных типов, я использую следующий подход:

Вместо реквизита "Ссылка" я создаю 2 реквизита "СсылкаID" и "ТипCcылки" где:

  • СсылкаID — Идентификатор ссылки (строка 36 символов) XMLСтрока(Ссылка)
  • ТипCcылки" — Тип ссылки (либо строка XMLТип(ТипЗнч(Ссылка)).ИмяТипа, либо ссылка нас справочник "Идентификаторы объектов метаданныхрасширений")

Конечно, у такого подхода есть свои минусы (отсутствие ссылочной проверки, отсутствие автоматического включения в интерфейс объекта), но он позволяет создавать универсальные расширения, которые будут работать в паре с любыми другими расширениями.

Ссылка на основную публикацию
Открытые порты web proxy 80 как закрыть
Пройдя наш тест "безопасность вашего компьютера" вы обнаружили, что ваша система имеет один или несколько открытых портов и незнаете как...
Округление до сотых vba
Очень часто при создании алгоритмов подсчета тех или иных значений полученные результаты имеют значение десятичной дроби с большим количеством знаков...
Описать 5 антивирусных программ таблица
Рассмотрим некоторые антивирусные программы. Eset NOD32 (Словакия). NOD 32 Antivirus System от Eset Software обеспечивает хорошо сбалансированную безупречную защиту персональных...
Отмененный звонок в telegram
Зачем приложение Телеграм, когда есть ВЕБ ТЕЛЕГРАМ?! Встроены прокси сервера для обхода блокировки! Позволяет общаться через браузер! Можно незаметно читать...
Adblock detector