|
Как вытащить с регистра сведений данные на определенный период? | ☑ | ||
---|---|---|---|---|
0
v700
15.10.11
✎
11:52
|
Как вытащить из регистра сведений данные на определенный период (15.09.2011-15.10.2011).
|
|||
1
shuhard
15.10.11
✎
11:56
|
(0) запросом
|
|||
2
v700
15.10.11
✎
12:09
|
пожалуйста, покажите на примере.
|
|||
3
Lama12
15.10.11
✎
12:14
|
(2) Пример во встроенной справке есть.
|
|||
4
дущ
15.10.11
✎
12:14
|
(2) типовую открой - миллион примеров.
|
|||
5
zak555
15.10.11
✎
12:18
|
группировку по периоду ?
|
|||
6
untru
15.10.11
✎
12:19
|
открой конструктор запроса вытащи в среднее поле свой регистр и задай условия)
|
|||
7
v700
15.10.11
✎
12:21
|
zak555 Да
|
|||
8
v700
15.10.11
✎
12:22
|
Сейчас сам постараюсь сделать))
|
|||
9
v700
15.10.11
✎
16:49
|
Правильно сделал?
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |ЦеныНоменклатурыСрезПоследних.Цена КАК Цена2 |ИЗ |РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(ТекущаяДата) КАК ЦеныНоменклатурыСрезПоследних |ГДЕ |ЦеныНоменклатурыСрезПоследних.Период >= &НачалоПериода |И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен"; Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата); Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ТекущаяДата()-60*60*24*ПолеСрокЛиквидности)); |
|||
10
v700
15.10.11
✎
16:50
|
Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
|
|||
11
shuhard
15.10.11
✎
16:51
|
(9) нет, это лишние
ЦеныНоменклатурыСрезПоследних.Период >= &НачалоПериода а это ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен перенеси в виртуальный Рг |
|||
12
БибиГон
15.10.11
✎
16:54
|
*Правильно сделал?
неа :) используй тогда уж лучше ПолучитьПоследнее |
|||
13
lubja
15.10.11
✎
17:02
|
если тебе нужно что-то типа истории, тогда так
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЦеныНоменклатуры.Период КАК Период, | ЦеныНоменклатуры.Цена КАК Цена2 |ИЗ | РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатуры |ГДЕ | ЦеныНоменклатуры.Период МЕЖДУ &НачалоПериода И &КонецПериода | И ЦеныНоменклатуры.ТипЦен = &ТипЦен"; Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода); Запрос.УстановитьПараметр("КонецПериода", КонецПериода); Запрос.УстановитьПараметр("ТипЦен", ТипЦен); НачалоПериода и КонецПериода устанавливаешь, как тебе нужно |
|||
14
v700
15.10.11
✎
17:02
|
Всё вроде бы работает хорошо.))
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура, | ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена1, | ЦеныНоменклатурыКонтрагентовСрезПоследних.Период, | ЦеныНоменклатурыКонтрагентовСрезПоследних.Валюта, | ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистратор, | ЦеныНоменклатурыКонтрагентовСрезПоследних.ЕдиницаИзмерения, | ЦеныНоменклатурыКонтрагентовСрезПоследних.НомерСтроки, | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена2 |ИЗ | РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, ТипЦен.Владелец.Ссылка = &ТекущаяСсылка) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКурса, ) КАК ЦеныНоменклатурыСрезПоследних | ПО ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ЦеныНоменклатурыСрезПоследних.Период >= &НачалоПериода | И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен"; Запрос.УстановитьПараметр("ТекущаяСсылка", ПолеПоставщик); Запрос.УстановитьПараметр("ДатаКурса", ПолеДата); Запрос.УстановитьПараметр("ТипЦен", ТипЦен); Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ТекущаяДата()-60*60*24*ПолеСрокЛиквидности)); Выборка = Запрос.Выполнить().Выбрать(); |
|||
15
v700
15.10.11
✎
17:04
|
lubja, Конфигуратор не позволяет так сохранить запрос( ЦеныНоменклатуры.Период МЕЖДУ &НачалоПериода И &КонецПериода).
|
|||
16
lubja
15.10.11
✎
17:07
|
(15) писала не в конфигураторе, а копипаст и изменила... поэтому сорьки)
|
|||
17
lubja
15.10.11
✎
17:10
|
(15) вот запрос, написанный в консоли
ВЫБРАТЬ ЦеныНоменклатурыКонтрагентов.Период, ЦеныНоменклатурыКонтрагентов.Цена ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов ГДЕ ЦеныНоменклатурыКонтрагентов.Период МЕЖДУ &НачалоПериода И &КонецПериода И ЦеныНоменклатурыКонтрагентов.ТипЦен = &ТипЦен |
|||
18
lubja
15.10.11
✎
17:13
|
только в этом регистре помимо Типа цен в качестве измерений фигурируют еще Номенклатура и Характеристика... поэтому нужно еще вытащить эти поля в запросе
|
|||
19
v700
15.10.11
✎
17:29
|
Вот что выдает http://s017.radikal.ru/i428/1110/de/33503819689c.png
|
|||
20
БибиГон
15.10.11
✎
17:32
|
(19) знак = убери ;)
|
|||
21
Рыжий Лис
15.10.11
✎
17:32
|
(19) МЕЖДУ это вместо =, а не вместе
|
|||
22
v700
15.10.11
✎
17:37
|
Спасибо!))
|
|||
23
lubja
15.10.11
✎
17:44
|
(22) а кинь-ка что у тебя получилось... запрос, я имею в виду...
|
|||
24
v700
15.10.11
✎
18:00
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура, | ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена1, | ЦеныНоменклатурыКонтрагентовСрезПоследних.Период, | ЦеныНоменклатурыКонтрагентовСрезПоследних.Валюта, | ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистратор, | ЦеныНоменклатурыКонтрагентовСрезПоследних.ЕдиницаИзмерения, | ЦеныНоменклатурыКонтрагентовСрезПоследних.НомерСтроки, | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена2 |ИЗ | РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, ТипЦен.Владелец.Ссылка = &ТекущаяСсылка) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКурса, ) КАК ЦеныНоменклатурыСрезПоследних | ПО ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен | И ЦеныНоменклатурыСрезПоследних.Период МЕЖДУ &НачалоПериода И &КонецПериода"; Запрос.УстановитьПараметр("ТекущаяСсылка", ПолеПоставщик); Запрос.УстановитьПараметр("ДатаКурса", ПолеДата); Запрос.УстановитьПараметр("ТипЦен", ТипЦен); Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ТекущаяДата()-60*60*24*ПолеСрокЛиквидности)); Запрос.УстановитьПараметр("КонецПериода", ТекущаяДата()); Выборка = Запрос.Выполнить().Выбрать(); |
|||
25
NcSteel
15.10.11
✎
18:50
|
Надо взять срез на начальную дату + добавить изменения за период - вот план запроса.
|
|||
26
lubja
15.10.11
✎
20:22
|
(24) если ты используешь СрезПоследних, то условие
ЦеныНоменклатурыСрезПоследних.Период МЕЖДУ &НачалоПериода И &КонецПериода тебе не нужно. посмотри внимательно на (17), я там использовала физическую таблицу ЦеныНоменклатурыКонтрагентов. а вообще, озвучь задачу. по твоему запросу не совсем поняла, что надо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |