Файл: Разработка регламента выполнения процесса «Управление документооборотом» (1 Построение бизнес-процессов «как есть»).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.06.2023

Просмотров: 345

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

КонецЕсли;

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Ссылка

|ИЗ

| Справочник." + Объект.Ссылка.Метаданные().Имя + " КАК Справочник ";

Если Нумератор.НезависимаяНумерацияПоСвязанномуДокументу Тогда

Запрос.Текст = Запрос.Текст +

" ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СвязиДокументов КАК СвязиДокументов

| ПО СвязиДокументов.Документ = Справочник.Ссылка И СвязиДокументов.ТипСвязи = &ТипСвязи ";

Запрос.УстановитьПараметр("ТипСвязи", Нумератор.ТипСвязи);

КонецЕсли;

Запрос.Текст = Запрос.Текст +

" ГДЕ

| РегистрационныйНомер = &РегистрационныйНомер

| И ДатаРегистрации МЕЖДУ &НачалоПериодаНумерации И &КонецПериодаНумерации

| И Ссылка <> &Ссылка ";

Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоОрганизациям") И Нумератор.НезависимаяНумерацияПоОрганизациям Тогда

Запрос.Текст = Запрос.Текст + " И (Организация = &Организация) ";

Запрос.УстановитьПараметр("Организация", Объект.Организация);

КонецЕсли;

Если Нумератор.НезависимаяНумерацияПоСвязанномуДокументу Тогда

СвязанныйДокумент = СвязиДокументов.ПолучитьСвязанныйДокумент(Объект.Ссылка, Нумератор.ТипСвязи);

Если ЗначениеЗаполнено(СвязанныйДокумент) Тогда

Запрос.Текст = Запрос.Текст + " И (СвязанныйДокумент = &СвязанныйДокумент) ";

Запрос.УстановитьПараметр("СвязанныйДокумент", СвязанныйДокумент);

КонецЕсли;

КонецЕсли;

Если ИспользоватьВидыДокументов(Объект.ВидДокумента) Тогда

Если ЗначениеЗаполнено(Нумератор) Тогда // проверка уникальности в рамках нумератора

Запрос.Текст = Запрос.Текст + " И (ВидДокумента.Нумератор = &Нумератор) ";

Запрос.УстановитьПараметр("Нумератор", Нумератор);

Иначе

Запрос.Текст = Запрос.Текст + " И (ВидДокумента = &ВидДокумента) ";

Запрос.УстановитьПараметр("ВидДокумента", Объект.ВидДокумента);

КонецЕсли;

КонецЕсли;

Запрос.УстановитьПараметр("РегистрационныйНомер", Объект.РегистрационныйНомер);

Запрос.УстановитьПараметр("НачалоПериодаНумерации", Нумерация.НачалоПериодаНумерации(Периодичность, Объект.ДатаРегистрации));

Запрос.УстановитьПараметр("КонецПериодаНумерации", Нумерация.КонецПериодаНумерации(Периодичность, Объект.ДатаРегистрации));

Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);

Результат = Запрос.Выполнить();

Возврат Результат.Пустой();

КонецФункции

// Устанавливает доступность полей карточки документа в зависимости от состояния

Процедура УстановитьДоступностьПоСостоянию(Форма, Состояние, ДоступныеПоля = "") Экспорт


ДоступныеПоля = "";

НедоступныеПоля = "";

НеизменяемыеПоля = "";

Если Не ПолучитьФункциональнуюОпцию("ИспользоватьСостоянияДокументов") Тогда

Возврат;

КонецЕсли;

Если РольДоступна("ПолныеПрава") Тогда

Возврат;

КонецЕсли;

Если ТипЗнч(Форма.Объект.Ссылка) = Тип("СправочникСсылка.ВходящиеДокументы") Тогда

РольДелопроизводитель = РольДоступна("ДобавлениеИзменениеВходящихДокументов");

НеизменяемыеПоля = Новый Структура("

|ОтправленОтвет,

|ОтветПереадресовавшему,

|ПереадресованДокументом, КонтактноеЛицоПереадресата, Переадресат, Переадресовать,

|Категории,

|ИсторияСогласования, ВизыСогласованияПечатьЛистСогласования,

|ГруппаЭЦП, ФормаПодписать, ФайлыПодписатьФайл, ФайлыДобавитьЭЦПИзФайла, ФайлыСохранитьВместеСЭЦП,

|ФайлыКонтекстноеМенюПодписатьФайл, ФайлыКонтекстноеМенюДобавитьЭЦПИзФайла, ФайлыКонтекстноеМенюСохранитьВместеСЭЦП,

|Комментарий");

ИначеЕсли ТипЗнч(Форма.Объект.Ссылка) = Тип("СправочникСсылка.ИсходящиеДокументы") Тогда

РольДелопроизводитель = РольДоступна("РегистрацияИсходящихДокументов");

НеизменяемыеПоля = Новый Структура("

|ПолученОтвет,

|Категории,

|ИсторияСогласования, ВизыСогласованияПечатьЛистСогласования,

|ГруппаЭЦП, ФормаПодписать, ФайлыПодписатьФайл, ФайлыДобавитьЭЦПИзФайла, ФайлыСохранитьВместеСЭЦП,

|ФайлыКонтекстноеМенюПодписатьФайл, ФайлыКонтекстноеМенюДобавитьЭЦПИзФайла, ФайлыКонтекстноеМенюСохранитьВместеСЭЦП,

|Комментарий");

ИначеЕсли ТипЗнч(Форма.Объект.Ссылка) = Тип("СправочникСсылка.ВнутренниеДокументы") Тогда

РольДелопроизводитель = РольДоступна("РегистрацияВнутреннихДокументов");

НеизменяемыеПоля = Новый Структура("

|Категории,

|ИсторияСогласования, ВизыСогласованияПечатьЛистСогласования,

|ГруппаЭЦП, ФормаПодписать, ФайлыПодписатьФайл, ФайлыДобавитьЭЦПИзФайла, ФайлыСохранитьВместеСЭЦП,

|ФайлыКонтекстноеМенюПодписатьФайл, ФайлыКонтекстноеМенюДобавитьЭЦПИзФайла, ФайлыКонтекстноеМенюСохранитьВместеСЭЦП,

|Комментарий,

|НеДействуетВСоответствии");

КонецЕсли;

// Рабочие группы

Если ТипЗнч(НеизменяемыеПоля) = Тип("Структура") Тогда

НеизменяемыеПоля.Вставить("РабочаяГруппаТаблица");

НеизменяемыеПоля.Вставить("РабочаяГруппаТаблицаУчастник");

НеизменяемыеПоля.Вставить("ПодобратьУчастниковРабочейГруппы");

НеизменяемыеПоля.Вставить("РабочаяГруппаТаблицаДобавить");

НеизменяемыеПоля.Вставить("РабочаяГруппаТаблицаУдалить");


НеизменяемыеПоля.Вставить("РабочаяГруппаТаблицаРабочаяГруппаОбновить");

НеизменяемыеПоля.Вставить("РабочаяГруппаТаблицаВывестиСписок");

НеизменяемыеПоля.Вставить("ПерезаполнитьРабочуюГруппуДокумента");

НеизменяемыеПоля.Вставить("ЗапретитьАвтоматическоеДобавлениеУчастниковРабочейГруппы");

КонецЕсли;

Если Константы.ОграничиватьДоступностьПолейПоСостоянию.Получить() Тогда

Если Состояние = Перечисления.СостоянияДокументов.НаРегистрации Тогда

Если РольДелопроизводитель Тогда

ДоступныеПоля = "";

НедоступныеПоля = "";

Иначе

ДоступныеПоля = Новый Структура("

|Состояние,

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

КонецЕсли;

ИначеЕсли (Состояние = Перечисления.СостоянияДокументов.Зарегистрирован)

И (ТипЗнч(Форма.Объект.Ссылка) = Тип("СправочникСсылка.ВходящиеДокументы")) Тогда

Если РольДелопроизводитель Тогда

ДоступныеПоля = Новый Структура("

|Зарегистрировать, РегистрационныйНомер, ДатаРегистрации,

|Резолюции, РезолюцииДобавить, РезолюцииИзменить, РезолюцииУдалить,

|Состояние,

|СрокИсполнения, Дело,

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

Иначе

ДоступныеПоля = Новый Структура("

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

КонецЕсли;

ИначеЕсли (Состояние = Перечисления.СостоянияДокументов.Зарегистрирован)

И (ТипЗнч(Форма.Объект.Ссылка) = Тип("СправочникСсылка.ИсходящиеДокументы")) Тогда

Если РольДелопроизводитель Тогда

Если Форма.Объект.Получатели.НайтиСтроки(Новый Структура("Отправлен", Истина)).Количество() > 0 Тогда

ДоступныеПоля = Новый Структура("

|Зарегистрировать, РегистрационныйНомер, ДатаРегистрации,

|Состояние,

|СрокИсполнения, Дело,

|Отправлен, ДатаОтправки, СпособОтправки, ВходящийНомер, ВходящаяДата,

|Получатели, ПолучателиОтправлен, ПолучателиДатаОтправки, ПолучателиСпособОтправки, ПолучателиВходящийНомер, ПолучателиВходящаяДата,

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

Иначе

ДоступныеПоля = Новый Структура("

|Зарегистрировать, РегистрационныйНомер, ДатаРегистрации,


|Состояние,

|СрокИсполнения, Дело,

|ЗакончитьРедактирование, Занять, Освободить, Редактировать, СохранитьИзменения, ОбновитьИзФайлаНаДиске, ФайлыЗашифровать, ФайлыРасшифровать, ФайлыКонтекстноеМенюЗашифровать, ФайлыКонтекстноеМенюРасшифровать,

|КонтекстноеМенюФайлыЗакончитьРедактирование, КонтекстноеМенюФайлыЗанять, КонтекстноеМенюФайлыОсвободить, КонтекстноеМенюФайлыРедактировать, КонтекстноеМенюФайлыСохранитьИзменения, КонтекстноеМенюФайлыОбновитьИзФайлаНаДиске,

|Отправлен, ДатаОтправки, СпособОтправки, ВходящийНомер, ВходящаяДата,

|Получатели, ПолучателиОтправлен, ПолучателиДатаОтправки, ПолучателиСпособОтправки, ПолучателиВходящийНомер, ПолучателиВходящаяДата,

|Файлы, СоздатьФайл, ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

КонецЕсли;

Иначе

ДоступныеПоля = Новый Структура("

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

КонецЕсли;

ИначеЕсли (Состояние = Перечисления.СостоянияДокументов.Зарегистрирован)

И (ТипЗнч(Форма.Объект.Ссылка) = Тип("СправочникСсылка.ВнутренниеДокументы")) Тогда

Если РольДелопроизводитель Тогда

ДоступныеПоля = Новый Структура("

|НеДействует, ДатаОкончанияДействия, Бессрочный, ПорядокПродления,

|Зарегистрировать, РегистрационныйНомер, ДатаРегистрации,

|Состояние, Папка,

|СрокИсполнения, СрокДействияСтрока, Дело, Отменен, ОтмененДокументом,

|ЗакончитьРедактирование, Занять, Освободить, Редактировать, СохранитьИзменения, ОбновитьИзФайлаНаДиске, ФайлыЗашифровать, ФайлыРасшифровать, ФайлыКонтекстноеМенюЗашифровать, ФайлыКонтекстноеМенюРасшифровать,

|КонтекстноеМенюФайлыЗакончитьРедактирование, КонтекстноеМенюФайлыЗанять, КонтекстноеМенюФайлыОсвободить, КонтекстноеМенюФайлыРедактировать, КонтекстноеМенюФайлыСохранитьИзменения, КонтекстноеМенюФайлыОбновитьИзФайлаНаДиске,

|Файлы, СоздатьФайл, ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

Иначе

ДоступныеПоля = Новый Структура("

|СрокДействияСтрока,

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

КонецЕсли;


ИначеЕсли Состояние = Перечисления.СостоянияДокументов.НаРассмотрении Тогда

Если РольДелопроизводитель Тогда

ДоступныеПоля = Новый Структура("

|Зарегистрировать, РегистрационныйНомер, ДатаРегистрации,

|Состояние, Папка,

|СрокИсполнения,

|Резолюции, РезолюцииДобавить, РезолюцииИзменить, РезолюцииУдалить,

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

Иначе

ДоступныеПоля = Новый Структура("

|Резолюции, РезолюцииДобавить, РезолюцииИзменить, РезолюцииУдалить,

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

КонецЕсли;

ИначеЕсли Состояние = Перечисления.СостоянияДокументов.Рассмотрен Тогда

Если РольДелопроизводитель Тогда

ДоступныеПоля = Новый Структура("

|Зарегистрировать, РегистрационныйНомер, ДатаРегистрации,

|Состояние, Папка,

|СрокИсполнения,

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

Иначе

ДоступныеПоля = Новый Структура("

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

КонецЕсли;

ИначеЕсли Состояние = Перечисления.СостоянияДокументов.НаИсполнении Тогда

Если РольДелопроизводитель Тогда

ДоступныеПоля = Новый Структура("

|НеДействует, ДатаОкончанияДействия, Бессрочный, ПорядокПродления,

|Зарегистрировать, РегистрационныйНомер, ДатаРегистрации,

|Состояние, Папка,

|СрокИсполнения,

|Резолюции, РезолюцииДобавить, РезолюцииИзменить, РезолюцииУдалить,

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

Иначе

ДоступныеПоля = Новый Структура("

|Резолюции, РезолюцииДобавить, РезолюцииИзменить, РезолюцииУдалить,

|ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить,

|КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");

КонецЕсли;

ИначеЕсли Состояние = Перечисления.СостоянияДокументов.Исполнен Тогда

Если РольДелопроизводитель Тогда

ДоступныеПоля = Новый Структура("

|Зарегистрировать, РегистрационныйНомер, ДатаРегистрации,

|Состояние, Папка,