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 |  Дата:   Прочитано: 12104
 0 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 2
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код...
1C и Google Maps 12
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...
COM-подключение к базе 7.7 из 8.2 1С 4
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе="...
Cообщение: "Не удалось удалить чеки ККМ!" 2
Пользователь с правами Администратор ККМ проводит Закрытие кассовой смены (Z). Выходит сообщение: " Не удалось удалить чеки ККМ!" ФР печатает Z -отчет, но Отчет о рознчничных продажах не формируется. Необходимо дать...
Excel файл как Внешний источник данных 4
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . ...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.