1с можно ли критерии отбора добавить в расширение
Механизм расширения конфигурации 1C
Как указано в описании: «Механизм расширения конфигурации – это специальный механизм, предназначенный для доработки расширяемой конфигурации без изменения этой конфигурации (в том числе без снятия с поддержки).»
Основным назначением расширения конфигурации является доработка прикладных решений (конфигураций) под нужды клиента. При этом нет необходимости в снятии дорабатываемой конфигурации с поддержки. В результате сохраняется простота сопровождения и обновления типового прикладного решения, стоящего на поддержке.
При разработке расширений следует учитывать следующие факты:
Расширение может иметь одно из следующих назначений:
Расширение создается в конфигураторе, хранится в информационной базе и может быть выгружено в файл. Для подключения расширения, сохраненного в файл, в прикладное решение нет необходимости использовать конфигуратор. Подключить расширение можно с помощью стандартного функционала (Все функции Стандартные Управление расширениями конфигурации). Подключить расширение также используя программный интерфейс, предоставляемый платформой.
Ограничения использования расширений:
Расширения конфигурации не поддерживают создание следующих собственных объектов:
Не поддерживается расширение следующих объектов:
Не поддерживается добавление реквизитов и табличных частей для:
Не поддерживается изменение структуры регистров всех видов. Поддерживается только расширение состава регистраторов.
В базовых версиях прикладных решений работа с расширениями не поддерживается.
Стоит помнить, что Механизм расширения конфигурации – это перспективный постоянно развивающийся механизм и с выходом новых версий платформ их функционал только расширяется и лишается текущих недочетов.
Как добавить расширение конфигурации 1С 8.3
Для создания расширения необходимо запустить 1С в режиме конфигуратора.
В конфигураторе необходимо зайти в меню «Конфигурация» и выбрать пункт «Расширения конфигурации». Откроется окно со списком расширений (если они есть). Далее нажмем кнопку «Добавить». Мы увидим диалоговое окно создания расширения:
Стоит отдельно выделить поле Назначение – необходимо выбрать его значение в зависимости от решаемой задачи – т.к. мы выполняем добавление объектов по требованиям конкретного заказчика – нам подойдет вариант «Адаптация».
Добавим в расширение справочник Категория должности по Классификатору Предприятия. Стоит обратить внимание, что в название всех объектов процедур и функций созданных в расширении, добавляется его префикс (в нашем случае Расш1_);
Разместим наш новый Справочник в Подсистеме «ШтатноеРасписание» для этого необходимо добавить эту подсистему в Расширение – Перейдем в дерево основной Конфигурации и нажмем правой кнопкой мыши на строке с нужной подсистемой и выберем пункт «Добавить в расширение».
Теперь мы можем управлять ее составом, добавим наш новый объект в подсистему.
Далее добавим в расширение Справочник Должности и добавим для него новый реквизит КатегорияДолжности с типом СправочникСсылка.Расш1_КатегорияДолжностиПоКлассификаторуПредприятия
Далее необходимо решить задачу с выводом реквизита КатегорияДолжности на форму Справочника Должности, реализовать это можно двумя способами:
Останавливаться на плюсах и минусах каждого решения не будем, а ниже рассмотрим оба варианта.
Интерактивное изменение Формы в расширении.
Для того чтобы вывести Реквизит на форму интерактивно: необходимо добавить саму Форму «ФормаЭлемента» в расширение. Обращу ваше внимание на следующий момент – для того чтобы появилась возможность Интерактивного добавления Реквизита объекта на форму необходимо сам Объект тоже добавить в расширение.
Далее добавим новый Реквизит в подходящую Группу на форме.
Запустив 1С в режиме Предприятия убедимся, что новый Справочник появился в интерфейсе
А открыв элемент справочника Должности, увидим, что добавляемый реквизит Категория должности также в нужном месте.
Программное изменение Формы в расширении.
Для того чтобы программно добавить элемент на форму нам необходимо определится в каком месте это сделать оптимально с точки зрения простоты дальнейшей поддержки и обновления конфигурации.
Предлагаю воспользоваться одной из процедур вызываемых в обработчике Формы «ПриСозданииНаСервере», в которую передается наша Форма в качестве параметра например УправлениеСвойствами.ПриСозданииНаСервере.
Перейдем в Общий модуль УправлениеСвойствами где находится данная процедура, и кликнем правой кнопкой мыши по процедуре ПриСозданииНаСервере. В выпадающем меню выберем пункт «Добавить в расширение»
Система предложит нам выбрать одну из аннотаций, подробнее о каждой из них рассмотрим в следующих публикациях, а сейчас выберем «Вызывать после»
Далее в добавленную процедуру поместим следующий код:
Готовое расширение можно выгрузить в файл перейдя в конфигураторе в меню «Конфигурация» и выбрать пункт «Расширения конфигурации». В открывшемся списке расширений по правой кнопкой мыши можно вызвать выпадающее меню, либо выбрать пункт командной панели «Конфигурация» и выбрать пункт «Сохранить конфигурацию в файл…». На выходе мы получим Файл типа *.cfe который можно передать заказчику.
Таким образом, мы научились создавать собственные расширения на примере конкретного кейса.
Фирма “1С” достаточно часто выпускает новые версии платформы. Среди них можно выделить версии-”прорывы” с принципиально новым функционалом. К таким можно отнести, например, платформу 8.3.11, в которой появилась возможность изменять структуру хранения данных при помощи расширений конфигурации.
А могут быть версии платформы не настолько революционные, но в которых появился полезный, ожидаемый функционал и в которых разработчики продолжают планомерное развитие механизмов платформы. И 8.3.16 как раз относится к таким релизам.
Мы решили поделиться этими видеоуроками не только со слушателями курса, но и со всеми нашими подписчиками :)
Обзор новых возможностей платформы
Для того, чтобы Вам было проще ориентироваться в материале, мы указали тайминг наиболее важных моментов в видео.
01:22 – Как создать константу в расширении
02:44 – Как создать форму констант в расширении
05:22 – Как работать с основной формой константы
05:47 – На что влияет галочка Использовать стандартные команды в свойствах константы.
00:30 – Зачем вообще нужны функциональные опции
03:29 – На что влияют и на что не влияют функциональные опции.
01:13 – Как создается функциональная опция в расширении
01:30 – Где указывается объект, предназначенный для хранения значения функциональной опции
02:16 – Какие объекты можно включать в состав функциональной опции в расширении
05:55 – Как обновить интерфейс при изменении значения функциональной опции
07:20 – Как в типовой конфигурации УТ 11 реализована работа с константами и обновление интерфейса при изменении значения функциональной опции
09:58 – Как реализовать собственную простую обработку для настройки функционала конфигурации
13:08 – Можно ли для хранения значения функциональной опции использовать константу, заимствованную из основной конфигурации.
01:03 – Можно ли при помощи расширения изменить объект конфигурации, предназначенный для хранения значения функциональной опции?
02:03 – Как изменить состав заимствованной функциональной опции?
04:58 – Можно ли при помощи расширения удалить объекты из состава заимствованной функциональной опции?
00:33 – В каких случаях на практике используются параметры функциональных опций
06:59 – Как создать в расширении параметр функциональных опций и какие объекты к этому времени должны существовать в расширении
07:30 – Какие обработчики событий нужно реализовать для работы с параметрами функциональных опций в формах объектов
10:32 – При каких настройках функциональных опций в расширении конфигурации платформа падает.
00:12 – Для чего используются критерии отбора
03:10 – Можно ли при помощи расширения изменить тип критерия отбора
04:00 – Можно ли при помощи расширения добавить в состав критерия отбора заимствованный объект
05:20 – Можно ли при помощи расширения добавить в состав критерия отбора объект, созданный в этом же расширении
05:55 – Как в пользовательском режиме проверить работоспособность критерия отбора, модифицированного при помощи расширения конфигурации
07:35 – Как создать новый критерий отбора в расширении
08:34 – Как в панели навигации формы создать ссылку для перехода к критерию отбора
09:24 – Какие ошибки возникают в пользовательском режиме при использовании критерия отбора, созданного в расширении конфигурации.
00:34 – Какие свойства в панели свойств выделяются цветом
01:28 – Как работает команда “Показывать только измененные” в панели свойств
01:53 – Как в дереве элементов формы отобразить только те элементы, которые изменены в расширении
Хотите научиться грамотно дорабатывать конфигурации при помощи расширений?
Еще больше возможностей по доработке и обновлению типовых конфигураций без снятия с поддержки – в нашем учебном курсе Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки.
Тема «аккуратной» доработки типовых конфигураций является всегда актуальной.
С помощью расширений появляется возможность вносить доработки, оставляя конфигурации БЕЗ изменений (то есть не снимая «с замка»).
Буквально за 15 минут Вы научитесь приемам, которые сможете использовать для решения разных задач.
Более того, во втором видео мы покажем универсальный механизм, базирующийся на расширениях. И, разработав такой механизм один раз, его можно будет подключать к любой типовой конфигурации.
Мечты о собственной нетленке могут стать реальностью :)
Изучив видео, Вы научитесь:
- Создавать и подключать расширения к конфигурации
- Выполнять отладку расширений
- Дорабатывать типовые формы обработок/документов с помощью расширений
- Перехватывать события форм типовой конфигурации
- Хранить данные не в таблицах ИБ (хранилище настроек)
- Использовать обработки как хранилище алгоритмов
Также мы разберем оптимизацию состава объектов расширений и ограничения расширений в текущих релизах платформы.
Видео 2. Создание универсальных механизмов с помощью расширений
В этом видео мы покажем:
Чтобы освоить разработку интерфейсов и форм в 1С:Предприятие 8.3
на профессиональном уровне, рекомендуем записаться на курс:
Комментарии / обсуждение (85):
добрый день, перестали запускаться некоторые курсы. Возможно из-за того, что поменял клавиатуру на ноутбуке. Не напомните порядок восстановления? Спасибо
Далее для активации плеера выполните следующие действия:
1. Запустите плеер, откройте в нем файл плейлиста (с расширением .xml)
2. В открывшемся окне не нужно ничего вводить (!), просто нажмите кнопку Активировать.
3. После этого в Вашем браузере откроется страница с формой активации, которую нужно заполнить и нажать Активировать.
Добрый день!
Да, можно. Для этого нужно создать в основной конфигурации структуры данных, аналогичные используемым в расширении. Обработкой или вручную перенести данные из расширения в основную конфигурацию. Также нужно будет перенести весь программный код из расширения в основную конфигурацию, при необходимости адаптировать его (например, в расширении был префикс Расш_, а в основной конфигурации пр_). После протестировать, убедиться, что всё работает корректно, затем окончательно удалить расширение.
Добрый день!
Столкнулся со странным поведение расширения на платформе 8.3.9.1850 (без совместимостей).
заимствовал модуль менеджера документа
заменил (&Вместо) процедуру этого модуля, которая использует вызовы процедуры из других общих модулей.
в тонком клиенте все работает,
но при запуске толстого клиента эта процедура расширения перестает видеть процедуры из других общих модулей основной конфигурации (Переменная не определена)
заимствование всех этих модулей в расширение ничего не дает.
Это действительно такое ограничение или я что-то не так делаю?
Добрый день!
С такой проблемой не сталкивался, возможно причина в версии платформы (стоит проверит на более свежей версии).
В любом случае, новые возможности расширений вполне могут содержать ошибки, так как они практически не используются из-за режима совместимости в типовых конфигураций.
Мало кто рискует его отключать и я с этим согласен.
точно такая же проблема, на 8.3.10, УТ 11.3.4
Подскажите, как вообще можно посмотреть изменения от основной конфигурации в расширении? Есть расширение конфигурации, в нем уже куча объектов, часть из которых добавлена вручную, часть автоматически добавились. В некоторых из этих объектов произведены изменения: где-то форму поправили, где-то модуль. Остальное наследуется. Как теперь получить список именно изменений? Невозможно же разобраться. Или на каждый чих создавать отдельное расширение и там описывать что к чему? Да даже если и так, как быстро посмотреть какие скажем реквизиты или их события изменены в форме из нескольких сотен реквизитов? Может быть какая-то обработка есть?
Добрый день!
Пока никак. Механизм сравнения для расширений и основной конфигурации пока не реализован в платформе, хотя пункты в меню есть, а это говорит о том, что он когда-то появится.
Безусловно механизм расширений очень перспективный, но применять его нужно обдуманно, понимая все трудности и неудобства, которые присутствую в платформе.
Добрый день!
Да, в дереве объектов метаданных для расширения есть кнопка Измененные и добавленные в расширении, которая накладывает фильтр на дерево, оставляет в нем только заимствованные объекты, модифицированные в этом расширении, и новые объекты, созданные в этом расширении. Т.е. убрирает из списка объекты, которые были только заимствованы (например, для отображения форм).
А вот сравнить объекты расширения и объекты основной конфигурации (чтобы понять, что конкретно изменилось) на сегодняшний день нельзя. Платформа пока не даёт такой возможности.
Добрый день!
Стандартно, сначала исполняется код обработчика из расширения, потом из основной конфигурации. Начиная с платформы 8.3.9 механизм расширений серьезно доработали и теперь при создании обработчика система спрашивает Перед, Вместо или После должен срабатывать обработчик расширения.
Добрый день!
Менеджер расширений не предназначен для программной генерации расширений. Он предназначен для программной загрузки и удаления расширений аналогично тому, как это делается в пользовательском режиме.
Никто не сталкивался с ситуацией, когда регулярно права на подсистемы из расширений или на объекты из расширений слетают у пользователя?
Как отследить причину?
Добрый день! К сожалению, нет. Расширения на текущий момент используются крайне редко.
Спасибо большое, лишних знаний не бывает. Как, все-таки, приятно, когда есть люди, готовые делиться знаниями и опытом и не думающие только о наживе, в отличие от доржиков-коржиков. Удачи Вам!
Я не вижу ссылки на видео, браузер гуглхром
Добрый день!
Проверка не выявила никаких ошибок при просмотре. Попробуйте перезагрузить страницу или открыть ее в другом браузере.
Также чистка кэша должна помочь.
Скажите пожалуйста а расширение можно помещать в хранилище? Каким образом над расширением могут одновременно работать несколько человек?
Подскажите пожалуйста почему в расширении можно набрать запрос в конструкторе запроса первый раз. Но открыть его вторично с помощью конструктора запроса нельзя, выдает ошибку, хотя сам запрос работает без ошибок. Я читал в интернете что данную ситуацию обходят тем что пишут запрос в обработчике, редактируют и дорабатывают там же. А потом готовый копируют в расширение. Это действительно недоработки функционала расширения?
Т.е. ошибка у меня возникала потому что не все таблицы к которым я обращался в запросе присутствовали в расширении? Если были бы все то ошибки при повторном открытии не было бы?
Подскажите, а если не все таблицы присутствуют в расширении, то сам запрос корректно отработает но просто через конструктор не откроется? У меня проблема со стандартными реквизитами(родитель, владелец,ЭтоГруппа и т.д)
Да, именно так.
Отмечайте в расширении свойства Владельцы, Иерархический как контролируемые. Тогда конструктор будет открываться без ошибок.
Спасибо, я бы никогда не догадалась))
А подскажете, как это сделать? Как в расширении увидеть свойство Владелец? Ведь это свойство не появляется среди реквизитов добавленного объекта(Номенклатуры в моем случае). Есть ли в принципе возможность в расширении на форме подчиненного объекта(Спецификации номенклатуры в моем случае) поместить поле, ссылающееся на владельца этого объекта?
Добрый день!
Давайте рассмотрим на примере, на пустой базе.
Пусть у нас есть справочник Спецификации, подчиненный справочнику Номенклатура:
Создадим расширение конфигурации, заимствуем оба справочника в расширение.
В расширении воспользуемся конструктором запроса. Для справочника Спецификации поле Владелец недоступно:
Теперь отметим для справочника Спецификации свойство Владельцы как контролируемое:
После этого в конструкторе запроса появляется поле Владелец:
На форме объекта в расширении можно отобразить владельца:
Скажите есть ли какой-то способ следить за изменением материала для тех кто прошел/приобрел курс ранее. Может реализовать механизм рассылки?
В каждой редакции технологической платформы 1С появляются новые возможности расширения. Эти возможности описаны в документации платформы и можно кратко посмотреть здесь.
На сегодняшний день в расширении конфигурации не поддерживается создание собственных объектов Регламентные задания и приходиться не стандартным способом создавать собственные регламентные задания.
Я создал шаблонное расширение, которое позволяет не стандартным способом создавать собственные регламентные задание и настроить расписание в расширении конфигурации, использующей стандартные подсистемы БСП Регламентные задания и Дополнительные отчеты и обработки.
В данном шаблоне расширения я описываю регламентные задания , связанные с обменом 1С и RetailCRM. В перечислении rCrm_ВидыОбмена я храню значения двух видов обмена : Получить Заказы из rCrm и Обновить свойство заказов на сайте RetailCRM (см рис 1 )
Для настройки расписания и ввода параметров обмена я использую регистр сведения rCRM_НастройкаОбменов См рис 2
Для работы с регламентными заданиями в расширении конфигурации со стандартными подсистемами БСП нужно добавить в расширении общий модуль ДополнительныеОтчетыИОбработки и регламентной задание ЗапускДополнительныхОбработок ( см рис 3)
В расширении нужно изменить процедуру ВыполнитьОбработкуПоРегламентномуЗаданию с помощью анотации &Вместо :
Важно! Расширение нужно подключать в обычном безопасном режиме потому, что используется аннотированный серверный метод К аннотированным серверным методам модулей расширение применяться не будет безопасном режиме .
В теле этого аннотированного серверного метода вызывается процедура выполнения обмена :
После подключения расширения появляется раздел
В форме списка нужно создать одну запись на каждый вид обмена и настроить расписание . Идентификатор регламентного Задания не отображается на форме. Он создается при записи если используется расписание и удаляется если не используется расписание
Посмотреть состояние задания можно в стандартной форме Регламентные и фоновые задания в разделе Администрирование/Обслуживание/Регламентные задания ( см рис )
Полный список дополнительных отчетов, обработок и расширений можно посмотреть здесь
Обычно мы делаем расширения, чтобы не менять основную конфигурацию. Я не рекомендую менять режим совместимости конфигурации поставщика в типовых решениях. Однако если в основной конфигурации установлен режим совместимости 8.3.14 , то мы не сможет создавать собственные константы в расширении, возможности которого появились в технологической платформе 8.3.16. В этом случае, при попытке сохранить расширение получаем следующее предупреждение:
Использование констант в расширениях недопустимо в режиме совместимости 8.3.15 и ниже
При проверке метаданных обнаружены ошибки!
Операция не может быть выполнена.
На сегодняшний день в расширении конфигурации не поддерживается создание следующих собственных объектов:
- Общие реквизиты.
- Регламентные задания.
- Определяемые типы.
- Хранилища настроек.
- Языки.
- Журналы документов.
- Бизнес-процессы и задачи.
- Внешние источники данных.
В результате ограничения на создание собственных регламентных заданий в расширении не возможно создавать обмены данными, которые должны выполняться по расписанию.
Новые возможности расширения конфигурации в последних версиях технологической платформы 1С.
Версия 8.3.18
Реализована возможность расширять типы реквизитов заимствованных объектов, кроме:
1. типов общих реквизитов;
2. реквизитов с типами внешних источников данных;
3. реквизитов, имеющие определяемый тип;
4. реквизит Тип плана видов характеристик.
В документации данное изменение описано здесь.
Версия 8.3.17
Реализована возможность заимствования подписок на события и создания собственных подписок в расширении.
В документации данное изменение описано здесь и здесь.
Версия 8.3.16
Реализована возможность создания в расширении конфигурации:
1. констант;
2. функциональных опций и параметров функциональных опций;
3. критериев отбора.
Реализована возможность расширения:
1. состава заимствованных функциональных опций (собственными и заимствованными объектами);
2. состава заимствованных критериев отбора реквизитами собственных объектов расширения.
В документации данное изменение описано здесь, здесь и здесь.
Версия 8.3.15
Реализована возможность помечать какое-либо контролируемое свойство расширения таким образом, что несовпадение этого свойства в расширяемой конфигурации и в расширении не будет блокировать применение расширения, но пользователь получит предупреждение о том, что значение свойства в расширении и расширяемой конфигурации различаются.
В документации данное изменение описано здесь, здесь и здесь.
Версия 8.3.14
1. Реализована возможность расширять состав значений заимствованного перечисления. При удалении расширения, в котором расширен список значений перечисления, реквизиты объектов информационной базы, хранящие удаляемые значения, заполняются пустой ссылкой на перечисление.
В документации данное изменение описано здесь и здесь.
2. Для объектов метаданных, заимствованных в расширение, реализовано свойство Комментарий. Свойство предназначено для использования в процессе разработки расширения и не используется при формировании результирующей конфигурации и проверках применимости расширения.
В документации данное изменение описано здесь.
Версия 8.3.13
В расширении конфигурации реализована возможность создания следующих собственных объектов:
1. планы видов характеристик;
2. планы счетов;
3. планы видов расчета;
4. регистры накопления;
5. регистры бухгалтерии;
6.регистры расчета.
Для собственных регистров накопления не поддерживается создание агрегатов.
Реализована возможность включать собственные регистры любого вида в состав движений собственных и заимствованных документов расширения.
В документации данное изменение описано здесь.
Версия 8.3.12
Реализована возможность управлять областью действиярасширения конфигурации и активностью установленных расширений. Областью действия расширения может быть или текущая область данных или вся информационная база.
Управление активностью позволяет отключить расширение, не удаляя его из информационной базы.
Для объекта РасширениеКонфигурации реализованы свойства ОбластьДействия и Активно.
Изменен порядок подключения расширений: в первую очередь подключаются расширения, имеющие областью действия всю информационную базу.
В документации данное изменение описано здесь, здесь и здесь.
Для собственных и заимствованных документов расширения реализована возможность формировать движения по любым заимствованным регистрам, кроме оборотных регистров накопления с включенными агрегатами.
В документации данное изменение описано здесь.
Версия 8.3.11
Реализована возможность добавлять в расширение конфигурации ;
- справочники,
- документы,
- планы обмена
- регистры сведений.
Для заимствованных справочников и документов реализована возможность добавления реквизитов и табличных частей в расширении.
В состав собственного плана обмена могут входить только собственные объекты расширения. Собственный план обмена расширения не может участвовать в распределенной информационной базе. Для заимствованных планов обмена реализована возможность включать в состав плана обмена собственные объекты расширения.
Список ограничений приведен в документации.
При удалении расширения, все данные, которые были внесены в собственные объекты расширения, будут удалены из информационной базы.
В документации данное изменение описано здесь, здесь, здесь, здесь,
здесь, здесь, здесь, здесь, здесь и здесь.
Читайте также: