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

1. Дон Кихот 13.05.20 10:23 Сейчас в теме
Как посмотреть в отладчике содержимое виртуальной таблицы. Предположим что мы сделали запись в регистр расчета и указали в ней используемый график работы. Должны были появиться записи виртуальной таблицы с колонками ФактическийПериодДействия и т.д.. Как увидеть в отладчике содержание этой виртуальной таблицы. Понятно что можно запросом, но это долго.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
7. nomad_irk 76 13.05.20 14:01 Сейчас в теме
(5)Еще раз: данные любой виртуальной таблицы любого регистра не хранятся в БД в отдельной таблице, они формируются динамически из нескольких таблиц по запросу.
Вы никак их по-другому не увидите.

Вас же не удивляет тот факт, что остатки в регистре доступны только запросом или удивляет?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DJDUH 17 13.05.20 13:43 Сейчас в теме
(1) А при выборе таблицы движений через [F9] что показывает?
4. Дон Кихот 13.05.20 13:49 Сейчас в теме
(2)при остановке отладчиком после записи движений, и, например, установке графика работ, в виртуальной таблице появляются заполненные колонки, в данном случае ФактическийПериодДействия, как через вычислить выражение увидеть содержимое виртуальной таблицы. В каком контексте нажимать F9?
6. Дон Кихот 13.05.20 13:57 Сейчас в теме
(2)При нажатии shift+F9 выдает в скрине прикрепил
Прикрепленные файлы:
3. nomad_irk 76 13.05.20 13:47 Сейчас в теме
(1)Содержимое любой виртуальной таблицы, кроме как запросом(объектный методом - тот же запрос по своей сути), вообще никак не увидеть, т.к. это по сути view, формируемый платформой.
5. Дон Кихот 13.05.20 13:53 Сейчас в теме
(3)Сделал через вычислить выражение вот таким кодом:
РегистрыРасчета.ОсновныеНачисления.ПолучитьДанныеГрафика(Новый Структура("Регистратор", Ссылка), ВидПериодаРегистраРасчета.ПериодДействия),
но это тоже долго, если есть движения и их можно получить запросом, значит их теоретически можно увидеть в отладчике
7. nomad_irk 76 13.05.20 14:01 Сейчас в теме
(5)Еще раз: данные любой виртуальной таблицы любого регистра не хранятся в БД в отдельной таблице, они формируются динамически из нескольких таблиц по запросу.
Вы никак их по-другому не увидите.

Вас же не удивляет тот факт, что остатки в регистре доступны только запросом или удивляет?
8. Дон Кихот 13.05.20 14:04 Сейчас в теме
(7) Спасибо большое, стало понятнее
9. user1407549 1 14.05.20 13:57 Сейчас в теме
Мы пользуемся таким кодом (поместили в Глобальный модуль):

//для просмотра результатов выполнения виртуальных таблиц в запросе
Функция ДанныеЗапроса(Запрос, ИмяТаблицы) Экспорт
     ДанныеТаблицы = Новый Запрос;
     ДанныеТаблицы.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
     ДанныеТаблицы.Текст =
     "Выбрать *
     |    Из "+ИмяТаблицы+"
     |";
     Возврат ДанныеТаблицы.Выполнить().Выгрузить();
 КонецФункции 
Показать



И, как вариант первого, с записью содержаимого виртуальной таблицы в файл:

//для просмотра результатов выполнения виртуальных таблиц в запросе
Функция ДанныеЗапросаТ(Запрос, ИмяТаблицы) Экспорт
	
	ДанныеТаблицы = Новый Запрос;
	ДанныеТаблицы.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
	ДанныеТаблицы.Текст =
	"Выбрать *
	|    Из "+ИмяТаблицы+"
	|";
	
	Таблица=ДанныеТаблицы.Выполнить().Выгрузить();
	
	КоличествоКолонок=Таблица.Колонки.Количество();	
	
	ИмяФайла = "D:\"+СокрЛП(ИмяТаблицы)+".TXT";
	
	ТекстовыйДокИзФайла = Новый ТекстовыйДокумент; 
	
	
	Для каждого СтрокаТаблицы Из Таблица Цикл

		СтрокаРЕз="";
		Для НомерКолонки = 1 По КоличествоКолонок Цикл

			СтрРез="";			
			Если Строка(ТипЗнч(СтрокаТаблицы[НомерКолонки - 1]))="Число" тогда
				СтрРез=Формат(СтрокаТаблицы[НомерКолонки - 1], "ЧЦ=15; ЧДЦ=2; ЧРД=,; ЧРГ=' '; ЧГ=0");
			ИначеЕсли Строка(ТипЗнч(СтрокаТаблицы[НомерКолонки - 1]))="Дата" тогда				
				СтрРез=Формат(СтрокаТаблицы[НомерКолонки - 1], "ДФ=dd.MM.yyyy; ДЛФ=D");				
			Иначе
				СтрРез=Строка(СтрокаТаблицы[НомерКолонки - 1]);
			КонецЕсли;
				
			СтрокаРЕз=строкаРез+СтрРез+";";
		КонецЦикла;
		
		ТекстовыйДокИзФайла.ДобавитьСтроку(строкаРЕз);
		
	КонецЦикла;

	
//	Попытка
	ТекстовыйДокИзФайла.Записать(ИмяФайла, КодировкаТекста.UTF8); 
	 
	Возврат(Истина);	 
 КонецФункции
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот