|
Как получить случайную выборку? |
☑ |
0
Slon747
26.10.16
✎
14:06
|
Вообще, реально ли получить случайную выборку справочника с помощью запроса?
|
|
1
Irbis
26.10.16
✎
14:07
|
Неа, тем более запросом. Где условие есть всегда.
|
|
2
Fragster
гуру
26.10.16
✎
14:08
|
|
|
3
Живой Ископаемый
26.10.16
✎
14:08
|
|
|
4
Волшебник
модератор
26.10.16
✎
14:09
|
ВЫБРАТЬ Ссылка
ИЗ Справочник.Имя
ГДЕ Ссылка В (&СписокСлучайныхСсылок)
|
|
5
Живой Ископаемый
26.10.16
✎
14:10
|
2(4) Первые 1
|
|
6
Живой Ископаемый
26.10.16
✎
14:12
|
а, ну собственно можно генерить текст запроса
ВЫБРАТЬ ПЕРВЫЕ"+ ПолучитьСлучайноеЧислоВРамкахКоличестваЭлементаСправочника(),
и потом брать из выборки последнюю запись
|
|
7
PLUT
гуру
26.10.16
✎
14:17
|
(26) лотерею пишешь?
|
|
8
Irbis
26.10.16
✎
14:19
|
А потом последует вопрос как получить ПолучитьСлучайноеЧислоВРамкахКоличестваЭлементаСправочника() или &СписокСлучайныхСсылок
|
|
9
Cyberhawk
26.10.16
✎
14:21
|
(0) Дай определение "случайную выборку справочника"
|
|
10
Fragster
гуру
26.10.16
✎
14:21
|
(8) в (2) все есть
|
|
11
Лефмихалыч
26.10.16
✎
14:31
|
|
|
12
Рэйв
26.10.16
✎
14:32
|
Вот тебе сапсем случайные:-)
З=Новый Запрос;
Гена=Новый ГенераторСлучайныхЧисел;
З.Текст="Выбрать Спр.Ссылка Из Справочник.Банки КАК Спр";
тРез=З.Выполнить().Выгрузить();
тРез.Колонки.Добавить("Номер");
тИтог=тРез.Скопировать();
тИтог.Очистить();
Верх=тРез.Количество();
Низ=1;
Предел=Гена.СлучайноеЧисло(Низ,Верх);
Сообщить(Предел);
Для Каждого Стр Из тРез Цикл
Стр.Номер=Гена.СлучайноеЧисло(Низ,Верх);
КонецЦикла;
тРез.Сортировать("Номер") ;
Сч=0;
Для Каждого Стр Из тРез Цикл
Сч=Сч+1;
Если Сч>Предел Тогда
Прервать;
КонецЕсли;
Нов=тИтог.Добавить();
Нов.ссылка=Стр.Ссылка;
КонецЦикла;
Сообщить("Выбрано:"+тИтог.Количество());
тИтог.ВыбратьСтроку();
|
|
13
Ildarovich
26.10.16
✎
14:42
|
Вот тут http://catalog.mista.ru/public/336783/ решалась именно эта задача (Пример 3).
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший