Имя: Пароль:
1C
1С v8
Как так 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 файлы, из которых соберется расширение. Но возможно это сильно дольше чем их закидывать вручную.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn