1С 8 расширения вместо

Настройка системы 15.01.2018 13:55 8909

Основная информация о механизме расширений описана в статье Расширения конфигураций 1С для платформы 8.3.6.

Переопределение процедур и функций (событий)

При переопределении событий, имя процедуры состоит из:
Расш1_ (Наименование расширения)
ПриОткрытии (Наименование переопределяемого события)
Перед, После, Вместо (Порядок выполнения)

Переопределение процедур и функций (не событий)

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

Метод расширения ПродолжитьВызов() – вызывает процедуру или функцию основной конфигурации, которая в данный момент переопределяется и может принимать на вход параметры и возвращать значение переопределяемой процедуры или функции.

&Перед – означает что процедура "РассчитатьОстаткиСвоя" будет выполнена перед вызовом "РассчитатьОстатки".

&После – означает что процедура "РассчитатьОстаткиСвоя" будет выполнена после вызова "РассчитатьОстатки".

&Вместо – означает что процедура "РассчитатьОстаткиСвоя" будет выполнена вместо "РассчитатьОстатки".

Функции отличаются от процедур тем свойством, что могут возвращать значение. Поэтому для функций может
использоваться только анотация &Вместо и метод ПродолжитьВызов().

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

Технологический блог фирмы 1С

Мы добавили в планировщик функциональность, позволяющую создавать визуально удобную, независимую вложенность измерений.

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

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

Мы продолжаем развивать Систему взаимодействия в соответствии с нашим видением перспектив продукта и с учетом замечаний пользователей.

Для полноценной работы веб-клиента 1С иногда может потребоваться установить дополнительные программы: расширение для браузера и/или расширения для работы с файлами, криптографией, программой «1С:Предприятие – оповещения и запуск», внешние компоненты. Механизмы безопасности браузеров не дают сделать это полностью автоматически и требуют участия пользователя на некоторых фазах установки; в некоторых случаях может потребоваться перезапуск браузера.

Читайте также:  Мощный увлажнитель воздуха своими руками

В версии 8.3.17 мы переработаем интерфейс установки расширений, сделаем его более удобным для пользователей.

В версии 8.3.17 в функциональности демонстрации экрана в Системе взаимодействия (появилась в версии 8.3.16) произойдут изменения:

В версии 8.3.16 в Chrome демонстрация экрана

  • Была доступна, начиная с версии Chrome 56
  • Требовала установленного браузерного расширения
  • Позволяла демонстрировать:
  • Весь экран
  • Вкладку Chrome

В версии 8.3.17 в Chrome демонстрация экрана

  • Доступна, начиная с версии Chrome 72
  • Не требует установленного браузерного расширения
  • Позволяет демонстрировать:
  • Весь экран
  • Окна программ
  • Вкладку Chrome

С целью помощи разработчикам при отладке и расследовании проблем мы ввели в платформу некоторые дополнительные возможности.

В версии 8.3.18 планируется следующее изменение: параметр командной строки /Out на ОС Windows будет выводить данные в файл в кодировке UTF-8 (поведение параметра будет унифицировано для всех поддерживаемых ОС).

Команда «Искать везде» используется для глобального поиска выделенного текста в поле ввода, в текстовом и форматированном документе, а также используется для поиска значения текущей ячейки в таблице или табличном документе.
Мы решили поменять сочетание клавиш для этой команды с Ctrl+Shift+C на Alt+L и скоро выпустим это изменение.
Это вызвано тем, что в типовых конфигурациях сочетание клавиш Ctrl+Shift+C используется для копирования в буфер обмена выделенных строк в таблице.

Нами принято решение, что изменение значений параметров:

  • Критический объем памяти процессов
  • Временно допустимый объем памяти процессов
  • Предел превышения (секунд) временно допустимого объема памяти процессов

можно будет делать с лицензиями уровня ПРОФ.
При этом поведение для опции "Временно допустимый объем памяти процессов" для ПРОФ и КОРП лицензий будет отличаться.
С лицензиями ПРОФ изменение параметра будет действовать только на перезапуск процессов, а с лицензиями КОРП – и на перезапуск процессов, и на прерывание объёмных клиентских вызовов сервера.

Сейчас в версии 8.3.15 эти опции доступны только с лицензиями уровня КОРП.

Изменение попадет в следующую финальную версию 8.3.15 (после 8.3.15.1656).

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

Читайте также:  Как продлить лицензию на компьютере

В этой записи подробно разберем использование аннотации &Вместо в общих модулях конфигураций 1С, модулях объектов и их форм. Для начала работы нам потребуется создать расширение конфигурации . Открываем список расширений и добавляем новое расширение. При этом обратите внимание на правильный выбор варианта назначения расширения конфигурации .

  • Использование аннотации &Вместо в общих модулях
  • Использование аннотации &Вместо в модулях объектов
  • Использование аннотации &Вместо в формах объектов

Использование аннотации &Вместо в общих модулях

Рассмотрим пример изменения произвольной функции в общем модуле. Совершенно неважно, является функция экспортной или нет. В качестве примера изменим логику функции ДатаСеанса() в модуле ОбщегоНазначенияКлиент (конфигурация Деньги8УчебнаяВерсия). Исходный текст процедуры:

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

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

Шаги, которые мы сделали:

  1. Добавили аннотацию &Вместо и в скобках указали имя заменяемой процедуры/функции.
  2. Изменили наименование процедуры/функции.
  3. Изменили логику процедуры/функции на нужную нам.

Все, теперь Вам осталось только обновить конфигурацию базы данных. Теперь при вызове функции ДатаСеанса() вместо нее будет вызвана фукнция ДатаСеансаДоработанная().

Использование аннотации &Вместо в модулях объектов

Чтобы изменить процедуру или функцию в объекте — Вам нужно добавить этот объект в расширение конфигурации. К примеру, Вам нужно изменить логику процедуры ПриЗаписи. В качестве примера будем использовать справочник Валюты. Добавим его в расширение конфигурации:

Читайте также:  Программа для записи видео с инстаграмма

После добавления расширения открываем модуль объекта справочника Валюты в расширении конфигурации (после включения объекта в расширения он будет пуст). Теперь нам нужно перенести в модуль объекта в расширении изменяемую процедуру:

Теперь давайте доработаем эту процедуру — добавим аннотацию &Вместо, изменим наименование процедуры и сделаем свою вставку кода:

В результате этих простых действий мы полностью оставили логику процедуры ПриЗаписи из типовой конфигурации и дополнили ее своим кодом. После применения изменений к конфигурации БД при записи валюты будет вызываться процедура ПриЗаписиДоработанная().

Использование аннотации &Вместо в формах объектов

В формах объектов есть 2 варианта переопределения процедур и функций. Если Вам нужно переопределить событие элемента формы — Вы должны создавать обработчик события в форме, перенесенной в расширение. Если же нужно переопределить процедуру или функцию, которая не связана с обработчиками событий элементов формы — тут правила аналогичны переопределению процедур и функций в общих модулях объектов.

Теперь давайте рассмотрим более подробно переопределение событий элементов формы. Для этого добавим нужную нам форму в расширение конфигурации (в примере будем использовать форму элемента справочника Валюты):

Теперь давайте переопределим событие ПриСозданииНаСервере. Для этого находим это событие в свойствах формы и создаем новое событие. При добавлении нового события выбираем тип вызова — «Вызывать вместо».

В результате этих действий будет создан новый обработчик события, замещающий аналогичный обработчик в типовой форме:

Если Вам нужно частично сохранить логику исходного метода — перенесите ее из исходной процедуры в форме объекта, которую мы добавили в расширение. Теперь Вы полностью можете изменять текст обработчика ПриСозданииНаСервере. Ниже показан пример переноса части логики процедуры в созданное в расширении событие и произвольная доработка логики:

На этих простых примерах мы показали Вам, как можно просто доработать конфигурацию с помощью расширений и аннотации &Вместо к процедурам или функциям. Если у Вас остались вопросы — задавайте их в комментариях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector