Имя: Пароль:
1C
1С v8
Условное оформление по уровню справочника
,
0 Вжескрыылг
 
16.03.12
13:01
8.2, УФ. Хочу задать условное оформление по уровню справочника. В списке создаю реквизит "Уровень", перетаскиваю его на форму невидимым, в условном оформлении формы задаю ряд отборов Уровень = 0 - цвет фона такой-то. уровень=1 - цвет фона такой-то и т.д.. Ни в какой процедуре не могу задать "Уровень". Хелп, друзья!
1 Bober
 
16.03.12
13:34
в реквизите формы динамический список в свойстве настройка списка закладка настройки -> условное оформление, далее как в СКД
2 Вжескрыылг
 
16.03.12
13:46
(1) не дает выбрать уровень. я уже и произвольным запросом пробовал
3 Вжескрыылг
 
16.03.12
14:08
(1) во блин! щас при перетаскивании объека дает ошибку Объект = Ссылка.ПолучитьОбъект();, ибо щас ссылка = строкаГруппировкиДинамисескогоСписка. а передается из

Процедура СписокОкончаниеПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
   
   ОбщегоНазначения.ПриЗаписиЭлементаЦФО(Элемент.ТекущаяСтрока);
   
КонецПроцедуры //СписокОкончаниеПеретаскивания
4 Bober
 
16.03.12
14:09
в условное оформлении в условии можно выбрать в папку системные поля поле уровень
5 Вжескрыылг
 
16.03.12
14:09
(1)

Процедура ПриЗаписиЭлементаЦФО(Ссылка) Экспорт
   
   Объект = Ссылка.ПолучитьОбъект();
   ПолныйКодНаименование = СформироватьПолныйКодНаименованиеЦФО(Ссылка);
   
   Если СокрЛП(Объект.ПолныйКодНаименование) = ПолныйКодНаименование Тогда
       СформироватьПолныйКодНаименованияЦФОПодчиненныхЭлементов(Объект);
   Иначе
       НачатьТранзакцию();
       Попытка
           Объект.ПолныйКодНаименование = ПолныйКодНаименование;
           Объект.Записать();
           СформироватьПолныйКодНаименованияЦФОПодчиненныхЭлементов(Объект);
           ЗафиксироватьТранзакцию();
       Исключение
           ОбщегоНазначенияКлиентСервер.СообщитьПользователю("ru = ""Невозможно записать объект""" +ОписаниеОшибки());
           ОтменитьТранзАкцию();
       КонецПопытки;
   КонецЕсли;
   
КонецПроцедуры //ПриЗаписиЭлементаЦФО
6 Вжескрыылг
 
16.03.12
14:11
(1) ЦФО - справочник подчинения элементу
7 Bober
 
16.03.12
14:22
(6) лучше пользоваться системным полем уровень.
Но, если справочник иерархический с группами, то в группе указывать вид и на основании вида родителя делать оформление. Если иерархия элементов, то на основании вида ЦФО (затраты, доходы или еще как-то).
8 Bober
 
16.03.12
14:24
(5) делать какое-то свое поле с хранением уровня не айс, так как при измении вехнего родителя подчиненные элементы не меняются. пример:

уровень 1.1
  уровень 2
    уровень 3
уровень 1.2

если уровень 2 перенавесить на уровень 1.2, то элементы уровня 3 не перезаписываются (ведь для них ничего не меняется)
9 Вжескрыылг
 
16.03.12
14:25
(7) системные поля в УО я уже поюзал. изменился тип ссылки
10 Bober
 
16.03.12
14:25
(8) а перезаписывать рекурсией такие вещи еще хуже
11 Bober
 
16.03.12
14:26
(9) как может измениться тип ссылки? не понимаю. скинь скрин
12 КМ155
 
16.03.12
14:27
(0)[Ни в какой процедуре не могу задать "Уровень".]
даже в ПередЗаписью ?
13 Вжескрыылг
 
16.03.12
14:30
(7) в список надо выводит наименование типа 0.2.1 Омск
0 - холдинг, 2- омский филиал , 1 - код омска. до оформления УО все работало - ПолныйКодНаименование менялись при записи и перетаскивании. сейчас изменился тип ссылки, список выглядит не деревянным(
14 Вжескрыылг
 
16.03.12
14:31
(12) при выводе списка
15 Bober
 
16.03.12
14:32
сейчас изменился тип ссылки - что это такое?
16 Вжескрыылг
 
16.03.12
14:36
(11) скрин куда?
17 Вжескрыылг
 
16.03.12
14:40
(15)

Процедура СписокОкончаниеПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
   
   ОбщегоНазначения.ПриЗаписиЭлементаЦФО(Элемент.ТекущаяСтрока);
   
КонецПроцедуры //СписокОкончаниеПеретаскивания

Раньше ссылка была ссылкой на справочник ЦТО. а сейчас тип ссылки = СтрокаДинамическогоСписка, ссылку оттуда не достать!
18 Bober
 
16.03.12
14:41
ТекущиеДанные.Ссылка
19 Bober
 
16.03.12
14:41
а лучше всего точку останова и shift + f9 на переменной Элемент
20 Вжескрыылг
 
16.03.12
14:52
(19) элемент = таблицыФормы
Элемент.ТекущиеДанные = ДанныеФормыСтруктура
21 Вжескрыылг
 
16.03.12
14:53
(19) в структуре нет ссылки. Найти по наименованию?
22 Вжескрыылг
 
16.03.12
15:01
(19) и после оформления списка выводится вообще не деревянный - все подряд. хотя в свойствах списка - дерево
23 Вжескрыылг
 
16.03.12
15:05
чо, блин, делать? конфа самописная, ЦФО - разделитель учета. справочник ЦФО надо оформить грамотно((
24 Bober
 
16.03.12
16:37
(23) т.е. в каждой карточке должны быть холдинг, регион, филиал.
25 Bober
 
16.03.12
16:38
те как минимум три типа цфо (холдинг, регион, филиал)
26 Bober
 
16.03.12
16:38
или вида цво
27 Bober
 
16.03.12
16:39
по этому разделителю и крась
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.