|   |   | 
| 
 | Как обратиться к произвольному полю формы? | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Только просмотр по строкам делается через условное оформление     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |