Имя: Пароль:
1C
 
Как передать ВидДвиженияНакопления.Расход запоросу
0 Garkin
 
21.01.08
18:24
Спрашивал,уже, но к сожалению до сих пор не понял
почему у меня не работает запрос следующего содержания:

ВЫБРАТЬ
   &ВидДвижения,
   РасходнаяНакладнаяТовары.МестоХранения
ИЗ
   Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
ГДЕ
    РасходнаяНакладнаяТовары.Ссылка = &Регистратор


Запрос.УстановитьПараметр("ВидДвижения",ВидДвиженияНакопления.Расход);
1 Ц_У
 
21.01.08
18:27
ррр.....
ВЫБРАТЬ
    РасходнаяНакладнаяТовары.МестоХранения
ИЗ
   Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
ГДЕ
    РасходнаяНакладнаяТовары.Ссылка = &Регистратор И
    ВидДвижения = &ВидДвижения

Запрос.УстановитьПараметр("ВидДвижения",ВидДвиженияНакопления.Расход);
2 pezdec
 
21.01.08
18:28
из регистра выбирай, а не из документа
3 Immortal
 
21.01.08
18:28
непойму что ты хочешь данным запросом получить..ВидДвижения - в регистрах..а запрос к документам
4 Ц_У
 
21.01.08
18:29
Ой а я то повелся... ))
5 Garkin
 
21.01.08
18:35
(3) я хочу c помощью запроса сформировать таблицу значений "ТаблДвижений"
а потом сделать следующее:

ДвиженияВР = РегистрыНакопления.ТоварыНаСкладе.СоздатьНаборЗаписей()ДвиженияВР.Отбор.Регистратор.Установить(Ссылка);
ДвиженияВР.Загрузить(ТаблДвижений);
ДвиженияВР.Записать(Истина);
6 kozlishe
 
21.01.08
18:39
Используй обработку проведения документа
7 Garkin
 
21.01.08
18:40
(6) Зачем?
8 kozlishe
 
21.01.08
18:41
(7) Чтобы документ двигал регистр "ТоварыНаСкладе"
9 Garkin
 
21.01.08
18:53
(8) извини, сразу не понял.
   Хорошо в обработке проведения документа хочу написать примерно следующее

Запрос =Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
  | &ВидДвижения,
  | РасходнаяНакладнаяТовары.МестоХранения,
  | РасходнаяНакладнаяТовары.Товар,
  | РасходнаяНакладнаяТовары.Количество
//   и так далее
  |ИЗ
   Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
ГДЕ
    РасходнаяНакладнаяТовары.Ссылка = &Регистратор

Запрос.УстановитьПараметр("Регистратор",Ссылка);
Запрос.УстановитьПараметр("ВидДвижения",ВидДвиженияНакопления.Расход);
ТаблДвижений=Запрос.Выполнить().Выгрузить();

Движения.ТоварыНаСкладе.Загрузить(ТаблДвижений);


Почему эта зараза не хочет в параметре "&ВидДвижения" иметь  "ВидДвиженияНакопления"
По срабатывает при любом другом передаваемом значении ?
10 kozlishe
 
21.01.08
19:00
Здесь не надо запроса, делай проще:

Движение = Движения.ТоварыНаСкладе.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Склад=Склад   //(реквизит документа)
...
...
...

Движения.ТоварыНаСкладе.Записать();

Обращайся к реквизитам документа напрямую.
11 Garkin
 
21.01.08
19:09
(10)  Зачем если это можно сделать запросом?

Да и спрашиваю я не, как это можно сделать вообще (я это знаю) , а как это сделать запросом?
в (9) - это только простой пример, жизнь на самом деле гораздо сложнее, и
в некоторых случаях запрос такого типа может ее существенно облегчить.
12 Terv
 
21.01.08
19:11
(11) попробывал в консоле

ВЫБРАТЬ
   &ВидДвижения

все работает. рел 8.1.10
13 Garkin
 
21.01.08
19:14
(12) Спасибо, вопрос снят, пойду обновлять релиз.
14 Terv
 
21.01.08
19:15
+(12) и так вроде работает

ВЫБРАТЬ
   ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения
15 Garkin
 
21.01.08
19:21
(14) Спасибо, еще раз, дело на самом деле значит в релизе.