|
Предыдущая запись в регистре сведений. запрос. | ☑ | ||
---|---|---|---|---|
0
prtx
10.06.15
✎
18:53
|
Уважаемы форумчане. В запросах я не очень силен.
Ситуация такая. Есть периадический регистр сведения "Прайсы", туда мы загружаем прайсы поставщиков. И нужно в запросе отобрать только новые позиции. Например: В первом прайсе у нас были только яблоки и груши. А во втором яблоки, груши, сливы. Так вот мне нужно получить сливы. При этом во всех пред-предыдущих прайсах сливы могут быть. Т.е. получаем новые позиции только по сравнению с предыдущим прайсом. Чет ни как не могу сообразить как? Зараннее всем спасибо. |
|||
1
Casey1984
10.06.15
✎
18:56
|
А в свойствах виртуальной таблицы регистра сведений СрезПоследних разве отбор по сливам не спасает?
|
|||
2
mehfk
10.06.15
✎
18:59
|
(0) Написать свой СрезПредПоследних, сделать внутренне соединение со срезомпоследних по номенклатура и ценникпоследних <> ценникпредпоследних
|
|||
3
Casey1984
10.06.15
✎
19:01
|
(2) Мне кажется не нужны ему предпоследние, у него просто во второй записи нету слив а есть в первой. Регистр периодический и отбор в свойствах виртуальной таблицы может помочь.
|
|||
4
mehfk
10.06.15
✎
19:01
|
прочитал еще раз (0) не внутреннее, а правое
|
|||
5
Casey1984
10.06.15
✎
19:02
|
Последнюю цену слив надо получить, так?
|
|||
6
mehfk
10.06.15
✎
19:02
|
вангую у (0) скорее всего печать списка ценников/этикеток по новым или отличающимся по цене позициям.
|
|||
7
Casey1984
10.06.15
✎
19:04
|
Молчание... наверное слив наелся) Они слабят)
|
|||
8
Drac0
10.06.15
✎
19:28
|
(0) тебе надо не регистр дергать, а сам последний прайс. Нужную тебе инфу не получить из регистра.
|
|||
9
prtx
10.06.15
✎
19:53
|
(1) Нет оно все равно мне достает все записи.
|
|||
10
Casey1984
10.06.15
✎
19:54
|
(9) кинь уж запрос сюда на всякий случай)
|
|||
11
prtx
10.06.15
✎
19:55
|
(5) (6) Не не угадали. Нужно сделать для человека который делает заказ, что бы он мог посмотреть что новеньго появилось а не перелапачивать весь последний прайс, ибо там может быть и 1000 и 6000 позиций.
|
|||
12
prtx
10.06.15
✎
20:01
|
(10) вот запрос. ну это пока фигня а не запрос.
"ВЫБРАТЬ | ПрайсыПоставщиковСрезПоследних.Код, | ПоставляемаяНоменклатура.Номенклатура |ИЗ | РегистрСведений.ПрайсыПоставщиков.СрезПоследних КАК ПрайсыПоставщиковСрезПоследних | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПоставляемаяНоменклатура КАК ПоставляемаяНоменклатура | ПО ПрайсыПоставщиковСрезПоследних.Код = ПоставляемаяНоменклатура.Код" Нужно из ПрайсыПоставщиков получить новые(те которых не было именно в предыдущем прайсе от этого поставщика) записи. Регистр ПоставляемаяНоменклатура - это регистр в которм храниться связка номенклатуры по коду этойсамой номенклатуры у поставщика, это для удобства и для болешего гемороя.. т.е. у нас написано Огурец а у поставщика Агурец, но мы друг друга понимали, ну не суть... |
|||
13
Casey1984
10.06.15
✎
20:09
|
Да тут, mehfk в правильном направлении указал походу.
|
|||
14
prtx
10.06.15
✎
21:04
|
(13) (2)
Вот что у меня получилось, но теперь вообще ничего не выбирает. Поскажите, я наверное не правильно понял.. "ВЫБРАТЬ | ПрайсыПоставщиковСрезПоследних.Код, | ПоставляемаяНоменклатура.Номенклатура |ИЗ | РегистрСведений.ПрайсыПоставщиков.СрезПоследних КАК ПрайсыПоставщиковСрезПоследних | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПоставляемаяНоменклатура КАК ПоставляемаяНоменклатура | ПО ПрайсыПоставщиковСрезПоследних.Код = ПоставляемаяНоменклатура.Код | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПрайсыПоставщиковСрезПервых.Код КАК Код, | ПрайсыПоставщиковСрезПервых.Регистратор КАК Регистратор, | ПрайсыПоставщиковСрезПервых.Период КАК Период | ИЗ | РегистрСведений.ПрайсыПоставщиков.СрезПервых КАК ПрайсыПоставщиковСрезПервых) КАК ВложенныйЗапрос | ПО (ПрайсыПоставщиковСрезПоследних.Код <> ВложенныйЗапрос.Код) | И ВложенныйЗапрос.Период < ПрайсыПоставщиковСрезПоследних.Период |ГДЕ | ПрайсыПоставщиковСрезПоследних.Код ЕСТЬ NULL " |
|||
15
prtx
10.06.15
✎
21:22
|
Ну не ужели ни у кого никогда нистояла задача сравнить в запросе записи с предыдущей ?
|
|||
16
Drac0
10.06.15
✎
22:45
|
(15) если я твою задачу понял правильно, то все-таки смотри (8) .
Тогда задача банальна: находишь прошлый документ прайс, к табличной части нового присоединяешь табличную часть этого последнего и фильтруешь по тем, где товар из старой таблицы ЕСТЬ NULL. |
|||
17
prtx
11.06.15
✎
08:39
|
(16) спасибо. ну впринципи я понял суть, но как мне обратиться и найти предыдущий документ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |