for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Вопросы по 1С
  

Выгрузка Таблицы Значений в файл
Сергей_Л

Сообщений: 17560
Откуда: Киров(Вятка)
Дата: 29.05.12 10:05:37
Бывает при отладке необходимо посмотреть результаты запроса в обработке, причем сохранить в файл для детального изучения.
Если запрос простой, то нет проблем, затаскиваешь в консоль запросов и все, а если сложный с временными таблицами, то консоль не поможет.
Нашел в инете кусок кода, добавил в него еще запись наименований колонок, может кому пригодится:


ТЗ=Запрос.Выполнить().Выгрузить();

Макет = Новый ТабличныйДокумент;
Секция = Макет.ПолучитьОбласть("R1C1");
Макет.Вывести(Секция);
Строка = 1;
Колонка = 0;

Для Каждого Кол из ТЗ.Колонки Цикл
Колонка = Колонка + 1;
Секция = Макет.ПолучитьОбласть("R"+Строка+"C"+Колонка);
Секция.Область().Текст = Кол.Имя;
Макет.Присоединить(Секция);
КонецЦикла;

Строка = 0;
Колонка = 0;

Для Каждого Стр из ТЗ Цикл
Строка = Строка + 1;
Колонка = 0;
Секция = Макет.ПолучитьОбласть("R"+Строка+"C1");
Макет.Вывести(Секция);
Для Каждого Кол из ТЗ.Колонки Цикл
Колонка = Колонка + 1;
Секция = Макет.ПолучитьОбласть("R"+Строка+"C"+Колонка);
Секция.Область().Текст = Стр[Кол.Имя];
Макет.Присоединить(Секция);
КонецЦикла;
КонецЦикла;

ДиалогФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогФайла.Фильтр = "Файл Excel (*.xls)|*.xls";

Если ДиалогФайла.Выбрать() Тогда
Макет.Записать(ДиалогФайла.ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLS);
Сообщить("Файл записан: " + ДиалогФайла.ПолноеИмяФайла);
КонецЕсли;


------------------
«Не причиняй зла никому и делай добро всем людям, хотя бы только потому, что это люди.»
(Марк Туллий Цицерон)




Исправлено: Сергей_Л, 29.05.12 10:08
Ratings: 0 negative/0 positive

Re: Выгрузка Таблицы Значений в файл
medstrax

Сообщений: 4474
Дата: 29.05.12 16:18:19
А к чему такие сложности? Можно в отладчике сохранить таблицу значений как текстовый, либо табличный документ. Вот с деревом значений так сделать нельзя и это иногда напрягает.
Ratings: 0 negative/0 positive

Re: Выгрузка Таблицы Значений в файл
piva
Автор

Сообщений: 18539
Откуда: Курган
Дата: 29.05.12 16:27:41
А через построитель отчета не проще было бы ?

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

Уж если начал писать такие конструкции

Секция = Макет.ПолучитьОбласть("R"+Строка+"C"+Колонка);   
  Секция.Область().Текст = Стр[Кол.Имя];

Тогда пользовал бы их проще
Макет.Область(Строка,Колонка).Текст=Стр[Кол.Имя]

Мда


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

Re: Выгрузка Таблицы Значений в файл
medstrax

Сообщений: 4474
Дата: 30.05.12 03:12:04
Совсем минималистичный вариант. Можно кинуть на форму табличное поле с типом "Таблица значений" ("дерево значений") И написать 2 строчки
ЭлементыФормы.ТП.Значение = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТП.СоздатьКолонки();
После вывода таблички на форму, щелкаем правой кнопкой по табличному полю и выбираем "Вывести список".
Работает также и с деревом значений.
Ratings: 0 negative/0 positive

Re: Выгрузка Таблицы Значений в файл
Сергей_Л

Сообщений: 17560
Откуда: Киров(Вятка)
Дата: 30.05.12 08:45:18
piva
Уж если начал писать такие конструкции
Секция = Макет.ПолучитьОбласть("R"+Строка+"C"+Колонка);   
  Секция.Область().Текст = Стр[Кол.Имя];

Тогда пользовал бы их проще
Макет.Область(Строка,Колонка).Текст=Стр[Кол.Имя]
Я же говорю, скопипастил из инета, раз работает, над оптимизацией не задумывался. А кстати раз ты предложил, можно весь модернизированный рабочий код?


------------------
«Не причиняй зла никому и делай добро всем людям, хотя бы только потому, что это люди.»
(Марк Туллий Цицерон)
Ratings: 0 negative/0 positive

Re: Выгрузка Таблицы Значений в файл
Сергей_Л

Сообщений: 17560
Откуда: Киров(Вятка)
Дата: 30.05.12 08:46:12
medstrax
Совсем минималистичный вариант
Всех победил!


------------------
«Не причиняй зла никому и делай добро всем людям, хотя бы только потому, что это люди.»
(Марк Туллий Цицерон)
Ratings: 0 negative/0 positive

Re: Выгрузка Таблицы Значений в файл
piva
Автор

Сообщений: 18539
Откуда: Курган
Дата: 30.05.12 19:38:36
Shift-F9 В отладчике - еще короче


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive



Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 7 (Гостей: 7)

16.06.2019 08:14:54 exec: 0.05
Mem: 1.176 Mb

© 2000-2019 Fox Club 
Яндекс.Метрика