Главная » Статьи » "1С" Програмирование

Скачивать материалы с сайта, могут только зарегистрированные пользователи.
Для регистрации заполните два поля ниже!

Через минуту Вы получите "Гостевой доступ"




Как сохранить запрос в файл с параметрами (для 1С 8.0 и 8.1)
Как сохранить запрос в файл с параметрами (для 1С 8.0 и 8.1)


Суть данной функции состоит в следующем:
Допустим надо срочно произвести отладку запроса, а он разбит на несколько фрагментов, которые объединяются по определенным условиям и критериям. А также запрос использует множество параметров (в том числе и с массивами). Согласитесь, сам запрос не так сложно воспроизвести в консоле запросов, а вот массивы параметров мало кому охота воссоздавать.

Что-же нужно для маленького счастья в работе? Самая малость, вставить данную функцию в Общий модуль (который должен быть глобальным + клиент):

Функция СохранитьЗапросВФайл(Запрос,ИмяФайла="") Экспорт
Если ИмяФайла="" Тогда
ИмяФайла=ПолучитьИмяВременногоФайла("sel");
КонецЕсли;
Дерево=Новый ДеревоЗначений;
Дерево.Колонки.Добавить("Запрос");
Дерево.Колонки.Добавить("ТекстЗапроса");
Дерево.Колонки.Добавить("ПараметрыЗапроса");
Дерево.Колонки.Добавить("СпособВыгрузки");
НСтр=Дерево.Строки.Добавить();
НСтр.Запрос = "Запрос отладки";
НСтр.ТекстЗапроса=Запрос.Текст;
НСтр.СпособВыгрузки=1;

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

НСтр.ПараметрыЗапроса=ТаблицаПараметров;

ЗначениеВФайл(ИмяФайла,Дерево);
Возврат ИмяФайла;
КонецФункции

Теперь как это использовать при отладке:
- Ставим "Точку останова" на каком-нибудь запросе (Пример: в документе есть запрос, который выполняется скажем для формирования данных для печатной формы => Возврат Запрос.Выполнить();)
- Дальше выделяем слово "Запрос" и нажимаем "Вычислить выражения (Shift+F9)"
- В поле ввода "Выражение" пишим следующее "СохранитьЗапросВФайл(Запрос)" и нажимаем "Расчитать"
- В таблице "Результат" появляется новое значение (тип "Строка") в примерном виде "D:\Documents and Settings\NameUser\Local Settings\Temp\v8_180C_2a.sel"
- Нажимаем "F2" (Показать значение в отдельном окне) и копируем нашу строку
- Разумеется теперь отладку продолжаем и переходим непосредственно из Конфигурации в Предприятие

- Далее в программе, через консоль запросов открываем полученный файл (жмем "Открыть файл запросов") путем ввода полученного имени (в поле "Имя файла" используем команду "Вставить" или нажимаем комбинацию клавиш "Ctrl+V или Shift+Insert") и жмем "Ок" ("Открыть").

Все, запрос с параметрами у вас в консоле. Разумеется если вы решите обновить параметры запроса, то параметры обнулятся. Также не получается редактировать массивы в параметрах. Но для большинства случаев это и не надо.




Источник: http://www.7homes.ru/1_8_0_8_1
Категория: "1С" Програмирование | Добавил: c1 (2010 Февраль 14)
Просмотров: 1299 | Рейтинг: 0.0/0

Выразить благодарность - Поделиться с друзьями!

 

Здесь все о технической стороне 1С!

 

Узнай, как правильно администрировать 1С Предприятие
Регистрируйся на бесплатный 7-ми дневный курс сейчас:

Ваш E-Mail в безопасности



Всего комментариев: 0
avatar