|
Можно ли получить набор записей по регистру сведений с отбором по ресурсу | ☑ | ||
---|---|---|---|---|
0
bahtik
24.09.13
✎
13:37
|
Здравствуйте! Простой вопрос: можно ли получить набор записей по регистру сведений с отбором по ресурсу без использования запроса?
|
|||
1
Euguln
24.09.13
✎
13:37
|
Можно, но смысл?
|
|||
2
bahtik
24.09.13
✎
13:44
|
Ну и как? В моем случае регистр "ДисконтныеКартыКлиентов" с одним измерением "Клиент" и ресурсом "ДисконтнаяКарта". Вот мне в документе "Выдача дисконтной карты" нужно проверить, не принадлежит ли выдаваемая карта кому-то уже. Можно, конечно, сделать запрос, но мне показалось, что будет лучше сделать без него и тут я столкнулся с тем, что нет метода для отбора по ресурсу.
|
|||
3
Defender aka LINN
24.09.13
✎
13:45
|
(2) А набор записей, видимо, данные из БД получит чОрным колдунством, да?
Откуда вообще такая паническая боязнь запросов у людей, не понимаю... |
|||
4
Euguln
24.09.13
✎
13:47
|
(2) Когда кажется - креститься надо.
Интересно, а у клиента может быть две дисконтные карты? Не лучше сделать ресурс измерением. |
|||
5
bahtik
24.09.13
✎
13:49
|
(3) Причем здесь боязнь? Просто так будет более компактный и читабельный код.
|
|||
6
bahtik
24.09.13
✎
13:50
|
(4) Не лучше. Не может быть двух дисконтных карт. И если сделать ресурс измерением, то нужно будет делать еще и проверку на то, не принадлежит ли этому клиенту другая карта.
|
|||
7
bahtik
24.09.13
✎
13:52
|
(3) Если нет такого метода, естественно я СМЕЛО, ничего не БОЯСЬ, сделаю маленький и нестрашный запросик и все. Но мне просто стало интересно, можно ли решить этот вопрос без запроса.
|
|||
8
bahtik
24.09.13
✎
13:53
|
(1) Так как же?
|
|||
9
bahtik
24.09.13
✎
13:53
|
Или все таки нельзя?
|
|||
10
Euguln
24.09.13
✎
13:55
|
(9) см. 1
|
|||
11
bahtik
24.09.13
✎
13:57
|
(10) Как?
|
|||
12
IVT_2009
24.09.13
✎
13:58
|
<code>
Функция ПолучитьЦену(РЦ) Экспорт Отбор = Новый Структура("Товар", РЦ); ХХ = РегистрыСведений.ЦеныТоваров.ПолучитьПоследнее(ТекущаяДата(),Отбор); мм = 0; Для Каждого Нс из ХХ Цикл ММ = Нс.Значение; КонецЦикла; Возврат мм; КонецФункции </code> |
|||
13
IVT_2009
24.09.13
✎
14:00
|
это конечно кака-код времен изучения мною 1с, но он работает. Запросом все же было бы проще.
|
|||
14
bahtik
24.09.13
✎
14:01
|
(12) Не подходит. Отбор только по измерениям. Вот текст из СП:
<Отбор> (необязательный) Тип: Структура. Структура, содержащая отбор по измерениям регистра. |
|||
15
Euguln
24.09.13
✎
14:01
|
НаборЗаписей = РегистрыСведений.ДисконтныеКартыКлиентов.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать(); Для Каждого ЗаписьНабора Из НаборЗаписей Цикл Если ЗаписьНабора.ДисконтнаяКарта = ПроверяемаяКарта Тогда КонецЕсли; КонецЦикла; |
|||
16
bahtik
24.09.13
✎
14:03
|
(15) Ну и где здесь отбор? Вот это точно кака-код ))
|
|||
17
bahtik
24.09.13
✎
14:04
|
(13) Я хотел сделать так:
Отбор = Новый Структура("ДисконтраяКарта", ДисконтнаяКарта); ВыборкаЗаписей = РегистрыСведений.ДисконтныеКартыКлиентов.Выбрать(,,Отбор); Но и тут в отборе могут использоваться только измерения и реквизиты. Ресурсов нет. |
|||
18
Euguln
24.09.13
✎
14:04
|
(16) вот отбор:
Если ЗаписьНабора.ДисконтнаяКарта = ПроверяемаяКарта Тогда КонецЕсли; |
|||
19
Euguln
24.09.13
✎
14:05
|
(16) какой вопрос - такой ответ
|
|||
20
bahtik
24.09.13
✎
14:05
|
Уважаемый, это не отбор, а обход с проверкой. А это СОВСЕМ РАЗНЫЕ вещи.
|
|||
21
bahtik
24.09.13
✎
14:06
|
(19) Во-первых, я все таки понял, что нельзя, а во-вторых, займись лучше делом, чем тут сидеть и флудить в таком случае.
|
|||
22
Euguln
24.09.13
✎
14:06
|
(20) по сути - отбор. Только не на уровне платформы.
|
|||
23
Euguln
24.09.13
✎
14:06
|
(21) халасо, насяльника.
|
|||
24
bahtik
24.09.13
✎
14:06
|
Нет, это даже не по сути.
|
|||
25
Defender aka LINN
24.09.13
✎
14:06
|
(5) Вынести это в отдельную процедуру - одобрение Синода нужно?
|
|||
26
bahtik
24.09.13
✎
14:07
|
Короче, я так понял, отбор сделать нельзя...
|
|||
27
bahtik
24.09.13
✎
14:08
|
(25) Да дело не в том. Просто я решил понять, есть ли такой метод или нет.
|
|||
28
bahtik
24.09.13
✎
14:08
|
Т.к. сам я его не обнаружил.
|
|||
29
timurhv
24.09.13
✎
14:22
|
||||
30
bahtik
24.09.13
✎
14:42
|
(29) Спасибо! Вот это то, что меня интересовало:
"Для ресурсов индексы быть не могут в принципе, т.к. они не предназначены для отбора вообще и на основании их данных формируются таблицы итогов. Но для решения конкретной задачи, быстрее запроса не придумаешь. Да он будет работать медленно т.к. таблицы итогов задействоваться не будут, но для решения данной задачи придётся." |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |