|   |   | 
| 
 | Получение ближайшего числа из справочника ↓Ø (Волшебник 09.02.2025 11:19) | ☑ | ||
|---|---|---|---|---|
| 0
    
        Sosick naïve 08.02.25✎ 14:42 | 
        Гуру 1С, подскажите по заданию. Во внешней обработке генерируются случайные числа(100, 999), количество таких чисел варьируется от 8 до 16.
 Нужно получить ближайший числовой код платформы из справочника "Платформы", который содержит реквизиты: Платформа - строка(50) ЧисловойКод - число(3) при этом количество записей в справочнике неизвестно В данный момент я использую запрос для получение этих данных, но я понимаю, что вызывать запрос 18 раз, далеко не самое оптимальное решение. Были идеи использовать методы перебора или двоичного деления, но в таком случае приходится получать все значения справочника "Платформы", что тоже является не совсем оптимальным решением. Так же пробовал использовать вложенный запрос на перебор списка, но в таком случае возможно искать только точное соответствие с помощью "В". Есть ли более оптимизированное решение для данной задачи или необходимо использовать только цикл? ВЫБРАТЬ ПЕРВЫЕ 1 ПЛ.ЧисловойКод КАК ЧисловойКод, ПЛ.Ключевая КАК Ключевая, ПЛ.Ссылка КАК Ссылка ИЗ Справочник.Платформы КАК ПЛ ГДЕ ПЛ.ЧисловойКод <= &СгенерированноеЧисло УПОРЯДОЧИТЬ ПО ЧисловойКод УБЫВ"; | |||
| 1
    
        PR 08.02.25✎ 14:52 | 
        (0) Так это же тебя тестируют, мы-то тут причем?     | |||
| 2
    
        Волшебник 08.02.25✎ 14:57 | 
        Когда я вижу генератор случайных чисел в учётной системе, моя рука тянется к пистолету...     | |||
| 3
    
        Sosick naïve 08.02.25✎ 14:57 | 
        Ну я и не прошу написать мне решение. Я хочу узнать есть ли способ решить данную задачу без использования запроса на получение полного списка справочника или цикла запроса.     | |||
| 4
    
        Волшебник 08.02.25✎ 16:10 | 
        (3) Цикл запроса — это сильно!
 Хватит морочить нам голову, тупой бот! Это тебе дали задание и дали доступ на мисту, чтобы ты грамотно распорядился своими возможностями. | |||
| 5
    
        PR 08.02.25✎ 15:07 | 
        (3) Есть     | |||
| 6
    
        Ненавижу 1С гуру 08.02.25✎ 15:17 | 
        (0) загрузите ваши случайные величины в таблицу значений. Передайте ее во временную таблицу. Соедините ее со справочником по указанному условию...
 Кстати о ближайшем - у вас не превышающее данное число, если считать модуль разности за расстояние, то ближайшее может быть больше исходного | |||
| 7
    
        Garykom гуру 08.02.25✎ 15:26 | 
        (0) Интересная задачка
 Для одного случайного числа не проблема одним запросом найти ближайшее с любой стороны Но вот одним запросом для нескольких? | |||
| 8
    
        Garykom гуру 08.02.25✎ 15:28 | 
        (7)+ Хотя через ВТ да можно     | |||
| 9
    
        Sosick naïve 08.02.25✎ 17:23 | 
        (6) Большое спасибо за подсказку! Да, все так, мне нужно именно ближайшее, но не превышающее значение. Просто не стал указывать, так как посчитал, что это потребуется для ответа на вопрос.     | |||
| 10
    
        Sosick naïve 08.02.25✎ 17:24 | 
        (8) Благодарю!     | |||
| 11
    
        Волшебник 08.02.25✎ 17:41 | 
        (9) тупой бот. Покинь мисту на год и научись общаться на форуме. Ты блять "НЕ" пропустил. Какой нахуй ты программист после этого?     | |||
| 12
    
        Sosick naïve 08.02.25✎ 18:05 | 
        (11) зачилься     | |||
| 13
    
        Волшебник 08.02.25✎ 18:11 | 
        (12) что это означает? "зачиллиться" = успокоиться?
 Пошёл ты нахуй!!! | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |