Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обход элементов формы объекта
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
Gigi
Всем привет!
Опять вынужден выходить на форум ... блин!
Короче хочу быстро решить вопрос и закрыть ...
Что нужно ...
Нужно что бы форма ... вся форма документа имела рещим: "ТолькоПросмотр"
Но из всей формы только два реквизита имели режим: ТолькоПросмотр=ложь, а все остальные ТолькоПросмотр=Истина
И дело в том, что при событии открытия формы если делаешь так:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
//Линия1
ТолькоПросмотр=Истина;
//Линия2
Элементы.Реквизит1.ТолькоПросмотр=Ложь;
Элементы.Реквизит2.ТолькоПросмотр=Ложь;
КонецПроцедуры

В таком случае с Линии2 код не выполняется.
Поэтому решил сделать другим путем... путем обхода но блиин ... и тут проблема
Все стопориться в указанном в коде месте. при обоих вариантах ругается зараза
Процедура ПриОткрытии(Отказ)
//Линия1
Для Каждого ТекЭлемент из Элементы Цикл
ТекЭлементИмя=ТекЭлемент.Имя;
//ТекЭлемент.ТолькоПросмотр=Истина;//Так не нравиться
//ТекЭлемент[ТекЭлементИмя].ТолькоПросмотр=Истина; //Съяк тоже не нарвиться
КонецЦикла;
//Линия2
Элементы.Реквизит1.ТолькоПросмотр=Ложь;
Элементы.Реквизит2.ТолькоПросмотр=Ложь
КонецПроцедуры

Короче как сделать что бы система просто РОТ ЗАКРЫЛА!!!! smile.gifsmile.gif
Буду признателен!
Petre
Gigi @ Today, 11:26 необходимо зарегистрироваться для просмотра ссылки ,
И какая же ошибка?
Gigi
Petre @ Сегодня, 12:33 необходимо зарегистрироваться для просмотра ссылки ,
Цитата(Petre @ 28.02.18, 12:33) необходимо зарегистрироваться для просмотра ссылки
И какая же ошибка?

В первом случае:
Цитата
Поле объекта не обнаружено (ТолькоПросмотр)
ТекЭлемент.ТолькоПросмотр=Истина;

Во втором случае:
Цитата
Поле объекта не обнаружено (Реквизит4)
ТекЭлемент[ТекЭлементИмя].ТолькоПросмотр=Истина;
sava1
Цитата(Gigi @ 28.02.18, 11:26) необходимо зарегистрироваться для просмотра ссылки
при обоих вариантах ругается зараза


Цитата(Petre @ 28.02.18, 11:33) необходимо зарегистрироваться для просмотра ссылки
И какая же ошибка?


Матом , наверно, раз не показывает ?...
Gigi
Цитата(sava1 @ 28.02.18, 12:49) необходимо зарегистрироваться для просмотра ссылки
Матом , наверно, раз не показывает ?...

Матом я ее крою smile.gifsmile.gif
Ладно ... шутки шутками но как сделать правильно?
Пожалуйста!
Хочу быстро .... подкорректируйте пожалуйста.
Помогите заставить систему замолкнуть smile.gifsmile.gif
Буду признателен!
sava1
Ну хотя-бы попробовать Попытка-Исключение.
Может, у элемента нет такого свойства ?
Petre
Gigi @ Today, 11:46 необходимо зарегистрироваться для просмотра ссылки ,
Свойство "ТолькоПросмотр" есть у элементов типа "ПолеФормы", "ГруппаФормы" и "ТаблицаФормы". Ставьте условие типа:
Если ТипЗнч(ТекЭлемент) = Тип("ПолеФормы") Тогда
    ТекЭлемент.ТолькоПросмотр = Истина;
КонецЕсли;
Gigi
Цитата(sava1 @ 28.02.18, 12:54) необходимо зарегистрироваться для просмотра ссылки
Ну хотя-бы попробовать Попытка-Исключение.
Может, у элемента нет такого свойства ?

Ну ладно попробую но вообще как правильнее?
Так
ТекЭлемент.ТолькоПросмотр=Истина;

или так
ТекЭлементИмя=ТекЭлемент.Имя;
ТекЭлемент[ТекЭлементИмя].ТолькоПросмотр=Истина;

Как правильнее?
Просто при первом пишет поле ТолькоПросмотр не найдено.
При втором пишет на пример поле: "Реквизит4" не найдено. Хотя у этого реквизита есть такое свойство как ТолькоПросмотр.
Так что ничего не пойму.
Ладно ... какой вариант лучше7

Цитата(Petre @ 28.02.18, 12:58) необходимо зарегистрироваться для просмотра ссылки
Свойство "ТолькоПросмотр" есть у элементов типа "ПолеФормы", "ГруппаФормы" и "ТаблицаФормы". Ставьте условие типа:

Ша попробую... спасибо
Petre
Gigi @ Today, 12:00 необходимо зарегистрироваться для просмотра ссылки ,
Тут:
    ТекЭлемент[ТекЭлементИмя].ТолькоПросмотр = Истина;

очевидная ошибка. Надо так:
    Элементы[ТекЭлементИмя].ТолькоПросмотр = Истина;
Gigi
Цитата(Petre @ 28.02.18, 13:04) необходимо зарегистрироваться для просмотра ссылки
очевидная ошибка. Надо так:

Понятно!
А относительно
Если ТипЗнч(ТекЭлемент) = Тип("ПолеФормы") Тогда
    ТекЭлемент.ТолькоПросмотр = Истина;
КонецЕсли;

Гууууу ... наконец то .. работает.
Так что спасибо спасибо и еще раз спасибо smile.gifsmile.gif
Ладно! Пока!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.