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

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

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


astpanel:designer:crm2:modulesrc_2_0_12

Это старая версия документа!


Выполняет первичную настройку информационной базы Процедура ВыполнитьПервичнуюУстановку(НазваниеПанелиТелефонии) Экспорт

устанавливаем новый вид контактной информации для хранения местных номеров ВидКИ_МестныйТелефон = ОпределитьВидКИ_МестныйТелефон(); Если Не ЗначениеЗаполнено(ВидКИ_МестныйТелефон) Тогда ПодготовитьХранилищеМестныхНомеров(); КонецЕсли; добавляем новые параметры в настройки пользователя

Если Метаданные.Имя = "CRM" 
	 ИЛИ Метаданные.Имя = "УправлениеНебольшойФирмой_CRMСтандарт"
	 ИЛИ Метаданные.Имя = "УправлениеНебольшойФирмой_CRM"
	 ИЛИ Метаданные.Имя = "КомплекснаяАвтоматизация_CRM"
	 ИЛИ Метаданные.Имя = "КомплекснаяАвтоматизация"
	 ИЛИ Метаданные.Имя = "УправлениеПредприятием_CRM"
	 ИЛИ Метаданные.Имя = "УправлениеПредприятием"
	 ИЛИ Метаданные.Имя = "Автосалон6"
	 ИЛИ Метаданные.Имя = "УправлениеТорговлей_CRM_2" Тогда
	пвхНастройкиПользователей = ?(Метаданные.ПланыВидовХарактеристик.Найти("НастройкиПользователей") <> Неопределено, ПланыВидовХарактеристик.НастройкиПользователей, ПланыВидовХарактеристик.CRM_НастройкиПользователей);
	Отбор = Новый Структура("Наименование", НазваниеПанелиТелефонии);
	Выборка = пвхНастройкиПользователей.Выбрать(пвхНастройкиПользователей.сфпНастройкиСофтФон, Отбор);
	Если ЗначениеПараметраПользователя(НазваниеПанелиТелефонии) = Неопределено Тогда
		НовЭлм = пвхНастройкиПользователей.СоздатьЭлемент();
		НовЭлм.Наименование = НазваниеПанелиТелефонии;
		НовЭлм.ТипЗначения = Новый ОписаниеТипов("Булево");
		НовЭлм.Родитель = пвхНастройкиПользователей.сфпНастройкиСофтФон;

Попытка

			НовЭлм.Записать();
		Исключение
			Сообщить("Не удалось произвести запись в планы видов характеристик ""НастройкиПользователей""", СтатусСообщения.Важное);
		КонецПопытки;
	КонецЕсли;
КонецЕсли;

КонецПроцедуры

Функция Использовать(НазваниеПанелиТелефонии) Экспорт

Запрос = Новый Запрос;

Запрос.УстановитьПараметр("Пользователь", Пользователи.ТекущийПользователь());
Запрос.УстановитьПараметр("Настройка"   , ЗначениеПараметраПользователя(НазваниеПанелиТелефонии));
Запрос.Текст = "
|ВЫБРАТЬ
|	Значение
|ИЗ
|	&рсНастройкиПользователей
|
|ГДЕ
|	Пользователь = &Пользователь
| И Настройка    = &Настройка";

Запрос.Текст = СтрЗаменить(Запрос.Текст, «&рсНастройкиПользователей», ?(Метаданные.РегистрыСведений.Найти(«НастройкиПользователей») <> Неопределено, «РегистрСведений.НастройкиПользователей», «РегистрСведений.CRM_НастройкиПользователей»));

Выборка = Запрос.Выполнить().Выбрать();

 	Если Выборка.Следующий() Тогда
	Возврат Выборка.Значение;
КонецЕсли;
Возврат Ложь;

КонецФункции

Функция ЗначениеПараметраПользователя(Параметр)

пвхНастройкиПользователей = ?(Метаданные.ПланыВидовХарактеристик.Найти(«НастройкиПользователей») <> Неопределено, ПланыВидовХарактеристик.НастройкиПользователей, ПланыВидовХарактеристик.CRM_НастройкиПользователей);

Отбор = Новый Структура("Наименование", Параметр);
Выборка = пвхНастройкиПользователей.Выбрать(пвхНастройкиПользователей.сфпНастройкиСофтФон, Отбор);

Если Выборка.Следующий() Тогда

	Возврат Выборка.Ссылка;
КонецЕсли;
Возврат Неопределено;

КонецФункции

Производит запись в справочник ВидыКонтактнойИнформации нового элеменнта. Элемент описывает вид контактной информации - внутренний номер сотрудника. Процедура ПодготовитьХранилищеМестныхНомеров() НовыйЭлемент = Справочники.ВидыКонтактнойИнформации.СоздатьЭлемент(); НовыйЭлемент.Наименование = «Внутренний телефон»; НовыйЭлемент.Родитель = Справочники.ВидыКонтактнойИнформации.СправочникПользователи; НовыйЭлемент.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон; Попытка НовыйЭлемент.Записать(); Исключение Сообщить(«Не удалось произвести запись в справочник »«ВидыКонтактнойИнформации»«», СтатусСообщения.Важное); КонецПопытки; КонецПроцедуры ПодготовитьХранилищеМестныхНомеров()

Определяет вид контактной информации отвечающей за хранение внутренних номеров сотрудников (элемент справочника ВидыКонтактнойИнформации). Элемент должен быть предварительно сформирован обработкой. Возвращаемое значение [СправочникСсылка] Ссылка на элемент справочника ВидыКонтактнойИнформации. Функция ОпределитьВидКИ_МестныйТелефон() Экспорт Запрос = Новый Запрос; Запрос.УстановитьПараметр(«Родитель», Справочники.ВидыКонтактнойИнформации.СправочникПользователи); Запрос.Текст = «ВЫБРАТЬ | ВидыКонтактнойИнформации.Ссылка |ИЗ | Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации |ГДЕ | ВидыКонтактнойИнформации.Родитель = &Родитель | И ВидыКонтактнойИнформации.Наименование = »«Внутренний телефон»«»; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат Выборка.Ссылка; КонецЕсли; КонецФункции Программное добавление кнопки отправки факса на форму печати документа. Процедура ДобавитьКнопкиФаксаНаФормуПечати(ЭтаФорма) Экспорт ИмяКоманды = «МИКО_ОтправитьКакФакс»; Команда = ЭтаФорма.Команды.Добавить(ИмяКоманды); Команда.Подсказка = НСтр(«ru='Отправить факсом'»); Команда.Заголовок = «Отправить факсом»; Команда.Действие = «МИКО_ОтправитьКакФакс»; Команда.Картинка = БиблиотекаКартинок.МИКО_ОтправитьФакс; Команда.Отображение = ОтображениеКнопки.Картинка; КнопкаПозвонить = ЭтаФорма.Элементы.Добавить(«элМИКО_ОтправитьКакФакс», Тип(«КнопкаФормы»), ЭтаФорма.Элементы.ГруппаСохранитьОтправить); КнопкаПозвонить.ИмяКоманды = ИмяКоманды; КнопкаПозвонить.ЦветРамки = ЦветаСтиля.ЦветФонаФормы; ИмяКоманды = «МИКО_Позвонить»; Команда = ЭтаФорма.Команды.Добавить(ИмяКоманды); Команда.Подсказка = НСтр(«ru='Позвонить'»); Команда.Заголовок = «Позвонить»; Команда.Действие = «МИКО_Позвонить»; Команда.Картинка = БиблиотекаКартинок.МИКО_Телефон; Команда.Отображение = ОтображениеКнопки.Картинка; КнопкаПозвонить = ЭтаФорма.Элементы.Добавить(«элМИКО_Позвонить», Тип(«КнопкаФормы»), ЭтаФорма.Элементы.ГруппаСохранитьОтправить); КнопкаПозвонить.ИмяКоманды = ИмяКоманды; КнопкаПозвонить.ЦветРамки = ЦветаСтиля.ЦветФонаФормы; КонецПроцедуры Для документов будет возвращено значение реквизита «Контрагент» Для справочников - возвращается ссылка на элемент В случае ошибки возвращается «Неопределено» Функция ПолучитьСсылкуНаУчастникаИзДокумента(Ссылка) Экспорт Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда Возврат Ссылка; ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда МассивОбъектов = Новый Массив; ДобавитьЗначениеРеквизитаВМассив(Ссылка, МассивОбъектов, «Контрагент»); ДобавитьЗначениеРеквизитаВМассив(Ссылка, МассивОбъектов, «Партнер»); ДобавитьЗначениеРеквизитаВМассив(Ссылка, МассивОбъектов, «КонтактноеЛицо»); Возврат МассивОбъектов; КонецЕсли; КонецФункции ПолучитьСсылкуНаУчастникаИзДокумента()

Получате значение раквизита, если значение заполнено - добавляет его в массив. Функция ДобавитьЗначениеРеквизитаВМассив(Знач Ссылка, Массив, ИмяРеквизита) Экспорт

Если Ссылка.Метаданные().Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
 	Возврат Ложь;
КонецЕсли;
Если ЗначениеЗаполнено(Ссылка[ИмяРеквизита]) Тогда
	Массив.Добавить(Ссылка[ИмяРеквизита]);
КонецЕсли;

Возврат Истина; КонецФункции ДобавитьЗначениеРеквизитаВМассив()

astpanel/designer/crm2/modulesrc_2_0_12.1571642382.txt.gz · Последние изменения: 2019/10/21 07:19 — imal