Имя: Пароль:
1C
1С v8
Как обратиться к произвольному полю формы?
0 ssalikoff
 
13.06.21
15:41
Имеется таблица формы. Требуется получать ячейки для управления их свойствами (например, доступностью). Однако получить ячейку (поле формы) я могу только через свойство ТекущийЭлемент ТаблицыФормы, если на неё спозиционироваться.
Можно ли (если можно, то как) обращаться к произвольным ячейкам как текущей строки, так и вообще любой строки таблицы формы?
1 acht
 
13.06.21
15:54
Нет. Никаких других "ячеек" кроме текущей строки не существует.
2 ssalikoff
 
13.06.21
16:09
(1). Ну хорошо. Допустим, есть текущая строка. Как обратиться к произвольному полю текущей строки?
3 acht
 
13.06.21
16:12
(2) Элементы.ИмяМоегоПоля
4 ДедМорроз
 
13.06.21
16:14
СтрокаТаблицы[ИмяКолонки]
Наверное,автор хочет этого.
5 ДедМорроз
 
13.06.21
16:15
Если форма управляемая,то строк на форме нет
Есть только Идентификаторы строк,а вот уже поидентмфикатору из связанного реквизита можно получить строку,в которой будут данные.
6 RomanYS
 
13.06.21
16:18
(4) вряд ли. Скорее всего ему нужно условное оформление, но он об этом не знает
7 ssalikoff
 
13.06.21
16:27
(3)Элементы.ИмяМоегоПоля — я получу всю колонку целиком. Если я, например, установлю свойство ТолькоПросмотр в Истину, то это заблокирует всю колонку
(4)(5) Нет, мне не нужны данные. Мне нужно поле формы.
(6) Нет, мне не нужно условное оформление. Конкретно, управлять свойством Доступность у поля. Это не решается условным оформлением
8 RomanYS
 
13.06.21
16:32
(7) уверен, что не решается?
9 ssalikoff
 
13.06.21
16:33
(8) Да, уверен. Иначе бы я не создал ветку. Как установить свойство Доступность у ячейки в текущей строке? ТОЛЬКО В ТЕКУЩЕЙ СТРОКЕ, а не в колонке целиком.
10 ssalikoff
 
13.06.21
16:35
причем установить я хочу это свойство на основании события, не связанного с этой ячейкой (иначе мне был бы доступен ТекущийЭлемент)
11 RomanYS
 
13.06.21
16:43
(10) если тебя УО не устраивает, есть событие приначалередактированиястроки
12 Йохохо
 
13.06.21
16:45
(10) вызови принудительно Обновить() ОбновитьОтображениеДанных()
13 ssalikoff
 
13.06.21
16:46
(11) А как мне это поможет? Да, такое событие есть.  ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
В нём я в параметре Элемент получаю ТаблицуФормы. А поле-то мне как получить?
14 ssalikoff
 
13.06.21
16:48
(11) Исправляюсь, Доступностью можно управлять с помощью условного оформления. Однако, помимо доступности, есть куча других свойств, которыми нельзя управлять с помощью УО. Ну, например, хочу сделать КнопкаВыбора = Ложь для конкретной ячейки.
15 RomanYS
 
13.06.21
16:49
(13) Элементы.ИмяПоля
16 ssalikoff
 
13.06.21
16:50
(15) Уже был такой совет. Элементы.Имя поля дадут мне ВСЮ КОЛОНКУ ЦЕЛИКОМ. А мне нужна конкретная ячейка в текущей строке
17 RomanYS
 
13.06.21
16:52
(16) смотри (1)
18 runoff_runoff
 
13.06.21
16:55
УсловноеОформление.. параметр Доступность..
19 ssalikoff
 
13.06.21
16:56
(18) я в (14) уже отписал, что с помощью УО можно доступность "рулить", но хочется большего
20 ssalikoff
 
13.06.21
17:02
(17) Если использовать событие ПриАктивизацииЯчейки или ПриАктивизацииПоля, то можно в обработчике это поле получить, и какие угодно его свойства назначить. Эти свойства будет ТОЛЬКО для данной конкретной ячейки. В том же столбце другие ячейки будут иметь другие значения свойств, отличающиеся от данной ячейки.
Проблема в том, что для того чтобы настроить ячейку, я должен "ткнуть" в неё, только после этого я получу возможность редактировать её свойства. Вопрос в том, как это сделать без необходимости "тыкать" в ячейку
21 RomanYS
 
13.06.21
17:08
(20) "В том же столбце другие ячейки будут иметь другие значения свойств, отличающиеся от данной ячейки."
Только в твоих мечтах
22 ssalikoff
 
13.06.21
17:10
(21) Проверял? Зачем тогда пишешь?
23 acht
 
13.06.21
17:21
(22) > другие ячейки будут иметь другие значения свойств, отличающиеся от данной ячейки

Если ты утвердаешь подобное, значит ты уже получил эти значения и тем самым ответил положительно на свой изначальный вопрос.
Зачем тогда пишешь?
24 ssalikoff
 
13.06.21
17:31
(23) я написал выше, как я получил подобное. Для установки индивидуальных значений свойств для каждой ячейки я должен передать ей фокус, чтобы инициировать событие "ПриАктивизацииЯчейки". В этом событии я получаю ТекущийЭлемент, который является конкретной ячейкой. Для него я могу назначать свойства.
Вопрос был в том, как устанавливать свойства, не используя событие ПриАктивизацииЯчейки
25 runoff_runoff
 
13.06.21
17:57
(24) а зачем управлять кнопкой выбора в ячейке, которая неактивна?
26 ssalikoff
 
13.06.21
18:10
(25) Да это просто для примера. Свойств много, и можно придумать разные сценарии. Например, есть у поля таблицы свойство СписокВыбора. Было бы интересно им управлять, в зависимости от данных в других ячейках
27 runoff_runoff
 
13.06.21
18:15
(26) НачалоВыбора.. ДанныеВыбора
28 acht
 
13.06.21
18:20
(26) >  Было бы интересно им управлять
А кроме интереса еще какая необходимость есть? Да еще такая, что проходит мимо ПриАктивизацииЯчейки?
29 ssalikoff
 
13.06.21
18:27
(28) Ну ладно, пусть пример со списком выбора неудачный. Получается, что на вопрос "как это сделать?" мне отвечают, что тебе это не нужно.
Получается, что объект внутри 1С есть, у него есть свои свойства, но программного интерфейса доступа к нему нет, потому что без этого можно обойтись. Ну ладно, будем считать это окончательным ответом.
30 acht
 
13.06.21
18:31
(29) Получается, что тебе еще в (1) ответили, что это сделать нельзя, и интересуются - какая у тебя проблема. Однако ты упираешся с мотивацией "можно придумать" и "было бы интересно".

Поздравляю тебя - ты типовой заказчик.
31 Cthulhu
 
14.06.21
02:25
самое веселое, что ему это самое - то о чем он говорит - не надо и нафиг. режим только просмотра реализуется отменой редактирования в процедуре, вызываемой при начале редактирования "ячейки". причем вне такого обытия факт того - может ли какая-то "ячейка" редактироваться (быть доступной) - категирически не важно.
не полоскайте мозги, формулируйте аккуратнее.
32 ДенисЧ
 
14.06.21
06:05
(29) Иди в фузину, там это наверняка есть.
33 Вафель
 
14.06.21
08:26
Только просмотр по строкам делается через условное оформление
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан