Сообщить имя наименьшого из значений.

1. user1345957 28.05.20 19:06 Сейчас в теме
Были заданы в реквизитах 3 числа, причём заголовок у каждого реквизита свой. Из них (чисел) найдено наименьшее функцией Мин.
Как сообщить заголовок у наименьшего из чисел ?
По теме из базы знаний
Найденные решения
14. -AI- 28.05.20 22:37 Сейчас в теме
(13) именно так

но можно пойти дальше:
СЗ = Новый СписокЗначений();
Для Каждого ИмяРеквизита Из СтрРазделить("ПривГодРасхТр,ПривГодРасхЖдТр,ПривГодРасхВодТр",",") Цикл
	СЗ.Добавить(ЭтаФорма[ИмяРеквизита],Элементы[ИмяРеквизита].Заголовок);
КонецЦикла;
СЗ.СортироватьПоЗначению(НаправлениеСортировки.Возр);
Сообщить(СЗ[0].Представление);
user1345957; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VictorRGB2 13 28.05.20 19:40 Сейчас в теме
вы нашли наименьшее значение, а не сам реквизит, содержащий это значение
теперь надо найти реквизит с найденный меньшим значением и тогда через Элементы.<реквизит>.Заголовок получите требуемое
3. ishelper 28.05.20 20:15 Сейчас в теме
(2)
теперь надо найти реквизит с найденный меньшим значением
Йес, кэп! Именно это и нужно автору.
(1)
Из них (чисел) найдено наименьшее функцией Мин.
Как сообщить заголовок у наименьшего из чисел ?
А сразу при поиске наименьшего определять имя реквизита - не?

Типа так:
ЗначМинРеквизита = Мин(Реквизит1, Реквизит2);
ИмяРеквизита = ? (Реквизит1 = ЗначМинРеквизита, "Реквизит1", "Реквизит2");
ЗначМинРеквизита = Мин(Реквизит3, ЗначМинРеквизита);
ИмяРеквизита = ? (Реквизит3 < ЗначМинРеквизита, "Реквизит3", ИмяРеквизита);
Сообщить(ИмяРеквизита);
4. soft_wind 28.05.20 20:26 Сейчас в теме
(3) ну-ну
ЗначМинРеквизита = Мин(Реквизит1, Реквизит2);
ИмяРеквизита = ? (Реквизит1 = ЗначМинРеквизита, "Реквизит1", "Реквизит2");
ЗначМинРеквизита = Мин(Реквизит3, ЗначМинРеквизита);
ИмяРеквизита = ? (Реквизит3 < ЗначМинРеквизита, "Реквизит3", ИмяРеквизита);
Сообщить(ИмяРеквизита);


под реквизитом понимается ПолеВвода формы и нужен Заголовок!
и если реквизитов/полей 10 штук.
Какой вариант?
ваш не подходит....
5. ishelper 28.05.20 20:40 Сейчас в теме
(4)
ну-ну
Тпру-тпру!
под реквизитом понимается ПолеВвода формы и нужен Заголовок!
Заголовок - так заголовок, см. (2) - там сказано, как получается заголовок.
и если реквизитов/полей 10 штук.
Какой вариант?
ваш не подходит....
Как раз мой вариант легко наращивается хоть до 10, хоть до 20:
ЗначМинРеквизита = Мин(Реквизит1, Реквизит2);
ЗаголовокМинРеквизита = ? (Реквизит1 = ЗначМинРеквизита, Элементы.Реквизит1.Заголовок, Элементы.Реквизит2.Заголовок);
ЗначМинРеквизита = Мин(Реквизит3, ЗначМинРеквизита);
ЗаголовокМинРеквизита = ? (Реквизит3 < ЗначМинРеквизита, Элементы.Реквизит3.Заголовок, ЗаголовокМинРеквизита);
ЗначМинРеквизита = Мин(Реквизит4, ЗначМинРеквизита);
ЗаголовокМинРеквизита = ? (Реквизит4 < ЗначМинРеквизита, Элементы.Реквизит4.Заголовок, ЗаголовокМинРеквизита);
ЗначМинРеквизита = Мин(Реквизит5, ЗначМинРеквизита);
ЗаголовокМинРеквизита = ? (Реквизит5 < ЗначМинРеквизита, Элементы.Реквизит5.Заголовок, ЗаголовокМинРеквизита);
ЗначМинРеквизита = Мин(Реквизит6, ЗначМинРеквизита);
ЗаголовокМинРеквизита = ? (Реквизит6 < ЗначМинРеквизита, Элементы.Реквизит6.Заголовок, ЗаголовокМинРеквизита);
// и так далее...
Сообщить(ИмяРеквизита);
Показать


А у вас есть вариант лучше, ась?
user1345957; +1 Ответить
6. user1345957 28.05.20 20:47 Сейчас в теме
(5) Данных всего сравнивается 3 штуки
7. soft_wind 28.05.20 20:51 Сейчас в теме
(5) а вы циклы не проходили?
и опять же Заголовок ПоляВвода - где?
не надо путать Имя реквизита с Заголовком реквизита! Учитесь читать ТЗ!!!
9. ishelper 28.05.20 21:13 Сейчас в теме
(7)
а вы циклы не проходили?
Очень давно. ;-P

Но помню, что в цикл можно заключить повторяющиеся действия с индексируемым (нумерованным) набором данных.

То, что у автора имена реквизитов или полей ввода поддаются нумерации (т.е. к ним можно обратиться в цикле) - нигде не сказано.
Учитесь читать ТЗ!!!
Вы в (1) видите ТЗ? Поздравляю! Может, вам в "Битве экстрасенсов" лучше выступать, такой талант пропадает...

P.S. Судя по отсутствию вашего варианта кода для этого "ТЗ"- уже пропал.
8. nomad_irk 76 28.05.20 20:59 Сейчас в теме
(5)В общем случае, ИмяПоля <> ИмяРеквизита :)
10. ishelper 28.05.20 21:14 Сейчас в теме
(8) Аналогично, см. выше.
11. -AI- 28.05.20 21:50 Сейчас в теме
затолкать значения реквизитов и их заголовки в СписокЗначений
значения в поле Значение, заголовки в Представление

потом сделать СписокЗначений.СортироватьПоЗначению()
и ответ будет лежать в СписокЗначений[0].Представление;

PS такое впечатление что это не форум 1Сников
nomad_irk; +1 Ответить
12. user1345957 28.05.20 22:03 Сейчас в теме
(11)У меня нет тз. Все реквизиты находятся в своих группах.
13. user1345957 28.05.20 22:20 Сейчас в теме
(11)Я вас верно понял ?
	СЗ = Новый СписокЗначений();
	СЗ.Добавить(Объект.ПривГодРасхТр,Элементы.ПривГодРасхВодТр.Заголовок);
	СЗ.Добавить(Объект.ПривГодРасхЖдТр, Элементы.ПривГодРасхЖдТр.Заголовок);
	СЗ.Добавить(Объект.ПривГодРасхВодТр, Элементы.ПривГодРасхВодТр.Заголовок);
	СЗ.СортироватьПоЗначению(НаправлениеСортировки.Возр);
	СЗ[0].Представление;
14. -AI- 28.05.20 22:37 Сейчас в теме
(13) именно так

но можно пойти дальше:
СЗ = Новый СписокЗначений();
Для Каждого ИмяРеквизита Из СтрРазделить("ПривГодРасхТр,ПривГодРасхЖдТр,ПривГодРасхВодТр",",") Цикл
	СЗ.Добавить(ЭтаФорма[ИмяРеквизита],Элементы[ИмяРеквизита].Заголовок);
КонецЦикла;
СЗ.СортироватьПоЗначению(НаправлениеСортировки.Возр);
Сообщить(СЗ[0].Представление);
user1345957; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот