Выгрузка запроса с заполненными параметрами в файл для консоли запросов

04.11.21

Разработка - Инструментарий разработчика

Модуль для выгрузки запроса позволит сократить время при переносе запроса и его параметров в консоль запросов.

1. Добавляем общий модуль АБ_ВыгрузкаЗапроса в свою конфигурацию, можно попробовать через расширение. 

 

 

 
 Код общего модуля

 


// АБ_ВыгрузкаЗапроса.ЗаписатьЗапросыВФайлXML(Запрос)
///////////////////////////////////////////////////////////////////////////
// ФУНКЦИИ РАБОТЫ С XML-ФАЙЛАМИ

// Записывает Запросы(текст и параметры запроса) в файл XML.
//
// Параметры:
//	ИмяФайла - имя файла XML.
//	Объект - передаваемый объект обработки.
//
Функция ЗаписатьЗапросыВФайлXML(знач ОбъектЗапроса, ИмяФайла = "C:\Запросы\TekZapros.q1c") Экспорт
	ФайлXML = Новый ЗаписьXML;
	ФайлXML.ОткрытьФайл(ИмяФайла);
	ФайлXML.ЗаписатьОбъявлениеXML();
	ФайлXML.ЗаписатьНачалоЭлемента("querylist");
	// выгрузка запроса.
	Для Сч =1 По 2 Цикл
		ФайлXML.ЗаписатьНачалоЭлемента("query");
		Если Сч = 1 Тогда
			ФайлXML.ЗаписатьАтрибут("name", "Запрос");
		Иначе	
			ФайлXML.ЗаписатьАтрибут("name", "ИсходныйЗапрос");
		КонецЕсли; 
		
			ФайлXML.ЗаписатьНачалоЭлемента("text");
			ТекстЗапроса = ОбъектЗапроса.Текст;
			Для Счетчик = 1 По СтрЧислоСтрок(ТекстЗапроса) Цикл
				ПереносСтр	= Символы.ВК + Символы.ПС;
				ТекСтрока 	= СтрПолучитьСтроку(ТекстЗапроса, Счетчик);
				ФайлXML.ЗаписатьТекст(ТекСтрока);
				ФайлXML.ЗаписатьБезОбработки(ПереносСтр);
			КонецЦикла;
			ФайлXML.ЗаписатьКонецЭлемента();
			// Запись параметров в XML-файл.
			Если ОбъектЗапроса.Параметры.Количество() > 0 Тогда 
				ФайлXML.ЗаписатьНачалоЭлемента("parameters");
				Для каждого ТекПараметр из ОбъектЗапроса.Параметры Цикл 
						ИмяПараметра		= ТекПараметр.Ключ;
						ТипПараметра		= СтрЗаменить(Строка(ТипЗнч(ТекПараметр.Значение))," ","");//ТекПараметр.Тип;   !!!
						ЗначениеПараметра			= ТекПараметр.Значение;
						
						ФайлXML.ЗаписатьНачалоЭлемента("parameter");
						ФайлXML.ЗаписатьАтрибут("name", ИмяПараметра);
						Если ТипПараметра = "Списокзначений" Тогда 
							
							ТЗ = Новый ТаблицаЗначений;
							тз.Колонки.Добавить("Значения");
							
							Для каждого ТекЗнач Из ЗначениеПараметра Цикл
								НовСтрТЗ = тз.Добавить();
								НовСтрТЗ.Значения = ТекЗнач.Значение;						
							КонецЦикла; 

							
							ФайлXML.ЗаписатьАтрибут("type", "ТаблицаЗначений");
							ЗаписатьТаблицуЗначенийВXML(ФайлXML, ТЗ);  //!!!

						ИначеЕсли ТипПараметра = "Массив" Тогда              //!!!
							
							ТЗ = Новый ТаблицаЗначений;
							тз.Колонки.Добавить("Значения");
							
							Для каждого ТекЗнач Из ЗначениеПараметра Цикл
								НовСтрТЗ = тз.Добавить();
								НовСтрТЗ.Значения = ТекЗнач;						
							КонецЦикла; 
							
							
							ФайлXML.ЗаписатьАтрибут("type", "ТаблицаЗначений");   //!!!
							ЗаписатьТаблицуЗначенийВXML(ФайлXML, ТЗ);  //!!!
						ИначеЕсли ТипПараметра = "Таблицазначений" Тогда
							ФайлXML.ЗаписатьАтрибут("type", "ТаблицаЗначений");
		
							ЗаписатьТаблицуЗначенийВXML(ФайлXML, ЗначениеПараметра);
						ИначеЕсли ТипПараметра = "Моментвремени" Тогда
							ФайлXML.ЗаписатьАтрибут("type", "МоментВремени");
							ЗаписатьМоментВремениВXML(ФайлXML, ЗначениеПараметра);
						ИначеЕсли ТипПараметра = "Граница" Тогда
							ФайлXML.ЗаписатьАтрибут("type", ТипПараметра);
							ЗаписатьГраницуВXML(ФайлXML, ЗначениеПараметра);
						Иначе
							ИмяТипа = ИмяТипаИзЗначения(ЗначениеПараметра); 
							ФайлXML.ЗаписатьАтрибут("type", ИмяТипа);
							ФайлXML.ЗаписатьАтрибут("value", XMLСтрока(ЗначениеПараметра));
						КонецЕсли;	
						ФайлXML.ЗаписатьКонецЭлемента();
				КонецЦикла;	
				ФайлXML.ЗаписатьКонецЭлемента();
			КонецЕсли;	
		ФайлXML.ЗаписатьКонецЭлемента();
    КонецЦикла;
	ФайлXML.ЗаписатьКонецЭлемента();
	ФайлXML.Закрыть();
	
	вСохранитьЗапросыВФайл(ОбъектЗапроса,СтрЗаменить(ИмяФайла,"q1c","sel"));
	
	Возврат Истина;
КонецФункции

// Записывает строки списка значений в Файл XML.
//
// Параметры:
//	ФайлXML - записьXML.
//	Значение - список значений.
//
Процедура ЗаписатьСписокЗначенийВXML(ФайлXML, Значение)
	Если ТипЗнч(Значение) <> Тип("СписокЗначений") Тогда 
		Возврат;
	КонецЕсли;	
	
	Для каждого СтрСписка из Значение Цикл
		ЗначениеЭлементаСписка	= СтрСписка.Значение;
		// Определение имени типа.
		ИмяТипа = ИмяТипаИзЗначения(ЗначениеЭлементаСписка); 
		
		ФайлXML.ЗаписатьНачалоЭлемента("item");
			ФайлXML.ЗаписатьАтрибут("type", ИмяТипа);
			ФайлXML.ЗаписатьАтрибут("value", XMLСтрока(ЗначениеЭлементаСписка));
		ФайлXML.ЗаписатьКонецЭлемента();
	КонецЦикла;	
КонецПроцедуры	



// Записывает строки списка значений в Файл XML.
//
// Параметры:
//	ФайлXML - записьXML.
//	Значение - список значений.
//
Процедура ЗаписатьМассивВXML(ФайлXML, Значение)
	Если ТипЗнч(Значение) <> Тип("Массив") Тогда 
		Возврат;
	КонецЕсли;	
	
	Для каждого СтрСписка из Значение Цикл
		ЗначениеЭлементаСписка	= СтрСписка;
		// Определение имени типа.
		ИмяТипа = ИмяТипаИзЗначения(ЗначениеЭлементаСписка); 
		
		ФайлXML.ЗаписатьНачалоЭлемента("item");
			ФайлXML.ЗаписатьАтрибут("type", ИмяТипа);
			ФайлXML.ЗаписатьАтрибут("value", XMLСтрока(ЗначениеЭлементаСписка));
		ФайлXML.ЗаписатьКонецЭлемента();
	КонецЦикла;	
КонецПроцедуры	



// Записывает ячейки таблицы значений в Файл XML.
//
// Параметры:
//	ФайлXML - записьXML.
//	Значение - таблица значений.
//
Процедура ЗаписатьТаблицуЗначенийВXML(ФайлXML, Значение)
	Если ТипЗнч(Значение) <> Тип("ТаблицаЗначений") Тогда 
		Возврат;
	КонецЕсли;	
	
	
	КолКолонок 	= Значение.Колонки.Количество();
	КолСтрок	= Значение.Количество();
	
	ФайлXML.ЗаписатьАтрибут("colcount", XMLСтрока(КолКолонок));
	ФайлXML.ЗаписатьАтрибут("rowcount", XMLСтрока(КолСтрок));

	
	Для СтрокаИндекс = 0 по КолСтрок - 1 Цикл
		Для КолонкаИндекс = 0 по КолКолонок - 1 Цикл 
			ЗначениеЭлементаСписка	= Значение.Получить(СтрокаИндекс).Получить(КолонкаИндекс);
			ИмяКолонки = Значение.Колонки.Получить(КолонкаИндекс).Имя;
			// Определение имени типа.
			ИмяТипа = ИмяТипаИзЗначения(ЗначениеЭлементаСписка); 
			
			Если ИмяТипа = "Строка" Тогда 
				Длина = Значение.Колонки.Получить(КолонкаИндекс).ТипЗначения.КвалификаторыСтроки.Длина; 	
			Иначе 
				Длина = 0;
			КонецЕсли; 
			
			ФайлXML.ЗаписатьНачалоЭлемента("item");
				ФайлXML.ЗаписатьАтрибут("nameCol", ИмяКолонки);
				ФайлXML.ЗаписатьАтрибут("row", XMLСтрока(СтрокаИндекс));
				ФайлXML.ЗаписатьАтрибут("col", XMLСтрока(КолонкаИндекс));
				ФайлXML.ЗаписатьАтрибут("type", ИмяТипа);
				ФайлXML.ЗаписатьАтрибут("length", XMLСтрока(Длина));
				ФайлXML.ЗаписатьАтрибут("value", XMLСтрока(ЗначениеЭлементаСписка));
			ФайлXML.ЗаписатьКонецЭлемента();
		КонецЦикла;
	КонецЦикла;
	
	//ag(!!!
	//если параметр не заполнен  - добавим пустую ТЗ
	Если СтрокаИндекс = 0 тогда
		Для КолонкаИндекс = 0 по КолКолонок - 1 Цикл 
			//ЗначениеЭлементаСписка	= Значение.Получить(СтрокаИндекс).Получить(КолонкаИндекс);
			ИмяКолонки = Значение.Колонки.Получить(КолонкаИндекс).Имя;
			// Определение имени типа.
			ИмяТипа = xmlТип(Значение.Колонки.Получить(КолонкаИндекс).ТипЗначения.Типы()[0]).ИмяТипа;
			
			
			//ИмяТипаИзЗначения(ЗначениеЭлементаСписка); 
			
			ФайлXML.ЗаписатьНачалоЭлемента("item");
				ФайлXML.ЗаписатьАтрибут("nameCol", ИмяКолонки);
				//ФайлXML.ЗаписатьАтрибут("row", XMLСтрока(СтрокаИндекс));
				ФайлXML.ЗаписатьАтрибут("col", XMLСтрока(КолонкаИндекс));
				ФайлXML.ЗаписатьАтрибут("type", ИмяТипа);
				//ФайлXML.ЗаписатьАтрибут("value", XMLСтрока(ЗначениеЭлементаСписка));
			ФайлXML.ЗаписатьКонецЭлемента();
		КонецЦикла;
	КонецЕсли;
	//ag)
		
КонецПроцедуры	

// Записывает момент времени в Файл XML.
//
// Параметры:
//	ФайлXML - записьXML.
//	Значение - момент времени.
//
Процедура ЗаписатьМоментВремениВXML(ФайлXML, Значение)
	Если ТипЗнч(Значение) <> Тип("МоментВремени") Тогда 
		Возврат;
	КонецЕсли;	
	
	// Определение имени типа.
	ИмяТипа = ИмяТипаИзЗначения(Значение.Ссылка); 
	
	ФайлXML.ЗаписатьНачалоЭлемента("item");
		Если Значение.Ссылка <> Неопределено Тогда 
			ФайлXML.ЗаписатьАтрибут("type", ИмяТипа);
			ФайлXML.ЗаписатьАтрибут("valueRef", XMLСтрока(Значение.Ссылка));
		КонецЕсли;	
		ФайлXML.ЗаписатьАтрибут("valueDate", XMLСтрока(Значение.Дата));
	ФайлXML.ЗаписатьКонецЭлемента();
КонецПроцедуры	

// Записывает границу.
//
Процедура ЗаписатьГраницуВXML(ФайлXML, Граница)
	Если ТипЗнч(Граница) <> Тип("Граница") Тогда 
		Возврат;
	КонецЕсли;	
	
	ФайлXML.ЗаписатьНачалоЭлемента("divide");
		// Определение имени типа.
		ИмяТипа 			= ИмяТипаИзЗначения(Граница.Значение); 
		ТипЗначенияГраницы 	= ТипЗнч(Граница.Значение);
		
		// Запись в строку вида границы.
		ИмяВидаГраницы = Строка(Граница.ВидГраницы);
		
		ФайлXML.ЗаписатьАтрибут("type", ИмяТипа);
		ФайлXML.ЗаписатьАтрибут("valueDiv", ИмяВидаГраницы);
		
		Если ТипЗначенияГраницы <> Тип("МоментВремени") Тогда 
			ФайлXML.ЗаписатьАтрибут("value", XMLСтрока(Граница.Значение));
		Иначе
			ЗаписатьМоментВремениВXML(ФайлXML, Граница.Значение);
		КонецЕсли;
	ФайлXML.ЗаписатьКонецЭлемента();
КонецПроцедуры	

// Возвращает строковое представление типа по значению.
//
// Параметры:
//	Значение - передаваемое значение.
//
Функция ИмяТипаИзЗначения(Значение) Экспорт
	Если ТипЗнч(Значение) = Тип("Строка") Тогда
		ИмяТипа = "Строка";
	ИначеЕсли ТипЗнч(Значение) = Тип("Число") Тогда 	
		ИмяТипа = "Число";
	ИначеЕсли ТипЗнч(Значение) = Тип("Булево") Тогда 	
		ИмяТипа = "Булево";
	ИначеЕсли ТипЗнч(Значение) = Тип("Дата") Тогда 		
		ИмяТипа = "Дата";
	ИначеЕсли ТипЗнч(Значение) = Тип("МоментВремени") Тогда 		
		ИмяТипа = "МоментВремени";	
	ИначеЕсли ТипЗнч(Значение) = Тип("Неопределено") Тогда 		
		ИмяТипа = "Строка";		
	Иначе	
		ИмяТипа = xmlТип(ТипЗнч(Значение)).ИмяТипа;
	КонецЕсли;	
	
	Возврат ИмяТипа;
КонецФункции	

// Определяет условие конца тэга "query" или "parameters"
//
// Параметры:
//	ФайлXML - чтениеXML.
//
Функция ПроверкаКонцаТэгов(ФайлXML)
	Если (ФайлXML.ТипУзла = ТипУзлаXML.КонецЭлемента и ФайлXML.Имя = "query") 
		 или (ФайлXML.ТипУзла = ТипУзлаXML.КонецЭлемента и ФайлXML.Имя = "parameters") Тогда
		Возврат Истина;
	Иначе
		Возврат Ложь;
	КонецЕсли;	
КонецФункции	


//////////////////////////////////////////////////////////////////////////////////////////////
// для   обычной консоли 
Функция вСохранитьЗапросыВФайл(ОбъектЗапроса, ИмяФайла = "C:\Запросы\TekZapros.sel")

	
	ДеревоЗапросов = Новый ДеревоЗначений;
	ДеревоЗапросов.Колонки.Добавить("Запрос");
	ДеревоЗапросов.Колонки.Добавить("ТекстЗапроса");
	ДеревоЗапросов.Колонки.Добавить("ПараметрыЗапроса");
	ДеревоЗапросов.Колонки.Добавить("СпособВыгрузки");
	
	мТекущаяСтрока = ДеревоЗапросов.Строки.Добавить();
	
    мТекущаяСтрока.Запрос = "Запросы";	
	мТекущаяСтрока.ТекстЗапроса = ОбъектЗапроса.Текст;
	
	
	ТаблПараметров = Новый ТаблицаЗначений;
	ТаблПараметров.Колонки.Добавить("ИмяПараметра");
	ТаблПараметров.Колонки.Добавить("ЭтоВыражение");
	ТаблПараметров.Колонки.Добавить("ЗначениеПараметра");
	
	Для каждого ТекПараметр Из ОбъектЗапроса.Параметры Цикл
		НовСтрПар = ТаблПараметров.Добавить();
		НовСтрПар.ЗначениеПараметра =  ТекПараметр.Значение;
		НовСтрПар.ИмяПараметра		= ТекПараметр.Ключ;
		НовСтрПар.ЭтоВыражение = Ложь;
	КонецЦикла; 
	
	
	мТекущаяСтрока.ПараметрыЗапроса = ТаблПараметров;
	мТекущаяСтрока.СпособВыгрузки = 2;
	
	// и копию
    мТекущаяСтрока2 = мТекущаяСтрока.Строки.Добавить();
	
    мТекущаяСтрока2.Запрос = "Исходный запрос";	
	мТекущаяСтрока2.ТекстЗапроса = ОбъектЗапроса.Текст;
	мТекущаяСтрока2.ПараметрыЗапроса = ТаблПараметров;
	мТекущаяСтрока2.СпособВыгрузки = 2;

	
	ЗначениеВФайл(ИмяФайла, ДеревоЗапросов);
	
	Возврат Истина;

КонецФункции // СохранитьЗапросыВФайл()




 

 

Необходимо поменять путь выгрузки в модуле:

 

 

2.  Запускаем отладку и останавливаемся перед выполнением запроса, например, у меня была внешняя обработка: 

 

 

3. Открываем код общего модуля АБ_ВыгрузкаЗапроса, выделяем строку и нажимаем "Вычислить выражение":

 

Значение должно быть Истина, это означает, что файл выгружен:

 

4. Заходим в консоль запросов и указываем файл, который мы выгружали:




Все параметры заполнились:
 

 

консоль запросов запросы запрос параметры запроса

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    125018    683    389    

732

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 руб.

06.10.2023    7783    24    6    

42

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    4291    12    2    

36

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2280 руб.

14.01.2013    178669    1084    0    

862

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99641    239    97    

298

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18398    6    8    

40

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23859    16    15    

33

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28328    3    10    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1595 04.11.21 14:21 Сейчас в теме
2. headMade 144 04.11.21 14:40 Сейчас в теме
В БСП есть ОбщегоНазначения.ЗапросВСтрокуXML
или у вас более навороченная ?
Hogyoku; adhocprog; mikl79; user635629_exter; rpgshnik; RocKeR_13; Margo462; +7 Ответить
3. Margo462 482 04.11.21 20:51 Сейчас в теме
(2) спасибо, не пользовалась ни разу, но на моём примере не сработало, а если сделать как в этой статье через сохранение в файл, то работает
Прикрепленные файлы:
4. rpgshnik 3645 05.11.21 07:15 Сейчас в теме
ОбщегоНазначения.ЗапросВСтрокуXML использую регулярно совместно с https://infostart.ru/public/1254364/ там даже не нужно файл создавать, через буфер - очень удобно, рекомендую попробовать.

Так же есть возможность добавить заполнение временных таблиц менеджера.
Evg-Lylyk; user635629_exter; Margo462; +3 Ответить
5. MVK80 05.11.21 08:56 Сейчас в теме
(0), мне казалось что для консолей запросов, этот функционал по умолчанию уже идет. Многие консоли запросов такое могут "из коробки". Не проще ли сменить консоль запросов? Я, например, такой пользуюсь, как Запросник 2.0. Там всё это есть уже.
6. q_i 577 07.11.21 17:49 Сейчас в теме
В "штатной" консоли запросов есть пункт меню "Заполнить из XML". Совместно с ОбщегоНазначения.ЗначениеВСтрокуXML(Новый Структура("Текст, Параметры", Запрос.Текст, Запрос.Параметры)) решает вопрос отладки практически любого запроса. Подробнее описано тут: https://spk-code.blogspot.com/2021/06/1.html
7. Margo462 482 08.11.21 09:55 Сейчас в теме
(6) да, я так делала, ошибку выше добавила. Может из-за временной таблицы ошибка, либо консоль кривая)
8. q_i 577 08.11.21 13:25 Сейчас в теме
(7) Скачайте "прямую" с сайта итс ))
Хотя там, честно говоря, тоже я последний раз когда качал была "кривая" - какая-то ошибка периодически вываливалась, связанная с количеством строк в результате запроса. В функции ВывестиРезультатОдногоЗапроса(...) пришлось строку "КоличествоСтрок = РезультатЗапроса.Количество();" переделать в "Попытка КоличествоСтрок = РезультатЗапроса.Количество(); Исключение КоличествоСтрок = 0; КонецПопытки;".
Но при этом "Заполнить из XML" там изначально работало "из коробки" даже с временными таблицами.
9. Evg-Lylyk 4614 09.11.21 10:57 Сейчас в теме
Мои публикации на эту тему:
Отладка запроса с содержимым временных таблиц (управляемые формы)
Отладка в Infostart Toolkit
Инструменты от 1С сильно устарели, передача данных через файл неудобна в варианте клиент-сервер нужно иметь расшаренный каталог, передача через буфер может споткнутся об ограничение размера. Во многих консолях есть проблема с получением временных таблиц.
Ну и большинство как и приведенный пример не поддерживает типы параметров и полей ВТ: "УникальныйИдентификатор", "Тип".
Hogyoku; Revachol; Margo462; +3 Ответить
10. Margo462 482 09.11.21 11:21 Сейчас в теме
(9) Спасибо! Вижу Вы из Ставрополя, я тоже))
Оставьте свое сообщение