Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


astpanel:designer:unf

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
astpanel:designer:unf [2015/11/24 09:59]
imal [Этап 5. Добавление кнопки Позвонить на боковую панель контактной информации]
astpanel:designer:unf [2019/06/11 13:43] (текущий)
imal
Строка 1: Строка 1:
-====== ИНТЕГРАЦИЯ С УНФ 1.5 ======+====== ИНТЕГРАЦИЯ С УНФ ​ред. ​1.5, ред. 1.6 ======
 Что дает интеграция в сравнении с без интеграционным режимом работы?​ Что дает интеграция в сравнении с без интеграционным режимом работы?​
   - Не нужно выполнять каких-либо дополнительных действий при запуске системы. Панель телефонии начинает работу сразу после запуска 1С в свернутом виде.   - Не нужно выполнять каких-либо дополнительных действий при запуске системы. Панель телефонии начинает работу сразу после запуска 1С в свернутом виде.
Строка 10: Строка 10:
  
 Порядок действий следующий. Порядок действий следующий.
-  - Сперва убедитесь,​ что ​все ​пользователи завершили ​свою ​работу с программой. ​После чего запустите программу в режиме //"​Конфигуратор"//​.+  - Убедитесь,​ что пользователи завершили работу с программой. 
 +  - **Выполните резервное копирование**  
 +  - Запустите программу в режиме //"​Конфигуратор"//​.
   - Откройте окно настройки поддержки. {{ :​doc:​panel1ccrm20:​support.png?​ |}}   - Откройте окно настройки поддержки. {{ :​doc:​panel1ccrm20:​support.png?​ |}}
   - Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно.   - Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно.
Строка 19: Строка 21:
  
 ===== Этап 2. Встраивание панели телефонии ===== ===== Этап 2. Встраивание панели телефонии =====
 +
 +<note important>​Начать рекомендуем с [[astpanel:​designer:​optimization_managed|инструкции по оптимизации конфигурации]].</​note>​
  
 Необходимо встроить внешнюю обработку (панель телефонии) в конфигурации,​ настроить права доступа и ее автоматический запуск в фоновом режиме. Необходимо встроить внешнюю обработку (панель телефонии) в конфигурации,​ настроить права доступа и ее автоматический запуск в фоновом режиме.
Строка 48: Строка 52:
  
 </​code>​ </​code>​
-  - Перейдите к процедуре //"ПередЗавершениемРаботыСистемы"//​ (создайте процедуру,​ если ее нет). В конец процедуры вставьте код приведенный ниже.<​code 1c>+  - Перейдите к процедуре //"​ПриЗавершенииРаботыСистемы"//​ (создайте процедуру,​ если ее нет). В конец процедуры вставьте код приведенный ниже.<​code 1c>
  // PT1C / Панель телефонии Asterisk / Начало  // PT1C / Панель телефонии Asterisk / Начало
- Если ​Отказ = Ложь + Если сфпФормаТелефон <> Неопределено Тогда 
- И сфпФормаТелефон <> Неопределено Тогда + сфпФормаТелефон.ЗавершитьРаботу(Истина);
- сфпФормаТелефон.ЗавершитьРаботу();​+
  КонецЕсли;​  КонецЕсли;​
  // PT1C / Панель телефонии Asterisk / Конец  // PT1C / Панель телефонии Asterisk / Конец
Строка 59: Строка 62:
 ==== Добавление обработки и подсистемы в конфигурацию ====  ==== Добавление обработки и подсистемы в конфигурацию ==== 
   * Вставьте внешнюю обработку,​ которая идет в поставке,​ в конфигурацию,​ она должна называться **МИКО_ПанельТелефонииДля1С**.   * Вставьте внешнюю обработку,​ которая идет в поставке,​ в конфигурацию,​ она должна называться **МИКО_ПанельТелефонииДля1С**.
-  * Добавьте в обработку **МИКО_ПанельТелефонииДля1С** команду "​**Открыть**"​  +  * Добавьте в обработку **МИКО_ПанельТелефонииДля1С** команду "​**ОткрытьПанельТелефонии**"  
-  * Установите для созданной команды свойство "​**Группа**"​ в значение "​**Панель навигации.Важное**"​.{{ :​doc:​panel1cunf:​commandopen.png |}} +  * Установите для созданной команды свойство "​**Группа**"​ в значение "​**Панель навигации.Важное**"​.{{ :​doc:​panel1cunf:​commandopen_new.png |}} 
-  * Далее требуется описать обработчик команды "​**Открыть**"​.+  * Далее требуется описать обработчик команды "​**ОткрытьПанельТелефонии**".
 <code 1c>&​НаКлиенте <code 1c>&​НаКлиенте
 Процедура ОбработкаКоманды(ПараметрКоманды,​ ПараметрыВыполненияКоманды) Процедура ОбработкаКоманды(ПараметрКоманды,​ ПараметрыВыполненияКоманды)
Строка 79: Строка 82:
  
   - Добавьте в конфигурацию новую роль **МИКО_Софтфон**.   - Добавьте в конфигурацию новую роль **МИКО_Софтфон**.
-  - Снимите все отметки о правах выставляемые по умолчанию. +  - Снимите все отметки о правах выставляемые по умолчанию ​{{ :​doc:​panel1ccrm20:​all_roles.png?450 |}} 
-  - Для обработки **МИКО_ПанельТелефонииДля1С** а также для команды //"​Открыть"//​ отметьте все доступные права. {{ :​doc:​panel1ccrm20:​role.png?​ | Права на обработку.}} {{ :​astpanel:​designer:​permit_command_open.png?​nolink&​450 |Права на команду "​Открыть"​}}+  - Для обработки **МИКО_ПанельТелефонииДля1С** а также для команды //"​ОткрытьПанельТелефонии"// отметьте все доступные права. {{ :​doc:​panel1ccrm20:​role.png?​ | Права на обработку.}} {{ :​astpanel:​designer:​permit_command_open_new.png?​nolink&​450 |Права на команду "​ОткрытьПанельТелефонии"}}
   - Для подсистемы **МИКО_ПанельТелефонии** отметьте все доступные права. {{ :​astpanel:​designer:​permit_csubsystem.png?​nolink&​450 |}}   - Для подсистемы **МИКО_ПанельТелефонии** отметьте все доступные права. {{ :​astpanel:​designer:​permit_csubsystem.png?​nolink&​450 |}}
   - Добавьте роль в состав подсистемы **МИКО_ПанельТелефонии**.   - Добавьте роль в состав подсистемы **МИКО_ПанельТелефонии**.
Строка 87: Строка 90:
 <note tip>​Далее можно переходить к [[astpanel:​enterprise:​managed |настройке в режиме 1С:​Предприятие 8]], шаги описанные ниже являются опциональными.</​note>​ <note tip>​Далее можно переходить к [[astpanel:​enterprise:​managed |настройке в режиме 1С:​Предприятие 8]], шаги описанные ниже являются опциональными.</​note>​
 ===== Этап 3. Добавление кнопки "​Позвонить"​ в область команд форм справочников и документов ===== ===== Этап 3. Добавление кнопки "​Позвонить"​ в область команд форм справочников и документов =====
 +<note tip>​Чтобы задействовать типовые команды вызова в формах справочников выполните инструкции по [[astpanel:​designer:​unf_callbutton|ссылке]]</​note>​
  
 Для автоматизации набора номера телефона добавим кнопку "​**Позвонить**"​ в область команд форм некоторых справочников и документов. Для автоматизации набора номера телефона добавим кнопку "​**Позвонить**"​ в область команд форм некоторых справочников и документов.
Строка 115: Строка 119:
  
 {{ :​doc:​panel1cunf:​showcommandcall.png |}} {{ :​doc:​panel1cunf:​showcommandcall.png |}}
-===== Этап 4. Добавление кнопки "​Позвонить"​ на закладку контактной информации справочников ===== 
- 
-В формах некоторых справочников (например,​ //"​Контрагент"//​) присутствует закладка //"​Контактная информация"//​. Для полей адреса и электронной почты уже разработан механизм добавляющий кнопку с соответствующим действием. Добавим для поля телефон аналогичную кнопку с действием //"​Позвонить"//​. 
- 
-Порядок действий следующий. 
-  - Откройте окно настройки поддержки и установите правило поддержки на //"​Объект поставщика редактируется с сохранением поддержки"//​ для объектов:​ 
-    * //​ОбщийМодуль.УправлениеКонтактнойИнформацией//;​ 
-    * //​ОбщийМодуль.УправлениеКонтактнойИнформациейКлиент//​. 
-  - Откройте модуль //"​УправлениеКонтактнойИнформацией"//​ и перейдите к процедуре //"​Действие"//​. 
-  - Измените текст процедуры как показано ниже.<​code 1c>​Функция Действие(Форма,​ Тип, ИмяРеквизита,​ ГруппаДействий,​ КоличествоАдресов,​ ЕстьКомментарий = Ложь) 
-  
- 
-        МожноСоздаватьДействие = Истина;​ 
- Если Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда 
- Если ОбщегоНазначения.ПодсистемаСуществует("​СтандартныеПодсистемы.РаботаСПочтовымиСообщениями"​) Тогда 
- МодульРаботаСПочтовымиСообщениями = ОбщегоНазначения.ОбщийМодуль("​РаботаСПочтовымиСообщениями"​);​ 
- Если НЕ МодульРаботаСПочтовымиСообщениями.ДоступнаОтправкаПисем() Тогда 
- МожноСоздаватьДействие = Ложь; 
- КонецЕсли;​ 
- Иначе 
- МожноСоздаватьДействие = Ложь; 
- КонецЕсли;​ 
- КонецЕсли;​ 
- 
- Если МожноСоздаватьДействие И ((Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница 
- // PT1C / Панель телефонии Asterisk / Начало 
- Или Тип = Перечисления.ТипыКонтактнойИнформации.Телефон 
- // PT1C / Панель телефонии Asterisk / Конец 
- Или Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) 
- Или (Тип = Перечисления.ТипыКонтактнойИнформации.Адрес И КоличествоАдресов > 1)) Тогда 
-  
- // Есть действие 
- ... 
-  
- Если Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда 
-  
- ... 
-  
- ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда 
-  
- ... 
-  
- ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда 
-  
- ... 
- // PT1C / Панель телефонии Asterisk / Начало 
- ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда 
-  
- Элемент.Заголовок = НСтр("​ru='​Позвонить'"​);​ 
- Команда.Подсказка = НСтр("​ru='​Позвонить'"​);​ 
- Команда.Картинка = БиблиотекаКартинок.МИКО_Телефон;​ 
-  
- // PT1C / Панель телефонии Asterisk / Конец 
- КонецЕсли;​ 
-  
- ... 
-  
- Иначе 
-  
- ... 
-  
- КонецЕсли;​ 
-  
- Возврат Элемент;​ 
-  
-КонецФункции</​code>​ 
-  - Откройте модуль //"​УправлениеКонтактнойИнформациейКлиент"//​ и перейдите к процедуре //"​ПодключаемаяКоманда"//​. 
-  - Измените текст процедуры как показано ниже.<​code 1c>​Функция ПодключаемаяКоманда(Форма,​ Знач ИмяКоманды) Экспорт 
-  
- ... 
-  
- Если КомандаКонтекстногоМеню Тогда 
-  
- ... 
-  
- ИначеЕсли ТипКонтактнойИнформации = ПредопределенноеЗначение("​Перечисление.ТипыКонтактнойИнформации.Адрес"​) Тогда 
-  
- ... 
-  
- ИначеЕсли ТипКонтактнойИнформации = ПредопределенноеЗначение("​Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты"​) Тогда 
-  
- ... 
-  
- ИначеЕсли ТипКонтактнойИнформации = ПредопределенноеЗначение("​Перечисление.ТипыКонтактнойИнформации.ВебСтраница"​) Тогда 
-  
- ... 
-  
- // PT1C / Панель телефонии Asterisk / Начало 
- ИначеЕсли ТипКонтактнойИнформации = ПредопределенноеЗначение("​Перечисление.ТипыКонтактнойИнформации.Телефон"​) Тогда 
-  
- ПозвонитьПоТелефону(Форма,​ ИмяРеквизита);​ 
- // PT1C / Панель телефонии Asterisk / Конец  
-  
- КонецЕсли;​ 
-  
- Возврат Неопределено;​ 
-КонецФункции</​code>​ 
-  - Затем добавьте в этот модуль процедуру //"​ПозвонитьПоТелефону"//​ с [[astpanel:​designer:​unf:​proccall|текстом,​ расположенным по данной ссылке]]. 
- 
-Обновите конфигурацию базы данных и запустите ​программу ​в режиме //"​​Предприятие"//​. Результат работы показан ​на рисунке ​ниже. 
- 
-{{ :​doc:​panel1cunf:​showbuttoncall.png |}} 
-===== Этап 5. Добавление кнопки "​Позвонить"​ на боковую панель контактной информации ===== 
- 
-В формах некоторых справочников (например,​ //"​Контрагент"//​) и документов (например,​ //"​Заказ покупателя"//​) присутствует панель отображающая информацию с контактами. Для поля электронной почты присутствует кнопка с соответствующим действием. Добавим для поля телефон аналогичную кнопку с действием //"​Позвонить"//​. 
- 
-<note tip>К сожалению,​ конфигурация УНФ, актуальной на момент на писания статьи версии 1.4.6.19, имеет структуру не позволяющую реализовать данный механизм "​красиво"​ с минимальными изменениями. Дальнейшая инструкция может показаться не логичной,​ т.к. механизмы конфигурации используются не по их прямому назначению. Результат не приносит ощутимой пользы в дополнение к предыдущему и потому не рекомендуется для повторения в реальных информационных базах. **Инструкция создана исключительно для демонстрации возможностей по интеграции.**</​note>​ 
- 
-Порядок действий следующий. 
-  - Откройте окно настройки поддержки и установите правило поддержки на //"​Объект поставщика редактируется с сохранением поддержки"//​ для объектов:​ 
-    * //​ОбщийМодуль.ДополнительныеОтчетыИОбработки//;​ 
-    * //​ОбщийМодуль.ИнформационныйЦентрКлиент//​. 
-  - Откройте модуль //"​ДополнительныеОтчетыИОбработки"//​ и перейдите к процедуре //"​ПриСозданииНаСервере"//​. 
-  - Измените текст процедуры как показано ниже.<​code 1c>​Процедура ПриСозданииНаСервере(Форма,​ ТипФормы = Неопределено) Экспорт 
-  
- ... 
-  
- // PT1C / Панель телефонии Asterisk / Начало 
- МИКО_Софтфон.ДобавитьКнопкиНаПанельКИ(Форма);​ 
- // PT1C / Панель телефонии Asterisk / Конец 
-  
-КонецПроцедуры</​code>​ 
-  - Откройте модуль //"​ИнформационныйЦентрКлиент"//​ и перейдите к процедуре //"​НажатиеНаИнформационнуюСсылку"//​. 
-  - Измените текст процедуры как показано ниже.<​code 1c>​Процедура НажатиеНаИнформационнуюСсылку(Форма,​ Элемент) Экспорт 
-  
- // PT1C / Панель телефонии Asterisk / Начало 
- Если НЕ сфпФормаТелефон = Неопределено 
- И Найти(Элемент.Имя,​ "​Позвонить"​) Тогда 
- ИмяЭлементаПолеТелефон = СтрЗаменить(Элемент.Имя,​ "​Позвонить",​ ""​);​ 
- ПолеТелефон = Форма.Элементы[ИмяЭлементаПолеТелефон];​ 
- НомерТелефона = ПолеТелефон.ТекстРедактирования;​ 
-  
- сфпФормаТелефон.НабратьНомерКИ(,​ НомерТелефона);​ 
-  
- Возврат;​ 
- КонецЕсли;​ 
- // PT1C / Панель телефонии Asterisk / Конец 
-  
- Гиперссылка = Форма.ИнформационныеСсылки.НайтиПоЗначению(Элемент.Имя);​ 
-  
- ... 
-  
-КонецПроцедуры</​code>​ 
- 
-Обновите конфигурацию базы данных и запустите программу в режиме //"​Предприятие"//​. Результат работы показан на рисунке ниже. 
  
-{{ :​doc:​panel1cunf:​showpanelbtn.png |}} 
  
-===== Этап ​6. Добавление кнопки "​Прослушать запись"​ в область команд документа "​Событие"​ =====+===== Этап ​4. Добавление кнопки "​Прослушать запись"​ в область команд документа "​Событие"​ =====
  
-Для создания возможности прослушать запись телефонного разговора из документа "​Событие"​ добавим кнопку ​//"​Прослушать звонок"​// в область команд формы документа. При нажатии на кнопку запись будет воспроизведена в трубке телефона. Документ должен быть связан с телефонным звонком посредством дополнительного свойства "​ID_Звонок",​ значение которого - хранить идентификатор звонка. Дополнительные свойства документа будут созданы автоматически по завершению работы помощника первоначальной работы.+Для создания возможности прослушать запись телефонного разговора из документа "​Событие"​ добавим кнопку "**Прослушать звонок**" в область команд формы документа. При нажатии на кнопку запись будет воспроизведена в трубке телефона. Документ должен быть связан с телефонным звонком посредством дополнительного свойства "​ID_Звонок",​ значение которого - хранить идентификатор звонка. Дополнительные свойства документа будут созданы автоматически по завершению работы помощника первоначальной работы.
  
 Порядок действий следующий. Порядок действий следующий.
astpanel/designer/unf.1448359190.txt.gz · Последние изменения: 2015/11/24 09:59 — imal