Имя: Пароль:
1C
1С v8
v8: Отбор в таблице значений
,
0 AntonU
 
25.02.13
10:48
Здравствуйте!
В таблице значений нужно делать отбор строк по дате, чтобы она входила в диапазон.
Т.е. есть колонка "ДатаП", нужно отбирать строки из этой таблицы, чтобы Дата1<=ДатаП и ДатаП<Дата2, и считать итоги по некоторым числовым полям этих строк.
Как это лучше сделать?
1 butterbean
 
25.02.13
10:49
запросом или перебором строк с их удалением
2 ДенисЧ
 
25.02.13
10:49
ЗАпросов, вестимо
3 МихаилМ
 
25.02.13
10:51
скд
4 ОбычныйЧеловек
 
25.02.13
10:51
Более 7 лет на форуме и такие забавные вопросы...
5 AntonU
 
25.02.13
10:52
А как подставлять таблицу значений в запрос?
6 Wobland
 
25.02.13
10:53
Запрос = Новый Запрос();
   Запрос.УстановитьПараметр("тз",тз);
   Запрос.Текст = "ВЫБРАТЬ
   |    ТЗ.Наименование,
   |    ТЗ.ИНН,
   |    ТЗ.КПП
   |ПОМЕСТИТЬ ТЗ
   |ИЗ
   |    &ТЗ КАК ТЗ
   |;
7 butterbean
 
25.02.13
10:53
(5) жесть... параметром передай
8 AntonU
 
25.02.13
11:35
(6)
Запускаю Запрос.Выполнить.Выгрузить ()
Пишет - Не установлен менеджер временных таблиц
9 Wobland
 
25.02.13
11:37
(8) как раз чтобы его не устанавливать, я всё сделал в одном запросе
10 Wobland
 
25.02.13
11:38
+(9)    |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ТЗ.Наименование,
   |    ТЗ.ИНН,
   |    ТЗ.КПП,
   |ИЗ
   |    ТЗ КАК ТЗ
11 AntonU
 
25.02.13
11:40
Запрос1=Новый Запрос;
           Запрос1.Текст="ВЫБРАТЬ
                         |    ТЗ.ДатаПлатежа,
                         |    ТЗ.Сумма1,
                         |    ТЗ.Сумма2
                         |ПОМЕСТИТЬ ТЗ
                         |ИЗ
                         |    &ТЗ КАК ТЗ
                         |ГДЕ
                         |    ТЗ.ДатаП МЕЖДУ &Дата1 И &Дата2";
           Запрос1.УстановитьПараметр("ТЗ", ТЗ);
           Запрос1.УстановитьПараметр("Дата1", НачалоДня (ТекДата));
           Запрос1.УстановитьПараметр("Дата2", КонецДня (ТекДата));
           ТЗ1=Запрос1.Выполнить().Выгрузить();

Выдает ошибку с менеджером временных таблиц
12 AntonU
 
25.02.13
11:40
Запрос1.Текст="ВЫБРАТЬ
                         |    ТЗ.ДатаП,
                         |    ТЗ.Сумма1,
                         |    ТЗ.Сумма2
                         |ПОМЕСТИТЬ ТЗ
                         |ИЗ
                         |    &ТЗ КАК ТЗ
                         |ГДЕ
                         |    ТЗ.ДатаП МЕЖДУ &Дата1 И &Дата2";
           Запрос1.УстановитьПараметр("ТЗ", ТЗ);
           Запрос1.УстановитьПараметр("Дата1", НачалоДня (ТекДата));
           Запрос1.УстановитьПараметр("Дата2", КонецДня (ТекДата));
           ТЗ1=Запрос1.Выполнить().Выгрузить();
13 Molinor
 
25.02.13
11:42
"ВЫБРАТЬ
|    ТЗ.ДатаП,
|    ТЗ.Сумма1,
|    ТЗ.Сумма2
|ПОМЕСТИТЬ ТЗ
|ИЗ
|    &ТЗ КАК ТЗ
|;
|ВЫБРАТЬ
|    ТЗ.ДатаП,
|    ТЗ.Сумма1,
|    ТЗ.Сумма2
|ПОМЕСТИТЬ ТЗ
|ИЗ
|    ТЗ КАК ТЗ
|ГДЕ
|    ТЗ.ДатаП МЕЖДУ &Дата1 И &Дата2"
14 Molinor
 
25.02.13
11:42
"ВЫБРАТЬ
|    ТЗ.ДатаП,
|    ТЗ.Сумма1,
|    ТЗ.Сумма2
|ПОМЕСТИТЬ ТЗ
|ИЗ
|    &ТЗ КАК ТЗ
|;
|ВЫБРАТЬ
|    ТЗ.ДатаП,
|    ТЗ.Сумма1,
|    ТЗ.Сумма2
|ИЗ
|    ТЗ КАК ТЗ
|ГДЕ
|    ТЗ.ДатаП МЕЖДУ &Дата1 И &Дата2"
15 Wobland
 
25.02.13
11:42
(11) "выбрать <что-то> поместить <туда-то>; выбрать из <туда-то>" - здесь МВТ не нужен
"выбрать <что-то> поместить <туда-то>;" - здесь МВТ нужен
16 DirecTwiX
 
25.02.13
11:44
Из тз  можно  только  во  временную  выбирать.  Создай и подключи менеджер,  выбери  во  временную  таблицу, а  потом из неё
17 DirecTwiX
 
25.02.13
11:47
Хм.. А я всегда  создавал -  буду  знать
18 mikecool
 
25.02.13
11:50
пользуюсь не создавая объекта - менеджера, чяднт?
19 AntonU
 
25.02.13
12:46
Спасибо!!!