Установка в запросе таблицы значений в качестве параметра
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Очень часто приходится работать с большим количеством запросов. И приходится использовать результаты запросов в качестве первоначальных данных для другого более массивного запроса. В частности хочу показать как можно использовать данные таблицы значений в качестве параметров в запросе. Эту таблицу значений можно получить хоть из другого запроса, хоть и из табличного поля заполненного пользователем.
Плюсами такого использования являются то, что можно использовать данные таблицы значений полученные из других запросов, что существенно сокращает код программы, т.е. можно много раз не копировать один и тот же запрос, а например использовать общую функцию в общем модуле, где один раз прописан запрос, а затем его результат уже использовать в другом запросе.
Минусами такого использования является то, что такой запрос очень тяжело тестировать на предмет ошибок, т.к. я на данный момент не нашел консоли запросов поддерживаемые таблицу значений в качестве параметра. И второй минус, надо очень внимательно следить за тем чтобы у колонок был задан тип (при использовании таблицы значений полученную при использовании запроса все типы колонок проставляются автоматически, это важно при ручном создании и заполнении таблицы значений)
Вот пример использования таблицы значений в качестве параметра:
Процедура ПриОткрытии()
//Заполняем табличное поле (ТП) тестовыми значениями
Стр = ЭлементыФормы.ТП.Значение.Добавить();
Стр.Колонка1 = "Тест1";
Стр.Колонка2 = "Тест2";
Стр = ЭлементыФормы.ТП.Значение.Добавить();
Стр.Колонка1 = "Тест3";
Стр.Колонка2 = "Тест4";
КонецПроцедуры
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = НОвый Запрос;
Запрос.Текст =
"ВЫБРАТЬ *
|ПОМЕСТИТЬ вт
|ИЗ
| &Таблица КАК Таблица
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ *
|ИЗ
| вт КАК вт";
Запрос.УстановитьПараметр("Таблица", ТП);
//передаем данные запроса другому табличному полю
ТП2 = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТП2.СоздатьКолонки();
КонецПроцедуры
Вступайте в нашу телеграмм-группу Инфостарт