Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
astpanel:fastintegration:upp13 [2017/08/29 12:46] tpor создано |
astpanel:fastintegration:upp13 [2018/08/31 14:02] (текущий) tpor [4. Модернизация документа Событие] |
||
---|---|---|---|
Строка 7: | Строка 7: | ||
* Управление производственным предприятием, редакция 1.3 (1.3.92.3) | * Управление производственным предприятием, редакция 1.3 (1.3.92.3) | ||
- | Рекомендуемая версия **панели телефонии**: **1.4.26.20+**\\ | + | Рекомендуемая версия **панели телефонии**: **1.2.24.12+**\\ |
Рекомендуемая версия **журнала звонков**: **1.0.1.15+** | Рекомендуемая версия **журнала звонков**: **1.0.1.15+** | ||
</note> | </note> | ||
Строка 24: | Строка 24: | ||
- В появившемся окне укажите, что объекты поставщика не редактируются. {{ :doc:panel1ccrm20:rules.png? |}} | - В появившемся окне укажите, что объекты поставщика не редактируются. {{ :doc:panel1ccrm20:rules.png? |}} | ||
- Затем для головного объекта конфигурации (//"УправлениеПроизводственнымПредприятием"//) установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. {{ :astpanel:fastintegration:2f.png |}} | - Затем для головного объекта конфигурации (//"УправлениеПроизводственнымПредприятием"//) установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. {{ :astpanel:fastintegration:2f.png |}} | ||
- | - Для документа //"**Событие**"// и //"**ФормаДокумента**"// документа также установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. | + | - Для документа //"**Событие**"// и //"**ФормаДокумента**"// документа также установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//.{{ :astpanel:fastintegration:1_.png |}} {{ :astpanel:fastintegration:2_.png |}} |
- | - Для //"**ФормаЭлемента**"// справочника //"**Контрагенты**"// установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. | + | - Для //"**ФормаЭлемента**"// справочника //"**Контрагенты**"// установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//.{{ :astpanel:fastintegration:3_.png |}} |
- Для общей формы //"**ПечатьДокументов**"// установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. | - Для общей формы //"**ПечатьДокументов**"// установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. | ||
+ | - Для регистра сведений //"**ДанныеНезарегистрированныхКонтрагентов**"// установите правило поддержки на //"Объект поставщика редактируется с сохранением поддержки"//. | ||
- Закройте окно настройки поддержки | - Закройте окно настройки поддержки | ||
Строка 37: | Строка 38: | ||
- Снимите флажок со всех объектов конфигурации {{ :astpanel:fastintegration:5f.png |}} | - Снимите флажок со всех объектов конфигурации {{ :astpanel:fastintegration:5f.png |}} | ||
- Меню "**Действия**" - "**Отметить по подсистемам файла**" {{ :astpanel:fastintegration:6f.png |}} | - Меню "**Действия**" - "**Отметить по подсистемам файла**" {{ :astpanel:fastintegration:6f.png |}} | ||
- | - Выберите **только** те подсистемы, которые указаны на скриншоте. Выполните действие "**Установить**" {{ :astpanel:fastintegration:7f.png |}} | + | - Выберите **только** те подсистемы, которые указаны на скриншоте. Выполните действие "**Установить**" {{ :astpanel:fastintegration:of.png |}} |
- Выполните действие "**Выполнить**" {{ :astpanel:fastintegration:8f.png |}} | - Выполните действие "**Выполнить**" {{ :astpanel:fastintegration:8f.png |}} | ||
- В появившемся окне нажимаем "**Продолжить**". Сохраняем отчет сравнения/объединения нашей конфигурации с файлом. {{ :astpanel:fastintegration:9f.png |}} | - В появившемся окне нажимаем "**Продолжить**". Сохраняем отчет сравнения/объединения нашей конфигурации с файлом. {{ :astpanel:fastintegration:9f.png |}} | ||
- | - Сравнение и объединение будет завершено. {{ :astpanel:fastintegration:10f.png |}} | + | - Сравнение и объединение будет завершено {{ :astpanel:fastintegration:10f.png |}} |
===== Этап 3. Встраивание панели телефонии ===== | ===== Этап 3. Встраивание панели телефонии ===== | ||
Строка 46: | Строка 47: | ||
==== 1. Добавление обработки в подсистему МИКО_Телефония ==== | ==== 1. Добавление обработки в подсистему МИКО_Телефония ==== | ||
- | Замените обработку МИКО_ПанельТелефонииДля1С на внешнюю, которая идет в поставке, она должна называться **МИКО_ПанельТелефонииДля1С**.{{ :astpanel:fastintegration:1231.png |}} | + | Замените обработку МИКО_ПанельТелефонииДля1С на внешнюю, которая идет в поставке, она должна называться **МИКО_ПанельТелефонииДля1С**.{{ :astpanel:fastintegration:1231.png |}} |
==== 2. Редактирование роли ==== | ==== 2. Редактирование роли ==== | ||
Строка 82: | Строка 83: | ||
КонецПроцедуры // ПриНачалеРаботыСистемы() | КонецПроцедуры // ПриНачалеРаботыСистемы() | ||
</code> | </code> | ||
- | - Перейдите к процедуре «ОбработкаВнешнегоСобытия». В конец процедуры вставьте код приведенный ниже. | + | - Перейдите к процедуре «ОбработкаВнешнегоСобытия». В конец процедуры вставьте код приведенный ниже.<code 1c> |
- | + | ||
- | <code 1c> | + | |
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) | Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) | ||
Строка 100: | Строка 99: | ||
КонецПроцедуры // ОбработкаВнешнегоСобытия() | КонецПроцедуры // ОбработкаВнешнегоСобытия() | ||
</code> | </code> | ||
- | - Перейдите к процедуре «ПередЗавершениемРаботыСистемы». В конец процедуры вставьте код приведенный ниже. | + | - Перейдите к процедуре «ПередЗавершениемРаботыСистемы». В конец процедуры вставьте код приведенный ниже.<code 1c>Процедура ПередЗавершениемРаботыСистемы(Отказ) |
- | + | ||
- | <code 1c>Процедура ПередЗавершениемРаботыСистемы(Отказ) | + | |
// ... ... ... Внимание!!! Пропущена часть кода!!! ... ... ... | // ... ... ... Внимание!!! Пропущена часть кода!!! ... ... ... | ||
Строка 116: | Строка 113: | ||
</code> | </code> | ||
+ | ==== 4. Модернизация документа "Событие" ==== | ||
+ | |||
+ | **Задача:** необходимо хранить связку документа события с записью в истории звонков. При открытии документа события из истории, должен открываться документ сформированный ранее по этой записи. | ||
+ | |||
+ | **Решение:** для документа "Событие" необходимо добавить новый реквизит: | ||
+ | * Имя = "**CRM_GUIDЗвонка**" | ||
+ | * Тип = **Переменная строка 300** символов | ||
+ | |||
+ | === Прослушать запись разговора из документа "Событие" === | ||
+ | |||
+ | **Задача:** необходимо добавить возможность прослушать запись разговора, связанного с документом "Событие", из формы документа. Кроме того необходимо добавить возможность набрать номер контрагента, либо его контактного лица из формы документа. | ||
+ | |||
+ | **Решение:** необходимо модифицировать** модуль формы документа**: | ||
+ | <code 1c>// Обработчик события ПриОткрытии формы. | ||
+ | // | ||
+ | Процедура ПриОткрытии() | ||
+ | | ||
+ | // ... ... ... | ||
+ | |||
+ | мПоследнееЗначениеЭлементаПоискаПоСтрокеКонтрагент = Контрагент; | ||
+ | мПоследнееЗначениеЭлементаПоискаПоСтрокеКонтактноеЛицо = КонтактноеЛицо; | ||
+ | мТекущаяДатаДокумента = Дата; | ||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} НАЧАЛО | ||
+ | Если НЕ Miko_Ajam = Неопределено | ||
+ | И НЕ Miko_Ajam.мОбщийМодуль = Неопределено Тогда | ||
+ | мОбщийМодуль = Miko_Ajam.мОбщийМодуль; | ||
+ | // добавляем кнопку вызова | ||
+ | мОбщийМодуль.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭлементыФормы.ДействияФормы.Кнопки, | ||
+ | "МИКО_ВыполнитьДействие", | ||
+ | "кнМИКО_НабратьНомерВыбравИзСписка"); | ||
+ | // добавляем кнопку прослушивания записи разговора | ||
+ | мОбщийМодуль.ДобавитьКнопкуПрослушиванияЗаписиНаПанельДействий(ЭлементыФормы.ДействияФормы.Кнопки, | ||
+ | "МИКО_ВыполнитьДействие", | ||
+ | "кнМИКО_ПрослушатьЗапись"); | ||
+ | КонецЕсли; | ||
+ | ПодключитьОбработчикОжидания("МИКО_СформироватьСтрокуТипаВида", 1, Истина); | ||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} КОНЕЦ | ||
+ | Модифицированность = Ложь; | ||
+ | |||
+ | КонецПроцедуры // ПриОткрытии()</code> | ||
+ | |||
+ | добавить в форму обработчик нажатия кнопок: | ||
+ | <code 1c> | ||
+ | // МИКО // Набор номера по заданному алгоритму | ||
+ | // | ||
+ | Процедура МИКО_ВыполнитьДействие(Кнопка) | ||
+ | Действие = Кнопка.Имя; | ||
+ | Если Miko_Ajam = Неопределено Тогда Возврат; КонецЕсли; | ||
+ | |||
+ | Если Действие = "кнМИКО_НабратьНомерВыбравИзСписка" Тогда | ||
+ | // Позвонить по телефону выбранному пользователем из списка, определенных у контрагента и контактного лица | ||
+ | СписокОбъектов = Новый Структура(); | ||
+ | СписокОбъектов.Вставить("Контрагент", Контрагент); | ||
+ | СписокОбъектов.Вставить("КонтактноеЛицо", КонтактноеЛицо); | ||
+ | // Данные незарегистрированных контрагентов: | ||
+ | СписокОбъектов.Вставить("Событие", Ссылка); | ||
+ | |||
+ | Miko_Ajam.ПозвонитьВыбравТелефон(СписокОбъектов); | ||
+ | ИначеЕсли Действие = "кнМИКО_ПрослушатьЗапись" Тогда | ||
+ | Если НЕ ЗначениеЗаполнено(CRM_GUIDЗвонка) Тогда | ||
+ | Сообщить("К событию не прикреплено записи разговора!"); | ||
+ | Возврат; | ||
+ | КонецЕсли; | ||
+ | // Прослушать запись разговора, прикрепленного к событию | ||
+ | Miko_Ajam.ПрослушатьЗаписьРазговора(CRM_GUIDЗвонка); | ||
+ | КонецЕсли; | ||
+ | КонецПроцедуры | ||
+ | |||
+ | Процедура МИКО_СформироватьСтрокуТипаВида() Экспорт | ||
+ | // актуально для УТ 10.3.34.2 | ||
+ | СформироватьСтрокуТипаВида(); | ||
+ | КонецПроцедуры // МИКО_СформироватьСтрокуТипаВида() | ||
+ | |||
+ | </code> | ||
+ | Документ при открытии будет выглядеть следующим образом: | ||
+ | |||
+ | {{ :doc:panel1cut:dokument_sobytie.jpg? |}} | ||
+ | |||
+ | ==== 5. Данные незарегистрированных контрагентов ==== | ||
+ | |||
+ | В некоторых случаях удобно не регистрировать нового клиента, а сохранить его просто в документе "Событие". \\ | ||
+ | В этом случае данные будут сохранены в регистре сведений "**ДанныеНезарегистрированныхКонтрагентов**". | ||
+ | |||
+ | В стандартном исполнении регистр не позволяет сохранить сведения по коду страны. Исправим это. | ||
+ | - Добавим в регистр новый **ресурс**: "**МИКО_КодСтраны**" | ||
+ | - Тип значения: "**строка**" | ||
+ | - Полнотекстовый поиск: "**Не использовать**" | ||
+ | - Длинна: **"10", переменная** {{ :astpanel:designer:miko_code_contry.png | Свойства ресурса регистра сведений ДанныеНезарегистрированныхКонтрагентов}} | ||
+ | |||
+ | Функцию заполнения ресурса воздет на себя панель телефонии (**поддерживается в версии 1.2.24.7+**). | ||
+ | |||
+ | ==== 6. Модернизация справочника "Контрагенты" ==== | ||
+ | |||
+ | === Звонок из карточки Контрагента === | ||
+ | **Задача:** необходимо, добавить возможность произвести звонок из карточки контрагента | ||
+ | |||
+ | **Решение:** необходимо модифицировать форму элемента справочника "Контрагенты": | ||
+ | <code 1c> | ||
+ | // Обработчик события ПриОткрытии формы. | ||
+ | // | ||
+ | Процедура ПриОткрытии() | ||
+ | |||
+ | // ... ... ... Внимание!!! Отсутствует часть исходного кода!!! | ||
+ | |||
+ | // Установить печатную форму по умолчанию. | ||
+ | РаботаСДиалогами.УстановитьКнопкуПечати(ЭтотОбъект, ЭтаФорма); | ||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} НАЧАЛО | ||
+ | Если НЕ Miko_Ajam = Неопределено | ||
+ | И НЕ Miko_Ajam.мОбщийМодуль = Неопределено Тогда | ||
+ | мОбщийМодуль = Miko_Ajam.мОбщийМодуль; | ||
+ | // добавляем элементы управления на форму | ||
+ | |||
+ | мОбщийМодуль.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭлементыФормы.ДействияФормы.Кнопки, | ||
+ | "МИКО_ВыполнитьДействие", | ||
+ | "кнМИКО_НабратьНомерВыбравИзСписка"); | ||
+ | мОбщийМодуль.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭлементыФормы.КоманднаяПанельКонтактнаяИнформация.Кнопки, | ||
+ | "МИКО_ВыполнитьДействие", | ||
+ | "кнМИКО_НабратьНомерИзКИ"); | ||
+ | мОбщийМодуль.ДобавитьКнопкуЗвонкаНаПанельДействий(ЭлементыФормы.КоманднаяПанельКонтактныеЛицаКонтрагента.Кнопки, | ||
+ | "МИКО_ВыполнитьДействие", | ||
+ | "кнМИКО_НабратьНомерВыбравКЛ"); | ||
+ | КонецЕсли; | ||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} КОНЕЦ | ||
+ | КонецПроцедуры | ||
+ | </code> | ||
+ | |||
+ | добавить обработчик нажатия кнопок: | ||
+ | |||
+ | <code 1c> | ||
+ | // МИКО // Набор номера по заданному алгоритму | ||
+ | // Параметры | ||
+ | // Кнопка - элемент управления формы с типом "КнопкаКоманднойПанели" | ||
+ | Процедура МИКО_ВыполнитьДействие(Кнопка) | ||
+ | Действие = Кнопка.Имя; | ||
+ | Если Miko_Ajam = Неопределено Тогда Возврат; КонецЕсли; | ||
+ | |||
+ | Если Действие = "кнМИКО_НабратьНомерИзКИ" Тогда | ||
+ | // Позвонить по выбранному контакту | ||
+ | ТекущаяСтрока = ЭлементыФормы.КонтактнаяИнформация.ТекущиеДанные; | ||
+ | Если НЕ ТекущаяСтрока = Неопределено Тогда | ||
+ | Miko_Ajam.НабратьНомерКИ(ЭлементыФормы.КонтактнаяИнформация.ТекущиеДанные); | ||
+ | КонецЕсли; | ||
+ | ИначеЕсли Действие = "кнМИКО_НабратьНомерВыбравИзСписка" ТОгда | ||
+ | // Позвонить по телефону, выбранному пользователем из списка телефонов определенных у контрагента и контактного лица | ||
+ | СписокОбъектов = Новый Структура(); | ||
+ | СписокОбъектов.Вставить("Контрагент", Ссылка); | ||
+ | СписокОбъектов.Вставить("КонтактноеЛицо", ОсновноеКонтактноеЛицо); | ||
+ | Если НЕ Ссылка = ГоловнойКонтрагент Тогда | ||
+ | СписокОбъектов.Вставить("КонтактноеЛицо", ГоловнойКонтрагент); | ||
+ | КонецЕсли; | ||
+ | |||
+ | Miko_Ajam.ПозвонитьВыбравТелефон(СписокОбъектов); | ||
+ | ИначеЕсли Действие = "кнМИКО_НабратьНомерВыбравКЛ" Тогда | ||
+ | // Позовонить выбранному контактному лицу | ||
+ | ТекущиеДанные = ЭлементыФормы.КонтактныеЛицаКонтрагента.ТекущиеДанные; | ||
+ | Если НЕ ТекущиеДанные = Неопределено Тогда | ||
+ | СписокОбъектов = Новый Структура(); | ||
+ | СписокОбъектов.Вставить("КонтактноеЛицо", ТекущиеДанные.Ссылка); | ||
+ | Miko_Ajam.ПозвонитьВыбравТелефон(СписокОбъектов); | ||
+ | КонецЕсли; | ||
+ | ИначеЕсли Действие = "УстановитьДоступностьКнопокСофтфона" Тогда | ||
+ | Miko_Ajam.мОбщийМодуль.УстановитьДоступностьКнопокСофтфона(ЭлементыФормы.КонтактнаяИнформация.ТекущиеДанные, | ||
+ | ЭлементыФормы.КоманднаяПанельКонтактнаяИнформация.Кнопки, | ||
+ | "кнМИКО_НабратьНомерИзКИ"); | ||
+ | КонецЕсли; | ||
+ | |||
+ | КонецПроцедуры | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Кнопки должны быть доступны только для контактной информации с типом "Телефон" | ||
+ | <code 1c> | ||
+ | // Обработчик события ПриАктивизацииСтроки элемента формы КонтактнаяИнформация. | ||
+ | // | ||
+ | Процедура КонтактнаяИнформацияПриАктивизацииСтроки(Элемент) | ||
+ | |||
+ | УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПриАктивизацииСтрокиТаблицы(Элемент, ЭлементыФормы.КоманднаяПанельКонтактнаяИнформация.Кнопки.УстановитьОсновным); | ||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} НАЧАЛО | ||
+ | Если НЕ Miko_Ajam = Неопределено | ||
+ | И НЕ Miko_Ajam.мОбщийМодуль = Неопределено Тогда | ||
+ | МИКО_ВыполнитьДействие(Новый Структура("Имя","УстановитьДоступностьКнопокСофтфона")); | ||
+ | КонецЕсли; | ||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} КОНЕЦ | ||
+ | КонецПроцедуры | ||
+ | </code> | ||
+ | |||
+ | Форма элемента справочника примет следующий вид: | ||
+ | {{ :doc:panel1cut:forma_kontragenta.png? |}} | ||
+ | |||
+ | ==== 7. Модернизация общей формы печати документов ==== | ||
+ | |||
+ | === Отправка факсом текущего документа === | ||
+ | **Задача:** необходимо, добавить возможность отправки сформированной печатной формы в виде факсимильного сообщения в текущий вызов. | ||
+ | |||
+ | **Решение:** необходимо модифицировать общую форму "ПечатьДокументов": | ||
+ | |||
+ | <code 1c> | ||
+ | // Обработчик "ПриОткрытии" формы печати | ||
+ | // | ||
+ | Процедура ПриОткрытии() | ||
+ | |||
+ | ЭлементыФормы.ПолеТабличногоДокумента.ВставитьОбласть(ПечатныйДокумент.Область()); | ||
+ | |||
+ | ЭлементыФормы.ПолеТабличногоДокумента.ОтображатьЗаголовки = Ложь; | ||
+ | ЭлементыФормы.ПолеТабличногоДокумента.ОтображатьСетку = Ложь; | ||
+ | ЭлементыФормы.ПолеТабличногоДокумента.Защита = Защита; | ||
+ | ЭлементыФормы.ПолеТабличногоДокумента.ТолькоПросмотр = Истина; | ||
+ | ЭлементыФормы.ПолеТабличногоДокумента.ИмяПараметровПечати = ПечатныйДокумент.ИмяПараметровПечати; | ||
+ | ЭлементыФормы.ПолеТабличногоДокумента.ПовторятьПриПечатиСтроки = ПечатныйДокумент.ПовторятьПриПечатиСтроки; | ||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} НАЧАЛО | ||
+ | Если НЕ Miko_Ajam = Неопределено | ||
+ | И НЕ Miko_Ajam.мОбщийМодуль = Неопределено Тогда | ||
+ | мОбщийМодуль = Miko_Ajam.мОбщийМодуль; | ||
+ | // добавляем элементы управления на форму | ||
+ | мОбщийМодуль.ДобавитьКнопкуОтправкиФаксаНаПанельДействий(ЭлементыФормы.КоманднаяПанельФормы.Кнопки, | ||
+ | "МИКО_ВыполнитьДействие", | ||
+ | "кнМИКО_ОтправитьФакс"); | ||
+ | КонецЕсли; | ||
+ | // {{doc:panel1cut:{ МИКО Панель телефонии Asterisk }}} КОНЕЦ | ||
+ | КонецПроцедуры | ||
+ | </code> | ||
+ | |||
+ | добавить обработчик нажатия кнопки: | ||
+ | |||
+ | <code 1c> | ||
+ | // Набор номера по заданному алгоритму | ||
+ | // Параметры | ||
+ | // Кнопка - элемент управления формы с типом "КнопкаКоманднойПанели" | ||
+ | Процедура МИКО_ВыполнитьДействие(Кнопка) | ||
+ | Действие = Кнопка.Имя; | ||
+ | Если Miko_Ajam = Неопределено Тогда Возврат; КонецЕсли; | ||
+ | |||
+ | Если Действие = "кнМИКО_ОтправитьФакс" Тогда | ||
+ | // Обработчик нажатия на кнопку отправки табличного документа в текущий разговор | ||
+ | Miko_Ajam.ОтправитьФаксомТабДок(ЭлементыФормы.ПолеТабличногоДокумента); | ||
+ | КонецЕсли; | ||
+ | |||
+ | КонецПроцедуры | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Общая печатная форма примет вид: | ||
+ | {{ :doc:panel1cut:obschaja_forma_pechati_dokumentov.png? |}} | ||
Строка 140: | Строка 380: | ||
На этом встраивание панели телефонии и журнала звонков в конфигурацию завершено. Теперь можно перейти к настройке продуктов в режиме 1С:Предприятие: | На этом встраивание панели телефонии и журнала звонков в конфигурацию завершено. Теперь можно перейти к настройке продуктов в режиме 1С:Предприятие: | ||
- | *[[astpanel:enterprise:managed#pervyj_zapusk| Настройка панели телефонии]] | + | *[[astpanel:enterprise:ordinary#startovyj_pomoschnik| Настройка панели телефонии]] |
*[[astpanel:statistic:settings| Настройка журнала звонков]] | *[[astpanel:statistic:settings| Настройка журнала звонков]] | ||