Раскраска списка значений

Автор sau, 04 октября 2024, 00:55

« назад - далее »

sau

Есть ли возможность для Сервис.ВыбратьЗначение?
Или для обычного списка значений при выборе в виде меню.

АЛьФ

Для списка значений нет, но можно раскрасить меню, которое выводится методом Сервис::ВыбратьЗначение().

sau

Цитата: АЛьФ от 04 октября 2024, 09:28Для списка значений нет, но можно раскрасить меню, которое выводится методом Сервис::ВыбратьЗначение().
А шрифт изменить (размер, вид)?

АЛьФ

Цитата: sau от 05 октября 2024, 15:55
Цитата: АЛьФ от 04 октября 2024, 09:28Для списка значений нет, но можно раскрасить меню, которое выводится методом Сервис::ВыбратьЗначение().
А шрифт изменить (размер, вид)?
Нет, шрифт изменить не получится в текущем функционале.

Злоп

хм... что-то у меня все работает...


ПоказыватьЗаголовокСписка=1; //1 - показывать, 0 - не показывать
	СписокПринтеров = глСервис.ПолучитьСписокПринтеров(); //здесь можно отфильтровать список принтеров (по вхождению неких синальных последовательностей типа "BAR"), для исключения принтеров ШК из формата печати А4
	
	Команда = СписокПринтеров.НайтиЗначение(СокрЛП(ЕГАИС_АРМ_ПринтерШК)); 	//позиция в списке
	Команда = Макс(1,Команда)+ПоказыватьЗаголовокСписка;					//учтем есть ли значение в списке и наличие заголовка
	Команда = "{DOWN "+Команда+"}";глСервис.ЭмулироватьКлавиатуру(Команда);	//сколько раз жмакнуть курсор вниз, или на 1 строку если в списке нет 
	Принтер = ""; Если глСервис.ВыбратьЗначение(СписокПринтеров,Принтер,?(ПоказыватьЗаголовокСписка<>0,"ВЫБЕРИ ПРИНТЕР ШК/ЭТИКЕТОК",""),0,0,КодШрифт)<>1 Тогда Возврат; КонецЕсли;

Злоп

Выше картинка и код по тестовой сборке, скачанной с яндекса только что.
.
Обращаю внимание: в 6-ом параметре (Картинка(?)) передаю шрифт - и все работает.
Возможно, если в 6-ой параметр передать картинку - то будет отрабатывать согласно СП.
НО ТО, ЧТО РАБОТАЕТ УСТАНОВКА ШРИФТА - НЕ ЛОМАТЬ!!! ;_)

выдержка из СП:
.
ВыбратьЗначение(<?>)
Синтаксис:
ВыбратьЗначение(<СписокЗначений>, <Значение>, <Заголовок>, <СпособВыбора>, <Флаг>, <Картинка>, <ПараметрыЦвета>, <КоординатаХ>, <КоординатаУ>, <ПутьВыбора>)
Назначение:
Метод предназначен для интерактивного выбора значения из многоуровневого списка. Многоуровневость
обеспечивается вложенностью списков значений (см. Пример). Количество уровней не ограничено. Если выбор
производится в меню, то значения с представлением "-" воспринимаются как разделители.
Установка пиктограмм в списке значений
Добавляем в начале представления "[icon:N]", где N - порядковый номер пиктограммы в картинке. Если пиктограмма отображается, то строка "[icon:N]" от представления отрезается при выводе. В режиме выбора из меню (не пометка!) значения списка значений, на которых установлена пометка, считаются недоступными. При выборе из меню пункт списка значений с представлением "|" - переход на следующую колонку
Параметры:
<СписокЗначений> - тип: СписокЗначений. Список значений, из которого необходимо произвести выбор;
<Значение> - тип: Любой. Переменная, куда помещается результат выбора;
<Заголовок> - тип: Строка. Заголовок диалогового окна выбора;
<СпособВыбора> - тип: Число. Необязательный. Значение по умолчанию - 0. Способ выбора значения:
0 - выбор в виде многоуровневого меню;
1 - выбор в виде дерева.
<Флаг> - тип: Число. Необязательный. Значение по умолчанию - 0.
Для выбора в дереве: 1 - разрешить выбор групп; 0 - запретить.
Для выбора в меню: 0 - простой выбор; 1 - пометка значений; 2 - простой выбор (без привязки к активному
реквизиту); 3 - пометка значений (без привязки к активному реквизиту). Если указано значение из разряда без
привязки к активному реквизиту, то меню показывается в текущей позиции курсора мыши.
<Картинка> - Необязательный. Объект "Картинка" с нужными пиктограммами, в формате как для ТЗ.
<ПараметрыЦвета> - Необязательный. Список значений с параметрами цвета: значение - число цвета, представление - имя параметра. Имя параметра может быть одним из следующих: ЦветФонаВыделения, ЦветШрифтаВыделения, ЦветРамкиВыделения, ЦветФона, ЦветШрифта
<КоординатаХ> - тип: Число. Необязательный. Задает экранную координату положения меню по оси Х.
<КоординатаУ> - тип: Число. Необязательный. Задает экранную координату положения меню по оси У.
<ПутьВыбора> - переменная, в которую после выбора помещается путь выбранного значения.
ЗАМЕЧАНИЕ:
Многоуровневость обеспечивается списками значений, вложенными в основной (см. пример).
Если выбор производится в меню, то значения с представлением - воспринимаются как
разделители.
ПРИМЕР:
Сервис = СоздатьОбъект("Сервис");
Список = СоздатьОбъект("СписокЗначений");
Список.ДобавитьЗначение(1,"[icon:1]Пункт 1");
Список.ДобавитьЗначение(2,"[icon:2]Пункт 2");
Список.ДобавитьЗначение(3,"[icon:3]Пункт 3");
Список.ДобавитьЗначение(4,"[icon:4]Пункт 4");
Список.ДобавитьЗначение(0,"-");
// создаем вложенный список
СписокДоп = СоздатьОбъект("СписокЗначений");
СписокДоп.ДобавитьЗначение(551,"Пункт 51");
СписокДоп.ДобавитьЗначение(552,"Пункт 52");
СписокДоп.ДобавитьЗначение(553,"Пункт 53");
СписокДоп.ДобавитьЗначение(554,"Пункт 54");
// добавляем вложенный список
Список.ДобавитьЗначение(СписокДоп,"Пункт 5");
Список.ДобавитьЗначение(6,"Пункт 6");
Список.ДобавитьЗначение(7,"Пункт 7");
Выб = "";
Картинка = СоздатьОбъект("Картинка");
Картинка.Загрузить("МояКартинка4Пиктограммы");
ПараметрыЦвета = СоздатьОбъект("СписокЗначений");
ПараметрыЦвета.Установить("ЦветФонаВыделения",255);
ПараметрыЦвета.Установить("ЦветРамкиВыделения",0);
Если Сервис.ВыбратьЗначение(Список,Выб,"Тестовый выбор значения",0,0,Картинка,ПараметрыЦвета) = 1
Тогда
        Сообщить(Выб);
КонецЕсли;

Злоп

вот если шрифт не устанавливать

Злоп


АЛьФ


Злоп


Злоп

Алексей, что скажешь насчет 6-го параметра?

MWW_Ruza

Цитата: Злоп от 06 октября 2024, 21:49Возможно, если в 6-ой параметр передать картинку - то будет отрабатывать согласно СП.

Отрабатывает, вчера штатный пример пробовал, указал в качестве 6-того параметра идентификатор картинки из библиотеки конфигурации с несколькими пиктограммами, работает как заявлено.
Играть со шрифтами не пробовал.

PS по хорошему, и то и другое бы оставить. И так, что-бы можно было по желанию или картинку, или шрифт, или и то и другое вместе использовать  8)

Злоп

Я вот совершенно не помню, откуда я взял, что 6-ой параметр можно впихнуть шрифт...?
Либо это было в каком-то варианте алс, или Алексей подсказал...

MWW_Ruza

Вот, картинка:



а вот шрифт:



Злоп

Я не буду против, если параметр "Шрифт" будет добавлен как последний к текущему набору параметров.
Использование шрифта в выборе значения у меня вообще разовые пару штук, переделать не представит сложности.