
Диплом_1 / Диплом
.pdfСписок источников
1.Габец А.П., Гончаров Д.И. 1С: Предприятие 8.1 Простые примеры разработки – 2008г.
2.Габец А.П., Гончаров Д.И., Козырев Д.В., Кухлевский Д.С., Радченко М.Г.
Профессиональная разработка в системе 1С: Предприятие 8 – 2006г.
3.М.Г. Радченко 1С:Предприятие 8.1 Практическое пособие разработчика –
2007г.
4.1С:Предприятие 8.1. Конфигурирование и администрирование – 2010г.
5.Хрусталева Е.Ю. Разработка сложных отчетов в 1С: Предприятие 8 –
Москва: 2008г.
6.1С: Предприятие 8 [Электронный ресурс]/ ЗАО «1С» - Электронные данные - М.,[200-?]. - Режим доступа: http://v8.1c.ru свободный - Загл. с
экрана.- Яз. рус., англ., польский.
7.Microsoft SQL Server 2008 R2 | Система управления базами данных
[Электронный ресурс] / Microsoft - Электронные данные - М., 2010 -
Режим доступа: http://www.microsoft.com/sqlserver/ru/ru/default.aspx
свободный - Загл. с экрана.
8.Windows 7, Office 2010 и другое ПО | Microsoft Россия [Электронный ресурс] / Microsoft - Электронные данные - М., 2011 - Режим доступа:
http://www.microsoft.com/ru/ru/default.aspx - Загл. с экрана. |
|
||||
9. Что |
такое |
PostgreSQL? |
[Электронный |
ресурс] |
/ Олег |
Бартунов, Астрономический институт имени П.К. Штернберга , МГУ -
Электронные данные - М., 2005 - Режим доступа: http://citforum.ru/database/postgres/what_is/ свободный - Загл. с экрана.
10.IBM DB2 [Электронный ресурс] / «ОЛЛИ» - Электронные данные - Санкт-
Петербург, 2010 - Режим доступа: http://www.olly.ru/products/element.php
свободный - Загл. с экрана
11.СУБД Oracle[Электронный ресурс] / Лаборатория программных продуктов - Электронные данные - Челябинск, 2008 - Режим доступа: http://www.plab.ru/software/oracle/bd/ свободный - Загл. с экрана.
50
Приложение 1. Модуль формы отчета «Сведения о причинах временной
нетрудоспособности по возрастам»
Процедура ПолеВводаПериодПриИзменении(Элемент) ТиповыеОтчеты.ОбновитьПараметрыПериодаПоФорме(Компоновщик
Настроек, ЭтаФорма); |
|
КонецПроцедуры |
|
Процедура ЛПУПриИзменении(Элемент) |
|
ЗначениеПараметраЛПУ |
= |
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам
етра(Новый ПараметрКомпоновкиДанных("ЛПУ")); |
|
ЗначениеПараметраЛПУ.Значение =ЛПУ; |
|
ЗначениеПараметраЛПУ.Использование = Истина; |
|
КонецПроцедуры |
|
Процедура ОтделенияПриИзменении(Элемент) |
|
ЗначениеПараметраОтделения |
= |
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("Отделение"));
ЗначениеПараметраОтделения.Значение =Отделения; |
|
ЗначениеПараметраОтделения.Использование = Истина; |
|
КонецПроцедуры |
|
Процедура МестоРаботыПриИзменении(Элемент) |
|
ЗначениеПараметраМестоРаботы |
= |
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("МестоРаботы"));
ЗначениеПараметраМестоРаботы.Значение =МестоРаботы; |
|
ЗначениеПараметраМестоРаботы.Использование = Истина; |
|
КонецПроцедуры |
|
Процедура ПоЛПУПриИзменении(Элемент) |
|
Если ПоЛПУ=Истина тогда |
|
СхемаКомпановкиДанных=ПоЛПУ; |
|
ЭлементыФормы.ЛПУ.Видимость=Истина; |
|
ЭлементыФормы.НадписьЛПУ.Видимость=Истина; |
|
ЭлементыФормы.Отделения.Видимость=Истина; |
|
ЭлементыФормы.НадписьОтделения.Видимость=Истина; |
|
ЭлементыФормы.СводПоУчереждению.Видимость=Ложь; |
|
ЗначениеПараметраЛПУ |
= |
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("ЛПУ"));
ЗначениеПараметраОтделения = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам
етра(Новый ПараметрКомпоновкиДанных("Отделение")); |
|
ЗначениеПараметраОтделения.Использование = Истина; |
|
ЗначениеПараметраЛПУ.Использование = Истина; |
|
ЗначениеПараметраМестоРаботы |
= |
51
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("МестоРаботы"));
ЗначениеПараметраМестоРаботы.Использование = Ложь; Если ПоДатеЗакрытияБЛ=Истина тогда
СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоЛПУЗ") иначе
СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоЛПУ"); КонецЕсли;
иначе
ЭлементыФормы.ЛПУ.Видимость=Ложь; ЭлементыФормы.НадписьЛПУ.Видимость=Ложь; ЭлементыФормы.Отделения.Видимость=Ложь; ЭлементыФормы.НадписьОтделения.Видимость=Ложь; ЭлементыФормы.СводПоУчереждению.Видимость=Истина; ЗначениеПараметраЛПУ =
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("ЛПУ"));
ЗначениеПараметраОтделения = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("Отделение"));
ЗначениеПараметраМестоРаботы = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("МестоРаботы"));
ЗначениеПараметраОтделения.Использование = Ложь; ЗначениеПараметраЛПУ.Использование = Ложь; ЗначениеПараметраМестоРаботы.Использование = Ложь;
КонецЕсли; КонецПроцедуры
Процедура СводПоУчереждениюПриИзменении(Элемент) Если СводПоУчереждению=Истина тогда
ЭлементыФормы.МестоРаботы.Видимость=истина; ЭлементыФормы.НадписьМестоРаботы.Видимость=истина; ЭлементыФормы.Цех.Видимость=истина; ЭлементыФормы.НадписьЦех.Видимость=истина; ЭлементыФормы.ПоЛПУ.Видимость=ложь; ЭлементыФормы.НадписьЛПУ.Видимость=ложь; ЗначениеПараметраМестоРаботы =
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("МестоРаботы"));
ЗначениеПараметраМестоРаботы.Использование = Истина; ЗначениеПараметраЛПУ =
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("ЛПУ"));
ЗначениеПараметраОтделения = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам
52
етра(Новый ПараметрКомпоновкиДанных("Отделение")); ЗначениеПараметраОтделения.Использование = Ложь; ЗначениеПараметраЛПУ.Использование = Ложь; Если ПоДатеЗакрытияБЛ=Истина тогда
СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоМРЗ") иначе
СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоМР"); КонецЕсли;
иначе
ЭлементыФормы.МестоРаботы.Видимость=Ложь; ЭлементыФормы.НадписьМестоРаботы.Видимость=Ложь; ЭлементыФормы.Цех.Видимость=Ложь; ЭлементыФормы.НадписьЦех.Видимость=Ложь; ЭлементыФормы.ПоЛПУ.Видимость=Истина; ЗначениеПараметраМестоРаботы =
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("МестоРаботы"));
ЗначениеПараметраЛПУ = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("ЛПУ"));
ЗначениеПараметраОтделения = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПарам етра(Новый ПараметрКомпоновкиДанных("Отделение"));
ЗначениеПараметраОтделения.Использование = Ложь; ЗначениеПараметраЛПУ.Использование = Ложь; ЗначениеПараметраМестоРаботы.Использование = Ложь;
КонецЕсли; КонецПроцедуры
Процедура ПоДатеЗакрытияБЛПриИзменении(Элемент) Если ПоДатеЗакрытияБЛ=Истина тогда
ЭлементыФормы.ПоДатеВвода.Видимость=ложь; Если (ЛПУ="")и (Отделения="")и (МестоРаботы="") тогда
СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоЛПУЗ") Иначе если (МестоРаботы<>"") тогда
СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоМРЗ") иначе
СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоЛПУЗ") КонецЕсли;
КонецЕсли;
иначе
ЭлементыФормы.ПоДатеВвода.Видимость=истина; КонецЕсли;
КонецПроцедуры Процедура ПоДатеВводаПриИзменении(Элемент)
Если ПоДатеВвода=Истина тогда
53
ЭлементыФормы.ПоДатеЗакрытияБЛ.Видимость=ложь; Если (ЛПУ="")и (Отделения="")и (МестоРаботы="") тогда
СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоЛПУ") иначе
если (МестоРаботы<>"") тогда СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоМР")
иначе СхемаКомпоновкиДанных=Отчеты.Форма16.ПолучитьМакет("ПоЛПУ")
КонецЕсли; КонецЕсли;
иначе
ЭлементыФормы.ПоДатеЗакрытияБЛ.Видимость=истина; КонецЕсли;
КонецПроцедуры
Приложение 2. Процедура обработки проведения документа «Ввод
талонов»
Процедура ОбработкаПроведения(Отказ, Режим)
Движение = Движения.по_дате_закрытия_ЛПУ.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = ДатаЗакрытияБЛ; Движение.Диагноз = ГруппаДиагноза; Движение.Пол = Пол; Движение.Возраст = Возраст; Движение.ЛПУ = ЛПУ; Движение.Отделение = Отделение; Движение.МестоРаботы = МестоРаботы;
Движение.ДатаОткрытия = ДатаОткрытияБЛ; Движение.ДатаЗакрытия = ДатаЗакрытияБЛ; Движение.Количество = 1; Движение.ЧислоДней = ДнейНетрудоспособности;
Если Возраст>=15 и Возраст <=19 тогда Движение.от15до19 = 1;
иначе Движение.от15до19 =0; КонецЕсли; если Возраст>=20 и Возраст <=24 тогда
Движение.от20до24 = 1; иначе Движение.от20до24 = 0; КонецЕсли;
если Возраст>=25 и Возраст <=29 тогда Движение.от25до29 = 1;
иначе Движение.от25до29 = 0; КонецЕсли; если Возраст>=30 и Возраст <=24 тогда
Движение.от30до34 = 1;
54
иначе Движение.от30до34 = 0; КонецЕсли; если Возраст>=35 и Возраст <=39 тогда
Движение.от35до39 = 1; иначе Движение.от35до39 = 0; КонецЕсли;
если Возраст>=40 и Возраст <=44 тогда Движение.от40до44 = 1;
иначе Движение.от40до44 = 0; КонецЕсли; если Возраст>=45 и Возраст <=49 тогда
Движение.от45до49 = 1; иначе Движение.от45до49 = 0; КонецЕсли;
если Возраст>=50 и Возраст <=54 тогда Движение.от50до54 = 1;
иначе Движение.от50до54 = 0; КонецЕсли; если Возраст>=55 и Возраст <=59 тогда
Движение.от55до59 = 1; иначе Движение.от55до59 = 0; КонецЕсли; если Возраст>=60 тогда
Движение.старше_60_лет = 1; иначе Движение.старше_60_лет = 0; КонецЕсли; //Регистр По дате ввода
Движение = Движения.по_дате_ввода.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Диагноз = ГруппаДиагноза; Движение.Пол = Пол; Движение.Возраст = Возраст; Движение.ЛПУ = ЛПУ; Движение.Отделение = Отделение; Движение.МестоРаботы = МестоРаботы;
Движение.ДатаОткрытия = ДатаОткрытияБЛ; Движение.ДатаЗакрытия = ДатаЗакрытияБЛ; Движение.Количество = 1; Движение.ЧислоДней = ДнейНетрудоспособности;
Если Возраст>=15 и Возраст <=19 тогда Движение.от15до19 = 1;
иначе Движение.от15до19 =0; КонецЕсли; если Возраст>=20 и Возраст <=24 тогда
55
Движение.от20до24 = 1; иначе Движение.от20до24 = 0; КонецЕсли;
если Возраст>=25 и Возраст <=29 тогда Движение.от25до29 = 1;
иначе Движение.от25до29 = 0; КонецЕсли; если Возраст>=30 и Возраст <=24 тогда
Движение.от30до34 = 1; иначе Движение.от30до34 = 0; КонецЕсли;
если Возраст>=35 и Возраст <=39 тогда Движение.от35до39 = 1;
иначе Движение.от35до39 = 0; КонецЕсли; если Возраст>=40 и Возраст <=44 тогда
Движение.от40до44 = 1; иначе Движение.от40до44 = 0; КонецЕсли;
если Возраст>=45 и Возраст <=49 тогда Движение.от45до49 = 1;
иначе Движение.от45до49 = 0; КонецЕсли; если Возраст>=50 и Возраст <=54 тогда
Движение.от50до54 = 1; иначе Движение.от50до54 = 0; КонецЕсли;
если Возраст>=55 и Возраст <=59 тогда Движение.от55до59 = 1;
иначе Движение.от55до59 = 0; КонецЕсли; если Возраст>=60 тогда
Движение.старше_60_лет = 1; иначе Движение.старше_60_лет = 0; КонецЕсли; // регистр ЧислоРаботающих Приход
Движение = Движения.ЧислоРаботающих.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.ЛПУ = ЛПУ; Движение.Предприятие = МестоРаботы; Движение.Диагноз = Диагноз; Движение.Случаи = 1;
Движение.Дни = ДнейНетрудоспособности; КонецПроцедуры
56
Приложение 3. Запрос отчета «Сведения о причинах временной
нетрудоспособности по возрастам»
ВЫБРАТЬ ГруппыДиагнозов.Ссылка КАК Причина_нетрудоспособности,
ГруппыДиагнозов.НачалныйКод КАК Код_по_МКБ_9_пересмотра, ГруппыДиагнозов.КонечныйКод КАК код, ГруппыДиагнозов.НаимГрДиаг, по_дате_вводаОбороты.КоличествоОборот, по_дате_вводаОбороты.Пол КАК Пол, по_дате_вводаОбороты.ЧислоДнейОборот, по_дате_вводаОбороты.Отделение КАК Отделение, по_дате_вводаОбороты.ЛПУ КАК ЛПУ, по_дате_вводаОбороты.МестоРаботы КАК МестоРаботы, по_дате_вводаОбороты.от15до19Оборот, по_дате_вводаОбороты.от20до24Оборот, по_дате_вводаОбороты.от25до29Оборот, по_дате_вводаОбороты.от30до34Оборот, по_дате_вводаОбороты.от35до39Оборот, по_дате_вводаОбороты.от40до44Оборот, по_дате_вводаОбороты.от45до49Оборот, по_дате_вводаОбороты.от50до54Оборот, по_дате_вводаОбороты.от55до59Оборот, по_дате_вводаОбороты.старше_60_летОборот
ИЗ
РегистрНакопления.по_дате_ввода.Обороты КАК по_дате_вводаОбороты
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДиагнозов КАК ГруппыДиагнозов
ПО по_дате_вводаОбороты.Диагноз = ГруппыДиагнозов.НаимГрДиаг ГДЕ
(по_дате_вводаОбороты.ЛПУ = &ЛПУ |
|
|
|
И по_дате_вводаОбороты.Отделение = &Отделение |
|
ИЛИ |
по_дате_вводаОбороты.МестоРаботы |
= |
&МестоРаботы) СГРУППИРОВАТЬ ПО
ГруппыДиагнозов.НачалныйКод, ГруппыДиагнозов.КонечныйКод, ГруппыДиагнозов.Ссылка, ГруппыДиагнозов.НаимГрДиаг, по_дате_вводаОбороты.КоличествоОборот, по_дате_вводаОбороты.Пол, по_дате_вводаОбороты.ЧислоДнейОборот, по_дате_вводаОбороты.Отделение,
57
по_дате_вводаОбороты.ЛПУ, по_дате_вводаОбороты.МестоРаботы, по_дате_вводаОбороты.от15до19Оборот, по_дате_вводаОбороты.от20до24Оборот, по_дате_вводаОбороты.от25до29Оборот, по_дате_вводаОбороты.от30до34Оборот, по_дате_вводаОбороты.от35до39Оборот, по_дате_вводаОбороты.от40до44Оборот, по_дате_вводаОбороты.от45до49Оборот, по_дате_вводаОбороты.от50до54Оборот, по_дате_вводаОбороты.от55до59Оборот, по_дате_вводаОбороты.старше_60_летОборот
Приложение 4. Модуль формы документа «Ввод талонов»
Процедура ДатаРожденияПриИзменении(Элемент) // Вставить содержимое обработчика. гр=год(ДатаРождения); др=день(ДатаРождения); мр=месяц(ДатаРождения); лет=Год(ТекущаяДата())-гр;
Если месяц(ТекущаяДата())<мр тогда лет=лет-1; КонецЕсли; Если месяц(ТекущаяДата())=мр тогда
если День(ТекущаяДата())<др тогда лет=лет-1; КонецЕсли;
КонецЕсли; Возраст=лет;
КонецПроцедуры
Процедура ДатаЗакрытияБЛПриИзменении(Элемент) // Вставить содержимое обработчика.
Если месяц(ДатаЗакрытияБЛ)=месяц(ДатаОткрытияБЛ)тогда КолДней=День(ДатаЗакрытияБЛ)-День(ДатаОткрытияБЛ)+1
иначе
м1=День(КонецМесяца(ДатаОткрытияБЛ)); КолДней=м1-
день(ДатаОткрытияБЛ)+день(ДатаЗакрытияБЛ); КонецЕсли;
ДнейНетрудоспособности=КолДней;
КонецПроцедуры
Процедура ДатаОткрытияБЛПриИзменении(Элемент) // Вставить содержимое обработчика.
Если ДатаЗакрытияБЛ<>0 тогда Если месяц(ДатаЗакрытияБЛ)=месяц(ДатаОткрытияБЛ)тогда
58
КолДней=День(ДатаЗакрытияБЛ)-День(ДатаОткрытияБЛ)+1
иначе
м1=День(КонецМесяца(ДатаОткрытияБЛ)); КолДней=м1-
день(ДатаОткрытияБЛ)+день(ДатаЗакрытияБЛ); КонецЕсли;
ДнейНетрудоспособности=КолДней;
КонецЕсли;
КонецПроцедуры
Приложение 5. Модуль формы отчета «Причина временной
нетрудоспособности»
Процедура КнопкаСформироватьНажатие(Кнопка)
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; СформироватьОтчет(ТабДок);
КонецПроцедуры Процедура СформироватьОтчет(ТабДок)
Макет = ПолучитьМакет("Макет"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); ТабДок.Очистить();
ОбластьЗаголовок.Параметры.ДатаНач = ДатаНач; ОбластьЗаголовок.Параметры.ДатаКон = ДатаКон;
ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапка);
МенеджерВТ = Новый МенеджерВременныхТаблиц; |
|
ЗапросФормы1 = Новый Запрос; |
|
Запросформы1.МенеджерВременныхТаблиц |
= |
МенеджерВТ;
Запросформы1.УстановитьПараметр("НачПериода",ДатаНач);
Запросформы1.УстановитьПараметр("КонПериода",ДатаКон); ЗапросФормы1.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
СУММА(ЧислоРаботающихОбороты.СлучаиОборот) КАК СлучаиОборот,
|
СУММА(ЧислоРаботающихОбороты.ДниОборот) КАК ДниОборот,
59