Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Свойства формы ТолькоПросмотр          
jonson_r Подменю пользователя
сообщение 01.04.15, 12:41
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 1 раз
Рейтинг: 0

Конфигурация УТП для Украины 1.2.27.6
Платформа 8.2.16.352

В общей форме НастройкаПараметровУчета использую ПриОткрытии()

ЭтаФорма.ТолькоПросмотр = Истина;


Все элементы формы (поля ввода, флажки и т.д.) становятся неактивны

Аналогичное проделываю для общей формы УстановкаДатыЗапретаИзмененияДанных - результата никакого. Даже кнопки основной панели доступны.
Пробовал пойти через:

ЭлементыФормы.ДеревоОсновнойДаты.ТолькоПросмотр = Истина;
ЭлементыФормы.ДеревоРеглДаты.ТолькоПросмотр = Истина;

тоже безрезультатно.

Пришлось делать так:

ЭлементыФормы.ОсновныеДействияФормы.Кнопки.КнопкаУстановить.Доступность = Ложь;

ЭлементыФормы.Панель1.Страницы.Страница1.Доступность = Ложь;

ЭлементыФормы.Панель1.Страницы.Страница2.Доступность = Ложь;


Что не совсем удобно, т.к. переход между страницами панели невозможен, а желательно бы иметь данные для просмотра.

Читал синтаксис-помощник (по форме неуправляемой):

Описание:
Тип: Булево.
Содержит признак использования формы в режиме просмотра. Если свойство установлено в Истина, то становятся не доступны
для изменения все дочерние элементы вне зависимости от значения их свойств ТолькоПросмотр.

Читал эту отличную статью на форуме, но либо не док конца понял либо... ответа не нашел.
Может кто сталкивался или знает хоть в какую сторону копнуть?
Заранее спасибо!

logist Подменю пользователя
сообщение 01.04.15, 12:54
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

В типовой конфигурации в ПриОткрытии есть код
    ТолькоПросмотр = НЕ ПравоДоступа("Изменение", Метаданные.РегистрыСведений.ГраницыЗапретаИзмененияДанных);

Измените его на
    ТолькоПросмотр = Истина;


В остальном - суть в том, что это как бы не элементы формы, а элементы регистра сведений, как-то так.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: jonson_r,

jonson_r Подменю пользователя
сообщение 01.04.15, 14:31
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 1 раз
Рейтинг: 0

logist, большое спасибо за ответ!
Да, я уже пробовал устанавливать вместо
ТолькоПросмотр = НЕ ПравоДоступа("Изменение", Метаданные.РегистрыСведений.ГраницыЗапретаИзмененияДанных);

сразу
ТолькоПросмотр = Истина;

но проблема в том, что это управляет видимостью надписи, флажка и кнопки панели "Установить", но дает возможность изменить дату. И если это сделать - система видит изменения и перед закрытием формы предлагает их сохранить. Т.е. нужно вклиниваться еще в другой код что бы обойти и это.

Да, это вывод записей регистра, но ведь через элемент на форме. В реквизитах формы ДеревоОсновнойДаты и ДеревоРеглДаты имеют тип ДеревоЗначений, вначале идет запрос к регистру, а затем в цикле добавляются данные в эти два дерева, записываются же эти данные через НаборЗаписей. Т.е. я к тому, что прямого вывода регистра на форму нет, объект РегистрСписок отсутствует...
Единственное до чего я додумался - просмотр для элемента формы с типом ДеревоЗначенй просто недоступен.
Позже попробую это проверить, путем добавления дерева на форму НастройкаПараметровУчета

Добавил таки на общую форму НастройкаПараметровУчета (на которой отрабатывает ТолькоПросмотр = Истина;) новую страницу, на ней разместил три элемента - поле ввода, флажок, табличное поле с типом значения ДеревоЗначений.
И... все неактивно - а мои новые элементы доступны и активны, в поле ввода можно ввести строковое значение, покликать флажок, добавить строку в табличное поле. o_0
Видимо, я схожу с ума icon_cuss.gif

logist Подменю пользователя
сообщение 01.04.15, 14:49
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(jonson_r @ 01.04.15, 14:31) *
но дает возможность изменить дату

Уберите права на изменение регистра


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: jonson_r,

Vofka Подменю пользователя
сообщение 01.04.15, 14:49
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Всё, что мы видим на форме - это не может быть не элементами формы.

jonson_r, а так:

ЭлементыФормы.ОсновнаяПанельФормы.Страницы.ОбщаяДата.Доступность = Ложь;
ЭлементыФормы.ОсновнаяПанельФормы.Страницы.ДатыПоОрганизациям.Доступность = Ложь;


?

Сообщение отредактировал Vofka - 01.04.15, 15:04
Причина редактирования: Поправил немножко код

Спасибо сказали: jonson_r,

jonson_r Подменю пользователя
сообщение 01.04.15, 15:34
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(logist @ 01.04.15, 15:49) *
Уберите права на изменение регистра

Это вариант, благодарю.

Vofka, как и писал выше - это работает вот так:
Цитата(jonson_r @ 01.04.15, 13:41) *
Пришлось делать так:

ЭлементыФормы.ОсновныеДействияФормы.Кнопки.КнопкаУстановить.Доступность = Ложь;

ЭлементыФормы.Панель1.Страницы.Страница1.Доступность = Ложь;

ЭлементыФормы.Панель1.Страницы.Страница2.Доступность = Ложь;


Что не совсем удобно, т.к. переход между страницами панели невозможен, а желательно бы иметь данные для просмотра.


Vofka Подменю пользователя
сообщение 01.04.15, 15:56
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

jonson_r, у меня работает как я ожидал. Переклацываю "Способ указания даты запрета редактирования данных" и у меня отображается нужная страница, которая не доступна для изменения. А вообще совет logist-a выше
Цитата(logist @ 01.04.15, 15:49) *
Уберите права на изменение регистра

на мой взгляд, самое правильное решение.

Сообщение отредактировал Vofka - 01.04.15, 15:57

Спасибо сказали: jonson_r,

jonson_r Подменю пользователя
сообщение 01.04.15, 16:10
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 1 раз
Рейтинг: 0

я бы давно махнул рукой, ведь решений задачи много, но почему на той форме, где отрабатывает ТолькоПросмотр = Истина, новые элементы "не поддаются" этой настройке?

Vofka,
Цитата(Vofka @ 01.04.15, 16:56) *
jonson_r, у меня работает как я ожидал. Переклацываю "Способ указания даты запрета редактирования данных" и у меня отображается нужная страница, которая не доступна для изменения. А вообще совет logist-a выше

Вы переходите по страницам на панели, доступность которых отключили?
У меня просто не переходит. Вариант с правами на регистр правильно и хорошо, но тут уже спортивный интерес. В чем разница между вашими и моими страницами...

Vofka, а простите, у вас наверное Бухгалтерия? тогда все понятно, вы выбором способа указания даты принудительно отображаете текущей страницей нужную, но если бы у вас все страници были видимы на панели и отключена доступность каждой - вы бы не смогли переходить по ним.

Vofka Подменю пользователя
сообщение 01.04.15, 16:45
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

А, точно. Я не обратил внимание, что речь про УТП. В общем, попробовал поиграться с доступностью страниц на примере УТ - у меня тоже ничего не вышло. Если чисто ради спортивного интереса, то у меня вышло только так:

...
ЭлементыФормы.КоманднаяПанельДереваОсновнойДаты.Кнопки.УдалитьСтроку.Доступность = Ложь;
ЭлементыФормы.ДеревоОсновнойДаты.ТолькоПросмотр = Истина;
...


Короче говоря для каждого элемента только специально прописать.

Спасибо сказали: jonson_r,

jonson_r Подменю пользователя
сообщение 02.04.15, 9:36
Сообщение #10

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(Vofka @ 01.04.15, 17:45) *
Если чисто ради спортивного интереса, то у меня вышло только так

Я вначале так тоже делал - и что-то не успешно (видимо уже тогда что-то напутал и наложил одно на другое smile.gif ), но теперь отработало корректно, спасибо. Поэтому так и оставил:
ЭлементыФормы.ДеревоОсновнойДаты.ТолькоПросмотр = Истина;
ЭлементыФормы.ДеревоРеглДаты.ТолькоПросмотр     = Истина;


но все равно ума не приложу, почему для этой формы в целом это не отрабатывает и почему там где отрабатывает - не распространяется на новые элементы...

jonson_r Подменю пользователя
сообщение 02.04.15, 12:51
Сообщение #11

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 1 раз
Рейтинг: 0

РЕШЕНИЕ
Подсказали на другом форуме.
Оказывается, у элементов формы есть флаг ИзменяетДанные, установив его будет отрабатывать не только прямое управления:
ЭлементыФормы.ДеревоОсновнойДаты.ТолькоПросмотр = Истина;

Но и в целом через форму как и хотел:
ЭтаФорма.ТолькоПросмотр = Истина;

Хотя синтакс-помощник по ИзменяетДанные не оговаривает влияние на ТолькоПросмотр, собственно как и наоборот.

Petre Подменю пользователя
сообщение 02.04.15, 13:52
Сообщение #12

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1145 раз
Рейтинг: 1225

Цитата(jonson_r @ 02.04.15, 12:51) *
собственно как и наоборот

Может СП устарел?
Цитата
УправляемаяФорма (ManagedForm)
ТолькоПросмотр (ReadOnly)
Использование:

Чтение и запись.
Описание:

Тип: Булево.
Содержит признак возможности/невозможности редактирования отображаемых данных. Установка данного свойства в Истина приведет все элементы управления, связанные с реквизитами формы, а также элементы управления, для которых установлено свойство ИзменяетДанные, в состояние запрета редактирования.
...


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Vofka Подменю пользователя
сообщение 02.04.15, 14:12
Сообщение #13

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

А в описании свойства для обычной формы такая информация отсутствует:
Цитата
Форма (Form)
ТолькоПросмотр (ReadOnly)
Использование:

Чтение и запись.
Описание:

Тип: Булево.
Содержит признак использования формы в режиме просмотра. Если свойство установлено в Истина, то становятся не доступны для изменения все дочерние элементы вне зависимости от значения их свойств ТолькоПросмотр.

Доступность:

Толстый клиент.

jonson_r Подменю пользователя
сообщение 06.04.15, 9:26
Сообщение #14

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 1 раз
Рейтинг: 0

Да, все верно. Если бы в описании для обычных форм было это, топика может бы и не было вовсе...)
Всем большое спасибо за подсказки и участие wink.gif

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 12:17
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!