Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Формы: неактивность части команд (изменение, запись, удаление)

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

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

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.