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

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

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


astpanel:fastintegration:arbis

Различия

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

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

astpanel:fastintegration:arbis [2018/05/14 14:48]
tpor создано
astpanel:fastintegration:arbis [2018/05/14 15:24] (текущий)
tpor
Строка 1: Строка 1:
-====== Интеграция панели телефонии и журнала звонков в УТ 11 ======+====== Интеграция панели телефонии и журнала звонков в "​Бухгалтерия предприятия (ред. 3.0) / 1С-АРБИС:​УФФ (ред. 4.0)" ​======
  
 [[astpanel:​fastintegration|Обратно к перечню инструкций]] [[astpanel:​fastintegration|Обратно к перечню инструкций]]
Строка 5: Строка 5:
 <note tip> <note tip>
 Инструкции составлены для **конфигураций**:​ Инструкции составлены для **конфигураций**:​
-  * Управление ​торговлей, редакция **11.2**  +  * "​Бухгалтерия предприятия, редакция **3.0 (3.0.59.54)** / 1С-АРБИС:​Управление ​фирмой-франчайзи, редакция **4.0 (4.0.11.12)**" ​
-  * Управление торговлей, редакция **11.3** +
-  * Управление ​торговлей, редакция **11.4.3.126**+
  
-Рекомендуемая версия **панели телефонии**:​ **1.4.26.20+**\\  +Рекомендуемая версия **панели телефонии**:​ **1.4.26.25+**\\  
-Рекомендуемая версия **журнала звонков**:​ **1.0.1.15+** +Рекомендуемая версия **журнала звонков**:​ **1.0.1.19+** 
 </​note>​ </​note>​
  
Строка 25: Строка 23:
   - Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно. {{ :​astpanel:​fastintegration:​1f.png |}}   - Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно. {{ :​astpanel:​fastintegration:​1f.png |}}
   - В появившемся окне укажите,​ что объекты поставщика не редактируются. {{ :​doc:​panel1ccrm20:​rules.png?​ |}}   - В появившемся окне укажите,​ что объекты поставщика не редактируются. {{ :​doc:​panel1ccrm20:​rules.png?​ |}}
-  - Затем для головного объекта конфигурации (//"​УправлениеТорговлей"//) установите правило поддержки на //"​Объект поставщика редактируется с сохранением поддержки"//​. {{ :​astpanel:​fastintegration:​2f.png |}}+  - Затем для головного объекта конфигурации (//"​УправлениеФирмойФранчайзи"//) установите правило поддержки на //"​Объект поставщика редактируется с сохранением поддержки"//​. {{ :​astpanel:​fastintegration:​2f.png |}}
   - Для общего модуля //"​**ВариантыОтчетовПереопределяемый**"//​ также установите правило поддержки на //"​Объект поставщика редактируется с сохранением поддержки"//​. {{ :​astpanel:​fastintegration:​3f.png |}}   - Для общего модуля //"​**ВариантыОтчетовПереопределяемый**"//​ также установите правило поддержки на //"​Объект поставщика редактируется с сохранением поддержки"//​. {{ :​astpanel:​fastintegration:​3f.png |}}
   - Закройте окно настройки поддержки   - Закройте окно настройки поддержки
Строка 51: Строка 49:
  Разделы.Добавить(Метаданные.Подсистемы.МИКО_Телефония);​  Разделы.Добавить(Метаданные.Подсистемы.МИКО_Телефония);​
  // МИКО / PT1C / Подсистема "​Расширенный журнал звонков"​ / Конец</​code>​  // МИКО / PT1C / Подсистема "​Расширенный журнал звонков"​ / Конец</​code>​
- +  - Перейдите в модуль команды **МИКО_стПанельОтчетовИсторияЗвонков** ​
-<note warning>​**ВНИМАНИЕ**! Для конфигурации **Управление торговлей,​ редакция 11 (11.4.3.126)+** необходимо модернизировать модуль команды **МИКО_стПанельОтчетовИсторияЗвонков**. Порядок действий описан ниже. </​note>​ +
- +
-  - Для конфигурации **Управление торговлей,​ редакция 11 (11.4.3.126)+** перейдите в модуль команды **МИКО_стПанельОтчетовИсторияЗвонков** ​+
   - Перейдите в **процедуру** **ОбработкаКоманды**   - Перейдите в **процедуру** **ОбработкаКоманды**
   - Внесите соответствующие изменения:​ <​code>&​НаКлиенте   - Внесите соответствующие изменения:​ <​code>&​НаКлиенте
Строка 83: Строка 78:
  
 ==== 2. Правка модуля управляемого приложения ==== ==== 2. Правка модуля управляемого приложения ====
-  - Откройте модуль управляемого приложения. {{ :astpanel:fastintegration:​12f.png |}}+  - Откройте модуль управляемого приложения. {{ :doc:korenconf.png |}}
   - Определите глобальную переменную в начале модуля до раздела процедур. <code 1c>// PT1C / Панель телефонии Asterisk / Начало   - Определите глобальную переменную в начале модуля до раздела процедур. <code 1c>// PT1C / Панель телефонии Asterisk / Начало
 Перем сфпФормаТелефон Экспорт;​ Перем сфпФормаТелефон Экспорт;​
Строка 96: Строка 91:
  сфпФормаТелефон = Неопределено;​ //Нет прав на обработку  сфпФормаТелефон = Неопределено;​ //Нет прав на обработку
  КонецПопытки;​  КонецПопытки;​
- +
  Если НЕ сфпФормаТелефон = Неопределено Тогда  Если НЕ сфпФормаТелефон = Неопределено Тогда
  сфпФормаТелефон.ИнициализироватьПанельТелефонии(Истина,​ Отказ);​  сфпФормаТелефон.ИнициализироватьПанельТелефонии(Истина,​ Отказ);​
Строка 107: Строка 102:
  
 </​code>​ </​code>​
-  - Перейдите к процедуре //"​ПриЗавершенииРаботыСистемы"//​ (создайте процедуру,​ если ее нет). В конец процедуры вставьте код приведенный ниже.<​code 1c>+  - Перейдите к процедуре //"ПередЗавершениемРаботыСистемы"//​ (создайте процедуру,​ если ее нет). В конец процедуры вставьте код приведенный ниже. <code 1c>
  // PT1C / Панель телефонии Asterisk / Начало  // PT1C / Панель телефонии Asterisk / Начало
- Если сфпФормаТелефон <> Неопределено Тогда + Если ​Отказ = Ложь И сфпФормаТелефон <> Неопределено Тогда 
- сфпФормаТелефон.ЗавершитьРаботу(Истина);+ сфпФормаТелефон.ЗавершитьРаботу();​
  КонецЕсли;​  КонецЕсли;​
- // PT1C / Панель телефонии Asterisk / Конец+ // PT1C / Панель телефонии Asterisk / Конец
 </​code>​ </​code>​
  
-===== Этап 4. Завершение этапа встраивания =====+===== Этап 4. Доработка справочника "​Контрагенты"​ ===== 
 +  - Добавьте в справочник реквизит **PT1C_ОсновнойМенеджер** (//​синоним Основной менеджер//​). Тип **СправочникСсылка.Пользователи**. 
 +  - В **форму элемента** справочника в **конец** процедуры **ПриСозданииНаСервере** добавьте фрагмент кода: <​code>​ 
 + // PT1C / Начало 
 + pt1c_Элемент = Элементы.Вставить("​PT1C_ОсновнойМенеджер",​ Тип("​ПолеФормы"​),,​);​ 
 + pt1c_Элемент.ПутьКДанным = "​Объект.PT1C_ОсновнойМенеджер";​ 
 + pt1c_Элемент.Вид = ВидПоляФормы.ПолеВвода;​ 
 + pt1c_Элемент.Заголовок ​  = "​Ответственный менеджер";​ 
 + // PT1C / Конец 
 +</​code> ​  
 + 
 +===== Этап 5. Редактирование команды "​Позвонить"​ ===== 
 + 
 +  - Откройте для редактирования в обработке **МИКО_ПанельТелефонииДля1С** команду **"​Позвонить"​** и замените ​ модуль команды <code 1c> 
 +&​НаКлиенте 
 +Процедура ОбработкаКоманды(ПараметрКоманды,​ ПараметрыВыполненияКоманды) 
 +  
 + ПанельАктивна = Ложь; 
 + Попытка 
 + ФормаПанелиТелефонии = Вычислить("​сфпФормаТелефон"​);​ 
 + ПанельАктивна = ФормаПанелиТелефонии <> Неопределено;​ 
 + Исключение 
 + КонецПопытки;​ 
 +  
 + Если ФормаПанелиТелефонии = Неопределено Тогда 
 + Попытка 
 + ФормаПанелиТелефонии = Вычислить("​сфпФормаТелефонВнешняяПанель"​);​ 
 + ПанельАктивна = ФормаПанелиТелефонии <> Неопределено;​ 
 + Исключение 
 + КонецПопытки;​ 
 + КонецЕсли;​ 
 +  
 + Если ФормаПанелиТелефонии = Неопределено Тогда 
 + Попытка 
 + ФормаПанелиТелефонии = Вычислить("​сфпПанельУправления"​);​ 
 + ПанельАктивна = ФормаПанелиТелефонии <> Неопределено;​ 
 + Исключение 
 + КонецПопытки;​ 
 + КонецЕсли;​  
 +  
 + Если ПанельАктивна Тогда 
 +  
 + СписокУчастников = ПолучитьСсылкуНаУчастникаИзДокумента(ПараметрКоманды);​ 
 + Если СписокУчастников <> Неопределено Тогда 
 + ФормаПанелиТелефонии.ПозвонитьВыбравТелефон(СписокУчастников);​ 
 + КонецЕсли;​ 
 +  
 + КонецЕсли;​ 
 +КонецПроцедуры 
 + 
 +// Для документов будет возвращено значение реквизита "​Контрагент"​ 
 +// Для справочников - возвращается ссылка на элемент 
 +// В случае ошибки возвращается "​Неопределено"​ 
 +//  
 +Функция ПолучитьСсылкуНаУчастникаИзДокумента(Знач Ссылка) Экспорт 
 +  
 + Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда 
 + МассивОбъектов = Новый Массив(1);​ 
 + МассивОбъектов[0] = Ссылка;​ 
 +  
 + Возврат МассивОбъектов;​ 
 + ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда 
 + МассивОбъектов = Новый Массив;​ 
 + ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​Контрагент"​);​ 
 + ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​КонтактноеЛицо"​);​ 
 + ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​Организация"​);​ 
 + ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​Сотрудник"​);​ 
 + Возврат МассивОбъектов;​ 
 + КонецЕсли;​ 
 +  
 +КонецФункции // ПолучитьСсылкуНаУчастникаИзДокумента() 
 +  
 +// Получате значение раквизита,​ если значение заполнено - добавляет его в массив. 
 +//  
 +Функция ДобавитьЗначениеРеквизитаВМассив(Знач Ссылка,​ Массив,​ ИмяРеквизита) Экспорт 
 + Если Ссылка.Метаданные().Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда 
 + Возврат Ложь; 
 + КонецЕсли;​ 
 + Если ЗначениеЗаполнено(Ссылка[ИмяРеквизита]) Тогда 
 + Массив.Добавить(Ссылка[ИмяРеквизита]);​ 
 + КонецЕсли;​ 
 +  
 + Возврат Истина;​ 
 +КонецФункции // ДобавитьЗначениеРеквизитаВМассив() 
 +</​code>​.  
 +  - Свойство **"​Тип параметра команды"​** должно иметь составной тип данных:​ 
 + 
 +    * **СправочникСсылка.КонтактныеЛица**;​ 
 +    * **ДокументСсылка.АРБИС_ПутевойЛист**;​  
 +    * **СправочникСсылка.Контрагенты**;​ 
 +    * **ДокументСсылка.АРБИС_Сделка**;​ 
 +    * **СправочникСсылка.Пользователи**;​ 
 +    * **СправочникСсылка.Организации**;​ 
 +    * **ДокументСсылка.АРБИС_Событие**.  
 + 
 +===== Этап 6. Редактирование команды "​Прослушать запись"​ ===== 
 + 
 +  - Добавьте в документ "​**АРБИС_Событие**"​ реквизит **PT1C_ID_Звонок** (//​синоним id звонок//​). Тип **Строка**,​ длина 32. 
 +  - Откройте для редактирования в обработке **МИКО_ПанельТелефонииДля1С** команду "​**ПрослушатьЗапись**"​ и замените в модуле команды код <code 1c> 
 + 
 +&​НаКлиенте 
 +Процедура ОбработкаКоманды(ПараметрКоманды,​ ПараметрыВыполненияКоманды) 
 +  
 + ПанельАктивна = Ложь; 
 + Попытка 
 + ФормаПанелиТелефонии = Вычислить("​сфпФормаТелефон"​);​ 
 + ПанельАктивна = ФормаПанелиТелефонии <> Неопределено;​ 
 + Исключение 
 + КонецПопытки;​ 
 +  
 + Если ФормаПанелиТелефонии = Неопределено Тогда 
 + Попытка 
 + ФормаПанелиТелефонии = Вычислить("​сфпФормаТелефонВнешняяПанель"​);​ 
 + ПанельАктивна = ФормаПанелиТелефонии <> Неопределено;​ 
 + Исключение 
 + КонецПопытки;​ 
 + КонецЕсли;​ 
 +  
 + Если ФормаПанелиТелефонии = Неопределено Тогда 
 + Попытка 
 + ФормаПанелиТелефонии = Вычислить("​сфпПанельУправления"​);​ 
 + ПанельАктивна = ФормаПанелиТелефонии <> Неопределено;​ 
 + Исключение 
 + КонецПопытки;​ 
 + КонецЕсли;​ 
 +  
 + Если ПанельАктивна Тогда 
 +  
 + ДокументСобытиеНазвание = ФормаПанелиТелефонии.ИмяДокументСобытие();​ 
 +  
 + ID_Звонок = ПолучитьИдентификаторЗвонка(ПараметрКоманды,​ ДокументСобытиеНазвание);​ 
 + Если ID_Звонок <> Неопределено Тогда 
 + ФормаПанелиТелефонии.ПрослушатьЗвонокПоИдентификатору(ID_Звонок);​ 
 + КонецЕсли;​ 
 +  
 + КонецЕсли;​ 
 +КонецПроцедуры 
 + 
 +Функция ПолучитьИдентификаторЗвонка(Ссылка,​ ДокументСобытиеНазвание) 
 +  
 + ​ Возврат Ссылка.PT1C_ID_Звонок;​ 
 +  
 +КонецФункции // ПолучитьИдентификаторЗвонка() 
 +</​code>​ 
 +  - "​**Тип параметра команды**"​ должно иметь тип данных:​ **ДокументСсылка.АРБИС_Событие**.  
 +   
 +===== Этап 7. Завершение этапа встраивания =====
  
 ==== Сохранение изменений ==== ==== Сохранение изменений ====
astpanel/fastintegration/arbis.1526309291.txt.gz · Последние изменения: 2018/05/14 14:48 — tpor