====== Интеграция в конфигурацию "Бухгалтерия предприятия, ред. 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";
// *** *** ***
// ВНИМАНИЕ! ПРОПУЩЕНА ЧАСТЬ ИСХОДНОГО КОДА
// *** *** ***
КонецПроцедуры
Обновите конфигурацию базы данных и запустите программу в режиме //"Предприятие"//.