| Руководство по установке 
 Сервисной системы «АРИНА» 2.0
 
 
            Установка демонстрационной базы
 
 Запустить файл «setup.exe» и следовать указаниям мастера установки. В результате, на Ваш компьютер будут установлены демонстрационная версия конфигурации «Сервисная система «АРИНА» 2.0». Она автоматически будет добавлена в список баз 1С 8.
 
 Демонстрационная версия кроме объектов, непосредственно относящихся к системе «АРИНА» содержит несколько стандартных объектов, используемых в типовых конфигурациях 1С (чтобы не дублировать стандартный функционал) и несколько простых справочников, документов и регистров, которые используются для демонстрации возможностей системы «АРИНА».
 
 
 
            Установка защиты
 
 Поставка лицензии включает в себя три ключа активации (У Вас есть возможность трижды активировать лицензию при переустановке операционной системы).
 
 Активировать лицензии можно с помощью нашей программы «Мастер Активации» или нашего портала (должна быть установлена Java), на сайте: http://ems.protect-online.ru:8080/ems/customerLogin.html
 
 Активировать лицензии нужно только после установки драйвера (haspdinst.exe). Если в Вашей системе присутствует сервер ключей HASP, то для установки драйвера его будет необходимо остановить.
 
 Убедиться в установке драйвера можно зайдя на страницу:
 
 http://localhost:1947/_int_/ACC_help_index.html , если страница отображается корректно – драйвер установлен успешно.
 
 Драйвер ключа и мастер активации можно скачать здесь: https://yadi.sk/d/5eJUXC9Af3qi4.
 
 ВНИМАНИЕ! Если Вы устанавливаете ДЕМО-версия системы «АРИНА», то Вам необходимо устанавливать драйвер ключа защиты из комплекта поставки ДЕМО-версии. Этот драйвер содержит встроенную лицензию с активацией на 30 дней. Стандартный драйвер имеет смысл устанавливать только на лицензионную версию системы «АРИНА», так как в противнос случае она не будет работать!
 
 Посмотреть установленные лицензии на ПК можно в Admin Control Center, по ссылке: http://localhost:1947/_int_/devices.html
 
 Пример установки драйвера можно посмотреть на сайте: https://yadi.sk/i/pEyX3OmpfNxEH
 
 
 
 
            Установка системы «АРИНА» на другую конфигурацию 1С 8
 
 Для того, чтобы установить сервисную систему «АРИНА» 2.0 на имеющуюся у Вас конфигурацию нужно проделать несколько действий:
 
 
            
 
 
              
 
 
                Открыть Вашу конфигурацию 1С в режиме «Конфигуратор».
 
Если Ваша конфигурация стоит на поддержке, то для установки системы «АРИНА» 2.0 Вам необходимо включить возможность изменений. Для этого выберите пункт меню «Конфигурация\Поддержка\Настройка поддержки»
 
 
  
 В открывшейся форме настройки поддержки поставщика нажмите кнопку «Включить возможность изменения» и ответьте «Да» на вопрос системы.
 
 
  
 В появившемся окне «Настройка правил поддержки», в разделе «Объекты с правилом «Изменения разрешены» выбрать пункт «Объект поставщика редактируется с сохранением поддержки» и нажмите кнопку «ОК».
 
 
  
 После этого, окно конфигурации примет следующий вид:
 
 
  
 
            
              Выбрать пункт меню «Конфигурация\Сравнить, объединить с конфигурацией из файла»
 
 
  
 На запрос системы указать файл «Арина 2.0 - Поставка.cf», входящий в комплект поставки.
 
 В открывшемся окне сравнения конфигураций, отключить все пометки, сняв пометку с корневой ветки.
 
 
  
 В подменю «Действия» выбрать пункт «Отметить по подсистемам файла»
 
 
  
 В настройке отключить пометку в ветке «Конфигурация» и установить пометку в ветке «АРИНА» и нажать на кнопку «Установить».
 
 
  
 После того, как установятся пометки нажать кнопку «Выполнить».
 
 В открывшемся окне «Неразрешимые ссылки» нажать кнопку «Продолжить»
 
 
  
 
 
            
              Теперь нужно внести изменения в объекты и модули, существующие в обеих конфигурациях. При изменении модулей рекомендуется сохранять отметки «//**** Арина» для того, чтобы в дальнейшем было легко найти изменения, относящиеся к системе «АРИНА».
 
 
 
 
 
            
              Изменения «Модуля внешнего соединения»
 
 В раздел переменных модуля добавить код
 
 //**** Арина +
 
 Перем СписокИсключенийДляБлокировки Экспорт;
 
 Перем ВыполнениеНаКлиенте Экспорт;
 
 Перем ЧетыреКавычки Экспорт;
 
 //**** Арина -
 После всех процедур и функция, в основной раздел модуля
 
 //**** Арина +
 
 СписокИсключенийДляБлокировки = Новый СписокЗначений;
 
 ЧетыреКавычки = " """" ";
 
 //**** Арина –
 
 
 
            
              Изменения «Модуля обычного приложения»
 
 В раздел переменных модуля добавить код
 
 //**** Арина +
 
 Перем КонсольЗаданийОткрыта Экспорт; //**** Признак, что консоль уже открыта
 
 Перем СписокИсключенийДляБлокировки Экспорт;
 
 Перем ЧетыреКавычки Экспорт;
 //**** Консоль Заявок / Задач / Мероприятий / Оповещений
 
 Перем ОбработкаКонсольЗаявок Экспорт;
 //**** Внешние формы объектов системы
 
 Перем КэшОбработокВнешнихФормОбъектов Экспорт;
 
 Перем КэшОткрытыхДополнительныхФормОбъектов Экспорт;
 
 //**** Арина -
 В конец процедуры «ПриНачалеРаботыСистемы()» добавить код
 
 //**** Арина +
 
 ФормаОповещенияЗадачОткрыта = Ложь;
 
 //**** Открываем Консоль Заявок и Задач, если надо
 
 КонсольЗаданийОткрыта = Ложь;
 
 ОткрытьКонсоль();
 
 ПроверитьОповещенияСистемы();
 Если ПараметрыСеанса.ТекущийПользователь <> Неопределено Тогда
 
 ПодключитьОбработчикОжидания("ПроверитьОповещенияСистемы", 120);
 
 ПодключитьОбработчикОжидания("ОткрытьКонсоль", 120);
 
 ПодключитьОбработчикОжидания("ОчиститьКэшДополнительныхФомОбъектов", 600);
 
 ПодключитьОбработчикОжидания("ВыполнитьРегламентныеЗаданияПользователя", 120);
 Иначе
 
 ОтключитьОбработчикОжидания("ПроверитьНапоминанияОСообщении");
 
 ОтключитьОбработчикОжидания("ОткрытьКонсоль");
 
 ОтключитьОбработчикОжидания("ОчиститьКэшДополнительныхФомОбъектов");
 
 ОтключитьОбработчикОжидания("ВыполнитьРегламентныеЗаданияПользователя");
 
 КонецЕсли;
 //**** Обновление регистров подсистемы "Статусы объектов" для использования "Видов статусов". В версии 1.0 не "Видов статусов" не было.
 
 ПроверитьОбработатьВидыСтатусовОбъектов();
 
 //**** Арина -
 В конец процедуры «ПриЗавершенииРаботыСистемы ()» добавить код
 
 //**** Арина +
 
 ОтключитьОбработчикОжидания("ПроверитьНапоминанияОСообщении");
 
 ОтключитьОбработчикОжидания("ОткрытьКонсоль");
 
 ОтключитьОбработчикОжидания("ОчиститьКэшДополнительныхФомОбъектов");
 
 ОтключитьОбработчикОжидания("ВыполнитьРегламентныеЗаданияПользователя");
 
 //**** Арина -
 После всех процедур модуля добавить код
 
 //**** Арина +
 //**** Процедура проверяет и при необходимости открывает консоль Заявок
 
 Процедура ОткрытьКонсоль() Экспорт
 
 Если КонсольЗаданийОткрыта Тогда
 
 Возврат;
 
 КонецЕсли;
 //**** Открываем Консоль Заявок и Задач, если надо
 
 Запрос = Новый Запрос;
 
 Запрос.Текст = "ВЫБРАТЬ
 
 | Арина_НастройкаЗадачИОбращенийПользователей.АвтоматическиОткрыватьКонсоль
 
 |ИЗ
 
 | РегистрСведений.Арина_НастройкаЗадачИОбращенийПользователей КАК Арина_НастройкаЗадачИОбращенийПользователей
 
 |ГДЕ
 
 | Арина_НастройкаЗадачИОбращенийПользователей.Пользователь = &Пользователь";
 
 Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь);
 
 Результат = Запрос.Выполнить().Выгрузить();
 
 Если Результат.Количество() <> 0 Тогда
 
 Если Результат[0].АвтоматическиОткрыватьКонсоль Тогда
 
 НужнаяФорма = ОбработкаКонсольЗаявок.ПолучитьФорму("Арина_ОсновнаяФормаКонсоли", , "КлючУникальности_Заявки_Консоль");
 
 НужнаяФорма.Открыть();
 
 КонецЕсли;
 
 Иначе
 
 //**** Если не нашли личной настройки для пользователя, ищем настройку для его папки
 
 ПапкаПользователя = ПараметрыСеанса.ТекущийПользователь.Родитель;
 
 Пока НЕ ПапкаПользователя.Пустая() Цикл
 
 Запрос.Текст = "ВЫБРАТЬ
 
 | Арина_НастройкаЗадачИОбращенийПользователей.АвтоматическиОткрыватьКонсоль
 
 |ИЗ
 
 | РегистрСведений.Арина_НастройкаЗадачИОбращенийПользователей КАК Арина_НастройкаЗадачИОбращенийПользователей
 
 |ГДЕ
 
 | Арина_НастройкаЗадачИОбращенийПользователей.Пользователь = &Папка";
 
 Запрос.УстановитьПараметр("Папка", ПапкаПользователя);
 
 Результат = Запрос.Выполнить().Выгрузить();
 
 Если Результат.Количество() <> 0 Тогда
 
 Если Результат[0].АвтоматическиОткрыватьКонсоль Тогда
 
 НужнаяФорма = ОбработкаКонсольЗаявок.ПолучитьФорму("Арина_ОсновнаяФормаКонсоли", , "КлючУникальности_Заявки_Консоль");
 
 НужнаяФорма.Открыть();
 
 КонецЕсли;
 
 
 
 Прервать;
 
 КонецЕсли;
 
 
 
 ПапкаПользователя = ПапкаПользователя.Родитель;
 
 КонецЦикла;
 
 КонецЕсли;
 
 КонецПроцедуры
 //**** Процедура очищает кэш откытых дополнительных форм объектов от тех форм, которые уже закрыты
 
 Процедура ОчиститьКэшДополнительныхФомОбъектов() Экспорт
 
 СписокНаУдаление = Новый СписокЗначений;
 
 Для каждого ТекЭл Из КэшОткрытыхДополнительныхФормОбъектов Цикл
 
 Если ТекЭл.Значение <> Неопределено И ТипЗнч(ТекЭл.Значение) = Тип("Форма") И НЕ ТекЭл.Значение.Открыта() Тогда
 
 СписокНаУдаление.Добавить(ТекЭл.Ключ);
 
 КонецЕсли;
 
 КонецЦикла;
 
 Для каждого ТекЭл Из СписокНаУдаление Цикл
 
 КэшОткрытыхДополнительныхФормОбъектов.Удалить(ТекЭл.Значение);
 
 КонецЦикла;
 
 КонецПроцедуры
 //**** Проверяет и если нужно отображает оповещения для текущего пользователя по регистрру "Арина_ОповещенияПользователям"
 
 Процедура ПроверитьОповещенияСистемы() Экспорт
 
 Запрос = Новый Запрос;
 
 Запрос.Текст = "ВЫБРАТЬ
 
 | Арина_ОповещенияПользователям.Пользователь,
 
 | Арина_ОповещенияПользователям.Объект,
 
 | Арина_ОповещенияПользователям.Момент,
 
 | Арина_ОповещенияПользователям.ТекстОповещения,
 
 | Арина_ОповещенияПользователям.Прочитано
 
 |ИЗ
 
 | РегистрСведений.Арина_ОповещенияПользователям КАК Арина_ОповещенияПользователям
 
 |ГДЕ
 
 | Арина_ОповещенияПользователям.Момент <= &ТекущийМомент
 
 | И Арина_ОповещенияПользователям.Пользователь = &Пользователь";
 
 Запрос.УстановитьПараметр("ТекущийМомент", ТекущаяДата());
 
 Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь);
 
 Результат = Запрос.Выполнить().Выгрузить();
 
 Для каждого ТекСтрока Из Результат Цикл
 
 Если Арина_ОбщийМодуль.ПолучитьСпособОтображенияОповещений().ВсплывающимОкном Тогда
 
 ФормаОповещение = РегистрыСведений.Арина_ОповещенияПользователям.ПолучитьФорму("ФормаОповещения",, Строка(ТекСтрока.Объект) + СокрЛП(Строка(ТекСтрока.ТекстОповещения)));
 
 ФормаОповещение.Объект = ТекСтрока.Объект;
 
 ФормаОповещение.Момент = ТекСтрока.Момент;
 
 ФормаОповещение.ТекстОповещения = ТекСтрока.ТекстОповещения;
 
 ФормаОповещение.Открыть();
 
 КонецЕсли;
 
 Если НЕ ТекСтрока.Прочитано Тогда
 
 НужнаяСсылка = ?(ЗначениеЗаполнено(ТекСтрока.Объект), ПолучитьНавигационнуюСсылку(ТекСтрока.Объект), "");
 
 ПоказатьОповещениеПользователя("Оповещение 1С " + СокрЛП(ПолучитьЗаголовокСистемы()), ТекСтрока.Объект, ТекСтрока.ТекстОповещения, БиблиотекаКартинок.Оповещение);
 
 КонецЕсли;
 
 КонецЦикла;
 
 КонецПроцедуры
 //**** Процедура обрабатывает регситры сведений, относящиеся к подсистеме "Статусы объектов" и заполняет незаполненные поля "Вид статуса" значением по умолчению
 
 Процедура ПроверитьОбработатьВидыСтатусовОбъектов()
 
 //**** Регистр истории статусов объектов
 
 Запрос = Новый Запрос;
 
 Запрос.Текст = "ВЫБРАТЬ
 
 | Арина_ИсторияСтатусовОбъектов.Объект
 
 |ИЗ
 
 | РегистрСведений.Арина_ИсторияСтатусовОбъектов КАК Арина_ИсторияСтатусовОбъектов
 
 |ГДЕ
 
 | Арина_ИсторияСтатусовОбъектов.Вид = ЗНАЧЕНИЕ(Справочник.Арина_ВидыСтатусовОбъектов.ПустаяСсылка)
 
 |
 
 |СГРУППИРОВАТЬ ПО
 
 | Арина_ИсторияСтатусовОбъектов.Объект";
 
 СписокОбъектов = Запрос.Выполнить().Выгрузить();
 
 Сообщили = Ложь;
 
 #Если Клиент Тогда
 
 Если СписокОбъектов.Количество() <> 0 Тогда
 
 Сообщить("Обработка данных подсистемы ""статусы объектов"" к работе с новой версией...", );
 
 Сообщили = Истина;
 
 КонецЕсли;
 
 #КонецЕсли
 Для каждого ТекСтрока Из СписокОбъектов Цикл
 
 Набор = РегистрыСведений.Арина_ИсторияСтатусовОбъектов.СоздатьНаборЗаписей();
 
 Набор.Отбор.Объект.Установить(ТекСтрока.Объект);
 
 Набор.Прочитать();
 
 Для каждого Запись Из Набор Цикл
 
 Запись.Вид = Справочники.Арина_ВидыСтатусовОбъектов.Основной;
 
 КонецЦикла;
 
 Попытка
 
 Набор.Записать(Истина);
 
 Исключение
 
 КонецПопытки;
 
 КонецЦикла;
 
 //**** Регистр нужных подписей для подсистемы статусов
 
 Запрос = Новый Запрос;
 
 Запрос.Текст = "ВЫБРАТЬ
 
 | Арина_НужныеПодписиДляУстановкиСтатусаОбъекта.Объект
 
 |ИЗ
 
 | РегистрСведений.Арина_НужныеПодписиДляУстановкиСтатусаОбъекта КАК Арина_НужныеПодписиДляУстановкиСтатусаОбъекта
 
 |ГДЕ
 
 | Арина_НужныеПодписиДляУстановкиСтатусаОбъекта.Вид = ЗНАЧЕНИЕ(Справочник.Арина_ВидыСтатусовОбъектов.ПустаяСсылка)
 
 |
 
 |СГРУППИРОВАТЬ ПО
 
 | Арина_НужныеПодписиДляУстановкиСтатусаОбъекта.Объект";
 
 СписокОбъектов = Запрос.Выполнить().Выгрузить();
 
 #Если Клиент Тогда
 
 Если СписокОбъектов.Количество() <> 0 И НЕ Сообщили Тогда
 
 Сообщить("Обработка данных подсистемы ""статусы объектов"" к работе с новой версией...", );
 
 Сообщили = Истина;
 
 КонецЕсли;
 
 #КонецЕсли
 Для каждого ТекСтрока Из СписокОбъектов Цикл
 
 Набор = РегистрыСведений.Арина_НужныеПодписиДляУстановкиСтатусаОбъекта.СоздатьНаборЗаписей();
 
 Набор.Отбор.Объект.Установить(ТекСтрока.Объект);
 
 Набор.Прочитать();
 
 Для каждого Запись Из Набор Цикл
 
 Запись.Вид = Справочники.Арина_ВидыСтатусовОбъектов.Основной;
 
 КонецЦикла;
 
 Попытка
 
 Набор.Записать(Истина);
 
 Исключение
 
 КонецПопытки;
 
 КонецЦикла;
 
 //**** Регистр поставленных подписей для подсистемы статусов
 
 Запрос = Новый Запрос;
 
 Запрос.Текст = "ВЫБРАТЬ
 
 | Арина_ПоставленныеПодписиДляУстановкиСтатусаОбъекта.Объект
 
 |ИЗ
 
 | РегистрСведений.Арина_ПоставленныеПодписиДляУстановкиСтатусаОбъекта КАК Арина_ПоставленныеПодписиДляУстановкиСтатусаОбъекта
 
 |ГДЕ
 
 | Арина_ПоставленныеПодписиДляУстановкиСтатусаОбъекта.Вид = ЗНАЧЕНИЕ(Справочник.Арина_ВидыСтатусовОбъектов.ПустаяСсылка)
 
 |
 
 |СГРУППИРОВАТЬ ПО
 
 | Арина_ПоставленныеПодписиДляУстановкиСтатусаОбъекта.Объект";
 
 СписокОбъектов = Запрос.Выполнить().Выгрузить();
 
 #Если Клиент Тогда
 
 Если СписокОбъектов.Количество() <> 0 И НЕ Сообщили Тогда
 
 Сообщить("Обработка данных подсистемы ""статусы объектов"" к работе с новой версией...", );
 
 Сообщили = Истина;
 
 КонецЕсли;
 
 #КонецЕсли
 Для каждого ТекСтрока Из СписокОбъектов Цикл
 
 Набор = РегистрыСведений.Арина_ПоставленныеПодписиДляУстановкиСтатусаОбъекта.СоздатьНаборЗаписей();
 
 Набор.Отбор.Объект.Установить(ТекСтрока.Объект);
 
 Набор.Прочитать();
 
 Для каждого Запись Из Набор Цикл
 
 Запись.Вид = Справочники.Арина_ВидыСтатусовОбъектов.Основной;
 
 КонецЦикла;
 
 Попытка
 
 Набор.Записать(Истина);
 
 Исключение
 
 КонецПопытки;
 
 КонецЦикла;
 //**** Справочник "Настройки обработки статусов объектов"
 
 Запрос = Новый Запрос;
 
 Запрос.Текст = "ВЫБРАТЬ
 
 | Арина_НастройкиОбработкиСтатусовОбъектов.Ссылка
 
 |ИЗ
 
 | Справочник.Арина_НастройкиОбработкиСтатусовОбъектов КАК Арина_НастройкиОбработкиСтатусовОбъектов
 
 |ГДЕ
 
 | НЕ Арина_НастройкиОбработкиСтатусовОбъектов.ЭтоГруппа
 
 | И Арина_НастройкиОбработкиСтатусовОбъектов.ВидСтатуса = ЗНАЧЕНИЕ(Справочник.Арина_ВидыСтатусовОбъектов.ПустаяСсылка)";
 
 Результат = Запрос.Выполнить().Выгрузить();
 
 Для каждого ТекСтрока Из Результат Цикл
 
 СпрОбъект = ТекСтрока.Ссылка.ПолучитьОбъект();
 
 СпрОбъект.ВидСтатуса = Справочники.Арина_ВидыСтатусовОбъектов.Основной;
 
 Попытка
 
 СпрОбъект.ОбменДанными.Загрузка = Истина;
 
 СпрОбъект.Записать();
 
 Исключение
 
 КонецПопытки;
 
 КонецЦикла;
 
 КонецПроцедуры
 //**** Процедура перебирает имеющиеся регламентные задания текущего пользователя по регистру "Арина_РегламентныеЗаданияДляПользователей" и выполняет записанный там программный код
 
 Процедура ВыполнитьРегламентныеЗаданияПользователя() Экспорт
 
 Запрос = Новый Запрос;
 
 Запрос.Текст = "ВЫБРАТЬ
 
 | Арина_РегламентныеЗаданияДляПользователей.Пользователь,
 
 | Арина_РегламентныеЗаданияДляПользователей.ТекстПрогКода,
 
 | Арина_РегламентныеЗаданияДляПользователей.УИДРегЗадания
 
 |ИЗ
 
 | РегистрСведений.Арина_РегламентныеЗаданияДляПользователей КАК Арина_РегламентныеЗаданияДляПользователей
 
 |ГДЕ
 
 | Арина_РегламентныеЗаданияДляПользователей.Пользователь = &Пользователь";
 
 Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь);
 
 Результат = Запрос.Выполнить().Выгрузить();
 
 Для каждого ТекСтрока Из Результат Цикл
 
 ТекстКода = СокрЛП(ТекСтрока.ТекстПрогКода);
 
 Если ТекстКода <> "" Тогда
 
 Попытка
 
 Выполнить(ТекстКода);
 
 
 
 //**** Удаляем отработанное задание
 
 Набор = РегистрыСведений.Арина_РегламентныеЗаданияДляПользователей.СоздатьНаборЗаписей();
 
 Набор.Отбор.Пользователь.Установить(ПараметрыСеанса.ТекущийПользователь);
 
 Набор.Отбор.УИДРегЗадания.Установить(ТекСтрока.УИДРегЗадания);
 
 Набор.Записать(Истина);
 
 Исключение
 
 КонецПопытки;
 
 КонецЕсли;
 
 КонецЦикла;
 
 КонецПроцедуры
 //**** Арина -
 После всех операторов в основой части модуля добавить код
 //**** Арина +
 
 СписокИсключенийДляБлокировки = Новый СписокЗначений;
 ОбработкаКонсольЗаявок = Обработки.Арина_КонсольЗаявокПоручений.Создать();
 КэшОбработокВнешнихФормОбъектов = Новый Соответствие;
 
 КэшОткрытыхДополнительныхФормОбъектов = Новый Соответствие;
 
 ЧетыреКавычки = " """" ";
 
 //**** Арина –
 
 
 
 
            
              В обще форме «ФормаСтруктурыПодчиненности» необходимо проверить использование правильного имени критерия отбора для подчиненных объектов. В системе «АРИНА» используется имя критерия отбора «СвязанныеДокументы», как в конфигурации 1С «Управление торговлей 10». В конфигурации 1С «Бухгалтерия предприятия 2» обычно используется имя критерия отбора «СтруктураПодчиненности». Для того, чтобы не возникало ошибок в работе системы Вам необходимо заменить в модуле общей формы «ФормаСтруктурыПодчиненности» наименование критерия отбора на правильное.
 
 
 
 
 
            
              Расширение критерия отбора для структуры подчиненности
 
 Откройте свойства критерия отбора, который отвечает за построение структуры подчиненности. В типовых конфигурациях 1С, на вкладке «Данные», для поля «Тип» установлено только одно значение «ДокументСсылка». Для полноценной работы системы «АРИНА» рекомендуется добавить в состав типов данных критерия отбора «СправочникСсылка», «БизнесПроцессСсылка», и« ЗадачаСсылка» , сделав его «Составным».
 
 Переключившись на вкладку «Состав» Вам нужно включить в состав критерия отбора реквизиты «Основание» и «ТабличнаяЧасть:ПрикрепленныеОбъекты\Объект» для трех документов системы АРИНА: «Арина_ЗаявкаПоручение», «Арина_ЗадачаИсполнителю» и «Арина_МероприятиеДело»
 
 
  
 
            
              В интерфейс «Полный» нужно вставить подменю «Система АРИНА», скопировав его из интерфейса «Арина_Интерфейс»
 
 
  
 
            
              Для пользователя(ей), которые будут иметь доступ к настройкам системы АРИНА, необходимо включить роль «АдминистраторСистемы»
 
 
 
 
 
            
              В свойствах документов «Арина_ЗаявкаПоручение», «Арина_ЗадачаИсполнителю» и «Арина_МероприятиеДело», в разделе «Ввод на основании\Вводится на основании» необходимо указать те, документы, справочники, Бизнес-процессы или Задачи, на основании которых Вы предполагаете создавать «Заявки», «Задачи исполнителю» или «Мероприятия» системы «АРИНА»
 
 ВНИМАНИЕ! Если в системе не зарегистрировано ни одного пользователя, то Вы не сможете нормально использовать систему «АРИНА».
 
 
 
            
              Для полноценной работы подсистемы «Правила обработки объектов» необходимо изменить процедуру, отвечающую за установку доступности поля кода у справочников и номера у документов, задач и бизнес-процессов. Обычно эта процедура называется «УстановитьДоступностьПоляВводаНомера».
 
 
  
 В начало процедуры необходимо вставить код
 
 //**** Арина +
 
 Если Метаданные.Справочники.Содержит(МетаданныеОбъекта) Тогда
 
 Арина_ОбщийМодуль.Арина_ОбработкаСправочникПриОткрытииФормы(МетаданныеОбъекта, ФормаОбъекта);
 
 ИначеЕсли Метаданные.Документы.Содержит(МетаданныеОбъекта) Тогда
 
 Арина_ОбщийМодуль.Арина_ОбработкаДокументПриОткрытииФормы(МетаданныеОбъекта, ФормаОбъекта);
 
 КонецЕсли;
 
 //**** Арина -
 
 Если У Вас оригинальная конфигурация, построенная не на базе типовых конфигураций фирмы 1С, то Вы можете добавить этот код в начало обработчика «ПриОткрытии» формы объектов Вашей конфигурации.
 
 
 
            
              Для тех объектов, которые Вы собираетесь подключить к подсистеме «Дополнительные формы объектов» необходимо произвести изменения в модуле основной формы объекта.
 
 В обработчик «ПередОткрытием» Формы объекта нужно добавить код
 
 //**** Арина +
 
 //**** Используется для работы механизма дополнительных форм объектов
 
 Арина_ОбщийМодуль.ПередОткрытиемФормыОбъекта(ЭтаФорма, Отказ);
 
 Если Отказ Тогда
 
 Возврат;
 
 КонецЕсли;
 
 //**** Арина -
 
 
 
            
              Для тех объектов, которые Вы предполагаете подключить к подсистеме статусов, необходимо произвести изменения в модуле основной формы объекта.
 
 На форму объекта необходимо добавить элементы отображения текущих статусов и управления ими. Добавленные элементы нужно привязать к правому верхнему углу формы объекта.
 
 
  
 Эти элементы можно скопировать с формы любого из документов, входящих в систему АРИНА: «Арина_ЗаявкаПоручение», «Арина_ЗадачаИсполнителю» или «Арина_МероприятиеДело». После этого нужно произвести в модуле формы объекта следующие изменения:
 
 Добавить перед основным разделом модуля процедуры
 
 //*************************************************************************************************************************************************
 
 //**** С Т А Т У С Ы Д О К У М Е Н Т А
 Процедура КнопкаИсторияСтатусовНажатие(Элемент)
 
 Арина_ОбщийМодуль.ОтобразитьИсториюСтатусовОбъекта(Ссылка);
 
 ОбновитьВидимостьТекущегоСтатуса();
 
 КонецПроцедуры
 Процедура КнопкаПолногоДереваПодписейНажатие(Элемент)
 
 Арина_ОбщийМодуль.ОтобразитьДеревоПодписейПодСтатусамиПереходаОбъекта(Ссылка);
 
 КонецПроцедуры
 Процедура КнопкаПоставленныеПодписиНажатие(Элемент)
 
 Арина_ОбщийМодуль.ОтобразитьПоставленныеПодписиПодОбъектом(Ссылка);
 
 КонецПроцедуры
 Процедура НадписьСтатусНажатие(Элемент)
 
 //Если ЭтоНовый() ИЛИ Модифицированность() Тогда
 
 Если ЭтоНовый() ИЛИ Модифицированность Тогда
 
 Предупреждение("Для установки статуса объект необходимо сначала записать!", 25);
 
 Возврат;
 
 КонецЕсли;
 
 Арина_ОбщийМодуль.ПоставитьПодписьПодСтатусомОбъекта(Ссылка);
 
 Прочитать();
 
 ОбновитьВидимостьТекущегоСтатуса();
 
 КонецПроцедуры
 Процедура ОбновитьВидимостьТекущегоСтатуса()
 
 Арина_ОбщийМодуль.ОбновитьВидимостьТекущегоСтатусаОбъекта(Ссылка, ЭлементыФормы.НадписьСтатус);
 
 КонецПроцедуры
 Процедура КнопкаОбновитьДеревоНужныхПодписейНажатие(Элемент)
 
 Если ЭтоНовый() ИЛИ Модифицированность Тогда
 
 Предупреждение("Для обновления дерева подписей документ необходимо сначала записать!", 25);
 
 Возврат;
 
 КонецЕсли;
 
 Арина_ОбщийМодуль.УстановкаСтатусовОбъектаПриЗаписи(ЭтотОбъект, Ложь);
 
 ОбновитьВидимостьТекущегоСтатуса();
 
 КонецПроцедуры
 В процедуру обработчика «ПриОткрытии» добавить код
 
 //**** Арина +
 
 ОбновитьВидимостьТекущегоСтатуса();
 
 //**** Арина -
 В процедуру обработчика «ОбработкаОповещения» добавиь код
 
 //**** Арина +
 
 Если Метаданные.Справочники.Содержит(Метаданные()) Тогда
 
 ИмяСобытияСтатусов = "УстановкаПодписи_" + Метаданные().Имя + "_" + СокрЛП(Строка(ЭтотОбъект.Код));
 
 ИначеЕсли Метаданные.Документы.Содержит(Метаданные()) Тогда
 
 ИмяСобытияСтатусов = "УстановкаПодписи_" + Метаданные().Имя + "_" + СокрЛП(Строка(ЭтотОбъект.Номер));
 
 КонецЕсли;
 
 Если ИмяСобытия = ИмяСобытияСтатусов Тогда
 
 Прочитать();
 
 ОбновитьВидимостьТекущегоСтатуса();
 
 КонецЕсли;
 
 //**** Арина -
 В процедуру обработчика «ПриЗаписи» добавить код
 
 //**** Арина +
 
 ОбновитьВидимостьТекущегоСтатуса();
 
 //**** Арина -
 
 
 |