Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помещение Цвета в реквизит типа ХранилищеЗначения
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
prazdnik4334
Подскажите пожалуйста, как поместить цвет в реквизит типа ХранилищеЗначения и отобразить этот цвет на форме?
logist
А чем не устраивает синтаксис-помощник? Больше чем там написано вряд ли можно сказать, у ХЗ есть только конструктор и метод Получить

Для отображения на форме - создайте в форме реквизит который при открытии формы или изменении его значения буде обновляться из хранилища.
prazdnik4334
Вопрос в другом. ДиалогВыбораЦвета возвращает цвет строкой, а в формате (R,G,cool.gif почему-то всё время выдаёт (-1,-1,-1). Почему? Конструктор Цвет работает только в формате (R,G,cool.gif. И второй вопрос. Картинку на форме можно отобразить в поле картинки, а как отобразить цвет? Поля цвета же не существует. Как вариант, додумался покрасить какой-то текст в цвет реквизита и всё. По-другому как-то можно?

В Инете нашёл такую конструкцию с другим диалогом выбора цвета:

Процедура Реквизит1ПриИзменении(Элемент)

    ШелСкрипт=Новый COMОбъект("WScript.Shell");
    ШелСкрипт.RegWrite("HKLM\SOFTWARE\Classes\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905\","gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj");
    Диалог=Новый COMОбъект("MSComDlg.CommonDialog");
    Диалог.ShowColor();
    Скрипт=Новый COMОбъект("MSScriptControl.ScriptControl");
    Скрипт.language="javascript";
    Скрипт.AddObject("Диалог",Диалог);
    Цвет = РазложитьRGB(Скрипт.Eval("Диалог.Color"));    

КонецПроцедуры

Функция  РазложитьRGB(ЗначениеЧислом)

    ЦветRGB = ЗначениеЧислом;
    R = ЦветRGB%256;
    G = (Цел(ЦветRGB/256))%256;
    B = (Цел(ЦветRGB/(256 * 256)))%256;

    Возврат Новый Цвет(R,G,B);

КонецФункции


Может, кому-то пригодится.


 i 

Ознакомьтесь с правилами форума!
 
logist
Цитата(prazdnik4334 @ 06.02.13, 8:51) необходимо зарегистрироваться для просмотра ссылки
Вопрос в другом.

А сразу нельзя было написать в чем вопрос?

Цитата(prazdnik4334 @ 06.02.13, 8:51) необходимо зарегистрироваться для просмотра ссылки
По-другому как-то можно?

Установить этот цвет в качестве фона для поля надписи (заголовок поля выключить).
Ardi
На толстом интерфейсе
Процедура ВыбратьЦветНажатие(Элемент)
    Диалог = Новый ДиалогВыбораЦвета;
    Если Диалог.Выбрать() Тогда    
        ВыбранныйЦвет = Диалог.Цвет;
        Константы.ЦветПечати.Установить(значениевстрокувнутр(ВыбранныйЦвет));
    КонецЕсли;
КонецПроцедуры

Процедура ПриОткрытии()
    
    Попытка
        ВыбранныйЦвет = ЗначениеИзСтрокиВнутр(Константы.ЦветПечати.Получить());
        ЭлементыФормы.ПримерТекста.ЦветТекста = ВыбранныйЦвет;
    Исключение
    КонецПопытки;
    
КонецПроцедуры

prazdnik4334
Спасибо ребята. Помогло.
Vofka
prazdnik4334, жмите палец тем, кто помог.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.