1C:Предприятие 8 - Работа в расширениях конфигурации

Расширения конфигурации

Позволяют изменять поведение прикладного решения без изменения конфигурации:

  • Изменять алгоритмы
  • Изменять формы и добавлять новые формы
  • Добавлять реквизиты к существующим объектов (кроме регистров)
  • Добавлять новые объекты

Демонстрационная задача

Имеется конфигурация, в которой реализован складской учёт товаров.
Необходимо реализовать:
  • Отчет по остаткам товаров
  • Учет взаиморасчетов с поставщиками
  • Расчет стоимости поставки с учётом скидок

Импорт существующей базы

1. Добавить новую базу данных

2. Создание новой информационной базы

3. Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы
4. Укажите наименование информационной базы и выберите тип расположения информационной базы "На данном компьютере или на компьютере в локальной сети"
5. Укажите параметры информационной базы
6. Добавление информационной базы/группы

Выбор созданной информационной базы

1. Выбираем базу и нажимаем кнопку "Конфигуратор"

Открываем дерево конфигурации

Конфигурация - Открыть конфигурацию

Загрузка информационной базы

Администрирование - Загрузить информационную базу
Файл базы данных имеет расширение .dt.

Просмотр древа исходных данных для выполнения задания


Данная конфигурация находится на поддержке, о чем свидетельствует значок замка рядом с ее названием.

Настройка режима поддержки (когда необходимо доработать саму конфигурацию)

Конфигурация - Поддержка - Настройка поддержки
Включение возможности изменения

Создание расширения

Конфигурация - Расширения конфигурации - Добавить
Заполняем поля данных нового расширения.
Для уникальности расширения дополнительно заполняется поле "Префикс".
Двойной щелчок на имени расширения - открытие его древа.

Создание отчета в расширении 

Отчеты - Добавить.
Для создания отчета по схеме компоновки данных выберите "Открыть схему компоновки данных".

Подтверждаем действия по созданию макета.
Данные для отчета будем получать из запроса с помощью конструктора запросов.
Для данного отчета будем заимствовать регистр конфигурации "Остатки товаров".
ПКМ по регистру в древе конфигурации - Добавить в расширение
Регистр будет отображен теперь и в древе расширения. 
Так же заимствуется каждый элемент регистра. В нашем случае это измерения и ресурсы.
Контролируемые свойства в заимствованных элементах помечаются специальным значком, который означает, что данное свойство будет проверятся каждый раз при попытке загрузки расширения для его корректной работы с существующей конфигурацией.
Запрос будем создавать с помощью конструктора запроса.
Выберем нужные поля.
Укажем ресурс - КоличествоОстаток.
Установим выбранные поля в настройках.
Добавим новую группировку.
Оставим для нее настройки по умолчанию.
Просмотрим результат в режиме предприятия.

Управление доступными расширениями из режима предприятия

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

Учет расчета с поставщиками

Для этого сначала заимствуем документ ПоступлениеТоваров в наше расширение.
Посмотрим, как реализована обработка проведения.
Видно, что пока реализован только складской учет с регистром ОстаткиТоваров.
Заимствуем справочник Контрагенты из основной конфигурации.
А также документ ПоступлениеТоваров с процедурой из модуля объекта (щелчок на названии процедуры ОбработкаПроведения).
Выберем тип вызова нашей доработки - После.
Этапы выполнения процедуры из расширения (Перед, После):
Вид процедуры ОбработкаПроведения в расширении.
Для документа ПоступлениеТоваров заимствуем реквизиты и табличную часть с реквизитом Сумма (реквизиты табличной части заимствуются каждый по отдельности).
Для учета расчетов с поставщиками создадим новый регистр накопления в расширении.
Зададим название, синоним и выберем тип Остатки.
Добавим измерение регистра Поставщик с типом СправочникСслыка.Контрагенты.
А также ресурс - Сумма.
Установим документ ПоступлениеТоваров в качестве регистратора.
Опишем в модуле объекта этого документа в расширении алгоритм проведения.
По умолчанию расширения подключаются в безопасном режиме и не позволяют вызывать методы модулей расширений при проведении. В этом случае будет отображено следующее оповещение:
В списке расширений конфигурации снимем галочку с "Безопасный режим".
Теперь можем посмотреть регистр в режиме предприятия после проведения одного из докуменов ПоступлениеТоваров: Все функции... - Регистры - Взаиморасчеты с поставщиками.

Расчет стоимости поставки с учетом скидки

Нужно в документе "Поступление товаров" добавить новое поле "Процент скидки", при изменении которого будет происходить перерасчет суммы.
Добавим в расширении к табличной части этого документа новый реквизит "Процент скидки".
Заимствуем из основной конфигурации форму документа в расширение.
Перенесем реквизит "Процент скидки" на форму, перетащив его из правой колонки в левую.
Установим его перед реквизитом ТоварыСумма с помощью стрелок.
Посмотрим, какие процедуры есть в основной конфигурации этой формы.
Перейдем к определению процедуры РассчитатьСуммы из общего модуля.
Нам необходимо дополнить данную процедуру. Для этого нажимаем на ее название ПКМ и добавляем в расширение .
Выберем тип вызова - Вызывать вместо.
Алгоритм работы "Вызывать вместо":

Будет добавлен новый общий модуль в расширение со следующим содержанием.
ПродолжитьВызов(Форма) вызывает процедуру родительского модуля основной конфигурации.
Локальные переменные родительского модуля не доступны здесь.
Опишем перерасчет Суммы во вновь созданном модуле расширения.
Посмотрим результат работы в режиме предприятие.

Экспорт расширения из конфигуратора

Действия - Конфигурация - Сохранить конфигурацию в файл.

Инструкция создана на основе вебинара компании "1C-ГЭНДАЛЬФ" подготовки ко второму этапу конкурса IT-Планета "Программирование 1С: Предприятие 8".

Комментарии

  1. Большое спасибо! Нашел у вас ответ на вопрос, как добавить объект из конфигурации в расширение=)

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения