|
Права "Изменение" и программное изменение на клиенте | ☑ | ||
---|---|---|---|---|
0
Kateryne
08.01.15
✎
19:32
|
Коллеги, добрый вечер!
Я раньше думала, что права на изменение тем и отличаются от прав на редактирование, что позволяют ЛЮБЫЕ программные изменения сущности. К примеру, есть документ МойДокумент. У него есть реквизит МоеПоле. У роли пользователя есть все неинтерактивные права. Есть следующий код (вызывается ПриОткрытии, на клиенте): Объект.МоеПоле = "БлаБла"; Если у пользователя нет прав на редактирование документа, получаем ошибку доступа. Если право на редактирование реквизита есть - ошибки нет. Можете пояснить? Действительно ли программное изменение типа ДанныеФормыСтруктура на клиенте считается интерактивным редактированием объекта? Или тут где-то еще собака порылась... ЗЫ: только не предлагайте перенести или исправить код :) |
|||
1
Defender aka LINN
08.01.15
✎
19:43
|
(0) Изменение в форме - это интерактивное изменение?
Вот это поворот! |
|||
2
Dmitry1c
08.01.15
✎
19:44
|
А где фото?
|
|||
3
Kateryne
08.01.15
✎
19:48
|
(1) Не, я то как раз и утверждаю, что это программное изменение.
Хорошо, допустим на клиенте просто так: Объект.Поле = Что-то там; нельзя, так как это ДанныеФормыСтруктура, а согласно синтакс-помощнику, такое свойство будет доступно только для чтения. Это у меня бы уложилось в голове влегкую :) Но ведь стоит дать полные права на документ - и ошибки нет. Можете пояснить, почему? |
|||
4
Defender aka LINN
08.01.15
✎
20:09
|
(3) "Не, я то как раз и утверждаю, что это программное изменение." - а я-то как раз над этим и стебусь
|
|||
5
Kateryne
08.01.15
✎
20:16
|
(4) Принято, ок. Т.е.вы хотите сказать, что действительно "интерактивно" = "на клиенте"? Независимо от того, делается ли это посредством кода в форме, или же посредством прямого изменения полей формы пользователем?
Честно говоря, если так, то для меня это неожиданность. Все же считала, что интерактивно - это только то изменение, которое напрямую вызывает обработчик поля в форме, а вся последующая цепочка вызовов на совести программиста. Ведь если в форме вызвать процедуру на сервере, то этот вызов уже не считается интерактивным, что логично. Так чем клиентский метод хуже :) Но если так, понятно, буду знать. |
|||
6
Kateryne
08.01.15
✎
20:23
|
Короче, если все действительно так и есть, то 1С, считаю, не совсем корректно назвала свои права.
Надо было делить их на "права на объект базы данных" и "права на изменение в интерфейсе". А второе уже может быть и программным, и интерактивным... |
|||
7
Reaper_1c
08.01.15
✎
23:05
|
А теперь для тех, кто в танке:
Некорректно - это когда при открытии существующего объекта форма получает признак модифицированности. Некорректно - это когда на клиенте изменение данных информационной базы происходит без ведома пользователя. Если пользователь открыл форму объекта и содержимое объекта в форме стало отличным от того, что есть в базе - это именно пользователь отредактировал данные. А если это не пользователь, а "оно само", значит ваше приложение изрядное ?овно. Кроме того, в условиях когда действительно "оно само" - пользователь может с полным правом иметь "разработчика" в любые технологические отверстия какими угодно предметами. Ведь в этом случае совершенно нельзя достоверно утверждать, что в косяках, сокрытии воровства и убытках предприятия виноват конкретный пользователь, когда в программе "оно само" косячит, ворует и наносит убытки. Это "разработчик" виноват, а пользователь все делал правильно. |
|||
8
Kateryne
09.01.15
✎
07:11
|
(7) А это см. (0), вот эту фразу:
ЗЫ: только не предлагайте перенести или исправить код :) То что такое поведение в принципе неверно - и сама знаю. Поэтому, так как раньше не сталкивалась с подобным, и не знаю, как права отрабатывают при изменении полей документа на клиенте. Но мы имеем отраслевую конфигурацию, купленную за немаленькие деньги. Или, что более точно, она нас имеет. В этой конфигурации не было предусмотрено прав "Только просмотр" как класс. Решили создать - но получили то, что получили. По всей видимости, для начала придется подправить директиву с "на клиенте" на "на сервере", так как если убрать установку данных полей, мы пока не знаем, на что это может повлиять в дальнейшем, надо разбираться. Все что делает та процедура - это меняет видимость ряда полей в зависимости от выбранного пользователем другого поля. Но эта процедура отрабатывает еще и при открытии. И по умолчанию заполняет некоторые реквизиты. Поведение, действительно, мягко говоря, странное. |
|||
9
Kateryne
09.01.15
✎
07:14
|
Модифицированность формы, кстати, не меняется.
|
|||
10
Рэйв
09.01.15
✎
07:19
|
(9)Если это не реквизиты объекта, а реквизиты формы она и не должна становиться модифицированной, т.к. реквизиты формы живут только пока живет форма и смысла нет их отслеживать
|
|||
11
Рэйв
09.01.15
✎
07:20
|
(9)Вроде такой фигни было сделано в ПКО и РКО.
Там если одна строка в РасшифровкеПлатежа, то таб часть скрывалась и заполнялись реквизиты формы из строки. Хрень конечно та еще:-) |
|||
12
Kateryne
09.01.15
✎
07:23
|
(11) И как там выкручивались с правами на чтение?
|
|||
13
Рэйв
09.01.15
✎
07:24
|
(12)На чтение чего?
|
|||
14
Kateryne
09.01.15
✎
07:28
|
(13) Точнее, с правами "Только просмотр". Если было нужно дать права на ПКО только на просмотр.
Или там изменение реквизитов формы не при открытии делалось? |
|||
15
Рэйв
09.01.15
✎
07:29
|
(14)Я не помню уже как там рулилось, но даже если никак, то при записи тормознет с матерным сообщением о недостатке прав доступа.
|
|||
16
Рэйв
09.01.15
✎
07:31
|
Если менялись реквизиты объекта конечно
|
|||
17
Kateryne
09.01.15
✎
07:38
|
У нас не так.
У меня же в чем проблема - не могу сделать права "Только просмотр", так как при таких правах ругается на изменение поля объекта из структуры ДанныеФормыСтруктура на клиенте, которое делается при открытии. Т.е. нам надо наоборот - разрешить такое изменение, но запретить изменения полей на форме вручную. |
|||
18
Рэйв
09.01.15
✎
07:42
|
Если в коде не прописано, что если нет прав, то менять реквизит формы нельзя, то надо менять код. Имхо настройками свойств не обойдешься
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |