Подсистема «Взаимодействия» предназначена для планирования, регистрации, упорядочивания взаимодействий и работы с результатами взаимодействий. Взаимодействия включают переписку по электронной почте, регистрацию звонков и встреч. Подсистема обеспечивает подбор и создание новых контактов взаимодействий.
Настройка
Если в конфигурации не используется подсистема «Настройки программы», то на рабочем месте администратора программы необходимо разместить константы:
- ИспользоватьПочтовыйКлиент,
- ОтправлятьПисьмаВФорматеHTML,
- ИспользоватьПрочиеВзаимодействия,
- ИспользоватьПризнакРассмотрено.
См. пример в форме Органайзер обработки ПанельАдминистрированияБСП.
В форме персональных настроек разместить вызов команды ЖурналДокументов.Взаимодействия.Команда.НастройкиРаботыСПочтой. Пример размещения см. в демонстрационной конфигурации в общей форме _ДемоМоиНастройки.
Разместить в командном интерфейсе пользователей, использующих подсистему, журнал документов Взаимодействия.
Определение типов предметов и контактов взаимодействий
Необходимо принять решение по поводу состава объектов метаданных, которые могут выступать в качестве контактов взаимодействий. Например, это могут быть физические лица, партнеры, контактные лица партнеров и т. п. Расширить тип определяемого типа КонтактВзаимодействия допустимыми типами контактов.
Если предусматривается создание контактов напрямую из форм документов взаимодействий, то для форм объектов метаданных, определенных как контакты необходимо:
- добавить реквизит формыНеобходимоОповещениетипа Булево,
- добавить реквизит формыОбъектОснованиетипа Произвольный,
- добавить в обработчик событияПриСозданииНаСерверевызов следующей процедуры:
Копировать в буфер обменаВзаимодействия.ПодготовитьОповещения(ЭтотОбъект, Параметры, Ложь);
- добавить в обработчик события формыПослеЗаписивызов следующей процедуры:
Копировать в буфер обмена ВзаимодействияКлиент.КонтактПослеЗаписи(Форма, Объект, ПараметрыЗаписи, ИмяОбъектаОтправителяСообщения);
Необходимо принять решение по поводу состава объектов метаданных, которые могут выступать в качестве предметов взаимодействий. Например, это могут быть проекты, заказы клиентов, заказ поставщику и т. п. Расширить тип определяемого типа ПредметВзаимодействия допустимыми типами предметов.
Если предусматривается создание предметов на основании документов взаимодействий, то для форм объектов метаданных, определенных как контакты, необходимо:
- добавить реквизит формыНеобходимоОповещениетипа Булево;
- добавить реквизит формыВзаимодействиеОснованиесоставного типа, включающего в себя типы тех документов взаимодействий, на основании которых создаются предметы взаимодействий;
- добавить в обработчик событияПриСозданииНаСерверевызов следующей процедуры:
Копировать в буфер обменаВзаимодействия.ПодготовитьОповещения(ЭтотОбъект,Параметры,Ложь);
- добавить в обработчик события формыПослеЗаписивызов следующей процедуры:
Копировать в буфер обмена ВзаимодействияКлиент.ВзаимодействиеПредметПослеЗаписи(Форма, Объект, ПараметрыЗаписи, ИмяОбъектаОтправителяСообщения);
Настройка модуля менеджера предметов взаимодействий
В модуле менеджера каждого объекта метаданных, определенного как «предмет взаимодействий», необходимо реализовать экспортную функцию ТекстЗапросаПоКонтактам, в которой сформировать текст запроса по контактам, содержащимся в предмете взаимодействий. Например, ссылки на контакты взаимодействий могут иметься в реквизитах шапки и табличных частей предметов взаимодействий.
Функция принимает два необязательных параметра. В первом параметре ТекстВременнаяТаблица типа Строка может находиться часть текста запроса, отвечающая за помещение результата запроса во временную таблицу. Второй параметр Объединить типа Булево указывает на режим формирования запроса. Если данный параметр имеет значение Истина, то формируемый в функции запрос является частью другого запроса и должен начинаться с конструкции ОБЪЕДИНИТЬ. Возвращаемое значение – Строка, содержащая в себе текст запроса по контактам предмета взаимодействий.
Также в модуле менеджера каждого объекта метаданных, определенного как «предмет взаимодействий», необходимо реализовать экспортную ТекстЗапросаПоКонтактам, в которой будет сформирован массив возможных контактов предмета. Функция принимает обзательный параметр, ссылку на объект, содержащий контакты. Возвращаемое значение – Массив, содержащий в себе возможные контакты документа взаимодействий по предмету.
Пример реализации данных функций можно посмотреть в модуле менеджера документа _ДемоЗаказПокупателя в демонстрационной конфигурации.
Для тех предметов взаимодействий, для которых предполагается использовать механизм активности предметов и текущий статус подразумевает активность предмета, необходимо устанавливать признак активности в регистр сведений СостоянияПредметовВзаимодействий. Например, как это сделано в процедуре ПриЗаписи модуля объекта документа _ДемоЗаказПокупателя.
Настройка переопределяемых модулей
При необходимости можно вписать реализацию в функции переопределяемых модулей подсистемы:
- ВзаимодействияКлиентПереопределяемый,
- ВзаимодействияКлиентСерверПереопределяемый,
- ВзаимодействияПереопределяемый.
Настройка форм списков предметов взаимодействий.
Для того чтобы появилась возможность устанавливать предмет взаимодействий путем множественного перетаскивания в форму списка предмета, необходимо выполнить следующие действия:
- у элемента формы списка установить флагРазрешитьПеретаскивание;
- в обработчике событияПроверкаПеретаскиванияэлемента формы списка разместить следующий код:
Копировать в буфер обменаВзаимодействияКлиент.СписокПредметПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле);
- в обработчике событияПеретаскиваниеэлемента формы списка разместить следующий код:
Копировать в буфер обменаВзаимодействияКлиент.СписокПредметПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле);
Настройка прав доступа пользователей
Для настройки прав доступа пользователей к данным подсистемы «Взаимодействия» следует использовать роль, приведенную ниже.
Таблица 3.19.
№ | Роли и их назначение |
1. | ДобавлениеИзменениеВзаимодействий
Чтение, добавление, изменение взаимодействий |
Пример настройки прав доступа пользователей приведен ниже.
Таблица 3.20.
№ | Группа пользователей и ее функции | Состав ролей |
1. | Ответственный за ведение взаимодействий | ● БазовыеПраваБСП (из подсистемы «Базовая функциональность»),
● ЗапускТонкогоКлиента (из подсистемы «Базовая функциональность»), ● ДобавлениеИзменениеУчетныхЗаписейЭлектроннойПочты (из подсистемы «Работа с почтовыми сообщениями»), ● ДобавлениеИзменениеВзаимодействий |
Особые случаи внедрения подсистемы
- Внедрение подсистем «Взаимодействия» и «Управление доступом».
- Внедрение подсистемы «Взаимодействия» без подсистемы «Электронная подпись».
Использование при разработке конфигурации
Настройка обмена данными
Все объекты метаданных подсистемы рекомендуется включать в планы обмена распределенной ИБ (РИБ), планы обмена автономных рабочих мест, а также в планы обмена по правилам конвертации, за исключением следующих регистров сведений:
- СостоянияПапокПисем,
- СостоянияПредметовВзаимодействий,
- СостоянияКонтактовВзаимодействий.
В этих регистрах хранятся данные по состояниям документов взаимодействий (количество нерассмотренных и дата последнего взаимодействия), выводимые на панель навигации рабочего места ответственного за ведение взаимодействия. Для того чтобы эти данные были корректными, в процессе получения данных необходимо накапливать информацию о папках, предметах и контактах загруженных документов подсистемы взаимодействий.
А при завершении обмена выполнить перерасчет состояний при помощи следующих процедур:
- Взаимодействия.РассчитатьРассмотреноПоКонтактам,
- Взаимодействия.РассчитатьРассмотреноПоПредметам,
- Взаимодействия.РассчитатьРассмотреноПоПапкам.
Еще один регистр сведений, не включаемый в план обмена – ЗаблокированныеДляПолученияУчетныеЗаписи. Регистр предназначен для предотвращения дублирования получаемых писем при конкурентной работе с коллективными учетными записями.
Не включается в план обмена регистр сведений Удалить_АктивныеПредметыВзаимодействий.
Коды откликов сервера SMTP
Каждый отклик сервера на команду клиента сопровождается трехзначным кодом. При отправке сообщения может возникнуть исключительная ситуация, при этом в тексте ошибки будет содержаться код последнего отклика SMTP-сервера. Далее приводится описание этих кодов.
Каждая цифра в коде ответа сервера имеет свое назначение. Первая цифра обозначает успех, неудачу или незавершенность команды. Вторая цифра уточняет тип ответа (например, ошибка почтовой системы или синтаксическая ошибка команды). Третья цифра служит для лучшей градации информации.
Ниже приведены пять значений первой цифры:
1yz – положительный предварительный отклик
2yz – положительный отклик
3yz – положительный промежуточный отклик
4yz – временный негативный отклик
5yz – негативный отклик
Вторая цифра показывает категорию ошибки:
x0z – Синтаксис:
x1z – Информация:
x2z – Соединение:
x3z – Не определены
x4z – Не определены
x5z – Почтовая система:
Третья цифра служит для лучшей градации значения в каждой категории, определяемой второй цифрой. Перечисление кодов откликов иллюстрирует это:
- 211 Состояние системы или системная справка.
- 214 Информация о том, как работать с сервером, описание нестандартных команд и т.д.
- 220 Служба готова к работе.
- 221 Служба закрывает канал передачи данных.
- 235 Успешная аутентификация на сервере.
- 250 Выполнение почтовой команды успешно окончено.
- 251 Нелокальный пользователь.
- 252 Невозможно проверить наличие почтового ящика для пользователя, но сообщение принято, и сервер попытается его доставить.
- 354 Начало приема сообщения. Сообщение должно заканчиваться точкой на новой строке и новой строкой.
- 421 Работа с сервером невозможна. Произойдет закрытие канала связи (может быть ответом на любую команду, если серверу нужно закрыть соединение).
- 450 Запрошенная команда не принята – недоступен почтовый ящик (почтовый ящик временно занят) .
- 451 Запрошенная команда прервана – локальная ошибка при обработке команды.
- 452 Запрошенная команда невозможна – недостаточно дискового пространства.
- 454 Аутентификация невозможна по причине временного сбоя сервера.
- 500 Синтаксическая ошибка, команда не распознана (также этот отклик может означать, что длина команды слишком большая).
- 501 Синтаксическая ошибка в команде или аргументе.
- 502 Команда распознана, но её реализация сервером не поддерживается.
- 503 Неверная последовательность команд.
- 504 Параметр команды сервером не поддерживается.
- 530 Сервер требует аутентификации для выполнения запрошенной команды.
- 534 Данный отклик означает, что выбранный механизм аутентификации для данного пользователя является не достаточно надежным.
- 535 Аутентификация отклонена сервером (например, ошибка в кодировании данных).
- 538 Выбранный метод аутентификации возможен только при зашифрованном канале связи.
- 550 Запрошенная операция невозможна – почтовый ящик недоступен (почтовый ящик не найден или нет доступа; команда отклонена локальной политикой безопасности).
- 551 Нелокальный пользователь.
- 552 Запрошенная почтовая команда прервана – превышено выделенное на сервере пространство.
- 553 Запрошенная почтовая команда прервана – недопустимое имя почтового ящика (возможно синтаксическая ошибка в имени).
- 554 Неудачная транзакция или отсутствие SMTP сервиса (при открытии сеанса передачи данных).