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



Как управлять доступностью элемента строки дерева 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
обрадайся к данным


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