Имя: Пароль:
1C
1С v8
Как получить случайную выборку?
0 Slon747
 
26.10.16
14:06
Вообще, реально ли получить случайную выборку справочника с помощью запроса?
1 Irbis
 
26.10.16
14:07
Неа, тем более запросом. Где условие есть всегда.
2 Fragster
 
гуру
26.10.16
14:08
(0) вот тут есть в 17 сообщении костыль: v8: Временные таблицы и индексы в запросах
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
(0) вот тут насыпано http://forum.infostart.ru/forum26/topic128003/
12 Рэйв
 
26.10.16
14:32
Вот тебе сапсем случайные:-)

З=Новый Запрос;
Гена=Новый ГенераторСлучайныхЧисел;
З.Текст="Выбрать Спр.Ссылка Из Справочник.Банки КАК Спр";
тРез=З.Выполнить().Выгрузить();
тРез.Колонки.Добавить("Номер");
тИтог=тРез.Скопировать();
тИтог.Очистить();
Верх=тРез.Количество();
Низ=1;
Предел=Гена.СлучайноеЧисло(Низ,Верх);
Сообщить(Предел);

Для Каждого Стр Из тРез Цикл
    Стр.Номер=Гена.СлучайноеЧисло(Низ,Верх);
КонецЦикла;    
тРез.Сортировать("Номер") ;
Сч=0;
Для Каждого Стр Из тРез Цикл
    Сч=Сч+1;
    Если Сч>Предел Тогда
        Прервать;
    КонецЕсли;    
    Нов=тИтог.Добавить();
    Нов.ссылка=Стр.Ссылка;
КонецЦикла;    
Сообщить("Выбрано:"+тИтог.Количество());
тИтог.ВыбратьСтроку();
13 Ildarovich
 
26.10.16
14:42
Вот тут http://catalog.mista.ru/public/336783/ решалась именно эта задача (Пример 3).
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан