helpf.pro
Регистрация
 0 
Распечатать

Вывод результата запроса в табличный документ

Код 1C v 8.х
 
//Вых - ЭлементыФормы.РезультатТабличныйДокумент,
//ТЗЗ - Результат выполнения запроса
Процедура ПечатьРезвТаб(Вых,ТЗЗ) Экспорт
	КоличествоКолонок = ТЗЗ.Колонки.Количество();
	Выборка = ТЗЗ.Выбрать(ОбходРезультатаЗапроса.Прямой);
	ДетальнаяСтрока = Вых.ПолучитьОбласть(1, , 1, );
	ОбластьОбщихИтогов = Вых.ПолучитьОбласть(1, , 1, );
	ОбластьОбщихИтогов.Область().Шрифт = Новый Шрифт(ОбластьОбщихИтогов.Область().Шрифт, , , Истина, , ,);
	ОбластьИерархическихЗаписей = Вых.ПолучитьОбласть(1, , 1, );
	ОбластьИерархическихЗаписей.Область().Шрифт = Новый Шрифт(ОбластьИерархическихЗаписей.Область().Шрифт, , , Истина, , ,);
	ОбластьГрупповыхЗаписей = Вых.ПолучитьОбласть(1, , 1, );
	ОбластьГрупповыхЗаписей.Область().Шрифт = Новый Шрифт(ОбластьГрупповыхЗаписей.Область().Шрифт, , , Истина, , ,);
	ОбластьЗаголовка = Вых.ПолучитьОбласть(1, , 1, );
	
	Для ТекущееПоле = 0 По КоличествоКолонок - 1 Цикл
		Область = ОбластьЗаголовка.Область(1, ТекущееПоле + 1);
		Область.Текст = ТЗЗ.Колонки[ТекущееПоле].Имя;
		Область.ШиринаКолонки = ?(ТЗЗ.Колонки[ТекущееПоле].Ширина<3,3,ТЗЗ.Колонки[ТекущееПоле].Ширина);
	КонецЦикла;
	Вых.Вывести(ОбластьЗаголовка);
	ОбластьЗаголовка = Вых.Область(1, 1, 1, КоличествоКолонок);
	
	ОбластьЗаголовка.Шрифт = Новый Шрифт(ОбластьЗаголовка.Шрифт, , , Истина, , ,);
	ОбластьЗаголовка.ЦветФона = Новый Цвет(234, 234, 234);
	ОбластьЗаголовка.ГраницаСнизу = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
	
	Вых.НачатьАвтогруппировкуСтрок();
	Пока Выборка.Следующий() Цикл
		ОбработкаПрерыванияПользователя();
		Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоГруппировке Тогда 
			ИсходнаяСтрока = ОбластьГрупповыхЗаписей;
		ИначеЕсли Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда 
			ИсходнаяСтрока = ОбластьИерархическихЗаписей;
		ИначеЕсли Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ОбщийИтог Тогда 
			ИсходнаяСтрока = ОбластьОбщихИтогов;
		Иначе
			ИсходнаяСтрока = ДетальнаяСтрока;
		КонецЕсли;
		
		Для ТекущееПоле = 0 По КоличествоКолонок - 1 Цикл
			Область = ИсходнаяСтрока.Область(1, ТекущееПоле + 1);
			Область.Текст = Выборка[ТекущееПоле];
		КонецЦикла;
		Вых.Вывести(ИсходнаяСтрока, Выборка.Уровень());
	КонецЦикла;
	Вых.ЗакончитьАвтогруппировкуСтрок();
КонецПроцедуры 
   
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 23609
 0 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 53
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей.
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!