Имя: Пароль:
1C
1С v8
Помогите с запросом.
0 ks-78
 
07.09.13
13:28
Есть табличная часть документа, поле номенклатура. Есть регистр сведений , в котором для одного значения номенклатуры хранится несколько значений. Нужно в запросе выбрать номенклатуру и для каждой номенклатуры первое значение из регистра сведений. Подскажите, как это сделать. Запрос выглядит так:

ВЫБРАТЬ
    ДопИмена.Коробка КАК Коробка,
    ЗаказТовары.Номенклатура КАК Номенклатура,
    ЗаказТовары.Характеристика
ИЗ
    Документ.Заказ.Товары КАК ЗаказТовары
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
            ТК.Номенклатура КАК Номенклатура,
            ТК.Коробка.Наименование КАК Коробка,
            ТК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
        ИЗ
            РегистрСведений.ДопИмена КАК ТК) КАК ДопИмена
        ПО ЗаказТовары.Номенклатура = ДопИмена.Номенклатура
            И ЗаказТовары.Характеристика = ДопИмена.ХарактеристикаНоменклатуры


Я так понимаю, что во вложенный запрос надо вставить условие, только вот какое именно...
1 echo77
 
07.09.13
13:34
Что есть "первое значение из регистра сведений"? Регистра сведений периодический?
2 ИсчадиеADO
 
07.09.13
13:35
за 5 лет не научиться готовить запросы?
3 Klesk
 
07.09.13
13:37
ВЫБРАТЬ ПЕРВЫЕ 1
    ЦеныНоменклатурыПоставщиковСрезПервых.Цена
ИЗ
    РегистрСведений.ЦеныНоменклатурыПоставщиков.СрезПервых КАК ЦеныНоменклатурыПоставщиковСрезПервых
4 echo77
 
07.09.13
13:38
Группирнуть регистр по Номенклатуре, Характеристике, для знаения использовать функцию максимум/минумим - соединить. Получишь что попало :-/
5 ks-78
 
07.09.13
13:39
регистр сведений не периодический. В нем каждой номенклатуре соответствует куча значений. Нужно выбрать первое для каждой номенклатуры.
6 Klesk
 
07.09.13
13:39
если не периодический
ВЫБРАТЬ ПЕРВЫЕ 1

....

УПОРЯДОЧИТЬ ПО Код
7 ИсчадиеADO
 
07.09.13
13:40
от варианта в (4),до "срез последних как каждую дату", до коррелированого подзапроса. Всё в гугле есть
8 ks-78
 
07.09.13
13:44
В регистре не для каждой номенклатуры есть записи. Но эта номенклатура тоже должна попасть в запрос
9 echo77
 
07.09.13
13:46
(8) Левое соединение тебе в помощь
10 echo77
 
07.09.13
13:48
(5) Что в твоем понятии "первое"?
Вот регистр
Номенклатура Характеристика Коробка
Товар1    -----    1
Товар1    -----    2
Товар2    Хар2     3
Товар2    Хар1     4

Что здесь первое?
11 ks-78
 
07.09.13
13:49
(9) так я так вроде и пытаюсь сделать... в SQL такая конструкция работала, во вложенном запросе можно было поставить условие, указав поле из главного запроса.. а тут похоже не работает...
12 ks-78
 
07.09.13
13:50
(10) мне и нужно для данной номенклатуры и данной характеристики получить первую коробку. Так что для первых двух записей - первая и является первой.
13 echo77
 
07.09.13
13:52
А если вот так выглядит таблица коробок?
Номенклатура Характеристика Коробка
Товар1    -----    2
Товар1    -----    1


Какая первая?
14 ks-78
 
07.09.13
13:56
(13) - первая по алфавиту, упорядочивание в запрос не вставил,  чтобы покороче запрос был на форуме
15 Klesk
 
07.09.13
14:04
ответ в (6)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший