Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Цветовая палитра 1с 7.7

v7: Цветовая палитра 1с 7.7
Я
   Amig0_0
 
13.05.19 - 12:13
Всем привет!
В очередной раз столкнулся с проблемой цветов в 7.7 ...((
Вопрос довольно глубокий и комплексный, по этому опишу в 2-х словах.
Есть гистограмма (столбцы) с количеством точек равным количеству месяцев в периоде. Количество серий (непосредственно столбец) = количество производителей участвовавших в продажах.
Гистограмма сама распределяет цвета по производителям. И если построить ее за 1 месяц, никаких проблем не возникает, но если построить за условно, год, одному и тому же производителю в разном месяце может присвоить разные цвета.
Причины понятны: сортировка. В одном месяце производитель может быть лидером, в другом отстающим. Но есть задача, раскрасить их одинаково (естесстно).
Я подумал создать ТЗ с производителями и присвоить каждому свой цвет, но ни нашел НИ одной нормально работающей механики градации цвета без повторок для RGB. Семерка понимает меньше 60 цветов и этого достаточно, на крайняк буду переприсваивать цвета по второму кругу. Но как адекватно сделать градиент, так увы и не разобрался...

Вот подумал, может у кого есть достойное предложение по данной проблеме?
И еще, 1с сама нормально присваивает цвета. Есть метод позволяющий установить цвет для серии (столбца), А есть ли возможность предварительно его получить? Это тоже помогло бы.
Заранее спасибо!
 
 
   ДенисЧ
 
1 - 13.05.19 - 12:14
вставь ексель-объект и в нём рисуй диаграмму. Там они удобней
   Amig0_0
 
2 - 13.05.19 - 12:20
(1) Типа каждый раз при формировании отчета создавать Эксель - документ и отрисовывать там диаграмму программно?
   Amig0_0
 
3 - 13.05.19 - 12:28
(1) боюсь это не очень - то подходит
   Mikeware
 
4 - 13.05.19 - 12:39
(3) у вас ежеминутно формируются отчеты за прошедшее десятилетие? :-)
если серьезно, то есть ROM-Chart, есть ActiveX'ы всякие
   trad
 
5 - 13.05.19 - 12:44
(2) нет, отдельно эксель-документ создавать не нужно
нужно диаграмму экселя внедрить в таблицу 1с
семерка поддерживает технологию внедрения оле-объектов
   Amig0_0
 
6 - 13.05.19 - 12:54
(5) оля объектом может быть эксель?
   Amig0_0
 
7 - 13.05.19 - 12:54
*оле
   Вася Теркин
 
8 - 13.05.19 - 13:09
(6) Майкрософт это скрывает. Так что не очень-то.
   Вася Теркин
 
9 - 13.05.19 - 13:10
А формекс не умеет подрисовывать цвета и всякое такое?
   Amig0_0
 
10 - 13.05.19 - 13:16
(9) Ничего сверхестественного. Во всяком случае в данном контексте.
   Amig0_0
 
11 - 13.05.19 - 13:19
Вообще, я вот думаю, весь вопрос можно свести к одному: как получить действительно используемый перечень цветов, которые 1с 7.7. умеет показывать на таблицах)
(4) Скачал ROM-Chart, щас посмотрю что это, может быть интересным, спасибо!
   Mikeware
 
12 - 13.05.19 - 13:30
(11) загугли что-нибудь типа  "цветовая палитра 1с 7.7"
http://online-anna.ru/soft-01/rgb-i-sreda-programmirovaniya-1s-7-7.php
"оценить все скудное многообразие красок в среде 1С 7.7."©
   trad
 
13 - 13.05.19 - 13:43
(11) Цвета которые 1с 7.7 умеет показывать штатно
https://www.dropbox.com/s/k1p1pv4yka463w5/Цвета_.mxl?dl=0
   trad
 
14 - 13.05.19 - 13:44
Цвета которые 1с 7.7 умеет показывать (в ячейках), но устанавливать их надо через ВК tabledoc.dll
https://www.dropbox.com/s/kmhoo6l2ugyuiiy/Цвета_Расш.mxl?dl=0
   dk
 
15 - 13.05.19 - 14:01
можно и диаграммы просто в таблице рисовать
https://i.ibb.co/NtJKvcJ/image.png
   Amig0_0
 
16 - 13.05.19 - 14:01
(12)
1) гуглил, много)) информация чисто справочная, мол вот цвета, вот их коды, но половина из них будут идентичными, хоть ты вручную перебирай все варианты.
2) кто-то перебрал))))
я бы назвал эту обработку Тлен Бытия)) 4к+ строк тупого перебора всей палитры РГБ)) ад. монументально) забрал себе - спасибо!

(13)  а как вы их получили и вывели в таблицу. просто перебрали руками палитру которая есть в свойствах ячейки или штатно вывели как-то все доступные варианты?
   Amig0_0
 
17 - 13.05.19 - 14:05
(15) да, прикольно. я бы возможно к этому пришел, если бы не было необходимости именно в графике. правда потом он все равно атрофировался до столбцов)) но всё же, уже реализована добрая часть работы, буду домучивать)
   trad
 
18 - 13.05.19 - 14:29
(16)
//*******************************************

Процедура Сформировать()
    
    Таб = СоздатьОбъект("Таблица");
    Менеджер = СоздатьОбъект("МенеджерТабличногоДокумента");
    Менеджер.УстановитьТаблицу(Таб);
    
    Для Стр = 1 По 32 Цикл
        Для Кол = 1 По 8 Цикл
            
            Индекс = (Стр-1) * 8 + (Кол-1);
            //к штатной палитре относятся только цвета с индексами 0..55

            //остальные - расширенные, и установка их штатным способом, выполняется через приведение к ближайшему.

            
            
            //Расширенная палитра - 256 цветов

            РасшОбласть = Менеджер.Область(Стр, Кол);//расширенная область

            РасшОбласть.ЦветФонаПоИндексу(Индекс);
            РасшЦвет = РасшОбласть.ЦветФона();
            РасшОбласть.Текст = РасшЦвет;
            
            //Штатная палитра - 56 цветов

            Область = Таб.Область(Стр, Кол+9);//штатная область

            Область.ЦветФона(РасшЦвет);//происходит приведение "расширенного" цвета к штатной палитре

            Область.Текст = Область.ЦветФона();//уже приведнный цвет

            
        КонецЦикла;
        
        Если Стр > 7 Тогда
            Область = Таб.Область(Стр, 18);
            Область.Текст = "<--приведенные цвета";
        КонецЕсли;
        
    КонецЦикла;
    
    Область = Таб.Область(Стр, 1, Стр, 8);
    Область.Объединить();
    Область.ГоризонтальноеПоложение(3);
    Область.Текст = "^ расширенные цвета ^";
    
    Область = Таб.Область(Стр, 10, Стр, 17);
    Область.Объединить();
    Область.ГоризонтальноеПоложение(3);
    Область.Текст = "^ штатные цвета ^";
    
    Таб.Показать();
    
КонецПроцедуры


ЗагрузитьВнешнююКомпоненту("tabledoc.dll");
   Amig0_0
 
19 - 13.05.19 - 14:50
(18) Классно! Спасибо тебе добрый человек, это возможно спасет ситуацию.
   trad
 
20 - 13.05.19 - 15:05
на всякий случай, эта штука не годится к Диаграмма.ЦветСерии
   trad
 
21 - 13.05.19 - 15:08
   Amig0_0
 
22 - 13.05.19 - 15:15
(21) Да, я уже бился раньше с этим. просто тогда не понял к чему приведенная вами таблица цветов. Не понял что это компонента.
   Amig0_0
 
23 - 13.05.19 - 15:16
(20) да) только что понял, нужно как то преобразовывать в РГБ((
   trad
 
24 - 13.05.19 - 15:24
(23) неважно
если Диаграмма.ЦветСерии ограничена палитрой в 56 цветов, а скорее всего это так, то компоненты r,g,b допустимы только из этой палитры
   Ёпрст
 
25 - 13.05.19 - 15:26
(0) смотри лучше это:

http://www.1cpp.ru/forum/YaBB.pl?num=1206456271
   Amig0_0
 
26 - 13.05.19 - 15:32
(25) Читал про нее, да. Спасибо, попробую. Может тогда в принципе не нужны будут эти расшифровки по цветам, если получится писать названия подразделений прямо в столбцах вертикально)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.