День добрый!
Очень рада, что здесь уже есть эта тема! Пойду сдаваться через неделю, по факту тоже отпишусь.
Хочу сказать спасибо за 2 предоставленные базы и поделиться своими соображениями (и заодно вопросами) насчёт опубликованного билета.
У меня следующие отличия от предложенных решений:
1)
Права доступа. Работала только с поставляемыми профилями доступа. В поставляемой группе доступа "Пользователи" изменила ограничение по организациям: "Все запрещены", остальное не трогала. Добавленные группы доступа:
Название | Профиль | Состав | Ограничения |
Пользователи без ограничений | Пользователи | группа пользователей "УК" | Организации: Все разрешены |
Пользователи Филиал1 | Пользователи | группа пользователей "Филиал1" | Организации: Все запрещены, кроме 1 (Филиал1) |
Пользователи Филиал2 | Пользователи | группа пользователей "Филиал2" | Организации: Все запрещены, кроме 1 (Филиал2) |
Работа с входящими и исходящими без ограничений | Работа с входящими и исходящими документами | группа пользователей "УК" | Организации: Все разрешены |
Работа с входящими и исходящими Филиал1 | Работа с входящими и исходящими документами | группа пользователей "Филиал1" | Организации: Все запрещены, кроме 1 (Филиал1) |
Работа с входящими и исходящими Филиал2 | Работа с входящими и исходящими документами | группа пользователей "Филиал2" | Организации: Все запрещены, кроме 1 (Филиал2) |
Делопроизводители | Делопроизводители | группа пользователей "Секретари" | Виды входящих документов: Все разрешены Виды исходящих документов: Все разрешены Виды внутренних документов: Все разрешены Организации: Все разрешены |
Регистрация внутренних документов | Делопроизводители | группа пользователей "Все пользователи" | Виды входящих документов: Все запрещены Виды исходящих документов: Все запрещены Виды внутренних документов: Все разрешены Организации: Все разрешены |
апдейт: не работает так, для регистрации внутренних нужно тоже расписывать ограничения по организациям"Делопроизводители" используются для возможности зарегистрировать документ. Исходящие регистрирует только секретарь; входящие - не указано, но обычная практика - приёмка и регистрация корреспонденции в едином центре (секретариате). Внутренние документы регистрирует автор процесса - как правило, автор документа (=любой пользователь).
Также добавила: в поставляемую группу доступа "Контроль задач и бизнес-процессов" - пользователя Сколов Роман Игоревич; в группу доступа "Делопроизводители" - пользователя Исаева Ольга Петровна
2.
Роли исполнителей. Я не использовала "Директор Филиала1" и "Директор Филиала2". Вместо этого в справочнике Организации на закладке "Ответственные лица" были указаны соответствующие руководители. Адресация в шаблонах процессов - автоподстановка "Руководитель организации". Вообще для такого случая кажется более оптимальным создавать 1 роль "Директор" с объектами адресации "Организация".
Следующее - сразу скажу, в этом моя ошибка, и тут я попросту недоумеваю. Я использовала роли "Секретарь" и "Ведущий специалист" для всех пользователей с этой функцией. Моей идеей было следующее: права доступа по организациям у нас уже разграничены, следовательно, исполнители не увидят документы чужой организации и
не получат задач (
роли "Работа с задачами и бизнес-процессами", "Изменение и выполнение задач", которые включены в профиль "Пользователи"), в основном предмете которых стоит чужая организация. По факту оказалось, что первая часть моего предположения верна. А вот задачи, к сожалению, приходят обоим исполнителям. Ведущий специалист Филиала2 получил задачу по документу Филиала1, может эту задачу открыть, видит в списке предметов название документа, не может открыть этот документ (сообщение о недостаточных правах). Нормальное ли это вообще поведение или баг релиза? В списке документов этому сотруднику предмет задачи не виден вообще.
Ну и вытекающее из этого: т.к. у меня не было условий на утверждение и регистрацию, вместо комплексных процессов я уложилась в составные. Может, всё-таки можно сделать что-то с правами на задачу с учётом прав на предметы? =/
3.
Условия маршрутизации. Для видов документов "Договор" и "Доп.соглашение" не добавляла доп.реквизиты; условие согласования для руководителя сделала - "На встроенном языке", текст условия:
СуммаВРублях = РаботаСКурсамиВалют.ПересчитатьВВалюту(Предмет.Сумма, Предмет.Валюта, Справочники.Валюты.НайтиПоКоду(643), ?(ЗначениеЗаполнено(Предмет.ДатаНачалаДействия), Предмет.ДатаНачалаДействия, Предмет.ДатаСоздания));
Результат = (СуммаВРублях > 150000);
Да, с одной стороны, экзамен на консультанта, типовыми средствами без доработок, с другой - код в пользовательском режиме - это не доработка конфигурации. Здесь я задала бы вопрос экзаменатору: согласует ли руководитель договоры в валюте? (Могло иметься в виду попросту то, что нужно добавить в конструктор условия строку с валютой, а не проверять только сумму).
апдейт: спросила - согласует, нужно пересчитывать. Правда, на экзамене вместо валюты с кодом 643 взяла константу ОсновнаяВалютаКак уже сказала, не делала условий для проверки организации в документе.
4.
Рассылка отчёта. Для варианта отчёта скрыла Параметры, Отбор (так визуально проще, особенно для ген.дира) и колонку Автор (т.к. настраивается вариант от конкретного автора). Срок в настройке отчёта не выставляла (т.к. в условии ничего не сказано, но рассылка раз в неделю - логичнее выводить все задачи, в том числе, без указания срока, а не только истекающие на следующий день). Попыталась придумать, как не указывать конкретного пользователя в отборе, чтобы при смене ген.дира не приходилось вспоминать про эту рассылку (особенно если в компании практика привязывать e-mail к должности, а не к фамилии). Увы, не вышло - должности, роли, ранги - в отбор не выведены.
5.
Правила категоризации. Написала единое правило на все типы документов - 3 отдельных правила и правда, удобнее. Например, для внутренних документов моё выглядит так:
Результат = Ложь;
МассивСвойств = Новый Массив;
МассивСвойств.Добавить(ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Категория"));
Если ТипЗнч(Источник) = Тип("СправочникСсылка.ВнутренниеДокументы") Тогда
Для Каждого Строка Из Источник.Корреспонденты Цикл
ТЗ = УправлениеСвойствами.ПолучитьЗначенияСвойств(Строка.Корреспондент, , , МассивСвойств);
Если ТЗ.Количество() > 0 И ТЗ[0][1] = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("ВИП") Тогда
Результат = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
...
КонецЕсли;
(задание на доработку: добавить ПВХ, в котором будут храниться искомые доп.реквизит и его значение, чтобы уйти от поиска по наименованию)
Опять же, не исключаю, что в этом задании правильным ответом будет действительно - поставить задачу программисту. Я, например, не программист, так что на поиски нужных функций и отладку кусочка у меня ушло ого-го сколько времени...
Ещё одно замечание -
нумерация документов. Когда делала, не обратила на это внимание - тут спасибо тем, кто выложил базы: для доп.соглашения, нумеруемого по связанному документу, действительно нужно поставить Непериодический нумератор!
Ох, спасибо тем, кто дочитал до конца стены текста!) Если у вас есть комментарии к моим пунктам - буду рада!