Имя: Пароль:
1C
1С v8
Формы: неактивность части команд (изменение, запись, удаление)
0 Dmitriy_
Kolesnikov
 
21.02.20
11:37
Есть некий интервальный регистр сведений (независимый, непериодический). Называется ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковИнтервальный, но это не имеет отношения к делу.
У этого регистра зачем-то (очевидно, неспроста) создано две формы - списка и элемента, при том, что редактирование его пользователем не только не приветствуется, но и опасно.
В этих формах (в пользовательском режиме) все данные доступны только на чтение. Команды изменения, записи, удаления - неактивны.
Очевидно, где-то в настройках формы стоит какая-то галочка (нет, не "Доступность" и не "Разрешить изменять форму"), но не могу понять, какая и где.
В коде ничего нет, я закомментировал. Права админские. Единственное, чего не проверял - подписки на события.
Полгода назад я решал эту проблему, но не помню как.
1 mg-samara
 
21.02.20
11:48
Нашел причину?
2 dezss
 
21.02.20
11:51
Состав команд?
3 Dmitriy_
Kolesnikov
 
21.02.20
11:55
все стандартные команды есть, но неактивны
4 palsergeich
 
21.02.20
11:55
(0) Только просмотр может быть установлен на саму форму или любую папку, и все что ниже по иерархии в дереве элементов наследует это значение.
Так же может быть условное оформление
5 Dmitriy_
Kolesnikov
 
21.02.20
11:59
(4) Никаких папок в форме элемента нет, флаг "только просмотр" ни у одного элемента формы не установлен.
Не то. Там что-то хитрое.
6 palsergeich
 
21.02.20
12:02
(5) Если кода нет в форме то или права или свойства элементов формы.
Как показала практика это задача на внимательность, причем рекомендую посмотреть код ОТКУДА открывается.
Ибо
Форма = ОткрытьФорму()
Форма.ТолькоПросмотр = Истина
И все, а ты начинаешь верить в магию)
7 palsergeich
 
21.02.20
12:05
Кстати это может быть один из параметров открытия формы
Есть в справке такой ключ для формы
8 palsergeich
 
21.02.20
12:09
А еще в модулеменеджера есть событие ОбработкаПолученияФормы, куда при желании в параметры можно воткнуть ключ ТолькоПросмотр
Короче поставь замер производительности, жмякни по чему ты там жмякаешь что бы открыть.
А потом встроках кода сделай поиск по ТолькоПросмотр
9 palsergeich
 
21.02.20
12:13
(8) А вот на ОбработкуПолученияФормы уже можно подписаться)
Короче делай замер и смотри
10 pechkin
 
21.02.20
12:14
если  не только просмотр, тогда права
11 Сияющий в темноте
 
21.02.20
20:17
а еще можно права на изменение регистра не дать никому.
12 Dmitriy_
Kolesnikov
 
25.02.20
03:44
Все гипотезы неверные.
В модуле менеджера всё закомментировал.
Открываю форму списка из меню Файл - Все функции, форму элемента - из формы списка.
В ролях - все ограничения доступа - удалил все ограничения доступа для этого РС.
Из какого-то определяемого типа, где была ссылка на этот регистр, удалил его, чтобы не дай бог не сработала какая-нибудь подписка (нашел поиском ссылок).

И всё равно - результата нет.

У формы записи создал процедуру ПриСозданииНаСервере, обнаружил, что ТолькоЧтение = истина.
Уже в этом событии! Где он мог поставиться?
Сделал ТолькоЧтение = ложь - и только так добился результата. Но это некрасивое решение.
Хочу разобраться в причине - просто чтобы понимать, что происходит.
Непонятно, кто и где выставляет ТолькоЧтение до создания формы на сервере?
Кстати, в конфигураторе в свойствах формы нигде не нашел галки "Только чтение".

Вот такая интересная задача.
Кому интересно - смотрите в ЗУПе любой интервальный регистр сведений.
13 Dmitriy_
Kolesnikov
 
25.02.20
04:04
Ещё выяснил такую вещь.
1. Удаляю форму типовой конфигурации.   Перезапускаю приложение - всё работает.
2. Создаю свою форму, всё по умолчанию. Перезапускаю приложение - всё работает.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн