|
Подскажите про регистр сведений | ☑ | ||
---|---|---|---|---|
0
Double_Medved
29.11.12
✎
13:02
|
Подскажите пожалуйста, извините если вопрос легкий. Мне нужно выбрать всю номенклатуру и ее цены по определенному виду цен. Есть РегистрСведений ЦеныНоменклатуры, он переодический и подчинен регистратору, в регистраторах несколько документов - УчтановкаЦенНоменклатуры, КорректировкаРегистров. Вот я выбрал всю номенклатуру. Как мне выбрать все цены из этого регистра? Ведь вроде бы чтобы прочитать данные оттуда, нужно делать отбор по регистратору - а в одном документе назначение только нескольких цен. Получается мне нужно перебрать все регисраторы? Наверняка есть способ проще и удобней, подскажите пожалуйста если сталкивались с этим.
|
|||
1
Wobland
29.11.12
✎
13:03
|
срез последних возьми
|
|||
2
Wobland
29.11.12
✎
13:04
|
>регисратор
какая качественная очепятка |
|||
3
Double_Medved
29.11.12
✎
13:04
|
О, спасибо Wobland!
|
|||
4
Double_Medved
29.11.12
✎
13:04
|
Ответ за одну минуту! Супер!
|
|||
5
shuhard
29.11.12
✎
13:05
|
(0) кури запросы
ибо срез последних кодом - УГ |
|||
6
Double_Medved
29.11.12
✎
13:05
|
Запросом быстрей работать будет, да?
|
|||
7
evorle145
29.11.12
✎
13:06
|
В запросах разбираться надо, а так сделал быстро и ладно.
|
|||
8
Wobland
29.11.12
✎
13:06
|
(6) проверял, нет. но я за запрос
|
|||
9
Wobland
29.11.12
✎
13:07
|
(7) имею противную ситуацию ;)
|
|||
10
Double_Medved
29.11.12
✎
13:09
|
Ну там 20000 элементов номенклатуры, выгрузка идет пару минут.Не фатально. Просто интересно как лучше делать
|
|||
11
Wobland
29.11.12
✎
13:10
|
(10) пару минут? это перебор
|
|||
12
Double_Medved
29.11.12
✎
13:10
|
Это долго?
|
|||
13
Double_Medved
29.11.12
✎
13:11
|
Ну я понимаю что 2 секунды было бы лучше конечно, и мне интересно что работает быстрее.
|
|||
14
shuhard
29.11.12
✎
13:11
|
(12) это косяк
|
|||
15
Wobland
29.11.12
✎
13:11
|
(12) это примерно 120000 миллисекунд
|
|||
16
Wobland
29.11.12
✎
13:11
|
(13) а быстрее работает правильно написанный код
|
|||
17
Double_Medved
29.11.12
✎
13:13
|
Ну вот мне и интересно - вроде говорят что запросы всегда быстрее чем всякие встроенные методы и т.д.
|
|||
18
sidalexsandr
29.11.12
✎
13:14
|
Вот тебе запрос:
Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ЦеныНоменклатуры.Период, | ЦеныНоменклатуры.Номенклатура, | ЦеныНоменклатуры.ТипЦен, | ЦеныНоменклатуры.Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры |ГДЕ | ЦеныНоменклатуры.ТипЦен = &НужныйТипЦен"; Запрос.УстановитьПараметр("НужныйТипЦен", <НужныйТипЦен>); //Тип цен номенклатуры РезультатЗапроса = Запрос.Выполнить(); |
|||
19
Miss1C
29.11.12
✎
13:15
|
(6) Запросом проще, но отрабатывает быстрее отбором
|
|||
20
Double_Medved
29.11.12
✎
13:15
|
И не подскажете - вот если устанавливается Отбор() в РегистреСведений - а там например измерение Номенклатура и Цена. А в отборе я указываю только цену. То он поймет и выберет отбор только по цене? А нужно писать типа Отбор(Цена) или Отбор(,Цена)? То есть как правильно писать если там несколько измерений, а ты указываешь одно из них?
|
|||
21
Miss1C
29.11.12
✎
13:16
|
(18) Условие лучше использовать в параметре ВТ
|
|||
22
sidalexsandr
29.11.12
✎
13:16
|
Вот тот же что и в (18), но только СрезПоследних:
Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Период, | ЦеныНоменклатурыСрезПоследних.Номенклатура, | ЦеныНоменклатурыСрезПоследних.ТипЦен, | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних |ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен = &НужныйТипЦен"; Запрос.УстановитьПараметр("НужныйТипЦен", <НужныйТипЦен>); //Тип цен номенклатуры РезультатЗапроса = Запрос.Выполнить(); |
|||
23
Wobland
29.11.12
✎
13:16
|
(19) точно?
|
|||
24
Miss1C
29.11.12
✎
13:16
|
(20) Поймет, только создавайте структуру
|
|||
25
Miss1C
29.11.12
✎
13:17
|
(23) Проверяла и не раз
|
|||
26
Double_Medved
29.11.12
✎
13:17
|
sidalexsandr, большое спасибо.
|
|||
27
Wobland
29.11.12
✎
13:17
|
(22) а период где?
|
|||
28
Wobland
29.11.12
✎
13:17
|
(25) подерёмся? я тоже проверял
|
|||
29
Double_Medved
29.11.12
✎
13:17
|
Miss1C, то есть мне создать структуру только из цены и сделать отбор по ней?
|
|||
30
Miss1C
29.11.12
✎
13:18
|
(20) Отбор(,Новый Структура("Цена", МояЦена));
|
|||
31
Double_Medved
29.11.12
✎
13:18
|
sidalexsandr, да, а как тут с периодом? его же тоже надо задать? А если его не задать, то что он выберет?
|
|||
32
Miss1C
29.11.12
✎
13:18
|
(27) Срез последних
|
|||
33
Double_Medved
29.11.12
✎
13:18
|
Miss1C, Спасибо.
|
|||
34
sidalexsandr
29.11.12
✎
13:19
|
(27),(31) Вот: Запрос = Новый Запрос;
Запрос.Текст = " |ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Период, | ЦеныНоменклатурыСрезПоследних.Номенклатура, | ЦеныНоменклатурыСрезПоследних.ТипЦен, | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних |ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен = &НужныйТипЦен | И ЦеныНоменклатурыСрезПоследних.Период = &НужныйПериод"; Запрос.УстановитьПараметр("НужныйПериод", <НужныйПериод>); //Дата Запрос.УстановитьПараметр("НужныйТипЦен", <НужныйТипЦен>); //Тип цен номенклатуры РезультатЗапроса = Запрос.Выполнить(); |
|||
35
Wobland
29.11.12
✎
13:19
|
(31) на дату последней записи
|
|||
36
Double_Medved
29.11.12
✎
13:19
|
А, с периодом понятно. То есть там правильно написано и он возьмет то что мне нужно - срез последних, да?
|
|||
37
Wobland
29.11.12
✎
13:19
|
(34) двоечник. период в параметры сувать принято у белых люде
|
|||
38
Starhan
29.11.12
✎
13:20
|
(31) не поверишь. Срез последних на текущую дату
|
|||
39
Double_Medved
29.11.12
✎
13:20
|
sidalexsandr, Спасибо
|
|||
40
Wobland
29.11.12
✎
13:20
|
(36) прекращай гундеть, иди работать
|
|||
41
Miss1C
29.11.12
✎
13:20
|
(37) Я ему писала, условие и период в параметры засунуть)
|
|||
42
Nenaviwu1c20
29.11.12
✎
13:21
|
(22) единственное к запросу добавь срез на дату и все пучком будет и проще думаю
|
|||
43
Wobland
29.11.12
✎
13:22
|
(38) тоже двоечник
|
|||
44
Miss1C
29.11.12
✎
13:22
|
(28) И что вы проверяли?
|
|||
45
Nenaviwu1c20
29.11.12
✎
13:22
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Период, | ЦеныНоменклатурыСрезПоследних.Номенклатура, | ЦеныНоменклатурыСрезПоследних.ТипЦен, | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ) КАК ЦеныНоменклатурыСрезПоследних |ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен = &НужныйТипЦен"; Запрос.УстановитьПараметр("НужныйТипЦен", <НужныйТипЦен>); //Тип цен номенклатуры запрос.УстановитьПараметр("ДатаКон", <НаКакуюДатуСнимаем>); РезультатЗапроса = Запрос.Выполнить(); |
|||
46
Wobland
29.11.12
✎
13:23
|
(44) объектный и реляционный подход, абсолютное время работы
|
|||
47
Starhan
29.11.12
✎
13:23
|
(43) :( не критично
|
|||
48
hhhh
29.11.12
✎
13:24
|
(45) а тип цен?
|
|||
49
Miss1C
29.11.12
✎
13:24
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Период, | ЦеныНоменклатурыСрезПоследних.Номенклатура, | ЦеныНоменклатурыСрезПоследних.ТипЦен, | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон,ТипЦен = &НужныйТипЦен ) КАК ЦеныНоменклатурыСрезПоследних"; Запрос.УстановитьПараметр("НужныйТипЦен", <НужныйТипЦен>); //Тип цен номенклатуры запрос.УстановитьПараметр("ДатаКон", <НаКакуюДатуСнимаем>); РезультатЗапроса = Запрос.Выполнить(); |
|||
50
Double_Medved
29.11.12
✎
13:24
|
Спасибо, пишу задачу, попробую использовать вопрос
|
|||
51
korableg
29.11.12
✎
13:26
|
(4)это волшебный форум сэр x) тут только культурные 1сники
|
|||
52
korableg
29.11.12
✎
13:26
|
(4) которые рады помочь))
|
|||
53
Wobland
29.11.12
✎
13:28
|
(52) и нафлудить с полсотни постов за полчаса
|
|||
54
Double_Medved
29.11.12
✎
15:12
|
Спасибо, сделал запросом. Выгружает пару секунд.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |