Вход | Регистрация



Как управлять доступностью элемента строки дерева 1с

Как управлять доступностью элемента строки дерева 1с
Я
   gabd_marat
 
12.09.18 - 10:38
Есть дерево , при заполнении на форме нужно некоторые строки заблокировать для изменения .

    ВыборкаНоменклатура = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Пока ВыборкаНоменклатура.Следующий() Цикл
        ВеткаДерева = ДеревоЗначенийВходногоКонтроля.Строки.Добавить();                   
        ВеткаДерева.НоменклатураПартия = ВыборкаНоменклатура.Номенклатура;
        ВыборкаПартия = ВыборкаНоменклатура.Выбрать();
        Пока ВыборкаПартия.Следующий() Цикл
            СтрокаДерева = ВеткаДерева.Строки.Добавить();
            ДокПоступление = СтрЗаменить(Строка(ВыборкаПартия.ПоступлениеТоваровУслуг),"Поступление товаров и услуг ","");
            СтрокаДерева.НоменклатураПартия = "Партия " + ДокПоступление + " Строка " + Строка(ВыборкаПартия.НомерСтрокиПартии);
            СтрокаДерева.Статус = ВыборкаПартия.Статус;
            Если НЕ СтрокаДерева.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.Новый Тогда
                СтрокаДерева.ФлагНачатьПроверку.Доступность = Ложь; 
            КонецЕсли;
            Если СтрокаДерева.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.Новый Тогда
                СтрокаДерева.ФлагПеренестиНаСкладМатериалов.Доступность = Ложь; 
            КонецЕсли;
            
        КонецЦикла;        
    КонецЦикла;
 
 
   gabd_marat
 
1 - 12.09.18 - 10:39
Если НЕ СтрокаДерева.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.Новый Тогда
                СтрокаДерева.ФлагНачатьПроверку.Доступность = Ложь; 
            КонецЕсли;

Так не работает
   FIXXXL
 
2 - 12.09.18 - 10:39
(1) при активизации строки блокируй-разблокируй колонку
   gabd_marat
 
3 - 12.09.18 - 10:41
(2) Сейчас попробую
   Segate
 
4 - 12.09.18 - 10:42
перед началом изменения колонки рассчитывай доступность и пули в отказ, если надо
   gabd_marat
 
5 - 12.09.18 - 11:00
Процедура ДеревоЗначенийВходногоКонтроляПриАктивизацииСтроки(Элемент)
    
    Если НЕ Элемент.ТекущаяСтрока.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.Новый Тогда
        Элемент.ТекущаяСтрока.НачатьПроверку.Доступность = Ложь; 
    КонецЕсли;
    Если Элемент.ТекущаяСтрока.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.Новый Тогда
        Элемент.ТекущаяСтрока.ФлагПеренестиНаСкладМатериалов.Доступность = Ложь; 
    КонецЕсли;
    
КонецПроцедуры

Ошибку выдает, Значение не является значением объектного типа (Доступность)
   Вафель
 
6 - 12.09.18 - 11:02
условное оформление нужно использовать
   gabd_marat
 
7 - 12.09.18 - 11:03
(6) ПриВыводеСтроки?
   gabd_marat
 
8 - 12.09.18 - 11:03
(6) Есть пример?
   FIXXXL
 
9 - 12.09.18 - 11:14
(7) у тебя формы управляемые?
   gabd_marat
 
10 - 12.09.18 - 11:23
(9) Нет
 
 Рекламное место пустует
   Вафель
 
11 - 12.09.18 - 11:24
смотри как субконто в бп сделаны, например в авансовом отчете
   gabd_marat
 
12 - 12.09.18 - 11:24
Нету бп рядом
   FIXXXL
 
13 - 12.09.18 - 11:25
(10) тогда ПриАктивизацииСтроки или Выбор с отменой действия
   gabd_marat
 
14 - 12.09.18 - 11:25
Процедура ДеревоЗначенийВходногоКонтроляПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    Если ДанныеСтроки.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.Новый Тогда
        
        ОформлениеСтроки.ЦветФона = WebЦвета.Белый;
        ДанныеСтроки.ФлагПеренестиНаСкладМатериалов.Доступность = Ложь; 
        
    ИначеЕсли ДанныеСтроки.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.ВыполняетсяПроверка Тогда
        
        ОформлениеСтроки.ЦветФона = WebЦвета.Желтый;
        
    ИначеЕсли ДанныеСтроки.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.ПроверкаПройденаУспешно Тогда
        
        ОформлениеСтроки.ЦветФона = WebЦвета.Зеленый;
        
    ИначеЕсли ДанныеСтроки.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.ПроверкаНеПройдена Тогда
        
        ОформлениеСтроки.ЦветФона = WebЦвета.Красный;       
        
    КонецЕсли;
        
КонецПроцедуры
   gabd_marat
 
15 - 12.09.18 - 11:26
ДанныеСтроки.ФлагПеренестиНаСкладМатериалов.Доступность = Ложь; 
Так можно обращаться к флагу строки
   gabd_marat
 
16 - 12.09.18 - 11:28
У меня так же называется реквизит таблицы значений ФлагПеренестиНаСкладМатериалов
   FIXXXL
 
17 - 12.09.18 - 11:29
(14) не надо ПриВыводе
   gabd_marat
 
18 - 12.09.18 - 11:32
Колонка дерева значений - ПеренестиНаСкладМатериалов,  а данные флажка колонки - ФлагНачатьПроверку, Таблица значений реквизит - ФлагНачатьПроверку
   gabd_marat
 
19 - 12.09.18 - 11:33
(17) ПриВыводе ни как не получиться?
   gabd_marat
 
20 - 12.09.18 - 11:33
Хотелось что бы пользователь мог изначально видеть доступные  поля для изменения
   FIXXXL
 
21 - 12.09.18 - 11:37
(20) красить можешь ПриВыводе
а вот блочить не получится: у тебя 10 строк на экране, 10 раз вызывается ПриВыводе, повезет тебе с блоком КОЛОНКИ?
   gabd_marat
 
22 - 12.09.18 - 11:40
(21) А как можно сделать что бы пользователь мог изначально видеть доступные  поля для изменения
   gabd_marat
 
23 - 12.09.18 - 11:41
или может убрать отображение флага?
   FIXXXL
 
24 - 12.09.18 - 11:44
(22) покрась доступные(недоступные) ячейки
я ж хз твою задачу...
   gabd_marat
 
25 - 12.09.18 - 11:53
(24) Есть дерево значений на форме, формируется по нажатию кнопки, в отображении дерева, нужно что бы пользователь не мог установить флажки истина в строках где колонка статус = Новый
   Вафель
 
26 - 12.09.18 - 11:54
при выводестроки нужно делать
   Вафель
 
27 - 12.09.18 - 11:54
или при полученииданных. но для дерева - это одинаково
   gabd_marat
 
28 - 12.09.18 - 11:55
Там есть свойство (или как называется) "ячейки" дерева Доступность?
   gabd_marat
 
29 - 12.09.18 - 12:20
Похоже можно управлять доступностью только колонки
   gabd_marat
 
30 - 12.09.18 - 12:36
Как обратиться к свойству колонки дерева значений доступность?
   gabd_marat
 
31 - 12.09.18 - 12:48
Заработало
Процедура ДеревоЗначенийВходногоКонтроляПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    Если ДанныеСтроки.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.Новый Тогда
        
        ОформлениеСтроки.ЦветФона = WebЦвета.Белый;
        ОформлениеСтроки.Ячейки.НачатьПроверку.ОтображатьФлажок = Ложь;
        
    ИначеЕсли ДанныеСтроки.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.ВыполняетсяПроверка Тогда
        
        ОформлениеСтроки.ЦветФона = WebЦвета.Желтый;
        
    ИначеЕсли ДанныеСтроки.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.ПроверкаПройденаУспешно Тогда
        
        ОформлениеСтроки.ЦветФона = WebЦвета.Зеленый;
        
    ИначеЕсли ДанныеСтроки.Статус = Перечисления.ТХ_СтатусыВходногоКонтроля.ПроверкаНеПройдена Тогда
        
        ОформлениеСтроки.ЦветФона = WebЦвета.Красный;       
        
    КонецЕсли;
        
КонецПроцедуры
   Вафель
 
32 - 12.09.18 - 12:50
лучше писать
 ОформлениеСтроки.Ячейки.НачатьПроверку.ТолькоПросмотр = Истина
   gabd_marat
 
33 - 12.09.18 - 12:53
(32) ок
 
 
   gabd_marat
 
34 - 12.09.18 - 13:09
(32) Как для корня дерева установить только просмотр если в подчиненных все только просмотр?
   Вафель
 
35 - 12.09.18 - 13:12
(34) нужно пройтись по подчиненным и сложить и установить для корня
   gabd_marat
 
36 - 12.09.18 - 13:12
(35) Понтяно
   gabd_marat
 
37 - 12.09.18 - 15:21
(35) Можешь подсказать как?
   gabd_marat
 
38 - 12.09.18 - 15:24
Есть процедура думаю на ее примере можно сделать но не все понятно как
Процедура УстановитьФлагиРодительскойВетки(РодительскаяВетка, Элемент)
    
    Если РодительскаяВетка = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    Состояние = Неопределено;
    Для Каждого ПодчиненнаяВетка Из РодительскаяВетка.Строки Цикл
            Если Состояние = Неопределено  Тогда
                Состояние = ПодчиненнаяВетка.ФлагНачатьПроверку;
            Иначе
                Если Не Состояние = ПодчиненнаяВетка.ФлагНачатьПроверку  Тогда
                    Состояние = 2;
                    Прервать;
                КонецЕсли;
            КонецЕсли;
        

    КонецЦикла;
    
    Если Состояние <> Неопределено Тогда
        РодительскаяВетка.ФлагНачатьПроверку = Состояние;
        УстановитьФлагиРодительскойВетки(РодительскаяВетка.Родитель, Элемент);
    
    
КонецПроцедуры// УстановитьФлагиРодительскойВетки()
   Вафель
 
39 - 12.09.18 - 15:24
Для каждого ПодчиненнаяСтрока из Строка.Строки Цикл
КонецЦикла

   Вафель
 
40 - 12.09.18 - 15:25
посчитай количество строк с условием и всего количество строк
   Вафель
 
41 - 12.09.18 - 15:25
   gabd_marat
 
42 - 12.09.18 - 15:58
Это все делать в проц привыводе?
   Вафель
 
43 - 12.09.18 - 16:16
зачем при выводе? добавь поле, заполняй его при выводе проверяй
   gabd_marat
 
44 - 12.09.18 - 16:18
(43) Как обратиться к оформлению строки родителя?
   Вафель
 
45 - 12.09.18 - 17:41
(44) не нужно к оформлению обращаться
   Вафель
 
46 - 12.09.18 - 17:41
обрадайся к данным


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