Имя: Пароль:
1C
1С v8
Найти в таблице значений строку, в которой значение "Колонки1" самое близкое к "100&
0 Guerro
 
19.03.19
13:18
https://d.radikal.ru/d01/1903/18/6e5ba0085c54.png
Есть таблица значений с Колонкой "Рентабельность". Необходимо выбрать строку, значение колонки "Рентабельность", которая самая близкая к "100"
1 aleks_default
 
19.03.19
13:22
Пригласите программиста
2 palsergeich
 
19.03.19
13:26
.сортировать()[0]
3 palsergeich
 
19.03.19
13:28
Ну если выполняется суловие что 100 это максимум.
Если нет, то алгоритм посика максимального с отсечкой значений выше 100
4 singlych
 
19.03.19
13:32
колонка с 100-Рентабельность по модулю, сортировка
или в цикле
5 Guerro
 
19.03.19
13:36
(2) не работает
6 SleepyHead
 
гуру
19.03.19
13:38
(0) добавить еще колонку, вычислить в ней отклонение от 100, выбрать строку с минимальным значением.

// Куда катится мир...
7 Guerro
 
19.03.19
13:38
(1) Жалко Вашему принципу и алгоритму помощи он ничем не поможет
8 Guerro
 
19.03.19
13:38
(6) продублировали условие
9 Guerro
 
19.03.19
13:38
(3) не понял
10 SleepyHead
 
гуру
19.03.19
13:40
(8) Удобная позиция, решайте сами.
11 palsergeich
 
19.03.19
13:40
(5) конечно, этотконцепт, а не готовое решение.
Таблица.сортировать(почитай в помощнике что надо добавить сюда)
Таблица[0]
12 Nikoss
 
19.03.19
13:42
подозрительно разделение числа "точка"... не строка ли там?
13 sqr4
 
19.03.19
13:46
не основной вопрос, про потолок в 100%, который существенно влияет на алгоритм, автор за пять постов так и не ответил.
14 sqr4
 
19.03.19
13:48
А сделать Таблица.Сортировать("Рентабельность");
Строка = Таблица[0];
это трындец сложно да (5) не работает же
15 aleks_default
 
19.03.19
13:49
(7)Это элементарная задача, и если у Вас она вызывает затруднение, значит эта не ваша отрасль деятельности.
16 Guerro
 
19.03.19
13:50
(12) проверил через отладку, не строка
17 Guerro
 
19.03.19
13:52
(15) Ваш опыт велик. Но это не дает вам право убирать с пути начинающих программистов.
18 Filippov
 
19.03.19
13:54
Чем плох совет в (4)?
19 Guerro
 
19.03.19
14:21
(18) ищу способ его реализации
20 Filippov
 
19.03.19
14:30
(19) В запросе модуль вычислить посредством ВЫБРАТЬ, учитывая знак
21 Guerro
 
19.03.19
14:31
(20) запрос вообще не используется и он тут не нужен
22 Filippov
 
19.03.19
14:34
(21) Тогда вычислить модуль проверкой условия (?)
23 Guerro
 
19.03.19
14:41
Вот решение, снова говнокод
    Счетчик=0;
    Рациональность=100;
    Для Каждого ТекСтрока Из РулонПартия Цикл
        Если ЗначениеЗаполнено(ТекСтрока.Рациональность) тогда
            Если ТекСтрока.Рациональность <= Рациональность И ТекСтрока.Рациональность >= 1 тогда
                Рациональность=ТекСтрока.Рациональность;
                ТДРП=ЭлементыФормы.РулонПартия.Значение[Счетчик];
            КонецЕсли;
        КонецЕсли;
        Счетчик=Счетчик+1;
    КонецЦикла;
24 Homer
 
19.03.19
15:06
(23) это не решение.
на бумажки проверить не пробовал?
25 mistеr
 
19.03.19
15:11
(19) Тогда сначала реши подзадачу: найти минимальный элемент в массиве. Осилишь?
26 Ёпрст
 
19.03.19
15:20
(23) ээх.. даже пузырька не осилил
27 sqr4
 
19.03.19
15:26
(26) пузырек я уже и в школе осиливал)
28 Вафель
 
19.03.19
15:31
вообще можно за 1 проход найти строку. без всяких сортировок.
алгоритм поиска максимума
29 aleks_default
 
19.03.19
15:36
(27)У тебя наверное была математико-физическая школа с углубленным изучением программирования? Или в каком смысле "пузырек в школе"?
30 Ёпрст
 
19.03.19
15:40
(28) ну, это же тот же пузырек, только без перестановки
31 sqr4
 
19.03.19
15:41
(29) я про алкоголь) Ну я малого в 9 классе уже надрочил на такие вещи, я про сортировку)))
32 mistеr
 
19.03.19
15:57
(29) Между прочим, в моей школе в последних классах на информатике был "пузырек". Класс, правда, был действительно математический, но программа информатики по-моему была одна для всех.
33 Ёпрст
 
19.03.19
16:29
у нас в школе тоже был пузырек и сортировки простым двухпутевым слиянием и..да много чего, хрен вспомнишь
34 aleks_default
 
19.03.19
16:30
А у нас в школе была клевая молодая математичка:)