helpf.pro
Регистрация

v8: Результаты!!!

Persempre
16.09.2012 13:57Прочитано: 1937
Добрый день, подскажите - как результат запроса вывести на форму обработки?

Код 1C v 8.2 УП
 
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОтпускаОрганизацийРаботникиОрганизации.Сотрудник КАК КоличествоСотрудников
|ПОМЕСТИТЬ ТаблицаИтого
|ИЗ
| Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
|ГДЕ
| (ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала МЕЖДУ &НачалоПериода И &КонецПериода
| ИЛИ ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала < &НачалоПериода
| И ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания >= &НачалоПериода)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОтпускаОрганизацийРаботникиОрганизации.Сотрудник КАК СотрудникАУП
|ПОМЕСТИТЬ ТаблицаАУП
|ИЗ
| Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
| ПО ОтпускаОрганизацийРаботникиОрганизации.Сотрудник = ЗначенияСвойствОбъектов.Объект
|ГДЕ
| (ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала МЕЖДУ &НачалоПериода И &КонецПериода
| ИЛИ ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала < &НачалоПериода
| И ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания >= &НачалоПериода)
| И ЗначенияСвойствОбъектов.Значение = &РольПерсонала
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОтпускаОрганизацийРаботникиОрганизации.Сотрудник КАК СотрудникППП
|ПОМЕСТИТЬ ТаблицаППП
|ИЗ
| Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
| ПО ОтпускаОрганизацийРаботникиОрганизации.Сотрудник = ЗначенияСвойствОбъектов.Объект
|ГДЕ
| (ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала МЕЖДУ &НачалоПериода И &КонецПериода
| ИЛИ ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала < &НачалоПериода
| И ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания >= &НачалоПериода)
| И ЗначенияСвойствОбъектов.Значение = &РольПерсоналаППП
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТаблицаАУП.СотрудникАУП) КАК СотрудникАУП,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТаблицаППП.СотрудникППП) КАК СотрудникППП,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТаблицаИтого.КоличествоСотрудников) КАК КоличествоСотрудников
|ИЗ
| ТаблицаППП КАК ТаблицаППП,
| ТаблицаИтого КАК ТаблицаИтого
| ПОЛНОЕ СОЕДИНЕНИЕ ТаблицаАУП КАК ТаблицаАУП
| ПО ТаблицаИтого.КоличествоСотрудников.Физлицо = ТаблицаАУП.СотрудникАУП.Физлицо
|";

Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Запрос.УстановитьПараметр("РольПерсонала", Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("АУП"));
Запрос.УстановитьПараметр("РольПерсоналаППП", Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("ППП"));
РезультатЗапроса = Запрос.Выполнить().Выбрать();

ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("СотрудниковВОтпусках");
ОбластьМакета = Макет.ПолучитьОбласть("ПервоеПоле");

Параметры = ОбластьМакета.Параметры;
Параметры.НачалоПериода = Формат(НачалоПериода, "ДФ=dd.MM.yyyy");
Параметры.КонецПериода = Формат(КонецПериода, "ДФ=dd.MM.yyyy");
Параметры.СотрудникАУП = РезультатЗапроса.СотрудникАУП;




Пока РезультатЗапроса.Следующий() Цикл
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
КонецЦикла;

ТабДокумент.Вывести(ОбластьМакета);
ТабДокумент.ТолькоПросмотр = Истина;
ТабДокумент.ОтображатьСетку = Ложь;
ТабДокумент.Показать();



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



Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
16.09.2012 22:56Ответ № 1
(0) Persempre, на форму добавить элемент ТабличноеПоле с таким же именем и код измени запрос и т.д.:
Код 1C v 8.х
 //РезультатЗапроса = Запрос.Выполнить().Выбрать();
ТабличноеПоле = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
//ТабДокумент = Новый ТабличныйДокумент;
//Макет = ПолучитьМакет("СотрудниковВОтпусках");
//ОбластьМакета = Макет.ПолучитьОбласть("ПервоеПоле");

//Параметры = ОбластьМакета.Параметры;
//Параметры.НачалоПериода = Формат(НачалоПериода, "ДФ=dd.MM.yyyy");
//Параметры.КонецПериода = Формат(КонецПериода, "ДФ=dd.MM.yyyy");
//Параметры.СотрудникАУП = РезультатЗапроса.СотрудникАУП;

//Пока РезультатЗапроса.Следующий() Цикл
// ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
//КонецЦикла;
//
//ТабДокумент.Вывести(ОбластьМакета);
//ТабДокумент.ТолькоПросмотр = Истина;
//ТабДокумент.ОтображатьСетку = Ложь;
//ТабДокумент.Показать();
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.