====== Интеграция в конфигурацию "Бухгалтерия предприятия, ред. 3.0" ====== * [[http://wiki.miko.ru/astpanel:designer|Обратно к инструкции...]] Руководство составлено для "**Бухгалтерия предприятия, редакция 3.0 (3.0.54.20)**" и панели телефонии МИКО **1.4.26.25+**. Обязательно перед работами создайте **РЕЗЕРВНУЮ КОПИЮ** информационной базы. **ВНИМАНИЕ!** Для конфигурации **БП, ред. 3.0** в режиме 1С:Предприятие для настройки "**Открыть в начале разговора**" можно установить **только** значение "**Клиент**", т.е при входящем / исходящем звонке будет открываться **карточка Клиента**. ===== Этап 1. Настройка правил поддержки ===== Для начала следует разблокировать головной объект конфигурации для внесения изменений. Порядок действий следующий. - Запустите программу в режиме "**Конфигуратор**". - Откройте окно настройки поддержки. {{ :doc:panel1ccrm20:support.png? |}} - Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно. - В появившемся окне укажите, что объекты поставщика не редактируются. {{ :doc:panel1ccrm20:rules.png |}} - Затем для корневого объекта конфигурации ("БухгалтерияПредприятия") установите правило поддержки на **"Объект поставщика редактируется с сохранением поддержки"**. Теперь конфигурация готова к внесению изменений. {{page>astpanel:designer:unf#ehtap_2_vstraivanie_paneli_telefonii}} ===== Этап 3. Добавление кнопки "Позвонить" ===== Для автоматизации набора номера телефона добавим кнопку **"Позвонить"** в область команд форм некоторых справочников. Порядок действий следующий. - Добавьте в обработку **МИКО_ПанельТелефонииДля1С** команду **"Позвонить"** и поместите в модуль команды &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) Если сфпФормаТелефон <> Неопределено Тогда СписокУчастников = ПолучитьСсылкуНаУчастникаИзДокумента(ПараметрКоманды); Если СписокУчастников <> Неопределено Тогда сфпФормаТелефон.ПозвонитьВыбравТелефон(СписокУчастников); КонецЕсли; КонецЕсли; КонецПроцедуры // Для документов будет возвращено значение реквизита "Контрагент" // Для справочников - возвращается ссылка на элемент // В случае ошибки возвращается "Неопределено" // Функция ПолучитьСсылкуНаУчастникаИзДокумента(Знач Ссылка) Экспорт Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда МассивОбъектов = Новый Массив(1); МассивОбъектов[0] = Ссылка; Возврат МассивОбъектов; ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда МассивОбъектов = Новый Массив; ДобавитьЗначениеРеквизитаВМассив(Ссылка, МассивОбъектов, "Контрагент"); ДобавитьЗначениеРеквизитаВМассив(Ссылка, МассивОбъектов, "Партнер"); ДобавитьЗначениеРеквизитаВМассив(Ссылка, МассивОбъектов, "КонтактноеЛицо"); ДобавитьЗначениеРеквизитаВМассив(Ссылка, МассивОбъектов, "АбонентКонтакт"); Возврат МассивОбъектов; КонецЕсли; КонецФункции // ПолучитьСсылкуНаУчастникаИзДокумента() // Получате значение раквизита, если значение заполнено - добавляет его в массив. // Функция ДобавитьЗначениеРеквизитаВМассив(Знач Ссылка, Массив, ИмяРеквизита) Экспорт Если Ссылка.Метаданные().Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда Возврат Ложь; КонецЕсли; Если ЗначениеЗаполнено(Ссылка[ИмяРеквизита]) Тогда Массив.Добавить(Ссылка[ИмяРеквизита]); КонецЕсли; Возврат Истина; КонецФункции // ДобавитьЗначениеРеквизитаВМассив() . - Установите свойство **"Группа"** в значение **"Командная панель формы.Важное"**. {{:astpanel:designer:sostav_dial.png?500|}} - Свойство **"Тип параметра команды"** должно иметь составной тип данных: * **СправочникСсылка.КонтактныеЛица**; * **СправочникСсылка.Контрагенты**; * **СправочникСсылка.Пользователи**; * **СправочникСсылка.Организации**; * **СправочникСсылка.ФизическиеЛица**; Для ранее созданной роли "**МИКО_Софтфон**" добавьте права на доступ к команде "**Позвонить**". {{ :astpanel:designer:permit_command_dial.png?nolink&450 |}} Вы можете указать и другие типы объектов, в которых будет отображена команда **"Позвонить"**. Основным критерием для выбора таких объектов является наличие табличной части **"КонтактнаяИнформация"**, если это справочник, или реквизита **"Контрагент"**, если это документ. В ином случае может потребоваться изменение текста модуля команды. При желании можно добавить картинку на кнопку команды, предварительно разместив ее в библиотеке картинок. - Раскройте дерево конфигурации на группе **"Общие картинки"** и добавьте в нее новый элемент **"МИКО_Телефон"**. - Загрузите в созданный объект изображение для кнопки **"Позвонить"** ({{:doc:phonegray.png|}}). - Вернитесь к команде **"Позвонить"** обработки **МИКО_ПанельТелефонииДля1С** и заполните свойства **"Отображение"** в значение **"Картинка и текст"**, **"Картинка"** в значение **"МИКО_Телефон"**. Обновите конфигурацию базы данных и запустите программу в режиме **"Предприятие"**. Результат работы показан на рисунке ниже. ===== Этап 4. Добавление кнопки "Позвонить" на закладку контактной информации справочников ===== Перейдите в общий модуль "**УправлениеКонтактнойИнформациейКлиент**", процедуру "**ПозвонитьПоТелефону**", пример: Процедура ПозвонитьПоТелефону(НомерТелефона) НомерТелефона = СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими("()_- ", НомерТелефона, ""); // PT1C / Панель телефонии Asterisk / Начало Если НЕ сфпФормаТелефон = Неопределено Тогда сфпФормаТелефон.НабратьНомерКИ(, НомерТелефона); Возврат; КонецЕсли; // PT1C / Панель телефонии Asterisk / Конец // по умолчанию используем "tel" ИмяПротокола = "tel"; // *** *** *** // ВНИМАНИЕ! ПРОПУЩЕНА ЧАСТЬ ИСХОДНОГО КОДА // *** *** *** КонецПроцедуры Обновите конфигурацию базы данных и запустите ​программу ​в режиме //"​Предприятие"//.