Имя: Пароль:
1C
1С v8
v8: Помогите с запросом к РС.СрезПоследних
,
0 Boudybuilder
 
09.12.11
15:54
Запрос для заполнения пустого значения в ТЧДокумента.
Все реквизиты сходятся. Регистр заполнен правильно.
Но ничего не возвращает мне... :(

Правильно ли тут все?


       Для Каждого ТСтрока Из Ремонты Цикл
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    ПартииРемонтовСрезПоследних.Партия
                  |ИЗ
                  |    РегистрСведений.ПартииРемонтов.СрезПоследних КАК ПартииРемонтовСрезПоследних
                  |ГДЕ
                  |    ПартииРемонтовСрезПоследних.Период < &Период
                  |    И ПартииРемонтовСрезПоследних.ID = &ID";
                  Запрос.УстановитьПараметр("Период",Дата);
                  Запрос.УстановитьПараметр("ID",ТСтрока.ID);
 РезультатЗапроса = Запрос.Выполнить();
 Обход = РезультатЗапроса.Выбрать();
 Пока Обход.Следующий() Цикл
 ТСтрока.Партия = Обход;
КонецЦикла;
1 zak555
 
09.12.11
15:55
за запрос в цикле - в тюрьму
2 rs_trade
 
09.12.11
15:56
(0) параметры вирт. таблицы блеать! когда же это кончится
3 Boudybuilder
 
09.12.11
15:56
Ладно , но только если сокамерник будет 1Сник!
4 andrewks
 
09.12.11
15:56
ТСтрока.Партия = Обход.Партия;
5 Boudybuilder
 
09.12.11
15:57
А как правильно надо?
А?
6 andrewks
 
09.12.11
15:57
ну, и (1)(2) +500
7 Boudybuilder
 
09.12.11
15:58
(4)

       Для Каждого ТСтрока Из Ремонты Цикл
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    ПартииРемонтовСрезПоследних.Партия
                  |ИЗ
                  |    РегистрСведений.ПартииРемонтов.СрезПоследних КАК ПартииРемонтовСрезПоследних
                  |ГДЕ
                  |    ПартииРемонтовСрезПоследних.Период < &Период
                  |    И ПартииРемонтовСрезПоследних.ID = &ID";
                  Запрос.УстановитьПараметр("Период",Дата);
                  Запрос.УстановитьПараметр("ID",ТСтрока.ID);
 РезультатЗапроса = Запрос.Выполнить();
 Обход = РезультатЗапроса.Выбрать();
 Пока Обход.Следующий() Цикл
 ТСтрока.Партия = Обход.Партия;
КонецЦикла;

КонецЦикла;
8 Boudybuilder
 
09.12.11
15:59
Подскажите пожалуйста как мне для каждой строки получить значение из запроса установив параметры отбора по значениям с той же строки?
9 Boudybuilder
 
09.12.11
16:01
Так как быть ?
10 zak555
 
09.12.11
16:02
(9) я б за пивом пошёл
11 Boudybuilder
 
09.12.11
16:09
Если без этого

|    ПартииРемонтовСрезПоследних.Период < &Период

То работает?
12 Boudybuilder
 
09.12.11
16:09
!!!
13 Boudybuilder
 
09.12.11
16:09
Но мне надо срез последних получить которые были до даты дока
14 Ненавижу 1С
 
гуру
09.12.11
16:15
(13) так тем более параметры виртуальной таблицы!
15 Boudybuilder
 
09.12.11
16:18
(14)

Пример можно?
16 Ненавижу 1С
 
гуру
09.12.11
16:19
ВЫБРАТЬ
                  |    ПартииРемонтовСрезПоследних.Партия
                  |ИЗ
                  |    РегистрСведений.ПартииРемонтов.СрезПоследних(&Период,ID = &ID) КАК ПартииРемонтовСрезПоследних
17 andrewks
 
09.12.11
16:21
теперь осталось от запроса в цикле избавится
18 Boudybuilder
 
09.12.11
16:22
от цикла избавился!
19 Ненавижу 1С
 
гуру
09.12.11
16:22
(18) не верим
20 DrShad
 
09.12.11
16:23
(18) когда же ты уже бросишь 1С мучить?
21 Boudybuilder
 
09.12.11
16:26
(19)
Работает!
Не понимаю как еще , но я до этого доберусь! :)
22 Ненавижу 1С
 
гуру
09.12.11
16:30
(21) работает <> от цикла избавился
23 rs_trade
 
09.12.11
16:33
СрезПоследних(&Период,ID В (&ID))

Запрос.УстановитьПараметр("ID", Ремонты.ВыгрузитьКолонку("ID"));
24 rs_trade
 
09.12.11
16:34
для осознания проделанных манипуляций, замерь скорость в цикле и без параметров. и без цикла и с параметрами. будешь приятно удивлен.
25 Boudybuilder
 
10.12.11
12:01
Доброе утро!!!

Продолжаем тему...

У меня снова запара.

Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    ВыбранРегистрСрезПоследних.Контрагент,
                  |    ВыбранРегистрСрезПоследних.ID,
                  |    ВыбранРегистрСрезПоследних.IMEISerial,
                  |    ВыбранРегистрСрезПоследних.АКБ,
                  |    ВыбранРегистрСрезПоследних.Неисправность,
                  |    ВыбранРегистрСрезПоследних.Комплектация,
                  |    ВыбранРегистрСрезПоследних.Комментарий,
                  |    ВыбранРегистрСрезПоследних.Модель,
                  |    ВыбранРегистрСрезПоследних.Склад,
                  |    ВыбранРегистрСрезПоследних.НаСкладе,
                  |    ВыбранРегистрСрезПоследних.ГарантийныйРемонт,
                  |    ПартииРемонтовСрезПоследних.Партия,
                  |    СтоимостьРемонтовОстатки.СебестоимостьОстаток,
                  |    СтоимостьРемонтовОстатки.ЦенаОстаток
                  |ИЗ
                  |    РегистрСведений.СостояниеРемонтов.СрезПоследних КАК ВыбранРегистрСрезПоследних
                  |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПартииРемонтов.СрезПоследних КАК ПартииРемонтовСрезПоследних
                  |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьРемонтов.Остатки КАК СтоимостьРемонтовОстатки
                  |            ПО ПартииРемонтовСрезПоследних.ID = СтоимостьРемонтовОстатки.ID
                  |        ПО ВыбранРегистрСрезПоследних.ID = ПартииРемонтовСрезПоследних.ID
                  |ГДЕ
                  |    ВыбранРегистрСрезПоследних.НаСкладе = &НаСкладе
                  |
                  |УПОРЯДОЧИТЬ ПО
                  |    ВыбранРегистрСрезПоследних.Период";
   
Запрос.УстановитьПараметр("НаСкладе",Контрагент);
Запрос.УстановитьПараметр("Сервис",Контрагент);


Надо чтобы измерению регистра накопления  СтоимостьРемонтовОстатки.Сервис отбирало тоже только те где равно этому контрагенту.
Но  если дописываю такую строку |    И СтоимостьРемонтовОстатки.Сервис = &НаСкладе то уже количество строк урезает.
Как соединить ? Не знаю!

Поможет ктото?
26 cViper
 
10.12.11
12:10
(0) У тебя даже в никнеqме ошибка. Не boudy a body.
facepalm.jpg
27 catena
 
10.12.11
12:20
Параметры виртуальных таблиц?
28 Boudybuilder
 
10.12.11
12:21
Это такой ответ?
29 Boudybuilder
 
10.12.11
12:21
(27)
Ну...
Напиши пример пожалуйста...
Ато я уже тут запарился
30 Boudybuilder
 
10.12.11
12:26
Народ...
Хелп ми!
31 catena
 
10.12.11
12:29
(29)Открой запрос коструктором запросов, встань на таблицу "СрезПоследних", нажми свойства виртуальной таблицы и запихни туда все, что запиху_ется из ГДЕ.
32 catena
 
10.12.11
12:30
Когда ты накладываешь условие ГДЕ на параметры присоединенной таблицы - ты автоматом отсекаешь все строки, в которых эти параметры не присоединились.
33 Boudybuilder
 
10.12.11
12:32
(31)
Спасибо , дорогая!
Щас спробую!