7.7 Как программно обратиться к идентификатору элементов диалога

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Asttoxa, 1 фев 2012.

  1. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Подскажите как можно вытащить идентификатор элементов?
    Ситуация такая:
    На форме есть несколько (около 20) флажков. Идентификаторы у которых следующие: фл1, фл2 ... фл20.
    У всех флажков нужно прописать Формулу: "ПриВыбореФлага(<перем>)"
    Так вот вместо "перем" нужно вставить отличие флагов, например Идентификатор! Или на крайний случай Заголовок (но это я считаю не правильным)

    Вроде подробно изложил. Не знаю как сделать это, помогите пожалуйста.
  2. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    В процедуре "ПриВыбореФлага()" можно проверять активный элемент формы. В таком случае параметр передавать не обязательно.
  3. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Ни разу не пробовал таким образом определять. Не подскажите как?
  4. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    пропиши просто вызов ПриВыбореФлага()

    процедура ПриВыбореФлага()
    НазвРекв=Форма.АктивныйЭлемент();
    пЗнач=ПолучитьАтрибут(НазвКол);
  5. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Понял Спасиб!
  6. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Есть ли процедурка обратная ПолучитьАтрибут(НазвКол)??
    Цель обратная нужно установить флаг в "0" но он у меня идет в строке!
  7. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    УстановитьАтрибут(НазвРекв,пЗнач);
  8. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Может я что то не правильно понял ПолучитьАтрибут(НазвКол); и УстановитьАтрибут(НазвРекв,пЗнач); не получает/Устанавливает значение флага??
  9. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    что надо то?

    УстановитьАтрибут("фл1",1); установит в 1
    УстановитьАтрибут("фл1",0); - в 0
  10. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Странно у меня УстановитьАтрибут("фл1",1);
    Выдает ошибку
    Процедура не обнаружена (УстановитьАтрибут)

    А если сделаю Форма.УстановитьАтрибут("фл1",1); То не совершает вообще никаких действий.. Как был флаг в нуле так и остается.

    Мне нужно управлять значением флага формы через его текстовое представление. Да я могу сделать так фл1=1.. но по коду так не получится :(
  11. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    У формы нет метода УстановитьАтрибут. Так что, если это форма какого-нибудь отчета или обработки, то, AFAIK, только через Если ... ИначеЕсли
  12. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    ...или извратиться через "Шаблон()"....
  13. MaxxaM
    Offline

    MaxxaM Опытный в 1С

    Регистрация:
    16 окт 2007
    Сообщения:
    288
    Симпатии:
    2
    Баллы:
    29
    Обратная функция ТекущийРеквизит() или в предопределенной процедуре ПриНачалеВыбораЗначения(Рекв,ФлагСтандОбр) Рекв = строковое значение редактируемого элемента

Поделиться этой страницей