Минимальный релиз типовой УТ для встраивания — 10.3.22.2
Описанные действия выполнены на конфигурации «1С:Управление торговлей 10.3», но все указанные действия справедливы также для конфигураций «1С:Управление производственным предприятием» и «1С:Комплексная автоматизация», т. к. объекты участвующие в объединении у этих конфигураций одинаковые.
Для встраивания решения в конфигурацию необходимо зайти в типовую конфигурацию в режиме конфигуратора, открыть дерево конфигурации. Для этого в режиме конфигуратора зайдите в меню Конфигурация — Открыть конфигурацию. Дерево конфигурации представлено на рисунке ниже:
Рисунок № 1 «Дерево конфигурации»
Необходимо включить возможность изменения конфигурации. Для этого зайдите в меню «Конфигурация — Поддержка — настройка поддержки».
Рисунок № 2 «Снятие с поддержки конфигурацию»
В открывшемся окне необходимо нажать кнопку включить возможность изменения.
Рисунок № 3 «Включение возможности изменения»
На вопрос программы
выбираем «Да».
На вопрос программы
оставляем все по умолчанию и ничего не меняя выбираем «ОК».
После выполнения необходимых действий окно должно принять вид, как показано на рисунке ниже:
Рисунок № 4 «Вид окна после указанных действий»
Для дальнейшего встраивания необходимо включить возможность изменения у нескольких объектов типовой конфигурации. Для этого в открытом окне в дереве конфигурации (колонка «Объект») двойным нажатием мыши в колонке «Управление торговлей» выберем вершину дерева «Управление торговлей». В открывшемся окне выберем вариант «Объект поставщика редактируется с сохранением поддержки»
и нажмем команду «ОК». Раскроем в дереве конфигурации раздел «Общие — Роли — Пользователь», как показано на рисунке ниже.
Рисунок № 5 «Общие — Роли — Пользователь»
и после двойного нажатия мыши в колонке «Управление торговлей» в открывшемся окне выберем вариант «Объект поставщика редактируется с сохранением поддержки»
и нажмем команду «ОК».
Те же самые действия повторим для следующих объектов:
Закроем окно сравнения конфигураций.
Важным моментом является то, что все остальные объекты затронуты не будут, что позволит в дальнейшем легко проводить регулярные обновления типовой конфигурации. Закроем окно настройки поддержки конфигурации.
Необходимо выполнить сравнение и объединение решения с конфигурацией. Для этого выполните команду Конфигурация — Сравнить, объединить конфигурацию из файла.
Рисунок № 6 «Сравнение-объединение конфигурации»
В открывшемся окне выберите файл для встраивания решения, который расположен в папке установки шаблонов конфигураций 1С:Предприятие. Например, путь может выглядеть так
«D:\tmplts\Rarus\SoftPhoneProf\3_1_1_1\» и выберем файл SoftPhone_For_UT10_UPP_KA.cf
На вопрос
отвечаем «Да».
Это позволит в дальнейшем обновлять новые релизы решения без необходимости контролировать новые изменения в них. Снимаем все флажки в открывшемся окне дерева конфигурации. Для этого снимаем флажок с вершины дерева конфигурации.
Рисунок № 7 «Сравнение, объединение — форма для управления»
Установим в поле «Фильтр» значение «Показывать присутствующие только в файле» для отображения новых объектов, которые будут добавлены в конфигурацию. После этого в вершине дерева конфигурации устанавливаем флажок. Это необходимо для добавления в конфигурацию новых объектов.
Рисунок № 8 «Сравнение, объединение: выбор дерева конфигурации»
Установим в поле «Фильтр» значение «Показывать отличия в конфигурациях» и в дереве конфигурации выберем «Общие — Роли — Пользователь — Свойства-Права» установим флажок и в колонке «Режим объединения и порядок подчиненных объектов в колонке» установим значение «Объединить с приоритетом основной конфигурации». Это необходимо для возможности использования интеграции с телефонией для пользователей с минимальными правами.
Рисунок № 9 «Изменение роли Пользователь»
Те же самые действия выполняем для еще одного объекта: «Общие — Интерфейсы — Общий — Свойства — Интерфейс»
Нажимаем кнопку «Выполнить».
На открывшееся окно нажимаем команду «Продолжить»
Рисунок № 10 «Форма оповещения объединения конфигураций» В открывшемся окне ничего не меняем и нажимаем «ОК»
Рисунок № 11 «Форма подтверждения объединения конфигураций»
В результате успешного объединения программа выдаст окно
Необходимо внести изменения в общий модуль управляемого приложения и общий модуль обычного приложения конфигурации. Для этого в контекстном меню вершины дерева конфигурации выбираем пункт «Открыть модуль управляемого приложения».
Рисунок № 12 «Открыть модуль управляемого приложения»
В открывшемся окне добавляем сверху код:
// +СофтФон
Перем сфпПанельУправления Экспорт; // Компонента дляуправления СофтФоном
Перем сфпСтруктураЗвонков Экспорт; // Структура активныхзвонков
Перем сфпДанныеЗаполнения Экспорт; // Структура данных длязаполнения телефонного звонка
// -СофтФон
В конец процедуры ПриНачалеРаботыСистемы() добавить строки:
// +СофтФон
сфпСофтФонПроКлиент.сфпПодключитьСофтФон();
// -СофтФон
Добавляем новую процедуру ПередЗавершениемРаботыСистемы
(), как ниже:
// Процедура —обработчик события "При завершении работы системы".
//
Процедура ПередЗавершенииРаботыСистемы(Отказ)
// +СофтФон
Если НЕ Отказ Тогда
Если НЕ
сфпСофтФонПроСервер.сфпПолучитьЗначениеНастройкиПользователя ("сфпЗакрыватьПанельПриЗавершенииРаботы") Тогда
сфпСофтФонПроКлиент.сфпОтключитьСофтФон(); КонецЕсли;
КонецЕсли;
// -СофтФон
КонецПроцедуры
В результате модуль выглядит, как показано ниже:
Рисунок № 13 «Код модуля управляемого приложения»
Тот же код добавим в модуль обычного приложения. Для этого в контекстном меню вершины дерева конфигурации выбираем пункт «Открыть модуль обычного приложения».
Рисунок № 14 «Открыть модуль обычного приложения»
В открывшемся окне добавляем сверху код:
// +СофтФон
Перем сфпПанельУправления Экспорт; // COM-объект панели управления СофтФон
Перем сфпObjCLON Экспорт; // COM-объект компоненты CLON Перем сфпСтруктураЗвонков Экспорт; // Структура активных звонков
Перем сфпДанныеЗаполнения Экспорт; // Структура данных для заполнения телефонного звонка
// -СофтФон
В конец процедуры ПриНачалеРаботыСистемы() добавить строки:
// +СофтФон
сфпСофтФонПроКлиент.сфпПодключитьСофтФон();
// -СофтФон
Добавляем в конец процедуры ПередЗавершениемРаботыСистемы
(), код:
// +СофтФон
Если НЕ Отказ Тогда
Если НЕ сфпСофтФонПроСервер.сфпПолучитьЗначениеНастройкиПользователя ("сфпЗакрыватьПанельПриЗавершенииРаботы") Тогда
сфпСофтФонПроКлиент.сфпОтключитьСофтФон(); КонецЕсли;
КонецЕсли;
// -СофтФон
В результате модуль выглядит, как показано ниже:
Рисунок № 15 «Код модуля обычного приложения»
Далее в процедуру ОбработкаВнешнегоСобытия добавляем следующий код:
// +СофтФон сфпСофтФонПроКлиент.сфпВнешнееСобытияСофтфона(
Источник,Событие, Данные);
// -СофтФон
Модуль будет выглядеть так:
Рисунок № 16 «Добавление в процедуру ОбработкаВнешнегоСобытия»
Настроим использование в справочниках и документе «Событие» форм в которых будут включены команды совершения звонков. Для этого в дереве конфигурации выберем «Состав» установить галочку у документа «Телефонный звонок — Реквизиты — ВзаимодействиеОснование», как показано на рисунке ниже:
Рисунок № 17 «Установка реквизита в критерии отбора СвязаныеДокументы»
Теперь последовательно для всех объектов, у которых мы снимали с поддержки формы элементов или документа делаем следующее: заходим в модуль формы и ищем там процедуру ПриОткрытии(), в конец процедуры добавляем следующий код:
// +СофтФон сфпСофтФонПроКлиент.сфпДобавитьКнопкиНаКомандн
уюПанельФормЭлементов(ЭтаФорма); сфпУстановитьДоступность();
// -СофтФон
Рисунок № 18 «Добавление кода в формы элементов в процедуру ПриОткрытии()»
Теперь мы из модуля формы сфпФормаЭлемента или сфпФормаДокумента ЭТОГО ЖЕ ОБЪЕКТА копируем полностью код:
Рисунок № 19 «Копирование кода из сфпФормаЭлемента»
Скопированный код вставляем в конец модуля формы элемента/документа (куда добавляли в ПриОткрытии(), получится нечто похожее:
Рисунок № 20 «Вставка скопированного кода в форму элемента»
Выполним те же действия для следующих объектов:
Сделаем еще одно последнее изменение. В дереве конфигурации найдем «РегистрыСведений — КонтактнаяИнформация» и откроем модуль набора записей, как показано на скриншоте ниже:
Рисунок № 21 «Открытие модуля набора записей в регистре сведений КонтактнаяИнформация»
В открывшемся модуле внесем сверху код, указанный ниже:
//+СофтФон
// Процедура — обработчик события "ПриЗаписи"
//
Процедура ПриЗаписи(Отказ, Замещение) Если НЕ Отказ Тогда
Если ЗначениеЗаполнено(ЭтотОбъект.Отбор.Объект.Значение) И (ЭтотОбъект.Отбор.Объект.ВидСравнения = ВидСравнения.Равно) Тогда сфпСофтФонПроСервер.сфпЗаполнитьРегистрПоискаПоНомерам (ЭтотОбъект.Отбор.Объект.Значение);
КонецЕсли; КонецЕсли;
КонецПроцедуры // ПриЗаписи()
//-СофтФон
В результате модуль набора записей будет выглядеть, как показано на рисунке ниже:
Рисунок № 22 «Код модуля набора записей в регистре сведений КонтактнаяИнформация»
Важно! При копировании кода может быть перенесен символ переноса — дефис «-». Нужно его убрать в перенесенном коде.
Для того, чтобы выполненные в первых 3 шагах изменения были применены к конфигурации необходимо выполнить команду «Обновить конфигурацию базы данных».
Рисунок № 23 «Применение изменений»
После всех необходимых преобразований в открывшемся окне необходимо выбрать команду «Принять».
Рисунок № 24 «Применение изменений — проверка объектов»
Встраивание решения «1С-Рарус:Интеграция с телефонией(Софтфон)» в типовую конфигурацию фирмы «1С» завершено ☺