Имя: Пароль:
1C
 
Обработка доступности поля строки табличной части документа
0 NIGHTHUNTER
 
19.09.22
13:16
Можно ли как то это сделать в цикле перебором?
Так как мне нужно регулировать доступностью поля табличной части документа.
В зависимости от значения в предыдущей колонке. И возвращаемого значения в самописной процедуре.
Можно ли это сделать именно перебором в цикле?
То есть менять свойство доступность у ячейки табличной части документа.
1 МКК
 
19.09.22
13:21
Да ну не
2 NIGHTHUNTER
 
19.09.22
13:22
(1) Никак нельзя это сделать в цикле?????
3 PuhUfa
 
19.09.22
13:26
(0) цикл то зачем?
4 МКК
 
19.09.22
13:29
(2) Нет
5 NIGHTHUNTER
 
19.09.22
13:32
(3) А как менять свойство доступность у поля разных строк?
Зависит от условия самописной функции ещё.
6 МКК
 
19.09.22
13:33
(3) так событие надо найти которое будешь обрабатывать перед началом редактирования ячейки
7 PuhUfa
 
19.09.22
13:34
(5) Тебя спасут событие ПриАктивизацииСтроки ТЧ и событие ПриИзменении для ячейки ТЧ от которой зависит доступность нужной тебе
8 NIGHTHUNTER
 
19.09.22
13:38
(7) Я сейчас пробую ПриИзменении(), но там нет Отказ. Как отказаться от изменения ячейки?
9 PuhUfa
 
19.09.22
13:39
(8) зачем тебе отказываться от ее изменения?
10 NIGHTHUNTER
 
19.09.22
13:52
(9) Мне нужно убрать доступность ячейки.
11 Kassern
 
19.09.22
13:56
(10) делайте это не при изменении, а раньше. ПриИзменении - отрабатывает, когда уже ячейка изменена.
12 NIGHTHUNTER
 
19.09.22
13:58
(11) Где например?
13 NIGHTHUNTER
 
19.09.22
13:58
У ячейки другого события как при изменении и нет (.
14 Kassern
 
19.09.22
13:59
(13) ПриАктивизации есть
15 Ryzeman
 
19.09.22
14:08
16 NIGHTHUNTER
 
19.09.22
14:12
(15) а у меня тогда что это? Я про поле табличной части документа. Там вот одно только событие.

http://joxi.ru/8An130OCNPxZR2
17 Ryzeman
 
19.09.22
14:13
(16) >>а у меня тогда что это?
Тебе вежливо ответить?) Если вежливо - то ты сам должен нам рассказать что это у тебя там.
18 NIGHTHUNTER
 
19.09.22
14:15
(17) Поле табличной части документа. там одно только свойство. Это подтверждяют и в (7) .
19 NIGHTHUNTER
 
19.09.22
14:16
(15) А чьи свойства показываете вы. не известно!
20 NIGHTHUNTER
 
19.09.22
14:26
(14)  Вы имели ввиду процедуру ПриАктивизицииСтроки() ?
21 Ryzeman
 
19.09.22
14:27
(19) на форме нету элемента "поле табличной части документа".
Попытка номер два, что же ты такое тыкаешь, у чего нет никаких событий?
22 NIGHTHUNTER
 
19.09.22
15:15
На столбец, табличной части документа на форме.
23 Хряк
 
19.09.22
16:04
устанавливай только просмотр в при выводе строки
24 NIGHTHUNTER
 
20.09.22
03:09
(23) Это же в обычных формах, вроде как. В управляемых то нет такого.
25 NIGHTHUNTER
 
20.09.22
03:18
А как в процедуре ПриАктивизицииСтроки управлять доступностью полей?
26 NIGHTHUNTER
 
20.09.22
03:20
У меня же управляемые формы, вы что советуете то?
27 NIGHTHUNTER
 
20.09.22
03:34
Подскажите как мне управлять доступностью ячейки табличного поля?
28 NIGHTHUNTER
 
20.09.22
06:12
Как работает вот этот пример? Я могу его использовать, что бы установить доступность строк при открытии документа и  при редактировании строки?

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    //Ваш код
    УстановитьУсловноеОформление();
    //Ваш код
    
КонецПроцедуры

&НаСервере
Процедура УстановитьУсловноеОформление()

    Элемент = УсловноеОформление.Элементы.Добавить();
    
    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ПродукцияТОперации.Имя);
    
    ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Продукция.Спецификация");
    ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
    
    Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
    
КонецПроцедуры
29 NIGHTHUNTER
 
20.09.22
07:50
(7) Скажите как мне воспользоваться этими процедурами? как получить доступность поля строки, ячейки?
30 2S
 
20.09.22
07:51
(29) Стар, ну епта, почитай уже про условное оформление. Тебе никто не должен разжевывать в рот положить
31 NIGHTHUNTER
 
20.09.22
08:02
Вот это же, это для всего столбца? (28)

(30) Ну я сейчас, сделаю реквизит булево, буду заполнять его функцией при открытии, что бы знать доступно ли дополнительное сведение. А потом и сделаю условное оформление.
Буду иметь доступ через этот реквизит к дополнительному свойству, статусу документа, и реквизитам строки табличной части.
32 NIGHTHUNTER
 
20.09.22
08:03
(31) Если ни в какой процедуре табличной части формы документа этого не удается сделать.
33 NIGHTHUNTER
 
20.09.22
08:10
(30) Мне нужно проверять дополнительное свойство, установленное у пользователя, при открытии. И при редактировании строки.
Это не давало мне использовать условное оформление. Там же я не смогу свою функцию вызывать.
По этому узнавал по коду.
34 Ryzeman
 
20.09.22
08:25
(29) Не, извини, это бесполезно. Ты не научишься и от того что тебе разжевать и положить в рот - не в коня корм. Ты тыкаешь на кой то чёрт поле флажка, удивляешься что там только одно событие и недоумеваешь почему ты на этот несчастный флажок ничего не можешь повесить. Ты не понимаешь по сути как работать с УФ, если для тебя простейший код по установке условного форматирования - это "смотрю в книгу - вижу фигу". Ты не можешь и не хочешь продумать ни один алгоритм как в принципе решить свою задачу и не понимаешь предложенные, потому что "устал и переутомился". Каждый божий день.
35 NIGHTHUNTER
 
20.09.22
08:28
(31) Наверное это плохая идея все же.

(34) Так подскажите что делать по факту.
36 NIGHTHUNTER
 
20.09.22
08:30
Задача такая. По определенным условиям, которые я получаю, мне нужно менять в строках доступность поля строки табличнойчасти.
37 Ryzeman
 
20.09.22
08:37
"По факту" тебе максимально чётко ответили ещё в (7)
38 NIGHTHUNTER
 
20.09.22
08:46
(37) Мне не дошло. Вот я взял процедуру. Как мне накладывать доступность поля строки? На что? Не хватает понимания. подскажите пожалуйста.

&НаКлиенте
Процедура ЛимитыПриАктивизацииСтроки(Элемент)
    й = 1;
КонецПроцедуры
39 Ryzeman
 
20.09.22
08:51
Думай. Что же ты на клиенте можешь получить и к чему обратиться когда ты активировал строку? Поднимай свои старые темы, читай, ищи в Яндексе. Тебе это объясняли и не один раз.
40 NIGHTHUNTER
 
20.09.22
09:58
(39) На сервер нужно переходить?

Тут я могу обратиться к Элементы.Лимиты.ТекущаеДанные, только это дает перечень имеющихся полей
41 vicof
 
20.09.22
11:37
(40) Ответь, зачем нужен переход на сервер, и тогда ты ответишь на (40)
42 Kassern
 
20.09.22
11:45
(41) Вот бы еще ТС понимал, что есть клиент, а что есть Сервер и в чем разница между ними. Что вообще собой представляет клиент-серверное взаимодействие.
43 vicof
 
20.09.22
11:58
(42) Это я так, мысли вслух)
44 NIGHTHUNTER
 
20.09.22
12:07
(41) Не нужен он туда.

тут я сделал так. Но хотелось бы знать как это делается условным оформлением в коде???? При открытии как я понимаю.


&НаКлиенте
Процедура ЛимитыПриАктивизацииСтроки(Элемент)
    ТекФизЛицо                                     = ПолучитьФизЛицоТекущегоПользователя();
    ХХХ_РеестрЛимитовБанковскаяГруппаПодготовка = ПолучитьХХХ_РеестрЛимитовБанковскаяГруппаПодготовка();
    ТекСтрока = Элементы.Лимиты.ТекущиеДанные;
    Если Объект.Статус = ПредопределенноеЗначение("Перечисление.ХХХ_СтатусЛимита.НаПодготовкуПП") Тогда        
        Если ПолучитьДополнительноеСведение(ТекФизЛицо,  ХХХ_РеестрЛимитовБанковскаяГруппаПодготовка, Истина) Тогда
            Если ТекСтрока.Актуализировано Тогда
                Элементы.Лимиты.ПодчиненныеЭлементы.ЛимитыПодготовленоПП.Доступность = Истина;
            Иначе
                Элементы.Лимиты.ПодчиненныеЭлементы.ЛимитыПодготовленоПП.Доступность = Ложь;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
45 NIGHTHUNTER
 
20.09.22
12:20
Вот я что то пробовал делать через условное оформление, подлежит ли это исправлению? Доработке7 Я понял что это не работает вообще (


&НаСервере
Функция УстановкаДоступностиПодготовленоПП(ПереданныйОбъект, ПереданноеСвойство, ПереданноеЗначение)
    Если Объект.Статус = ПредопределенноеЗначение("Перечисление.ХХХ_СтатусЛимита.НаПодготовкуПП") Тогда        
        Если ПолучитьДополнительноеСведение(ПереданныйОбъект, ПереданноеСвойство, ПереданноеЗначение) Тогда
            //ЭлементОформленияПодготовленоПП               = УсловноеОформление.Элементы.Добавить();
            //ЭлементОформленияПодготовленоПП.Использование = Истина;
            //ЭлементОформленияПодготовленоПП.Оформление.УстановитьЗначениеПараметра("Доступность", Ложь);
            ////
            //ЭлементУсловияПодготовленоПП                = ЭлементОформленияПодготовленоПП.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            //ЭлементУсловияПодготовленоПП.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Объект.Лимиты.Актуализировано");
            //ЭлементУсловияПодготовленоПП.ПравоеЗначение = Ложь;
            //ЭлементУсловияПодготовленоПП.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
            //ЭлементУсловияПодготовленоПП.Использование  = Истина;
            ////
            //ОформляемоеПоле      = ЭлементОформленияПодготовленоПП.Поля.Элементы.Добавить();
            //ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Лимиты");            
            //// <-
46 NIGHTHUNTER
 
20.09.22
12:45
Тут вот в одном месте я вижу, что я вообще вот так вот обрабатываю.
Галка ставится и сразу снимается, если не нужно ее оставлять.
Предыдущий один из столбцов если без галки.

&НаКлиенте
Процедура ЛимитыОплаченоПриИзменении(Элемент)
    Если НЕ Элементы.Лимиты.ТекущиеДанные.Актуализировано = Истина Тогда
        Элементы.Лимиты.ТекущиеДанные.Оплачено = Ложь;        
    КонецЕсли;
КонецПроцедуры
47 vicof
 
20.09.22
13:03
"Тут вот в одном месте я вижу, что я вообще вот так вот обрабатываю"
Раздвоение личности?
48 NIGHTHUNTER
 
20.09.22
13:10
(47) нужно разобрать как это все делать что бы все работало.
И всеми возможными способами и через условное оформление тоже.
Муторные разные условия, голову забивают. забивается видимо.
49 NIGHTHUNTER
 
20.09.22
13:40
Подскажете как управлять доступностью полей условным оформлением?
Может какие то советы исходя из (44), (46).
50 NIGHTHUNTER
 
20.09.22
14:42
В (44), (46) есть какие то ограничения.
Когда отображаются пустые квадратики в полях булево, которых не должно быть.
Или вдруг эти квадратики пропадают.
В условном оформлении если создаать его программно, нет таких побочных эффектов?
51 vicof
 
20.09.22
15:38
"Или вдруг эти квадратики пропадают."
Магия.
52 vicof
 
20.09.22
15:39
53 KJlag
 
20.09.22
15:55
дойдет ли тема до 999? :thinking: