![]() |
|
v7: SQL, прямой запрос, периодический реквизит, получить первое значение после даты | ☑ | ||
---|---|---|---|---|
0
Eeakie
29.10.15
✎
18:35
|
Добрый вечер.
| case | when $ЗаявкаСтроки.ПриходаНет = 1 | then $ЗаявкаСтроки.Количество * 'тут должно быть следующее значение периодического реквизита после Ж.date_time_iddoc' | else $ЗаявкаСтроки.Количество * $ПоследнееЗначение.Товары.Прих_Цена(Товары.id, cast(left(Журнал.date_time_iddoc, 8) as datetime)) | end | as СуммаПокупки Как получить "следующее после Ж.date_time_iddoc значение периодического реквизита"? |
|||
1
Ёпрст
гуру
29.10.15
✎
18:38
|
писать ручонками запрос к _1sconst и там, что угодно, хоть последнее, хоть предпоследнее
|
|||
2
Eeakie
29.10.15
✎
18:41
|
(1) Не сильно радужно..
|
|||
3
orefkov
29.10.15
✎
19:00
|
Посмотри, во что $ПоследнееЗначение разворачивается, и сделай по аналогии.
http://www.1cpp.ru/docum/html/ODBC.html#id38 |
|||
4
Eeakie
29.10.15
✎
19:22
|
(3) Честно говоря, не очень понял какую аналогию тут можно провести.
|
|||
5
Eeakie
29.10.15
✎
19:38
|
(3) А нет, всё понял :) Спасибо.
|
|||
6
orefkov
29.10.15
✎
19:52
|
(5)
Там скорее всего будет что-то типа (select top 1 ... where date < .... order by ... desc) А тебе надо будет (select top 1 ... where date > ... order by ... asc) |
|||
7
Eeakie
29.10.15
✎
19:55
|
(6) Да, так и сделал. Еще раз спасибо.
|
|||
8
Eeakie
29.10.15
✎
19:56
|
(6) + только убрать "по убыванию" надо было.
|
|||
9
orefkov
29.10.15
✎
20:20
|
(8)
А знак сравнения даты? меньше на больше. |
|||
10
Eeakie
29.10.15
✎
20:22
|
(9)
| case | when $ЗаявкаСтроки.ПриходаНет = 1 | then $ЗаявкаСтроки.Количество * ( | select top 1 | cast(Периодика.value as numeric(15, 3)) | from | _1sconst as Периодика (nolock) | where | Периодика.id = 38 and | Периодика.objid = Товары.id and | Периодика.date > cast(left(Журнал.date_time_iddoc, 8) as datetime) | order by | Периодика.date, Периодика.time, Периодика.docid, Периодика.row_id | ) | else $ЗаявкаСтроки.Количество * ( | select top 1 | cast(Периодика.value as numeric(15, 3)) | from | _1sconst as Периодика (nolock) | where | Периодика.id = 38 and | Периодика.objid = Товары.id and | Периодика.date <= cast(left(Журнал.date_time_iddoc, 8) as datetime) | order by | Периодика.date desc, Периодика.time desc, Периодика.docid desc, Периодика.row_id desc | ) | end | as СуммаПокупки, |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |