|
Как так 1С ограничили права? | ☑ | ||
---|---|---|---|---|
0
Sevish
30.01.24
✎
15:58
|
Добрый день всем!
Есть в КА документ "Корректировка регистров". Есть регистр накопления "Товары к оформлению излишков и недостач". Понятно, что для того, чтобы этим документом откорректировать обозначенный регистр нужны полные права (других нет на регистр). Хорошо, в расширении создаю новую роль, добавляю регистр, выдаю на него полные права. Пишу обработку, проверяю возможность записи в регистр - все отлично! Теперь под этим пользователем открываю документ "Корректировка регистров", добавляю регистр, добавляю строку и .... поле "Период" не доступно для записи... нет прав? Как так? Через отладчик посмотрел, у колонки "Период" "ТолькоПросомотр"="Ложь", "Доступность"="Истина". Выдаю пользователю полные права - все отлично, может ставить дату, забираю - нет. Облазил весь код отладчиком, ничего не нашел. Подскажите, пожалуйста, как это победить? Если что, в 1С в этом документе динамически формируется страничка с ТЧ: ТаблицаФормы = Элементы.Добавить("ТаблицаДвижений" + ИмяРегистра, Тип("ТаблицаФормы"), Родитель); ТаблицаФормы.ПутьКДанным = "Объект.Движения." + ИмяРегистра; И все... а как поле "Период" заблокировалось то? |
|||
1
Momus
30.01.24
✎
16:01
|
что-то не нашел в тексте самого очевидного: есть ли права на изменение самого документа корректировки
|
|||
2
yopQua
30.01.24
✎
16:13
|
поле "Период" не доступно для записи это не про права |
|||
3
Sevish
30.01.24
✎
16:36
|
(1) Да есть, я этим же документом могу любой другой регистр откорректировать, но если нет поля "Период".
(2) Возможно, а про что? Там есть типовой обработчик &НаКлиенте при начале редактирования, в котором устанавливается значение "Период", если он есть в ТЧ. Так вот он при срабатывании и выдает такую ошибку. Ну и сам я не могу мышкой в поле провалиться... |
|||
4
Волшебник
30.01.24
✎
16:39
|
Скорее всего, ошибка в обработчике ПриНачалеРедактирования, который ещё отключает стандартную обработку
|
|||
5
Momus
30.01.24
✎
16:46
|
(3) какой релиз?
|
|||
6
Sevish
30.01.24
✎
16:50
|
Безумная идея пришла в голову:
мне надо было дать права на один регистр, может ли быть именно поле "Период" не доступна, потому что есть в движениях "Корректировки регистров" иные регистры, в которых есть поле "Период", но на них нет прав (и не нужны)? |
|||
7
Sevish
30.01.24
✎
16:51
|
(4) увы, нет
// Подключаемый обработчик события "ПриНачалеРедактирования" таблицы формы. // &НаКлиенте Процедура Подключаемый_ТаблицаПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) Если НоваяСтрока Тогда Элемент.ТекущиеДанные.Период = Объект.Дата; ЗаполнитьЗначенияСвойств(Элемент.ТекущиеДанные, Новый Структура("Организация", Организация)); КонецЕсли; КонецПроцедуры |
|||
8
Sevish
30.01.24
✎
16:51
|
(5) последний, 2.5.15.103, 8.3.23.2040
|
|||
9
Sevish
30.01.24
✎
16:52
|
Вот тут "Элемент.ТекущиеДанные.Период" и ругается, что поле не доступно для записи.
|
|||
10
yopQua
30.01.24
✎
17:10
|
(6) если права подозреваете, то проверьте еще РЛС
поле не доступно для записи возникает, когда в переменной значение такого типа, для которого доступность только чтение, без записи как то не понял Там есть типовой обработчик &НаКлиенте при начале редактирования, в котором устанавливается значение "Период", если он есть в ТЧ. Так вот он при срабатывании и выдает такую ошибку. И увы, нет // Подключаемый обработчик события "ПриНачалеРедактирования" таблицы формы. // &НаКлиенте Процедура Подключаемый_ТаблицаПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) Если НоваяСтрока Тогда Элемент.ТекущиеДанные.Период = Объект.Дата; ЗаполнитьЗначенияСвойств(Элемент.ТекущиеДанные, Новый Структура("Организация", Организация)); КонецЕсли; КонецПроцедуры говорят о противоположном, так есть тут ошибка? пс. а, использование: чтение и запись (9) ну вот и смотрите, что там |
|||
11
Волшебник
30.01.24
✎
17:03
|
(9) В отладчике проверьте тип "Элемент.ТекущиеДанные"
|
|||
12
yopQua
30.01.24
✎
17:11
|
типовые функционалы..
или регистр самописный? |
|||
13
Sevish
30.01.24
✎
17:14
|
(12) Все типовое.
(10) мысли интересная... я не смотрел что там за тип, т. к. очевидно, что он дата... проверил только, что поле формы доступно и нет ограничения на только просмотр. (11) Попробую. |
|||
14
Волшебник
30.01.24
✎
17:19
|
(13) проверьте тип "Элемент.ТекущиеДанные", а не "Элемент.ТекущиеДанные.Период"
|
|||
15
Sevish
30.01.24
✎
17:22
|
(14) "Элемент.ТекущиеДанные" = "ДанныеФормыЭлементКоллекции"
|
|||
16
yopQua
30.01.24
✎
17:31
|
:D :D
|
|||
17
Волшебник
30.01.24
✎
18:52
|
(15) Что Вы там собрались присваивать этому отражению? Работайте с записью набора регистра
|
|||
18
Sevish
31.01.24
✎
05:55
|
(17) это типовой код, было написано ещё в самом начале. Так что это вопрос к 1С что они там собрались присваивать, но в любом случае под полными правами все присваивается.
|
|||
19
Web00001
31.01.24
✎
06:30
|
(17) В ТекущихДанных элемента формы(который коллекция), лежат элементы коллекции, что не так то?
|
|||
20
Momus
31.01.24
✎
08:00
|
(8) под рукой только последний релиз ветки дп 2.5.12, все ок.
(19) тоже не понял |
|||
21
Sevish
31.01.24
✎
12:08
|
(20) под какими правами?
|
|||
22
Sevish
31.01.24
✎
12:09
|
(20) создайте корректировку регистров под пользователем, у которого нет "Полных прав". Получается?
|
|||
23
Momus
31.01.24
✎
12:44
|
(21) Каюсь, был не прав. Я проверял в ЕРП, а там есть типовая роль на этот документ. Подумал, что в КА также, но щас перепроверил и оказалось, что на этот документ только полные права. По вашему пример добавил в расширение КА роль и накинул права, получил ту же ошибку
|
|||
24
Sevish
01.02.24
✎
04:54
|
Воть :(
Все же мне кажется что надо ВСЕ регистры закинуть в расширение и выдать права, тогда поле станет доступным. НО! То что в ERP все работает, это хорошая подсказка. Сейчас посмотрю как там. |
|||
25
Sevish
01.02.24
✎
05:02
|
(23) Увы, да, в ERP есть "УдаленныйДоступOData" и с её помощью можно было бы выкрутиться. В КА роль эта есть, но прав нет на регистры.
Вопрос: а можно как-то программно добавить в расширение объекты? Я б тогда обработку написал, которая из метаданных "Корректировка регистров" все бы закинула в расширение. |
|||
26
Web00001
01.02.24
✎
06:22
|
(25)Можно самому написать xml файлы, из которых соберется расширение. Но возможно это сильно дольше чем их закидывать вручную.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |