Разработка собственной конфигурации для работы с заявками — это отличная задача для понимания архитектуры платформы 1С. Мы рассмотрим основные подходы, которые помогут вам создать гибкую и надежную систему, учитывающую различные статусы документов и уровни доступа пользователей.
Если вы хотите сделать систему профессионально, с соблюдением всех канонов платформы, рекомендуем использовать объекты метаданных Бизнес-процесс и Задача. Это самый мощный инструмент для автоматизации последовательных действий.
Бизнес-процесс, который будет описывать жизненный цикл заявки.Администратора, Сотрудника и Ответственного.Задачи для исполнителей. Это позволит вам всегда видеть, на какой стадии находится заявка и кто несет за нее ответственность.Этот метод считается наиболее правильным для учебных целей, так как он демонстрирует глубокое понимание механики платформы 1С.
Для более простых реализаций можно использовать классический Документ с реквизитом Статус. Чтобы разграничить видимость заявок, выполним следующие действия:
Роли для каждого пользователя: Администратор, Сотрудник, Ответственный.ПриСозданииНаСервере для установки динамического отбора.Рассмотрим пример кода для фильтрации списка:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если РольДоступна("Сотрудник") Тогда
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = ПредопределенноеЗначение("Перечисление.СтатусыЗаявок.ВРаботе");
ЭлементОтбора.Использование = Истина;
КонецЕсли;
КонецПроцедуры
Если безопасность данных является приоритетом, используйте механизм RLS (Record Level Security). Он позволяет прописать условия доступа непосредственно в Роли в конфигураторе.
В настройках роли для таблицы документа добавьте условие:
Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаявок.Новая)
При таком подходе пользователь даже не увидит в списке те записи, к которым у него нет доступа, что делает систему максимально защищенной.
Часто возникает вопрос: как переключаться между списками заявок? Вместо создания трех разных подсистем, мы советуем реализовать единое рабочее место.
Элементы.Список.Отбор.Элементы.Чтобы ваша конфигурация была качественной, запомните следующие правила:
Таблицу Значений (ТЗ) для хранения заявок. Данные должны сохраняться в базу данных через Документы или Справочники. ТЗ живет только в памяти сеанса и очищается при закрытии формы.Комбинируя эти методы, вы сможете создать гибкую систему, которая удовлетворит даже самые строгие требования преподавателя. Удачи в разработке!