|   |   | 
| 
 | Как так 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 файлы, из которых соберется расширение. Но возможно это сильно дольше чем их закидывать вручную.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |