» Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
В категории материалов: 4 Показано материалов: 1-4 |
|
Сортировать по:
Дате ·
Названию ·
Рейтингу ·
Комментариям ·
Просмотрам
//*********************Выбираем физ лиц и делаем итоги по подразделению для группировки по нему **************
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РаботникиОрганизацииСрезПоследних.ФизЛицо,
| РаботникиОрганизацииСрезПоследних.Подразделение КАК Подразделение,
| РаботникиОрганизацииСрезПоследних.Должность,
| РаботникиОрганизацииСрезПоследних.ДатаПриема,
| РаботникиОрганизацииСрезПоследних.КлассУТ
|ИЗ
| РегистрСведений.РаботникиОрганизации.СрезПоследних КАК РаботникиОрганизацииСрезПоследних
|ГДЕ
| РаботникиОрганизацииСрезПоследних.ПричинаИзмененияСостояния <> &Увольнение
| И РаботникиОрганизацииСрезПоследних.Подразделение <> &Пенсионеры
|
|УПОРЯДОЧИТЬ ПО
| РаботникиОрганизацииСрезПоследних.Подразделение.Наименование
|ИТОГИ ПО
| Подразделение";
Запрос.УстановитьПараметр( "Увольнение",Перечисления.ПричиныИзмененияСостояния.Получить(2));
Запрос.УстановитьПараметр( "Пенсионеры",Справочники.ПодразделенияОрганизаций.НайтиПоКоду("50101"));
РезультатЗапроса = Запрос.Выполнить();
//********************* Конец Выбираем физ лиц и делаем итоги по подразделению для группировки по нему **************
//***************Группировка подразделений******************
ВыборкаИтоги = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ТабДок.НачатьАвтогруппировкуСтрок();
Пока ВыборкаИтоги.Следующий()Цикл
Область = Макет.ПолучитьОбласть("Строка");
Область.Параметры.Подразделение =ВыборкаИтоги.Подразделение;
ТабДок.Вывести(Область, 1);
//*************** Конец Группировка подразделений******************
///***********************Выбодим ФизЛицо В группе подразделений
Выборка = ВыборкаИтоги.Выбрать(ОбходРезультатаЗапроса.Прямой);
Пока Выборка.Следующий() Цикл
ОбластьПодстрока = Макет.ПолучитьОбласть("Подстрока");
ЗаполнитьЗначенияСвойств(ОбластьПодстрока.Параметры,Выборка);
ТабДок.Вывести(ОбластьПодстрока, 2);
//*********************Выбираем Факторы у физ лиц и выводим их **************
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФизЛицоФакторыСрезПоследних.Фактор,
| ФизЛицоФакторыСрезПоследних.ВидЗанятости,
| ФизЛицоФакторыСрезПоследних.КлассУТ
|ИЗ
| РегистрСведений.ФизЛицоФакторы.СрезПоследних(
| ,
| ФизЛицо = &ФизЛицо) КАК ФизЛицоФакторыСрезПоследних
//| И Подразделение = &Подразделение
//| И Должность = &Должность
//| И КлассУТ = &КлассУТ) КАК ФизЛицоФакторыСрезПоследних
|ГДЕ
| ФизЛицоФакторыСрезПоследних.ДействуетФактор = ИСТИНА";
//Запрос.УстановитьПараметр("Должность", Выборка.Должность);
//Запрос.УстановитьПараметр("КлассУТ", Выборка.КлассУТ);
//Запрос.УстановитьПараметр("Подразделение", Выборка.Подразделение);
Запрос.УстановитьПараметр("ФизЛицо", Выборка.ФизЛицо);
ВыборкаФакторыОсн = Запрос.Выполнить().Выбрать();
Пока ВыборкаФакторыОсн.Следующий() Цикл
ОбластьВредностиОсн= Макет.ПолучитьОбласть("ВредностиОсн");
ЗаполнитьЗначенияСвойств(ОбластьВредностиОсн.Параметры,ВыборкаФакторыОсн);
ТабДок.Вывести(ОбластьВредностиОсн, 2);
КонецЦикла;
//*********************Выбираем Факторы у физ лиц и выводим их **************
КонецЦикла;
///*********************** КОНЕЦ Выбодим ФизЛицо В группе подразделений
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
|
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ТабДок.НачатьАвтогруппировкуСтрок();
Пока Выборка.Следующий() Цикл
Область = Макет.ПолучитьОбласть("Строка");
Область.Параметры.Подразделение = Выборка.Подразделение;
ТабДок.Вывести(Область,1);
ОБласть = Макет.ПолучитьОбласть("Подстрока");
ОБласть.Параметры.ФизЛицо = Выборка.ФизЛицо;
ТабДок.Вывести(ОБласть,2);
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
|
&НаКлиенте
Процедура СформироватьПрайс(Команда)
ЗаполнитьТАБДОК (ТабДок)
КонецПроцедуры
Процедура ЗаполнитьТАБДОК (ТабДок)
табдок.Очистить();
//Выборка=Справочники.Номенклатура.Выбрать(); //выводим весь список в разнобой вместе с группами
Выборка=Справочники.Номенклатура.ВыбратьИерархически(); //выводим группы а внутри элементы
Макет = Отчеты.ПрайсЛист.ПолучитьМакет("Макет");
ОблШапка=Макет.ПолучитьОбласть("Шапка");
ОблЭлемент = Макет.ПолучитьОбласть("Элемент");
ОблЭлемент2 = Макет.ПолучитьОбласть("Элемент2");
ОблШапка.Параметры.ДатаОтчета=ТекущаяДата();
Табдок.Вывести(ОблШапка);
Пока Выборка.Следующий()Цикл
Если Выборка.ЭтоГруппа и ФлагГруппы Тогда
ОблЭлемент2.Параметры.Код=Выборка.Код;
ОблЭлемент2.Параметры.Наименование=Выборка.Наименование;
ОблЭлемент2.Параметры.цена=Выборка.ЦенаПродажи;
Табдок.Вывести(ОблЭлемент2);
иначе Если Не Выборка.ЭтоГруппа Тогда
ОблЭлемент.Параметры.Код=Выборка.Код;
ОблЭлемент.Параметры.Наименование=Выборка.Наименование;
ОблЭлемент.Параметры.цена=Выборка.ЦенаПродажи;
Табдок.Вывести(ОблЭлемент);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры |
&НаКлиенте
Процедура СформироватьПрайс(Команда)
ЗаполнитьТАБДОК (ТабДок)
КонецПроцедуры
Процедура ЗаполнитьТАБДОК (ТабДок)
табдок.Очистить();
//Выборка=Справочники.Номенклатура.Выбрать(); //выводим без груп по алфавиту
Выборка=Справочники.Номенклатура.ВыбратьИерархически(); //выводим группы
Макет = Отчеты.ПрайсЛист.ПолучитьМакет("Макет");
ОблШапка=Макет.ПолучитьОбласть("Шапка");
ОблЭлемент = Макет.ПолучитьОбласть("Элемент");
ОблШапка.Параметры.ДатаОтчета=ТекущаяДата();
Табдок.Вывести(ОблШапка);
Пока Выборка.Следующий()Цикл
ОблЭлемент.Параметры.Код=Выборка.Код;
ОблЭлемент.Параметры.Наименование=Выборка.Наименование;
ОблЭлемент.Параметры.цена=Выборка.ЦенаПродажи;
Табдок.Вывести(ОблЭлемент);
КонецЦикла;
КонецПроцедуры |
|
|
|