Имя: Пароль:
1C
 
Запрос
0 kabv
 
04.12.08
06:58
Здравствуйте.
Есть документ-поступление, есть еще документ-корректировка этого поступления, корректировок поступлений может быть много, в корректировке есть ссылка на поступление, в поступлении ссылки на корректировку нет, как мне построить запрос, чтобы выбирались не все корректировки, а только последняя корректировка к поступлению?
Заранее благодарен.
1 ASV
 
04.12.08
07:02
ВЫБРАТЬ ПЕРВЫЕ 1
   КорректировкаЗаказаПокупателя.Ссылка,
   КорректировкаЗаказаПокупателя.Представление
ИЗ
   Документ.КорректировкаЗаказаПокупателя КАК КорректировкаЗаказаПокупателя
ГДЕ
   КорректировкаЗаказаПокупателя.ЗаказПокупателя = &ЗаказПокупателя

УПОРЯДОЧИТЬ ПО
   КорректировкаЗаказаПокупателя.Дата УБЫВ
2 BabySG
 
04.12.08
07:03
Смотри типовую УТ или УПП - Заказ и Корректировка заказа.
3 kabv
 
04.12.08
09:43
У меня их нет, а выбрать первые выбирают только 1 запись из запроса, а у мя корректировка во вложенном запросе выбирается, можно ли в одном запросе получить поступления и последние корректировки к ним или нет?
4 КонецЕсли
 
04.12.08
10:46
...
из Документ.ЗаказПокупателя как ЗаказПокупателя
Левое Соединение
(ВЫБРАТЬ
   Максимум (КорректировкаЗаказаПокупателя.Ссылка) как ссылка,
   КорректировкаЗаказаПокупателя.ЗаказПокупателя как ЗаказПокупателя
ИЗ
   Документ.КорректировкаЗаказаПокупателя КАК КорректировкаЗаказаПокупателя
СГРУППИРОВАТЬ ПО
   КорректировкаЗаказаПокупателя.ЗаказПокупателя) как Корректировка
по ЗаказПокупателя.ссылка=Корректировка.ЗаказПокупателя
5 Turpentine
 
04.12.08
11:16
(4) Максимум по ссылке не всегда дает последний по хронологии документ, особенно в sql.
6 Sadovnikov
 
04.12.08
11:23
(5) "особенно в sql" - имхается мне, что пофиг - скуль или файловая. Просто нельзя так делать.
7 hhhh
 
04.12.08
11:27
(5) она сортирует по представлению ссылки
8 Aprobator
 
04.12.08
11:40
Что за манера писать запосы по документам, а не по их движениям?
Тебе нужно движение последней корректировки ссылающийся на данное поступление?
9 Sadovnikov
 
04.12.08
11:43
(8) А позволь узнать - какая разница, из какой таблицы выборку делать?
10 Черный всадник
 
04.12.08
11:45
(9) Разные индексы
11 Sadovnikov
 
04.12.08
11:47
(10) Так, на сколько я понял, (8) имел ввиду, что вообще нехрен запросы по документам делать? Поэтому и возник вопрос в (9).
12 hhhh
 
04.12.08
11:48
(8) там может быть две корректировки с одинаковой датой, и тогда труба.
13 Aprobator
 
04.12.08
11:50
(11) если док двигает регистр, то первоисточником для запроса должна быть таблица регистра.
14 hhhh
 
04.12.08
11:51
(12)+ поэтому все равно придется еще и регистраторы вытаскивать.
15 Sadovnikov
 
04.12.08
11:53
(13) И откуда такая уверенность в этом? Я бы даже сказал - безапелляционность?
16 los_hooliganos
 
04.12.08
11:59
(15) 13ый наверное интуитивно догадывается что в документах не храняться итоги, но не может этого объяснить.
17 Sadovnikov
 
04.12.08
12:00
(16) Чёй-то я в этом сомневаюсь. Сдается мне, что (13) просто не понимает, что и документ и регистр - это для скуля одно и то же. Таблица.
18 Aprobator
 
04.12.08
12:01
(14) условие в параметрах виртуалной таблицы и вся недолга.
(15) Ответь топикстратеру, эта ветка поднималась не для обсуждений моих методов работы.
19 hhhh
 
04.12.08
12:01
(16) нам ведь итоги не нужны. В задаче ведь требуется найти последний документ корректировки. Так что таблица в этом случае нахрен не нужна. Тормозной вариант.
20 Sadovnikov
 
04.12.08
12:02
(18) Мне в данном случае интереснее узнать ответ на вопрос в (15).
21 Черный всадник
 
04.12.08
12:24
(15) Это промывание мозгов 1С. Почему надо брать данные из РН - записи по РН можно сформировать без проведения документа и заплднения ТЧ, даже без записи самого документа в БД.
22 Sadovnikov
 
04.12.08
12:25
(21) Вот я как раз это и имел ввиду... :(
23 Sadovnikov
 
04.12.08
12:26
+(22) Я имел ввиду "Это промывание мозгов 1С".
24 Aprobator
 
04.12.08
12:42
Ну накинулись. Был не прав. (19) -  сенкс, такая простая мысля мне в голову не пришла, что будет тащиться еще куча всего лишнего. Я так понял - тему можно закрывать? :)
2 + 2 = 3.9999999999999999999999999999999...