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

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

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


astpanel:designer:crm2:modulesrc_2_0_12

Различия

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

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

Следующая версия
Предыдущая версия
astpanel:designer:crm2:modulesrc_2_0_12 [2016/06/07 12:03]
imal создано
astpanel:designer:crm2:modulesrc_2_0_12 [2019/10/30 07:59] (текущий)
imal
Строка 1: Строка 1:
-=== Общий модуль "​МИКО_Софтфон"​ для CRM 2.0 ===+=== Общий модуль "​МИКО_Софтфон"​ для CRM 2.0.12.X и CRM 3.0.1.7+ ​===
  
 <code 1c>// Выполняет первичную настройку информационной базы <code 1c>// Выполняет первичную настройку информационной базы
Строка 12: Строка 12:
  КонецЕсли;​  КонецЕсли;​
    
 + Если Метаданные.Имя = "​Автосалон6"​ Тогда
 + ВыполнитьПервичнуюУстановкуАльфаАвто();​
 + Возврат;​
 + КонецЕсли; ​
 +
  // добавляем новые параметры в настройки пользователя  // добавляем новые параметры в настройки пользователя
  Если Метаданные.Имя = "​CRM" ​  Если Метаданные.Имя = "​CRM" ​
  ИЛИ Метаданные.Имя = "​УправлениеНебольшойФирмой_CRMСтандарт"​  ИЛИ Метаданные.Имя = "​УправлениеНебольшойФирмой_CRMСтандарт"​
  ИЛИ Метаданные.Имя = "​УправлениеНебольшойФирмой_CRM"​  ИЛИ Метаданные.Имя = "​УправлениеНебольшойФирмой_CRM"​
 + ИЛИ Метаданные.Имя = "​КомплекснаяАвтоматизация_CRM"​
 + ИЛИ Метаданные.Имя = "​КомплекснаяАвтоматизация"​
 + ИЛИ Метаданные.Имя = "​УправлениеПредприятием_CRM"​
 + ИЛИ Метаданные.Имя = "​УправлениеПредприятием"​
  ИЛИ Метаданные.Имя = "​УправлениеТорговлей_CRM_2"​ Тогда  ИЛИ Метаданные.Имя = "​УправлениеТорговлей_CRM_2"​ Тогда
  пвхНастройкиПользователей = ?​(Метаданные.ПланыВидовХарактеристик.Найти("​НастройкиПользователей"​) <> Неопределено,​ ПланыВидовХарактеристик.НастройкиПользователей,​ ПланыВидовХарактеристик.CRM_НастройкиПользователей);​  пвхНастройкиПользователей = ?​(Метаданные.ПланыВидовХарактеристик.Найти("​НастройкиПользователей"​) <> Неопределено,​ ПланыВидовХарактеристик.НастройкиПользователей,​ ПланыВидовХарактеристик.CRM_НастройкиПользователей);​
  Отбор = Новый Структура("​Наименование",​ НазваниеПанелиТелефонии);​  Отбор = Новый Структура("​Наименование",​ НазваниеПанелиТелефонии);​
- Выборка = пвхНастройкиПользователей.Выбрать(пвхНастройкиПользователей.СофтФон,​ Отбор);​+ Выборка = пвхНастройкиПользователей.Выбрать(пвхНастройкиПользователей.сфпНастройкиСофтФон,​ Отбор);​
  Если ЗначениеПараметраПользователя(НазваниеПанелиТелефонии) = Неопределено Тогда  Если ЗначениеПараметраПользователя(НазваниеПанелиТелефонии) = Неопределено Тогда
  НовЭлм = пвхНастройкиПользователей.СоздатьЭлемент();​  НовЭлм = пвхНастройкиПользователей.СоздатьЭлемент();​
  НовЭлм.Наименование = НазваниеПанелиТелефонии;​  НовЭлм.Наименование = НазваниеПанелиТелефонии;​
  НовЭлм.ТипЗначения = Новый ОписаниеТипов("​Булево"​);​  НовЭлм.ТипЗначения = Новый ОписаниеТипов("​Булево"​);​
- НовЭлм.Родитель = пвхНастройкиПользователей.СофтФон;​+ НовЭлм.Родитель = пвхНастройкиПользователей.сфпНастройкиСофтФон;​
    
  Попытка  Попытка
Строка 33: Строка 42:
  КонецЕсли;​  КонецЕсли;​
  КонецЕсли;​  КонецЕсли;​
 + 
    
 КонецПроцедуры КонецПроцедуры
Строка 39: Строка 48:
 Функция Использовать(НазваниеПанелиТелефонии) Экспорт Функция Использовать(НазваниеПанелиТелефонии) Экспорт
    
 + Если Метаданные.Имя = "​Автосалон6"​ Тогда
 + Возврат ИспользоватьПанельТелефонииАльфаАвто();​
 + КонецЕсли; ​
 +
  Запрос = Новый Запрос;​  Запрос = Новый Запрос;​
  Запрос.УстановитьПараметр("​Пользователь",​ Пользователи.ТекущийПользователь());​  Запрос.УстановитьПараметр("​Пользователь",​ Пользователи.ТекущийПользователь());​
Строка 51: Строка 64:
  | Пользователь = &​Пользователь  | Пользователь = &​Пользователь
  | И Настройка ​   = &​Настройка";​  | И Настройка ​   = &​Настройка";​
- + 
  Запрос.Текст = СтрЗаменить(Запрос.Текст,​ "&​рсНастройкиПользователей",​ ?​(Метаданные.РегистрыСведений.Найти("​НастройкиПользователей"​) <> Неопределено,​ "​РегистрСведений.НастройкиПользователей",​ "​РегистрСведений.CRM_НастройкиПользователей"​));​  Запрос.Текст = СтрЗаменить(Запрос.Текст,​ "&​рсНастройкиПользователей",​ ?​(Метаданные.РегистрыСведений.Найти("​НастройкиПользователей"​) <> Неопределено,​ "​РегистрСведений.НастройкиПользователей",​ "​РегистрСведений.CRM_НастройкиПользователей"​));​
    
Строка 63: Строка 76:
    
 Функция ЗначениеПараметраПользователя(Параметр) Функция ЗначениеПараметраПользователя(Параметр)
- + 
  пвхНастройкиПользователей = ?​(Метаданные.ПланыВидовХарактеристик.Найти("​НастройкиПользователей"​) <> Неопределено,​ ПланыВидовХарактеристик.НастройкиПользователей,​ ПланыВидовХарактеристик.CRM_НастройкиПользователей);​  пвхНастройкиПользователей = ?​(Метаданные.ПланыВидовХарактеристик.Найти("​НастройкиПользователей"​) <> Неопределено,​ ПланыВидовХарактеристик.НастройкиПользователей,​ ПланыВидовХарактеристик.CRM_НастройкиПользователей);​
  Отбор = Новый Структура("​Наименование",​ Параметр);​  Отбор = Новый Структура("​Наименование",​ Параметр);​
- Выборка = пвхНастройкиПользователей.Выбрать(пвхНастройкиПользователей.СофтФон,​ Отбор);​+ Выборка = пвхНастройкиПользователей.Выбрать(пвхНастройкиПользователей.сфпНастройкиСофтФон,​ Отбор);​
    
  Если Выборка.Следующий() Тогда  Если Выборка.Следующий() Тогда
Строка 119: Строка 132:
    
 КонецФункции КонецФункции
 + 
 // Программное добавление кнопки отправки факса на форму печати документа. // Программное добавление кнопки отправки факса на форму печати документа.
 //  // 
 Процедура ДобавитьКнопкиФаксаНаФормуПечати(ЭтаФорма) Экспорт Процедура ДобавитьКнопкиФаксаНаФормуПечати(ЭтаФорма) Экспорт
 + 
  ИмяКоманды = "​МИКО_ОтправитьКакФакс";​  ИмяКоманды = "​МИКО_ОтправитьКакФакс";​
  Команда = ЭтаФорма.Команды.Добавить(ИмяКоманды);​  Команда = ЭтаФорма.Команды.Добавить(ИмяКоманды);​
Строка 131: Строка 144:
  Команда.Картинка = БиблиотекаКартинок.МИКО_ОтправитьФакс;​  Команда.Картинка = БиблиотекаКартинок.МИКО_ОтправитьФакс;​
  Команда.Отображение = ОтображениеКнопки.Картинка;​  Команда.Отображение = ОтображениеКнопки.Картинка;​
 + 
  КнопкаПозвонить = ЭтаФорма.Элементы.Добавить("​элМИКО_ОтправитьКакФакс",​ Тип("​КнопкаФормы"​),​ ЭтаФорма.Элементы.ГруппаСохранитьОтправить);​  КнопкаПозвонить = ЭтаФорма.Элементы.Добавить("​элМИКО_ОтправитьКакФакс",​ Тип("​КнопкаФормы"​),​ ЭтаФорма.Элементы.ГруппаСохранитьОтправить);​
  КнопкаПозвонить.ИмяКоманды = ИмяКоманды;​  КнопкаПозвонить.ИмяКоманды = ИмяКоманды;​
  КнопкаПозвонить.ЦветРамки = ЦветаСтиля.ЦветФонаФормы;​  КнопкаПозвонить.ЦветРамки = ЦветаСтиля.ЦветФонаФормы;​
 + 
  ИмяКоманды = "​МИКО_Позвонить";​  ИмяКоманды = "​МИКО_Позвонить";​
  Команда = ЭтаФорма.Команды.Добавить(ИмяКоманды);​  Команда = ЭтаФорма.Команды.Добавить(ИмяКоманды);​
Строка 143: Строка 156:
  Команда.Картинка = БиблиотекаКартинок.МИКО_Телефон;​  Команда.Картинка = БиблиотекаКартинок.МИКО_Телефон;​
  Команда.Отображение = ОтображениеКнопки.Картинка;​  Команда.Отображение = ОтображениеКнопки.Картинка;​
 + 
  КнопкаПозвонить = ЭтаФорма.Элементы.Добавить("​элМИКО_Позвонить",​ Тип("​КнопкаФормы"​),​ ЭтаФорма.Элементы.ГруппаСохранитьОтправить);​  КнопкаПозвонить = ЭтаФорма.Элементы.Добавить("​элМИКО_Позвонить",​ Тип("​КнопкаФормы"​),​ ЭтаФорма.Элементы.ГруппаСохранитьОтправить);​
  КнопкаПозвонить.ИмяКоманды = ИмяКоманды;​  КнопкаПозвонить.ИмяКоманды = ИмяКоманды;​
  КнопкаПозвонить.ЦветРамки = ЦветаСтиля.ЦветФонаФормы;​  КнопкаПозвонить.ЦветРамки = ЦветаСтиля.ЦветФонаФормы;​
- + 
 КонецПроцедуры КонецПроцедуры
    
Строка 163: Строка 176:
  ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​Партнер"​);​  ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​Партнер"​);​
  ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​КонтактноеЛицо"​);​  ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​КонтактноеЛицо"​);​
- + 
  Возврат МассивОбъектов;​  Возврат МассивОбъектов;​
  КонецЕсли; ​  КонецЕсли; ​
 КонецФункции // ПолучитьСсылкуНаУчастникаИзДокумента() КонецФункции // ПолучитьСсылкуНаУчастникаИзДокумента()
 + 
 // Получате значение раквизита,​ если значение заполнено - добавляет его в массив. // Получате значение раквизита,​ если значение заполнено - добавляет его в массив.
 //  // 
Строка 177: Строка 190:
  Массив.Добавить(Ссылка[ИмяРеквизита]);​  Массив.Добавить(Ссылка[ИмяРеквизита]);​
  КонецЕсли;​  КонецЕсли;​
- + 
  Возврат Истина;​  Возврат Истина;​
 КонецФункции // ДобавитьЗначениеРеквизитаВМассив() КонецФункции // ДобавитьЗначениеРеквизитаВМассив()
 +
 +Процедура ВыполнитьПервичнуюУстановкуАльфаАвто() Экспорт
 + 
 + ИмяНастройки = "​МИКО_ИспользоватьПанельТелефонии";​
 +
 + Если НЕ ПодготовитьНастройкиПВХ(ИмяНастройки) Тогда
 + Сообщить("​Не найден предопределенный элемент ""​МИКО_ИспользоватьПанельТелефонии""​ в плане видов характеристик ""​ПраваИНастройки""​. Проверьте корректность выполнения инструкций по встраиванию панели телефонии.",​ СтатусСообщения.Важное);​
 + Возврат;​
 + КонецЕсли;​
 +
 + // добавляем новые параметры в настройки пользователя
 +
 + Попытка
 + пвхНастройкиПользователей = Вычислить("​ПланыВидовХарактеристик.ПраваИНастройки"​);​
 + ГруппаНастроекСофтфон = пвхНастройкиПользователей.сфпОбщиеНастройки;​
 + Исключение
 + пвхНастройкиПользователей = Неопределено;​
 + ГруппаНастроекСофтфон = Неопределено;​
 + КонецПопытки;  ​
 +
 + Если пвхНастройкиПользователей = Неопределено
 + ИЛИ ГруппаНастроекСофтфон = Неопределено Тогда
 + Сообщить("​Не удалось выполнить первоначальную настройку панели телефонии для 1С. Не найден ПВХ ""​ПраваИНастройки""",​ СтатусСообщения.Важное);​
 + Возврат;​
 + КонецЕсли;​
 + 
 +КонецПроцедуры
 +
 +Функция ПодготовитьНастройкиПВХ(ИмяНастройки)
 +
 + Попытка
 + пвхНастройкиПользователей = Вычислить("​ПланыВидовХарактеристик.ПраваИНастройки"​);​
 + НастройкаПанелиТелефонии = пвхНастройкиПользователей[ИмяНастройки];​
 + Исключение
 + НастройкаПанелиТелефонии = Неопределено;​
 + КонецПопытки; ​
 +
 +
 + Если НастройкаПанелиТелефонии = Неопределено Тогда
 + Возврат Ложь;
 + КонецЕсли; ​
 +
 + МетаданныеПВХ = Вычислить("​Метаданные.ПланыВидовХарактеристик.ПраваИНастройки"​);​
 +
 + Если НЕ НастройкаПанелиТелефонии.ЭтоНастройка И ПравоДоступа("​Изменение",​ МетаданныеПВХ) Тогда
 +
 + НастройкаПанелиТелефонииОбъект = НастройкаПанелиТелефонии.ПолучитьОбъект();​
 +
 + НастройкаПанелиТелефонииОбъект.ЭтоНастройка = Истина;​
 + НастройкаПанелиТелефонииОбъект.Наименование = "​Панель телефонии Asterisk (МИКО)";​
 + НастройкаПанелиТелефонииОбъект.Записать();​
 +
 + КонецЕсли; ​
 +
 + Возврат Истина;​
 +
 +КонецФункции // ПодготовитьНастройкиПВХ()
 +
 +Функция ИспользоватьПанельТелефонииАльфаАвто() Экспорт
 +     
 +    Попытка
 + пвхНастройкиПользователей = Вычислить("​ПланыВидовХарактеристик.ПраваИНастройки"​);​
 + НастройкаПанелиТелефонии = пвхНастройкиПользователей["​МИКО_ИспользоватьПанельТелефонии"​];​
 +    Исключение
 +    НастройкаПанелиТелефонии = Неопределено;​
 +    КонецПопытки; ​
 +    ​
 +    Если НастройкаПанелиТелефонии = Неопределено Тогда
 +    Возврат Ложь;
 +    КонецЕсли;​
 + 
 + ​ Попытка
 + ПанельТелДоступна = Вычислить("​ПравоПользователя(НастройкаПанелиТелефонии)"​);​
 + Исключение
 + ПанельТелДоступна = Ложь;
 + КонецПопытки; ​
 +
 + Возврат ПанельТелДоступна;​
 + 
 +КонецФункции
  
 </​code>​ </​code>​
astpanel/designer/crm2/modulesrc_2_0_12.1465301030.txt.gz · Последние изменения: 2016/06/07 12:03 — imal