Имя: Пароль:
1C
1С v8
Запрос 8.2
,
0 svsource
 
07.02.12
10:03
Добрый день! Никто не подскажет как сделать такую вещь : Есть пакетник
из двух запросов.

1. Из внешнего источника выбираются 2 даты ДатаНач и ДатаКон
2. Устанавливаются в виртуальной таблице как ЗНАЧЕНИЯ ПАРАМЕТРОВ (период)

Нужно именно так параметры задать!!! Из внешнего источника.
Можно и из временный таблицы - не важно

КАК здесь задать? Продажи.Обороты(&Д1,&Д2)
Т.е. у пакетника не должно быть параметров - значения уже установлены во внешнем источнике и нужно их только передать в запрос 2. Все в рамках пакетника. Вообще это возможно сделать???


т.е. типа такого

ВЫБРАТЬ
 ДатаНач,
 ДатаКон
ИЗ PARAMS
;
/////////////////////////////////////////////////
ВЫБРАТЬ * ИЗ
Продажи.Обороты(&Д1,&Д2)

Т.е. в Д1 передать ДатаНач а в Д2 ДатаКон
1 Ненавижу 1С
 
гуру
07.02.12
10:05
(0) в рамках пакетника нормально не взлетит, можно конечно параметры у оборотов вообще не ставить, а отбор сделать по периоду потом, но это решение гафно
2 svsource
 
07.02.12
10:06
Во во...
3 le_
 
07.02.12
10:08
(0) Можно использовать НаборДанных-Объект.
4 le_
 
07.02.12
10:10
+ (3) Т.е., получить даты, выполнить запрос по оборотам и его результат передать СКД.
5 Рэйв
 
07.02.12
10:11
Запрос.Текст="ВЫБРАТЬ
 ДатаНач,
 ДатаКон
ИЗ PARAMS"

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

Запрос.Текст="ВЫБРАТЬ * ИЗ
Продажи.Обороты(&Д1,&Д2)";

Для каждого Стр Из тРез Цикл

  Запрос.УстановитьПараметр("Д1",Стр.ДатаНач);
  Запрос.УстановитьПараметр("Д2",Стр.ДатаКон);
  т2=Запрос.Выполнить().Выгрузить();
  //тут смотрим что получили в т2
Конеццикла
6 svsource
 
07.02.12
10:32
Не. Не то это.  Это нужно сделать в запросе - передачу.  т.е. встаю на текст запроса - запускаю мастер и открывается законченный запрос. Это такое условие.

Ну что то типа
========================================================================
ВЫБРАТЬ
 ДатаНач,
 ДатаКон
ИЗ PARAMS
;
/////////////////////////////////////////////////

ВЫБРАТЬ * ИЗ
Продажи.Обороты((ВЫБРАТЬ ДатаНач ИЗ PARAMS),(ВЫБРАТЬ ДатаКон ИЗ PARAMS))
=========================================================================

Ну поняли короче что нужно.  Т.е. параметры во внешней таблице,
а текст запроса неделим и представляет пакетник из себя., который можно сохранить в *.SEL  и конструктором открыть ЦЕЛИКОМ.

ЭТО не для СКД.

Ладно, всем спасибо.
7 Рэйв
 
07.02.12
10:34
(6)Такое не летает.Можешь не мучаться.
8 svsource
 
07.02.12
10:35
Да я понял. Спасибо.
9 le_
 
07.02.12
10:35
(6) Интересно, для чего такое?
10 Азазелло
 
07.02.12
10:40
(0) переписать самому виртуальную таблицу "Обороты"?
11 svsource
 
07.02.12
10:41
Требование заказчика. Именно через внешний файл. А Внешний файл заполняется программно им.
Дурдом конечно это все. Все проще решается как (5) - я также предлагал. И всех дел! Думают.
Просто разрывается пакетник и промежуточный код вставляется , который через
Запрос.УстановитьПараметр() решает все!
12 svsource
 
07.02.12
10:42
10  :))). Только параметры отбора задать
13 Рэйв
 
07.02.12
10:44
(11)Ты странный. Накой черт им предлагать програмный код? Предложил бы конечный результат.Все работает - и досвидания.
14 svsource
 
07.02.12
10:44
Да так и сделал. :)))
15 Рэйв
 
07.02.12
10:45
(14)Ну и не рассказывал бы о методах программирования:-)..Им то на кой знать как именно реализовано?