Имя: Пароль:
1C
1С v8
v8: Я не умею давать имена темам (Проблемы с запросом)
0 arul
 
28.11.11
17:37
Есть регистр  сведений
Нужно получить по каждой номенклатуре запись с самой новой серией номенклатуры (дата серии самая большая)

В запрос передается массив
Я сделал вот такой запрос

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


но он выкидывает только первую запись номенклатуры, а остальные не могу вывести.
1 Axel2009
 
28.11.11
18:29
как выкидывает? где остальной код?
2 DrShad
 
28.11.11
18:32
(0) язык запросов не учили читать?
3 Jaffar
 
28.11.11
18:41
а для СрезПоследних дату указывать не нужно?
4 arul
 
28.11.11
18:59
(2) тока начинаю разбираться с ним.

(3) на текущую дату


Извиняюсь. Ошибся с результатом. Этот запрос выкидывает все записи по каждой номенклатуре, а мне нужно самую последнюю по дате поступления СерииНоменклатуры

Регистр сведений ЦеныВРозницеЛБ - туда при поступлении товара на склад записывается розничная и покупная цена. По одному и тому же товару может быть несколько записей. Мне в запросе нужно определить цены самой последней Серии по дате поступления (хотя она может прийти на склад и не самая последняя)

Регистр сведений ЦеныВРозницеЛБ имеет :

Измерения: Склад, Номенклатура, СерияНоменклатуры
Ресурсы: ЦеныВРозницеЛБ, ЦенаПокупная

ТЗ.ВыгрузитьКолонку("Номенклатура") - Это Выгрузка табличной части документа ПеремещениеТоваров.

Эта задача для переоценки. Если  товар поступает на склад и там уже есть (или был) такой же товар,то определяем:  если СерияНоменклатуры старая (Есть на этом складе номенклатура с серией, где дата поступления больше), то   розничная и покупная цены дооцениваются до последней Серии.

ну как бы так
5 DrShad
 
28.11.11
19:06
язык запросов читаем и курим
6 rotting
 
28.11.11
19:25
выбрать первые 1
7 ЧашкаЧая
 
28.11.11
19:29
(6) ничего не выйдет, МАКСИМУМ/МИНИМУМ
8 arul
 
28.11.11
19:30
(6) выбрать первые 1  сработает только для одного самого первого товара, а отбор происходит по целому списку товаров. Должно как то быть выбрать первые 1 ПО КАЖДОМУ товару. Вот этом то и загвоздка
9 arul
 
28.11.11
19:31
(7) Как это можно организовать?
10 ЧашкаЧая
 
28.11.11
19:32
(8) юзай МАКСИМУМ и подзапрос, Люк.
В книге знаний есть статья про цены на каждую дату, посмотри, должно помочь в понимании.
11 ЧашкаЧая
 
28.11.11
19:33
12 Jaffar
 
28.11.11
19:48
а как же
|ИЗ
| РегистрСведений.ПервоначальныеСведенияНМАБухгалтерскийУчет.СрезПоследних(&НачалоПериода,
|              Организация = &Организация И НематериальныйАктив