|
Подскажите с запросом 8.2 | ☑ | ||
---|---|---|---|---|
0
sapravka
30.03.14
✎
23:46
|
Здравствуйте.
Если что не так - прошу сильно не ругать. Делаю запрос в БП ред. 2.0: Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | ПоступлениеТоваровУслуг.МОЛ, | ПоступлениеТоваровУслуг.Склад, | ЦеныНоменклатурыСрезПоследних.Цена * ПоступлениеТоваровУслугТовары.Количество КАК ЦенаПродажи |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних | ПО ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг | ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка |ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = ""000000001"" | И ПоступлениеТоваровУслуг.Ссылка = &ТекущийДокумент"; Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); И вот тут отбирается цены на дату только последние, а необходимо, что бы отбиралась на актуальную цену документа, то есть если делаем документ прошлым периодом, а там цена на товар была, например 100 рублей, а сейчас (последняя цена, например 120 руб.), то все равно отбирается по 120. Убедительно прошу, подскажите, как в запросе составить условие, что бы цены брались на дату составления документа? Где именно условие задать? И где и как прописать? И для этого актуально использовать РегистрСведений.ЦеныНоменклатуры.СрезПоследних или необходимо использовать РегистрСведений.ЦеныНоменклатуры? |
|||
1
zippygrill
30.03.14
✎
23:51
|
Поищи на форуме запрос на каждую дату. Ну или иди на сайте 1cskd.ru
|
|||
2
Armando
31.03.14
✎
00:08
|
||||
3
Armando
31.03.14
✎
00:10
|
И здесь
"ПО ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка" ссылку надо еще раз несколько упомянуть... чтоб наверняка. |
|||
4
Redkiy
31.03.14
✎
06:21
|
1. установи параметр &ДатаСреза в таблице первого соединения
2. второе соединение лишнее, используй ПоступлениеТоваровУслугТовары.Ссылка.МОЛ |
|||
5
Redkiy
31.03.14
✎
06:22
|
и это ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен... тоже в параметры виртуальной таблицы засунь
|
|||
6
Рэйв
31.03.14
✎
06:23
|
(3)+1
даже вот так будет надежнее: ПО ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка.Ссылка.Ссылка.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка.Ссылка.Ссылка.Ссылка |
|||
7
catena
31.03.14
✎
08:22
|
Не нужен тут срез последних на каждую дату, документ-то один. тут нужно просто срез ограничить.
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НужнаяДата) |
|||
8
ivanovnm
31.03.14
✎
09:05
|
(6) Четвертое ".Ссылка" лишнее, три работают достаточно надежно
|
|||
9
ivanovnm
31.03.14
✎
09:07
|
(7) Максимум(Период)
ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних ГДЕ Период <= &НужнаяДата |
|||
10
catena
31.03.14
✎
09:28
|
(9)Ну тогда уж без среза последних. Хотя смысл, если есть специально обученная виртуальная таблица?
|
|||
11
xXeNoNx
31.03.14
✎
09:34
|
(0) кури параметры виртуальной таблицы "Срез последних", сейчас у тебя будет по всем периодам выборка идти и будет куча записей
|
|||
12
ivanovnm
31.03.14
✎
09:35
|
(10) Со срезом прикольнее
|
|||
13
toys
31.03.14
✎
09:38
|
(0) смысл в том чтобы получить самую максимальную запись по периоду из ЦенНоменклатуры, которая меньше даты документа...для этого делай соединение документа с регистром сведений "ЦеныНоменклатуры" в условие связи Док.Дата>ЦеныНом.Период, ЦеныНом.Период в суммируемые поля с функцией "Максимум", ЦеныНом.Цена в группируемые.
|
|||
14
WildSery
31.03.14
✎
09:43
|
(0) Убери "ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка", достаточно писать "ПоступлениеТоваровУслугТовары.Номенклатура", и в ценах тоже.
Перемести условие "ЦеныНоменклатурыСрезПоследних.ТипЦен.Код" из ГДЕ в условие соединения, иначе левое соединение становится внутренним. Запрос.УстановитьПараметр("ДатаТекущегоДокумента", ЭтотОбъект.Дата); РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаТекущегоДокумента) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |