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

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

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


astpanel:designer:ut103

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
astpanel:designer:ut103 [2016/02/17 08:14]
apor [Модернизация документа Событие]
astpanel:designer:ut103 [2021/08/12 14:13] (текущий)
atar [Данные незарегистрированных контрагентов]
Строка 4: Строка 4:
  
 ===== Подготовка ===== ===== Подготовка =====
 +
 +<note important>​Инструкция проверена с релизом "​Управление торговлей 10.3.50.1"​ и панелью телефонии версии 1.2.24.20</​note>​
  
 <note warning>​Обязательно перед началом работ **выполняйте резервное копирование** информационной базы!</​note>​ <note warning>​Обязательно перед началом работ **выполняйте резервное копирование** информационной базы!</​note>​
Строка 16: Строка 18:
 === Добавление обработки в конфигурацию=== === Добавление обработки в конфигурацию===
  
-Добавим в дерево ​метаданных ​внешнюю обработку **"​МИКО_ПанельТелефонииДля1С"​**+Добавим в дерево ​объектов конфигурации ​внешнюю обработку **"​МИКО_ПанельТелефонииДля1С"​**. Она находится корневой папке скаченного комплекта.
  
 === Настройка ролей === === Настройка ролей ===
Строка 25: Строка 27:
   - Синоним **"​Использование панели телефонии ​ Asterisk (МИКО)"​**. ​   - Синоним **"​Использование панели телефонии ​ Asterisk (МИКО)"​**. ​
  
 +Для этой роли с корневого элемента дерева объектов конфигурации снимите все права. \\
 +{{ :​astpanel:​designer:​podsist_telef_1.png?​nolink |}} \\
 Установить права на **использование** и **просмотр** обработки "​МИКО_ПанельТелефонииДля1С"​. Установить права на **использование** и **просмотр** обработки "​МИКО_ПанельТелефонииДля1С"​.
  
Строка 74: Строка 78:
  
  // {{doc:​panel1cut:​{ Панель телефонии Asterisk, МИКО }}} НАЧАЛО  // {{doc:​panel1cut:​{ Панель телефонии Asterisk, МИКО }}} НАЧАЛО
- Если Источник = "​MikoAjamEvent"​+ Если ​(Источник = "​MikoAjamEvent"​
  ИЛИ Источник = "​MIKO_SoftPhone"​  ИЛИ Источник = "​MIKO_SoftPhone"​
- ИЛИ Источник = "​hWindow"​+ ИЛИ Источник = "​hWindow"​)
  И НЕ Miko_Ajam ​ = Неопределено Тогда  И НЕ Miko_Ajam ​ = Неопределено Тогда
    
Строка 116: Строка 120:
  
 **Решение:​** для документа "​Событие"​ необходимо добавить новый реквизит:​ **Решение:​** для документа "​Событие"​ необходимо добавить новый реквизит:​
-  * Имя = "​**CRM_GUIDЗвонка**"​  +  * Имя = "​**CRM_GUIDЗвонка**"​ 
-  * Тип = **Переменная ​строка 300** символов+  * Тип = "​**Строка**",​ длина **38**, допустимая длина "**Переменная**";
  
 === Прослушать запись разговора из документа "​Событие"​ === === Прослушать запись разговора из документа "​Событие"​ ===
Строка 146: Строка 150:
                                                                        "​кнМИКО_ПрослушатьЗапись"​);​                                                                        "​кнМИКО_ПрослушатьЗапись"​);​
  КонецЕсли; ​  КонецЕсли; ​
 + ПодключитьОбработчикОжидания("​МИКО_СформироватьСтрокуТипаВида",​ 1, Истина);​
  // {{doc:​panel1cut:​{ МИКО Панель телефонии Asterisk }}} КОНЕЦ   // {{doc:​panel1cut:​{ МИКО Панель телефонии Asterisk }}} КОНЕЦ
  Модифицированность = Ложь;  Модифицированность = Ложь;
Строка 177: Строка 182:
  КонецЕсли;​   КонецЕсли;​
 КонецПроцедуры КонецПроцедуры
 +
 +Процедура МИКО_СформироватьСтрокуТипаВида() Экспорт
 + // актуально для УТ 10.3.34.2
 + СформироватьСтрокуТипаВида();​
 +КонецПроцедуры // МИКО_СформироватьСтрокуТипаВида()
 +
 </​code>​ </​code>​
 Документ при открытии будет выглядеть следующим образом:​ Документ при открытии будет выглядеть следующим образом:​
  
 {{ :​doc:​panel1cut:​dokument_sobytie.jpg?​ |}} {{ :​doc:​panel1cut:​dokument_sobytie.jpg?​ |}}
-==== Модернизация регистра сведений ​Контактная информация ====+==== Контактная информация ====
  
 **Задача:​** необходимо,​ для поиска номеров в базе использовать запрос не по временной таблице,​ а непосредственно по регистру сведений "​КонтактнаяИнформация"​. ​ **Задача:​** необходимо,​ для поиска номеров в базе использовать запрос не по временной таблице,​ а непосредственно по регистру сведений "​КонтактнаяИнформация"​. ​
Строка 189: Строка 200:
   * "​**CRM_ПолеХраненияНомера**"​ (число длина 32)   * "​**CRM_ПолеХраненияНомера**"​ (число длина 32)
   * "​**CRM_НомерТелефона**"​ (переменная строка 32)   * "​**CRM_НомерТелефона**"​ (переменная строка 32)
 +
 +<note warning>​Обратите **внимание** на тип значения! \\ "​**CRM_ПолеХраненияНомера**"​ (**число** длина 32) </​note>​
  
 В модуле набора записей изменить процедуру:​ В модуле набора записей изменить процедуру:​
Строка 210: Строка 223:
  СтрокаОтказа = "​Нельзя использовать в качестве объекта контактной информации - группу.";​  СтрокаОтказа = "​Нельзя использовать в качестве объекта контактной информации - группу.";​
  Прервать;​  Прервать;​
- КонецЕсли;​ + КонецЕсли;​  
- #Если Клиент Тогда  + // Панель телефонии ​для 1С // НАЧАЛО 
- //{{doc:​panel1cut:​{ МИКО }}} НАЧАЛО ​Код встраивания "Панель ​телефонии Asterisk"​+сли Клиент Тогда
  Если НЕ Miko_Ajam = Неопределено ​                        Если НЕ Miko_Ajam = Неопределено ​                      
                      И НЕ Miko_Ajam.мОбработкаДанных = Неопределено                      И НЕ Miko_Ajam.мОбработкаДанных = Неопределено
                      И Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда                      И Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
- ПредставлениеНомера = Запись.Поле1 + Запись.Поле2 + Запись.Поле3;​ + глКоличествоХранимыхЦифрТелефона = Miko_Ajam.ГлобальныеПеременные.глКоличествоХранимыхЦифрТелефона;​ 
- + мОбработкаДанных = Miko_Ajam.мОбработкаДанных;​ 
 +  
 + ПредставлениеНомера = мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы(Запись.Поле1 + Запись.Поле2 + Запись.Поле3); 
 + ПредставлениеБаза ​  = мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы(Запись.Представление)
 +
  Если ЗначениеЗаполнено(Запись.Поле4) И НЕ ЗначениеЗаполнено(ПредставлениеНомера) Тогда  Если ЗначениеЗаполнено(Запись.Поле4) И НЕ ЗначениеЗаполнено(ПредставлениеНомера) Тогда
- Запись.CRM_ПолеХраненияНомера = Miko_Ajam.мОбработкаДанных.ПреобразоватьНомерДляСохранения(Запись.Поле4,  ​Miko_Ajam.ГлобальныеПеременные.глКоличествоХранимыхЦифрТелефона);​ + Запись.CRM_ПолеХраненияНомера = мОбработкаДанных.ПреобразоватьНомерДляСохранения(Запись.Поле4, ​ глКоличествоХранимыхЦифрТелефона);​ 
- Запись.CRM_НомерТелефона ​     = Miko_Ajam.мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы ​  ​(Запись.Поле4);​+ Запись.CRM_НомерТелефона ​     = мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы ​  ​(Запись.Поле4)
 + ИначеЕсли НЕ ЗначениеЗаполнено(ПредставлениеНомера + Запись.Поле4) И ЗначениеЗаполнено(ПредставлениеБаза) Тогда  
 + Запись.CRM_ПолеХраненияНомера = мОбработкаДанных.ПреобразоватьНомерДляСохранения(ПредставлениеБаза, ​ глКоличествоХранимыхЦифрТелефона);​ 
 + Запись.CRM_НомерТелефона ​     = ПредставлениеБаза;
  Иначе  Иначе
- Запись.CRM_ПолеХраненияНомера = Miko_Ajam.мОбработкаДанных.ПреобразоватьНомерДляСохранения (ПредставлениеНомера, ​ ​Miko_Ajam.ГлобальныеПеременные.глКоличествоХранимыхЦифрТелефона);​ + Запись.CRM_ПолеХраненияНомера = мОбработкаДанных.ПреобразоватьНомерДляСохранения(ПредставлениеНомера,​глКоличествоХранимыхЦифрТелефона);​ 
- Запись.CRM_НомерТелефона ​     = Miko_Ajam.мОбработкаДанных.УбратьИзНомераТелефонаВсеБуквы ​   (ПредставлениеНомера);+ Запись.CRM_НомерТелефона ​     = ПредставлениеНомера;​
  КонецЕсли;​  КонецЕсли;​
  КонецЕсли;​  КонецЕсли;​
- + 
  // Для возможности сохранения Скайп номера  // Для возможности сохранения Скайп номера
  Если Найти(Запись.Вид,"​Skype"​)>​0 Тогда  Если Найти(Запись.Вид,"​Skype"​)>​0 Тогда
  Запись.CRM_НомерТелефона = Запись.Представление;​  Запись.CRM_НомерТелефона = Запись.Представление;​
  КонецЕсли;​  КонецЕсли;​
- //​{{doc:​panel1cut:​{ МИКО }}} КОНЕЦ + #КонецЕсли 
- #конецесли+ // Панель телефонии для 1С// КОНЕЦ
  КонецЦикла;​  КонецЦикла;​
   
Строка 243: Строка 263:
  
 После этого, добавленные ранее ресурсы,​ будут заполняться надлежащим образом. После этого, добавленные ранее ресурсы,​ будут заполняться надлежащим образом.
 +==== Данные незарегистрированных контрагентов ====
 +
 +В некоторых случаях удобно не регистрировать нового клиента,​ а сохранить его просто в документе "​Событие"​. \\
 +В этом случае данные будут сохранены в регистре сведений "​**ДанныеНезарегистрированныхКонтрагентов**"​.
 +
 +В стандартном исполнении регистр не позволяет сохранить сведения по коду страны. Исправим это. ​
 +  - Добавим в регистр новый **ресурс**:​ "​**МИКО_КодСтраны**"​
 +  - Тип значения:​ "​**строка**"​
 +  - Полнотекстовый поиск: "​**Не использовать**"​
 +  - Длинна:​ **"​10",​ переменная** {{ :​astpanel:​designer:​miko_code_contry.png | Свойства ресурса регистра сведений ДанныеНезарегистрированныхКонтрагентов}}
 +
 +Функцию заполнения ресурса возьмет на себя панель телефонии (**поддерживается в версии 1.2.24.7+**). ​
 +
 +При регистрации неизвестного контрагента из документа Событие "​пропадает"​ из номера телефона код страны,​ исправим этот момент. Откроем форму обработки "​РедактированиеДанныхНезарегистрированныхКонтрагентов",​ в модуле формы найдем функцию "​Зарегистрировать()"​ и дополним участок кода:
 +
 +<code 1c>
 + // Контактная инфомация контрагента
 + // Телефон контрагента
 + Если ЗначениеЗаполнено(Запись.ВидТелефонаКонтрагента) И НЕ ПустаяСтрока(Запись.НомерТелефонаКонтрагента) Тогда
 +
 + НоваяЗапись = ФормаКонтрагента.НаборКонтактнойИнформации.Добавить();​
 +
 + НоваяЗапись.Вид ​   = Запись.ВидТелефонаКонтрагента;​
 + НоваяЗапись.Тип ​   = Перечисления.ТипыКонтактнойИнформации.Телефон;​
 + НоваяЗапись.Объект = НовыйКонтрагент.Ссылка;​
 +
 + НоваяЗапись.Поле3 ​ = Запись.НомерТелефонаКонтрагента;​
 + НоваяЗапись.Поле4 ​ = Запись.ДобавочныйНомерТелефонаКонтрагента;​
 + НоваяЗапись.Поле2 ​ = Запись.КодГородаТелефонаКонтрагента;​
 +
 + // {{doc:​panel1cut:​{ МИКО Панель телефонии Asterisk }}} НАЧАЛО
 + //​Заполним код страны
 + врСтруктураЗаполнения = Новый Структура("​МИКО_КодСтраны",​ ""​);​
 + ЗаполнитьЗначенияСвойств(врСтруктураЗаполнения,​ Запись);​
 + НоваяЗапись.Поле1 ​ = врСтруктураЗаполнения.МИКО_КодСтраны;​
 + // {{doc:​panel1cut:​{ МИКО Панель телефонии Asterisk }}} КОНЕЦ
 +
 + УправлениеКонтактнойИнформацией.СформироватьПредставлениеТелефона(НоваяЗапись);​
 +
 + КонецЕсли;​
 +</​code>​
 +
 ==== Модернизация справочника "​Контрагенты"​ ==== ==== Модернизация справочника "​Контрагенты"​ ====
 === Звонок из карточки Контрагента === === Звонок из карточки Контрагента ===
astpanel/designer/ut103.1455696887.txt.gz · Последние изменения: 2016/02/17 08:14 — apor