Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 апр 2024, 11:54

ЛЮДИ ПОМОГИТЕ РАЗОБРАТЬСЯ !!!

Автор Юлия_161, 19 апр 2011, 15:28

0 Пользователей и 3 гостей просматривают эту тему.

Юлия_161


Вот пытаюсь разобраться с запросами и выводом информации в табличный документ
помогите начинающему куда собственно вставить запрос и саму процедуру
Ищу в инете примеры пытаюсь разобраться на практике вот что нашла но не пойму в чем ошибка кто подскажет??
Запрос=новый Запрос;
Запрос.Текст="
|ВЫБРАТЬ
|          Сотрудники.*
|ИЗ
|   Справочники.Сотрудники КАК Сотрудники
|";
РезультатЗ = Запрос.Выполнить();
ПечатьРезвТаб(ТабДок,РезультатЗ);

//Вых - ЭлементыФормы.РезультатТабличныйДокумент,
//ТЗЗ - Результат выполнения запроса
Процедура ПечатьРезвТаб(Вых,ТЗЗ) Экспорт
   КоличествоКолонок = ТЗЗ.Колонки.Количество();
   Выборка = ТЗЗ.Выбрать(ОбходРезультатаЗапроса.Прямой);
   ДетальнаяСтрока = Вых.ПолучитьОбласть(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);
         Область.Текст = Выборка[ТекущееПоле];
      КонецЦикла;
      Вых.Вывести(ИсходнаяСтрока, Выборка.Уровень());
   КонецЦикла;
   Вых.ЗакончитьАвтогруппировкуСтрок();
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск