Разработка прототипа информационной системы учета бюджета мероприятий факультет довузовской подготовки

Анализ деятельности факультета довузовской подготовки. Анализ готовых решений с применением методики анализа важности критериев. Текстовое описание бизнес-процесса проведения курсов, бюджета мероприятий. Разработка прототипа информационной системы.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 28.11.2019
Размер файла 4,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Доступны для редактирования только поля комментария и флажка для согласования

Делопроизводитель

Просмотр Сметы расходов университетский класс

Доступны для редактирования все поля кроме флажков для согласования

Доступны для редактирования все поля кроме флажков для согласования

Документ График оплаты

Администратор, менеджер, бухгалтер

Нажатие на кнопку «Провести» или «Провести и закрыть» без заполнения документа

Вывод сообщений об ошибке «Поле «Мероприятие» не заполнено», «Поле «Учащийся» не заполнено», «Поле «Запланировано на первый срок» не заполнено»

Вывод сообщений об ошибке «Поле «Мероприятие» не заполнено», «Поле «Учащийся» не заполнено», «Поле «Запланировано на первый срок» не заполнено»

Нажатие на кнопку «Оплата курсов»

Переход к отчету «Оплата курсов»

Переход к отчету «Оплата курсов»

Нажатие на кнопку «Провести» или «Провести и закрыть» при заполненном документе

Сообщение в правом нижнем углу «Создание График оплаты с присвоенным номером на от текущей даты, если она не была изменена»

Сообщение в правом нижнем углу «Создание График оплаты с присвоенным номером на от текущей даты, если она не была изменена»

Нажатие на кнопку «Записать» без заполнения документа и с заполнением документа

Сообщение в правом нижнем углу «Создание График оплаты с присвоенным номером на от текущей даты, если она не была изменена»

Сообщение в правом нижнем углу «Создание График оплаты с присвоенным номером на от текущей даты, если она не была изменена»

Нажатие на кнопку «Записать», когда документ был уже записан или проведен

Сообщение в правом нижнем углу «Изменение График оплаты с присвоенным номером на от текущей даты, если она не была изменена»

Сообщение в правом нижнем углу «Изменение График оплаты с присвоенным номером на от текущей даты, если она не была изменена»

Бухгалтер

Просмотр графика оплат

Доступны для редактирования все поля

Доступны для редактирования все поля

Справочники

Администратор, менеджер

Нажатие на кнопку «Записать» или «Записать и закрыть» без заполнения наименования

Вывод сообщения об ошибке «Поле «Наименование» не заполнено»

Вывод сообщения об ошибке «Поле «Наименование» не заполнено»

Отчет Сводный по Профи-Край

Администратор, пользователь, менеджер

Нажатие на кнопку «Сформировать», когда учебный год не выбран

Вывод данных в отчете о всех сметах расходов по олимпиадам за разные года

Вывод данных в отчете о всех сметах расходов по олимпиадам за разные года

Нажатие на кнопку «Сформировать», когда учебный год выбран

Вывод данных в отчете о всех сметах расходов по олимпиадам за выбранный год

Вывод данных в отчете о всех сметах расходов по олимпиадам за выбранный год

Отчет Оплата Курсов

Администратор, пользователь, менеджер

Нажатие на кнопку «Сформировать», когда мероприятие не выбрано

Вывод отчета об оплате курсов по всем мероприятиям

Вывод отчета об оплате курсов по всем мероприятиям

Нажатие на кнопку «Сформировать», когда мероприятие выбрано

Вывод отчета об оплате курсов по выбранному мероприятию

Вывод отчета об оплате курсов по выбранному мероприятию

Отчет Рентабельность академического класса

Администратор, пользователь, менеджер

Нажатие на кнопку «Сформировать отчет», когда не выбрано Мероприятие

Вывод сообщения об ошибке: «Не выбрано мероприятие. Следует выбрать мероприятие для формирования отчета»

Вывод сообщения об ошибке: «Не выбрано мероприятие. Следует выбрать мероприятие для формирования отчета»

Нажатие на кнопку «Сформировать отчет», когда выбрано Мероприятие. Но приходных и расходных документов по нему не было

Вывод сообщения об ошибке: «Не хватает информации для формирования отчета. Заполните приходные и расходные документы по мероприятию»

Вывод сообщения об ошибке: «Не хватает информации для формирования отчета. Заполните приходные и расходные документы по мероприятию»

Нажатие на кнопку «Сформировать отчет», когда выбрано Мероприятие

Отчет сформирован

Отчет сформирован

Общие

Администратор

Авторизация пользователя

Доступны все подсистемы приложения

Доступны все подсистемы приложения

Менеджер

Авторизация пользователя

Доступны все подсистемы приложения

Доступны все подсистемы приложения

Декан

Авторизация пользователя

Доступна только подсистема Документы для согласования с документами приказ, Реестр программ, Сметы расходов Профи-Край и сметы расходов университетские классы

Доступна только подсистема Документы для согласования с документами приказ, Реестр программ, Сметы расходов Профи-Край и сметы расходов университетские классы

Бухгалтер

Авторизация пользователя

Доступна только подсистемы Бухгалтерия с документами Графики оплат, Поступления и расходования средств и подсистема Сметы расходов с документами Сметы расходов Профи-Край и Сметы расходов университетский класс

Доступна только подсистемы Бухгалтерия с документами Графики оплат, Поступления и расходования средств и подсистема Сметы расходов с документами Сметы расходов Профи-Край и Сметы расходов университетский класс

Делопроизводитель

Авторизация пользователя

Доступна только подсистема Сметы расходов с документами Сметы расходов Профи-Край и Сметы расходов университетский класс

Доступна только подсистема сметы расходов с документами Сметы расходов Профи-Край и Сметы расходов университетский класс

Пользователь

Авторизация пользователя

Доступна только подсистема Мероприятия с отчетами Оплата курсов, Рентабельность академических классов, сводный по Профи-край

Доступна только подсистема Мероприятия с отчетами Оплата курсов, Рентабельность академических классов, сводный по Профи-край

Заместитель директора

Авторизация пользователя

Доступна только подсистема Документы для согласования с документами приказ, Реестр программ, Сметы расходов Профи-Край и сметы расходов университетские классы

Доступна только подсистема Документы для согласования с документами приказ, Реестр программ, Сметы расходов Профи-Край и сметы расходов университетские классы

Программный код

Код формирования документа «Смета расходов Профи-Край»:

&НаКлиенте

Процедура СуммаДокументаПриИзменении(Элемент)

Объект.НачисленныйНДС = Объект.СуммаДокумента/120*20;

ПересчитатьНакладныеРасходы();

КонецПроцедуры

&НаКлиенте

Процедура ОплатаТрудаПриИзменении(Элемент)

Объект.НачисленияНаОплатуТруда = Объект.ОплатаТруда*0.301;

ПересчитатьНакладныеРасходы();

КонецПроцедуры

&НаКлиенте

Процедура МатериалыПриИзменении(Элемент)

ПересчитатьНакладныеРасходы();

КонецПроцедуры

Функция ПересчитатьНакладныеРасходы()

Объект.НакладныеРасходы = Объект.СуммаДокумента-Объект.Материалы-Объект.ОплатаТруда-Объект.НачисленияНаОплатуТруда-Объект.НачисленныйНДС-Объект.СпециальныеПризыМинистерстваОбразованияИНаукиПермскогоКрая;

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

&НаКлиенте

Процедура СпециальныеПризыМинистерстваОбразованияИНаукиПермскогоКраяПриИзменении(Элемент)

ПересчитатьНакладныеРасходы();

КонецПроцедуры

&НаСервере

Процедура УстановитьВидимостьИДоступностьРеквизитов()

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

Элементы.Дата.Доступность= Ложь;

Элементы.Номер.Доступность= Ложь;

Элементы.Мероприятие.Доступность = Ложь;

Элементы.СуммаДокумента.Доступность = Ложь;

Элементы.СогласовалЗамДекана.Доступность = Ложь;

Элементы.ОплатаТруда.Доступность = Ложь;

Элементы.СогласовалЗамДиректора.Доступность = Ложь;

Элементы.НачисленияНаОплатуТруда.Доступность = Ложь;

Элементы.Материалы.Доступность = Ложь;

Элементы.НакладныеРасходы.Доступность = Ложь;

Элементы.НачисленныйНДС.Доступность = Ложь;

Элементы.СпециальныеПризыМинистерстваОбразованияИНаукиПермскогоКрая.Доступность = Ложь;

КонецЕсли;

Если РольДоступна("ЗаместительДиректора") Тогда

Элементы.Дата.Доступность= Ложь;

Элементы.Номер.Доступность= Ложь;

Элементы.Мероприятие.Доступность = Ложь;

Элементы.СуммаДокумента.Доступность = Ложь;

Элементы.ОплатаТруда.Доступность = Ложь;

Элементы.СогласовалЗамДекана.Доступность = Ложь;

Элементы.СогласовалБухгалтер.Доступность = Ложь;

Элементы.ОплатаТруда.Доступность = Ложь;

Элементы.НачисленияНаОплатуТруда.Доступность = Ложь;

Элементы.Материалы.Доступность = Ложь;

Элементы.НакладныеРасходы.Доступность = Ложь;

Элементы.НачисленныйНДС.Доступность = Ложь;

Элементы.СпециальныеПризыМинистерстваОбразованияИНаукиПермскогоКрая.Доступность = Ложь;

КонецЕсли;

Если РольДоступна("ЗаместительДекана") Тогда

Элементы.Дата.Доступность= Ложь;

Элементы.Номер.Доступность= Ложь;

Элементы.Мероприятие.Доступность = Ложь;

Элементы.СуммаДокумента.Доступность = Ложь;

Элементы.ОплатаТруда.Доступность = Ложь;

Элементы.СогласовалЗамДиректора.Доступность = Ложь;

Элементы.СогласовалБухгалтер.Доступность = Ложь;

Элементы.ОплатаТруда.Доступность = Ложь;

Элементы.НачисленияНаОплатуТруда.Доступность = Ложь;

Элементы.Материалы.Доступность = Ложь;

Элементы.НакладныеРасходы.Доступность = Ложь;

Элементы.НачисленныйНДС.Доступность = Ложь;

Элементы.СпециальныеПризыМинистерстваОбразованияИНаукиПермскогоКрая.Доступность = Ложь;

КонецЕсли;

КонецПроцедуры

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

УстановитьВидимостьИДоступностьРеквизитов();

КонецПроцедуры

Код формирования документа «Поступление средств»:

&НаКлиенте

Процедура ВидДоходаПриИзменении(Элемент)

УстановитьВидимость();

КонецПроцедуры

&НаСервере

Процедура УстановитьВидимость()

если ЗначениеЗаполнено(Объект.ВидДохода) Тогда

Если Объект.ВидДохода = Перечисления.ВидыДоходов.Дотации или Объект.ВидДохода = Перечисления.ВидыДоходов.Субсидии Тогда

Элементы.КоличествоЗачисленных.Видимость = Ложь;

Элементы.СтоимостьНаОдного.Видимость = Ложь;

КонецЕсли;

Если Объект.ВидДохода = Перечисления.ВидыДоходов.ПлатныеУслуги Тогда

Элементы.КоличествоЗачисленных.Видимость = Истина;

Элементы.СтоимостьНаОдного.Видимость = Истина;

Элементы.Контрагент.Видимость = Ложь;

Элементы.Контракт.Видимость = Ложь;

КонецЕсли;

КонецЕсли;

Если Объект.Мероприятие.ТипМероприятия = Перечисления.ТипыМероприятий.КурсыПодготовкиКЕГЭОГЭ Тогда

Элементы.КоличествоЗачисленных.Видимость = Ложь;

Элементы.СтоимостьНаОдного.Видимость = Ложь;

Элементы.Общаясумма.Видимость = Ложь;

Элементы.НДС.Видимость = Ложь;

Элементы.ДоходыМинусНДС.Видимость = Ложь;

Элементы.Контрагент.Видимость = Ложь;

Элементы.Контракт.Видимость = Ложь;

Элементы.Предметы.Видимость = Истина;

Иначе

Элементы.Предметы.Видимость = Ложь;

КонецЕсли;

КонецПроцедуры

&НаКлиенте

Процедура КоличествоЗачисленныхПриИзменении(Элемент)

Объект.ОбщаяСумма = Объект.КоличествоЗачисленных*Объект.СтоимостьНаОдного;

Объект.НДС = Объект.ОбщаяСумма*20/120;

Объект.ДоходыМинусНДС = (Объект.ОбщаяСумма-Объект.НДС)/100*30;

КонецПроцедуры

&НаКлиенте

Процедура СтоимостьНаОдногоПриИзменении(Элемент)

Объект.ОбщаяСумма = Объект.КоличествоЗачисленных*Объект.СтоимостьНаОдного;

Объект.НДС = Объект.ОбщаяСумма*20/120;

Объект.ДоходыМинусНДС = (Объект.ОбщаяСумма-Объект.НДС)/100*30;

КонецПроцедуры

&НаКлиенте

Процедура ОбщаяСуммаПриИзменении(Элемент)

Объект.НДС = Объект.ОбщаяСумма*20/120;

Объект.ДоходыМинусНДС = (Объект.ОбщаяСумма-Объект.НДС)/100*30;

КонецПроцедуры

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

УстановитьВидимость();

КонецПроцедуры

&НаКлиенте

Процедура МероприятиеПриИзменении(Элемент)

УстановитьВидимость();

КонецПроцедуры

&НаКлиенте

Процедура ПредметыКоличествоЗачисленныхПриИзменении(Элемент)

Для Каждого СтрокаТабЧасти Из Объект.Предметы Цикл

СтрокаТабЧасти.ОбщаяСумма = СтрокаТабЧасти.КоличествоЗачисленных*СтрокаТабЧасти.СтоимостьНаОдного;

СтрокаТабЧасти.НДС = СтрокаТабЧасти.ОбщаяСумма*20/120;

СтрокаТабЧасти.ДоходыМинусНДС = (СтрокаТабЧасти.ОбщаяСумма-СтрокаТабЧасти.НДС)/100*30;

КонецЦикла;

КонецПроцедуры

&НаКлиенте

Процедура ПредметыСтоимостьНаОдногоПриИзменении(Элемент)

Для Каждого СтрокаТабЧасти Из Объект.Предметы Цикл

СтрокаТабЧасти.ОбщаяСумма = СтрокаТабЧасти.КоличествоЗачисленных*СтрокаТабЧасти.СтоимостьНаОдного;

СтрокаТабЧасти.НДС = СтрокаТабЧасти.ОбщаяСумма*20/120;

СтрокаТабЧасти.ДоходыМинусНДС = (СтрокаТабЧасти.ОбщаяСумма-СтрокаТабЧасти.НДС)/100*30;

КонецЦикла;

КонецПроцедуры

&НаКлиенте

Процедура ПредметыОбщаяСуммаПриИзменении(Элемент)

Для Каждого СтрокаТабЧасти Из Объект.Предметы Цикл

СтрокаТабЧасти.НДС = СтрокаТабЧасти.ОбщаяСумма*20/120;

СтрокаТабЧасти.ДоходыМинусНДС = (СтрокаТабЧасти.ОбщаяСумма-СтрокаТабЧасти.НДС)/100*30;

КонецЦикла;

КонецПроцедуры

Код формирования документа «Расходование средств»:

&НаСервере

Процедура ОбработатьНаСервере()

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

Запрос.Текст = "ВЫБРАТЬ

| РегистрМероприятий.Мероприятие КАК Мероприятие,

| РегистрМероприятий.НДС КАК НДС,

| РегистрМероприятий.ДоходыМинусНДС КАК ДоходыМинусНДС,

| РегистрМероприятий.ВидДвижения КАК ВидДвижения

|ИЗ

| РегистрНакопления.РегистрМероприятий КАК РегистрМероприятий

|ГДЕ

| РегистрМероприятий.Мероприятие = &Мероприятие И РегистрМероприятий.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)";

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

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

Пока РезультатЗапроса.Следующий() Цикл

Объект.НДС = РезультатЗапроса.НДС;

Объект.ДоходыМинусНДС = РезультатЗапроса.ДоходыМинусНДС;

КонецЦикла;

КонецПроцедуры

&НаКлиенте

Процедура МероприятиеПриИзменении(Элемент)

ОбработатьНаСервере();

ПересчитатьСуммуДокумента();

КонецПроцедуры

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

ОбработатьНаСервере();

КонецПроцедуры

&НаКлиенте

Процедура ПредметыЗаработнаяПлатаППСПриИзменении(Элемент)

Для Каждого СтрокаТабЧасти Из Объект.Предметы Цикл

СтрокаТабЧасти.ЗаработнаяПлатаППСИНалог = СтрокаТабЧасти.ЗаработнаяПлатаППС*1.302;

КонецЦикла;

ПересчитатьРасходы();

ПересчитатьСуммуДокумента();

КонецПроцедуры

&НаКлиенте

Процедура ПредметыЗаработнаяПлатаАУПИУВППриИзменении(Элемент)

ПересчитатьРасходы();

Для Каждого СтрокаТабЧасти Из Объект.Предметы Цикл

СтрокаТабЧасти.ЗаработнаяПлатаАУПИУВПИНалог = СтрокаТабЧасти.ЗаработнаяПлатаАУПИУВП*1.302;

КонецЦикла;

ПересчитатьСуммуДокумента();

КонецПроцедуры

Функция ПересчитатьСуммуДокумента()

Объект.Итого = Объект.Предметы.Итог("РасходыПоПредмету")+Объект.НДС+Объект.ДоходыМинусНДС;

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

Функция ПересчитатьРасходы()

Для Каждого СтрокаТабЧасти Из Объект.Предметы Цикл

СтрокаТабЧасти.РасходыПоПредмету = СтрокаТабЧасти.ЗаработнаяПлатаППСИНалог+СтрокаТабЧасти.Тиражирование+СтрокаТабЧасти.УслугиСвязи+СтрокаТабЧасти.КоммунальныеРасходы+СтрокаТабЧасти.ЗаработнаяПлатаАУПИУВПИНалог

КонецЦикла;

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

&НаКлиенте

Процедура ПредметыТиражированиеПриИзменении(Элемент)

ПересчитатьРасходы();

ПересчитатьСуммуДокумента();

КонецПроцедуры

&НаКлиенте

Процедура ПредметыУслугиСвязиПриИзменении(Элемент)

ПересчитатьРасходы();

ПересчитатьСуммуДокумента();

КонецПроцедуры

&НаКлиенте

Процедура ПредметыКоммунальныеРасходыПриИзменении(Элемент)

ПересчитатьРасходы();

ПересчитатьСуммуДокумента();

КонецПроцедуры

&НаКлиенте

Процедура ПредметыКоличествоЧасовЗаКурсПриИзменении(Элемент)

Для Каждого СтрокаТабЧасти Из Объект.Предметы Цикл

СтрокаТабЧасти.СтоимостьКурса = СтрокаТабЧасти.КоличествоЧасовЗаКурс*СтрокаТабЧасти.ЦенаОдногоЧаса;

КонецЦикла;

КонецПроцедуры

&НаКлиенте

Процедура ПредметыЦенаОдногоЧасаПриИзменении(Элемент)

Для Каждого СтрокаТабЧасти Из Объект.Предметы Цикл

СтрокаТабЧасти.СтоимостьКурса = СтрокаТабЧасти.КоличествоЧасовЗаКурс*СтрокаТабЧасти.ЦенаОдногоЧаса;

КонецЦикла;

КонецПроцедуры

&НаКлиенте

Процедура ПредметыСтоимостьКурсаПриИзменении(Элемент)

Для Каждого СтрокаТабЧасти Из Объект.Предметы Цикл

СтрокаТабЧасти.НДССтоимостьКурса = СтрокаТабЧасти.СтоимостьКурса*20/120;

СтрокаТабЧасти.СтоимостьСоСкидкой = СтрокаТабЧасти.СтоимостьКурса*0.95;

СтрокаТабЧасти.НДССоСкидкой = СтрокаТабЧасти.СтоимостьСоСкидкой*20/120;

КонецЦикла;

КонецПроцедуры

Код формирования документа «Список программ»

&НаСервере

Процедура ЗаполнитьПоМероприятиямНаСервере()

Если Не ЗначениеЗаполнено(Объект.УчебныйГод) Тогда

Сообщение = Новый СообщениеПользователю();

Сообщение.Текст = "Требуется заполнить учебный год";

Сообщение.Сообщить();

Иначе

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

Запрос.Текст = "ВЫБРАТЬ

| Мероприятия.ТипМероприятия КАК Тип,

| Мероприятия.ДатаНачала КАК ДатаНачала,

| Мероприятия.ДатаОкончания КАК ДатаОкончания,

| Мероприятия.УчебныйГод КАК УчебныйГод,

| Мероприятия.Ссылка КАК Наименование

|ИЗ

| Справочник.Мероприятия КАК Мероприятия

|ГДЕ

| Мероприятия.УчебныйГод = &УчебныйГод";

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

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

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

Если Результат.Пустой() Тогда

ВызватьИсключение "За выбранный учебный год ещё не были заполнены мероприятия";

КонецЕсли;

Пока РезультатЗапроса.Следующий() Цикл

СтрокаПрограммы = Объект.Программы.Добавить();

ЗаполнитьЗначенияСвойств(СтрокаПрограммы, РезультатЗапроса);

КонецЦикла;

КонецЕсли;

КонецПроцедуры

&НаКлиенте

Процедура ЗаполнитьПоМероприятиям(Команда)

ЗаполнитьПоМероприятиямНаСервере();

КонецПроцедуры

&НаСервере

Процедура УстановитьВидимостьИДоступностьРеквизитов()

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

Элементы.Дата.Доступность= Ложь;

Элементы.Номер.Доступность= Ложь;

Элементы.УчебныйГод.Доступность = Ложь;

Элементы.СогласовалЗаместительДиректора.Доступность = Ложь;

Элементы.Программы.ТолькоПросмотр = Истина;

КонецЕсли;

Если РольДоступна("ЗаместительДиректора") Тогда

Элементы.Дата.Доступность= Ложь;

Элементы.Номер.Доступность= Ложь;

Элементы.УчебныйГод.Доступность = Ложь;

Элементы.СогласовалДекан.Доступность = Ложь;

Элементы.Программы.ТолькоПросмотр = Истина;

КонецЕсли;

КонецПроцедуры

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

УстановитьВидимостьИДоступностьРеквизитов();

КонецПроцедуры

Код формирования документа «Приказ»

&НаКлиенте

Процедура ОткрытьФайл(Команда)

Если Объект.ФайлДокумента = Неопределено Тогда

ПоказатьПредупреждение(, "Данные не записаны!");

Возврат;

КонецЕсли;

ИмяФайла = ПолучитьЗначениеРеквизитаНаСервере(Объект.ФайлДокумента, "ИмяФайла");

Если ПустаяСтрока(ИмяФайла) Тогда

ПоказатьПредупреждение(, "Имя не задано!");

Возврат;

КонецЕсли;

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

Адрес = ПолучитьНавигационнуюСсылку(Ссылка, "ДанныеФайла");

ПолучитьФайл(Адрес, ИмяФайла, Истина);

КонецПроцедуры

&НаСервереБезКонтекста

Функция ПолучитьЗначениеРеквизитаНаСервере(ИмяОбъекта, ИмяРеквизита)

Возврат ИмяОбъекта[ИмяРеквизита];

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

&НаСервере

Процедура УстановитьВидимостьИДоступностьРеквизитов()

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

Элементы.Дата.Доступность= Ложь;

Элементы.Номер.Доступность= Ложь;

Элементы.Группа.Доступность = Ложь;

Элементы.ВидПриказа.Доступность = Ложь;

Элементы.ДатаНачалаДействия.Доступность = Ложь;

Элементы.СогласовалЗамДиректора.Доступность = Ложь;

Элементы.ДатаОкончанияДействия.Доступность = Ложь;

Элементы.Учащиеся.ТолькоПросмотр = Истина;

КонецЕсли;

Если РольДоступна("ЗаместительДиректора") Тогда

Элементы.Дата.Доступность= Ложь;

Элементы.Номер.Доступность= Ложь;

Элементы.Группа.Доступность = Ложь;

Элементы.ВидПриказа.Доступность = Ложь;

Элементы.ДатаНачалаДействия.Доступность = Ложь;

Элементы.СогласовалДекан.Доступность = Ложь;

Элементы.ДатаОкончанияДействия.Доступность = Ложь;

Элементы.Учащиеся.ТолькоПросмотр = Истина;

КонецЕсли;

КонецПроцедуры

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

УстановитьВидимостьИДоступностьРеквизитов();

КонецПроцедуры

Код формирования документа «График оплаты»

&НаКлиенте

Процедура СуммаОплатыПоПервомуСрокуПриИзменении(Элемент)

Объект.СтоимостьКурсаИтоговая = Объект.СуммаОплатыПоПервомуСроку+Объект.СуммаОплатыПоВторомуСроку;

КонецПроцедуры

&НаКлиенте

Процедура СуммаОплатыПоВторомуСрокуПриИзменении(Элемент)

Объект.СтоимостьКурсаИтоговая = Объект.СуммаОплатыПоПервомуСроку+Объект.СуммаОплатыПоВторомуСроку;

КонецПроцедуры

Код формирования отчета «Рентабельность мероприятий»

&НаКлиенте

Процедура СформироватьОтчет(Команда)

Результат = СформироватьОтчетНаСервере();

КонецПроцедуры

&НаСервере

Функция СформироватьОтчетНаСервере()

ЗапросПроверка = Новый запрос;

ЗапросПроверка.Текст = "ВЫБРАТЬ

| РегистрМероприятий.Мероприятие

|ИЗ

| РегистрНакопления.РегистрМероприятий КАК РегистрМероприятий

|ГДЕ

| РегистрМероприятий.Мероприятие = &Мероприятие";

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

ВыборкаПроверка= ЗапросПроверка.Выполнить();

Если НЕ ЗначениеЗаполнено(Мероприятие) Тогда

ВызватьИсключение "Не выбрано мероприятие. Следует выбрать мероприятие для формирования отчета.";

ИначеЕсли ВыборкаПроверка.Пустой() Тогда

ВызватьИсключение "Не хватает информации для формирования отчета. Заполните приходные и расходные документы по мероприятию";

Иначе

Элементы.Результат.ОтображениеСостояния.Видимость = ложь;

Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;

Результат.Очистить();

Результат = Новый ТабличныйДокумент();

ОтчетЗн = РеквизитФормыВЗначение("Отчет");

Макет = ОтчетЗн.ПолучитьМакет("Макет");

Шапка = Макет.ПолучитьОбласть("Шапка");

Результат.Вывести(Шапка);

ЗапросКласс = новый Запрос;

ЗапросКласс.УстановитьПараметр("Мероприятие", Мероприятие);

ЗапросКласс.Текст= "ВЫБРАТЬ ПЕРВЫЕ 1

| РегистрМероприятий.Мероприятие,

| РегистрМероприятий.Период КАК Период,

| РегистрМероприятий.Класс КАК Класс

|ИЗ

| РегистрНакопления.РегистрМероприятий КАК РегистрМероприятий

|ГДЕ

| РегистрМероприятий.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)

| И РегистрМероприятий.Мероприятие = &Мероприятие

|УПОРЯДОЧИТЬ ПО

| Период";

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

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

Класс = Макет.ПолучитьОбласть("Класс");

Пока ВыборкаКласс.Следующий() Цикл

Класс.Параметры.Класс = ВыборкаКласс.Класс;

Результат.Вывести(Класс);

КонецЦикла;

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

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

Запрос.Текст= "ВЫБРАТЬ

| РегистрМероприятий.СтоимостьНаОдного КАК СтоимостьНаОдного,

| РегистрМероприятий.КоличествоЗачисленных КАК КоличествоЗачисленных,

| РегистрМероприятий.Доходы КАК Доходы,

| РегистрМероприятий.ДоходыМинусНДС КАК ДоходыМинусНДС,

| РегистрМероприятий.НДС КАК НДС,

| РегистрМероприятий.Мероприятие

|ИЗ

| РегистрНакопления.РегистрМероприятий КАК РегистрМероприятий

|ГДЕ

| РегистрМероприятий.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)

| И РегистрМероприятий.Мероприятие = &Мероприятие";

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

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

Приходы = Макет.ПолучитьОбласть("Приходы");

Пока Выборка.Следующий() Цикл

Приходы.параметры.Заполнить(Выборка);

КонецЦикла;

Результат.Вывести(Приходы);

Запрос2 = новый Запрос;

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

Запрос2.Текст= "ВЫБРАТЬ

| РегистрМероприятий.Предмет КАК Предмет,

| РегистрМероприятий.Преподаватель КАК Преподаватель,

| РегистрМероприятий.КоличествоНедель КАК КоличествоНедель,

| РегистрМероприятий.КоличествоЧасовВНеделю КАК КоличествоЧасовВНеделю,

| РегистрМероприятий.КоличествоЧасовЗаКурс КАК КоличествоЧасовЗаКурс,

| РегистрМероприятий.ЦенаОдногоЧаса КАК ЦенаОдногоЧаса,

| РегистрМероприятий.СтоимостьКурса КАК СтоимостьКурса,

| РегистрМероприятий.ЗаработнаяПлатаППСИНалог КАК ЗаработнаяПлатаППСИНалог,

| РегистрМероприятий.УслугиСвязи КАК УслугиСвязи,

| РегистрМероприятий.КоммунальныеРасходы КАК КоммунальныеРасходы,

| РегистрМероприятий.ЗаработнаяПлатаАУПИУВПИНалог КАК ЗаработнаяПлатаАУПИУВПИНалог,

| РегистрМероприятий.ЗаработнаяПлатаППС КАК ЗаработнаяПлатаППС,

| РегистрМероприятий.ЗаработнаяПлатаАУПИУВП КАК ЗаработнаяПлатаАУПИУВП,

| РегистрМероприятий.Тиражирование КАК Тиражирование,

| РегистрМероприятий.РасходыПоПредмету КАК РасходыПоПредмету,

| РегистрМероприятий.Мероприятие

|ИЗ

| РегистрНакопления.РегистрМероприятий КАК РегистрМероприятий

|ГДЕ

| РегистрМероприятий.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)

| И РегистрМероприятий.Мероприятие = &Мероприятие";

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

ВыборкаРасходы= РезультатЗапроса2.Выбрать();

НомерСтроки = 0;

Расходы = Макет.ПолучитьОбласть("Расходы");

Пока ВыборкаРасходы.Следующий() Цикл

НомерСтроки = НомерСтроки + 1;

Расходы.Параметры.Заполнить(ВыборкаРасходы);

Расходы.Параметры.НомерСтроки = НомерСтроки;

Результат.Вывести(Расходы);

КонецЦикла;

Запрос3 = новый Запрос;

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

Запрос3.Текст= "ВЫБРАТЬ ПЕРВЫЕ 1

| РегистрМероприятий.ВсеРасходы КАК ВсеРасходы,

| РегистрМероприятий.Мероприятие,

| РегистрМероприятий.Период КАК Период

|ИЗ

| РегистрНакопления.РегистрМероприятий КАК РегистрМероприятий

|ГДЕ

| РегистрМероприятий.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)

| И РегистрМероприятий.Мероприятие = &Мероприятие

|УПОРЯДОЧИТЬ ПО

| Период";

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

ВыборкаРасходыВсе= РезультатЗапроса3.Выбрать();

Итоги = Макет.ПолучитьОбласть("Итоги");

Пока ВыборкаРасходыВсе.Следующий() Цикл

Прибыль = Выборка.Доходы - ВыборкаРасходыВсе.ВсеРасходы;

Итоги.Параметры.Доходы = Выборка.Доходы;

Итоги.Параметры.ВсеРасходы = ВыборкаРасходыВсе.ВсеРасходы;

Итоги.Параметры.Прибыль = Формат(Прибыль, "ЧДЦ=2");

Результат.Вывести(Итоги);

КонецЦикла;

Возврат Результат;

КонецЕсли;

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

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.