Имя: Пароль:
1C
1С v8
Как в запросе отобрать движения регистра по реквизиту?
0 Bob200555
 
21.02.12
16:21
Запрос2.Текст = "ВЫБРАТЬ
                     |    МпзДокумента.МПЗ,
                     |    МпзДокумента.ДатаВып КАК ДатаВ,
                     |    МпзДокумента.Количество КАК Кол,
                     |    МпзДокумента.МесРасход КАК МесР,
                     |    ЕСТЬNULL(ЗаявкиОстатки.КоличествоОстаток, 0) КАК Заявки,
                     |    ЕСТЬNULL(ПартииОстатки.КоличествоОстаток, 0) КАК ОстатокМПЗ,
                     |    ЕСТЬNULL(ПартииОбороты.КоличествоРасход, 0) КАК КолР
                     |ИЗ
                     |    МпзДокумента КАК МпзДокумента
                     |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Заявки.Остатки(&КонецПериода, ) КАК ЗаявкиОстатки
                     |        ПО МпзДокумента.МПЗ = ЗаявкиОстатки.МПЗ
                     |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Партии.Остатки(&КонецПериода, ) КАК ПартииОстатки
                     |        ПО МпзДокумента.МПЗ = ПартииОстатки.МПЗ
                     |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Партии.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПартииОбороты
                     |        ПО МпзДокумента.МПЗ = ПартииОбороты.МПЗ
                     |ГДЕ
                     |    ПартииОстатки.Качество.Ссылка = &Качество";
                   
                   
   Запрос2.УстановитьПараметр("НачалоПериода", НачалоДня(Ссылка.Дата-1814400));
   Запрос2.УстановитьПараметр("КонецПериода", НачалоДня(Ссылка.Дата));                
   Запрос2.УстановитьПараметр("Качество", Перечисления.Качество.Норма);
   Запрос2.УстановитьПараметр("ВидДвижения", Перечисления.КодОперации.Списание);


Нужно выбрать расход в регистре партии по реквизиту "Списание"
1 КМ155
 
21.02.12
16:22
(0) Остатки и отбор по реквизиту не совместимы
2 ДенисЧ
 
21.02.12
16:24
В оборотах укажи периодичность Регистратор и фильтруй по нему...
3 Господин ПЖ
 
21.02.12
16:27
нету реквизитов ни в остатках ни в оборотах...
4 Господин ПЖ
 
21.02.12
16:27
и быть не может...
5 golden-pack
 
21.02.12
16:28
(21) ВЫБРАТЬ * ИЗ РегистрНАкопления.Партии КАК РЕГ ГДЕ Рег.Дата Между и Рег.Реквизит =
6 Bob200555
 
21.02.12
16:32
Нет мне обороты нужны, а не остатки. По регистратору по определенным причинам не подходит
7 Господин ПЖ
 
21.02.12
16:33
(6) собирай "руками" из физической таблицы... ибо (3) + (4)
8 ДенисЧ
 
21.02.12
16:34
Регистратор (Recorder)
Регистратор (Recorder)
Тип: ДокументСсылка. Содержит ссылку на документ-регистратор движения.

Примечание:

Существует только в случае, если параметр Периодичность имеет значения Регистратор или Запись.
Данное поле не может быть использовано в условии отбора записей.
9 ДенисЧ
 
21.02.12
16:35
а, точно.. Торможу.
10 Bob200555
 
21.02.12
16:39
Блин а в 7 по моему можно было выбрать...
11 Господин ПЖ
 
21.02.12
16:40
(10) можно... ибо там не было RLS...
12 Bob200555
 
24.02.12
11:57
РЗаявки = РегистрыНакопления.Заявки;
   ОтборПоДвижению = Новый Структура("КодОперации");//не знаю как правильно (
   ОтборПоДвижению.КодОперации = Перечисления.Качество.Норма;//не знаю как правильно (
   НачДата = НачалоДня(Ссылка.Дата-1814400);
   КонДата = Ссылка.Дата;
   Выборка = РЗаявки.Выбрать(НачДата,КонДата,ОтборПоДвижению);
   Расход =0;
   

   Движения.Заявки.Записывать = Истина;
   Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
   
   Пока Выборка.Следующий() Цикл
       Если Выборка.ВидДвижения = ВидДвиженияНакопления.Расход Тогда
           Если Выборка.МПЗ = ТекСтрокаТабличнаяЧасть1.МПЗ Тогда //не знаю как правильно (
           Расход = Расход + Выборка.Количество;
           Сообщить("Расход: "+Расход);
           КонецЕсли;
       КонецЕсли;
   КонецЦикла;        
   
       Движение = Движения.Заявки.Добавить();
....
   КонецЦикла;

А с помощью выборки можно?