Имя: Пароль:
1C
1C 7.7
v7: ТЗ - как быстро раскрасить черезполосицей
0 kompdisk
 
20.08.16
15:21
например, есть ТЗ.
например, есть идентификатор колонки.
юзаем формекс.

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

например, в колонке "Номенклатура"

Товар1 //желтый
Товар1 //желтый
Товар1 //желтый

Товар2 //ЗЕЛЕНЫЙ
Товар2 //ЗЕЛЕНЫЙ

Товар3 //желтый

Перебором строк - это понятно,
а как - быстрее?

???
1 DES
 
20.08.16
16:00
покажи текст кода, который тебе понятно.
2 kompdisk
 
20.08.16
16:36
//******************************************************************************
//
Процедура РаскраситьЧередованием(ТекущаяКолонка)

    Попытка     ТЗформа.Заполнить(Подкраска[1],1,2,"Подкраска");
    Исключение     Возврат; //не больше 1 строки, раскрашивать не надо
    КонецПопытки;
    
    Попытка     ПредыдущееЗначение = ТЗФорма.ПолучитьЗначение(2,ТекущаяКолонка);
    Исключение     Возврат; //не больше 1 строки, раскрашивать не надо
    КонецПопытки;

    сч =1; ТЗформа.ВыбратьСтроки();
    Пока ТЗФорма.ПолучитьСтроку() = 1 Цикл
        ТекущееЗначение = ТЗФорма.ПолучитьЗначение(ТЗФорма.НомерСтроки,ТекущаяКолонка);
        Если ТекущееЗначение <> ПредыдущееЗначение Тогда сч = 3-сч; ПредыдущееЗначение = ТекущееЗначение; КонецЕсли;
        ТЗформа.Подкраска = Подкраска[сч];
    КонецЦикла;    

    //ОТЛАДКА: ПечатьТЗ(ТЗФорма,ТекущаяКолонка);
    
КонецПроцедуры // РаскраситьЧередованием
3 Mauser
 
20.08.16
18:00
(0) Написать функцию, которая вернёт строку макрокоманды?
4 michael512
 
22.08.16
08:07
закрасить его во время заполнения
5 aka AMIGO
 
22.08.16
09:19
ЗЫ. Кхм.. Пишется "чересполосица"..
6 aka AMIGO
 
22.08.16
09:23
Кхм-2.. :)
Формекс не юзаем, шеф запретил все ( все! ) внешние компоненты, кроме, разумеется, встроенных.

Потому в ТЗ на форме пришлось применять колонку иконок, но не через одну, а с учетом некоего принципа/алгоритма отбора.
7 фобка
 
22.08.16
09:28
(6) странный шеф
8 aka AMIGO
 
22.08.16
09:31
(7) Да нет, нормальный.
Я пришел на фирму, в ней лет 5 был другой программист. Вот он был любитель ВК, до тех пор, пока 5 наших филиалов не остались без 1С. Не шправилша с урбд. После чего все вк были похерены.
А меня просто предупредили. Я предупреждению внял :)
9 Это_mike
 
22.08.16
09:33
(8) странный.
ну и в УРБД сломать практически ничего нельзя.
10 aka AMIGO
 
22.08.16
09:35
(9) ну, можно, к примеру, "забыть" передать файл вк в филиал, нарушив работу менеджеров на полдня-день.
11 Ёпрст
 
22.08.16
09:37
(10) так это проблема не урбд.
12 aka AMIGO
 
22.08.16
09:38
(10) + забыл добавить - прогер был приходящий, так что реакция на неисправность бд по времени исчислялась днями.
13 Ёпрст
 
22.08.16
09:38
А все вк и классы, нужно просто хранить в самом МД и при необходимости - распаковывать их. И без их загрузки - не работать. Усё
14 ildary
 
22.08.16
09:41
Формекс - библиотека не сложнее и не глючнее v7Plus.dll. Отказаться от нее - это хуже чем ошибка.
15 aka AMIGO
 
22.08.16
09:43
(13) Ну, да. Всё ты правильно говоришь.
Объяснить тому прогеру - нет смысла, мужик спился. Ему 1с уже не нужна.
А вот оставшимся 7-рочникам, коих насчитываются десятки, если не единицы уже, совет очень полезный.
16 Злопчинский
 
22.08.16
10:25
а по сабжу?
17 Ёпрст
 
22.08.16
10:28
(16) а че там ?
Делать расскраску из кода/внутреннего ид и привет. При смене товара, оно само "расскрасится"
18 Злопчинский
 
22.08.16
11:24
(17) эээ тут же все равно тем или иным способом надо "савниватЬ с предыдущийм"..?
19 Ёпрст
 
22.08.16
11:29
(18) Зачем ?
По условию задачи, каждый товар красится своим цветом.
Цвет либо привязать к коду/ид, либо просто хранить в реквизите. Усё.
20 Злопчинский
 
22.08.16
11:32
(19) для красоты! чтоб легче глазом цеплять. достаточно два цвета и чередовать их при смене объекта, а объект может меняться не в каждой строке..
21 Это_mike
 
22.08.16
11:33
(19) не, по условию задачи цвет меняется, когда товар меняется. а цветов всего 2
22 Ёпрст
 
22.08.16
11:34
(20) берешь табличное поле, там это реализовано и так.
23 Ёпрст
 
22.08.16
11:35
Для обычной тз, как 2 пальца:
в функцию раскраски пихать условие или сразу, ТЗ.НомерСтроки%2. Усё
24 ADirks
 
22.08.16
12:23
кстати, в ТП эта фигня не нужна вообще, ибо есть выделение всей (текущей) строки целиком
25 Ёпрст
 
22.08.16
12:24
(24) ну, в ТЗ тоже можно реализовать, даже "крест" лепили..
Только, кому это всё надо теперь ?!
26 Злопчинский
 
22.08.16
14:54
(23) не выйдет, значение меняется не в каждой строке
27 Злопчинский
 
22.08.16
14:54
(25) крест и в обычной тЗ лепили. и даже вроде в печформе