Имя: Пароль:
1C
1С v8
Как в колонке с типом строка, добавить флажочек?
0 SherifSP
 
21.03.13
17:37
Как в дереве значений, в колонке с типом строка, добавить флажочек?
1 SherifSP
 
21.03.13
17:43
+(0) Когда то делал, но забыл, вроде в свойствах колонки что то ставил
2 fisher
 
21.03.13
17:44
В обычных формах через оформление ячейки это сделать можно.
3 fisher
 
21.03.13
17:45
ОформлениеЯчейки.ОтображатьФлажок
4 fisher
 
21.03.13
17:46
И ОформлениеЯчейки.Флажок
5 fisher
 
21.03.13
17:46
Получается красивенько с учетом иерархии, как в системных деревьях с отметками. А не тупо флажок в отдельной колонке.
6 SherifSP
 
21.03.13
17:47
(2) Спс
7 SherifSP
 
21.03.13
17:47
(5) Вот так же и хочу)
8 SherifSP
 
21.03.13
18:50
Как реализовать если поставил галочку на верхней строки иерархии, чтобы и у всех подчиненных строках тоже проставилась?
9 Мимохожий Однако
 
21.03.13
18:58
Обходи подчиненные при установке головного.
10 SherifSP
 
21.03.13
19:00
(9) Каким образом?
11 SherifSP
 
21.03.13
19:02
(9) Для Каждого СтрокаОформления Из ОформлениеСтрок Цикл

   КонецЦикла;

Для Тз такой метод норм, но для дерева в свернутом виде, не подходит
12 SherifSP
 
21.03.13
19:03
Выводить в развернутом виде, не предлагать
13 SherifSP
 
21.03.13
19:09
Апну)
14 SherifSP
 
21.03.13
19:16
А ну проверим знания PR )
15 fisher
 
22.03.13
08:18
(8) Ну ты как маленький. Ессно значение галки тоже в дереве надо хранить. При выводе строк - из него отображать, при изменении флажка - менять.

Процедура ДеревоСегментовОбработатьПометкиПодчиненныхСегментов(КоллекцияСтрокДереваСегментов,НоваяПометка)
   
   Для Каждого СтрокаДереваСегментов Из КоллекцияСтрокДереваСегментов Цикл
       Если СтрокаДереваСегментов.Пометка <> НоваяПометка Тогда
           СтрокаДереваСегментов.Пометка = НоваяПометка;
           ДеревоСегментовОбработатьПометкиПодчиненныхСегментов(СтрокаДереваСегментов.Строки,НоваяПометка);
       КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры

Процедура ДеревоСегментовОбработатьПометкиРодительскихСегментов(Родитель)
   Если Родитель = Неопределено Тогда
       Возврат;
   КонецЕсли;
   
   КоллекцияСтрокПодчиненныхСегментов = Родитель.Строки;
       
   ИтогПометокПодчененныхСегментов = КоллекцияСтрокПодчиненныхСегментов.Итог("Пометка");
   Если ИтогПометокПодчененныхСегментов = 0 Тогда
       НоваяПометка = 0;
   ИначеЕсли ИтогПометокПодчененныхСегментов = КоллекцияСтрокПодчиненныхСегментов.Количество() Тогда
       НоваяПометка = 1;
   Иначе
       НоваяПометка = 2;
   КонецЕсли;
   Если Родитель.Пометка <> НоваяПометка Тогда
       Родитель.Пометка = НоваяПометка;
       ДеревоСегментовОбработатьПометкиРодительскихСегментов(Родитель.Родитель);
   КонецЕсли;
КонецПроцедуры
16 fisher
 
22.03.13
08:21
Аааа! Ёбаный стыд! "ИтогПометокПодчЕненныхСегментов" :))
17 Wobland
 
22.03.13
08:24
(15) от же ж плин, а я сам третьего дня такое сочинял ;)
18 Wobland
 
22.03.13
09:00
зато нашёл собственную ошибку. большое спасибо!
19 fisher
 
22.03.13
09:04
Обращайтесь :)
20 Wobland
 
22.03.13
11:13
кстати, fisher, я тут подумал... я своими пометками занимаюсь на клиенте, а ты на сервере. у тебя ж в тонком не взлетит. или я где-то недопонимаю?
21 fisher
 
22.03.13
11:19
(20) Это старый кусок из старой конфы на обычных формах.
22 Wobland
 
22.03.13
11:20
значит, правильно я себе хранение данных изобрёл ;)
23 fisher
 
22.03.13
11:20
У ТС ведь тоже обычные формы.