Имя: Пароль:
1C
1С v8
НайтиПоСсылкам() - в каких данных идёт поиск?
,
0 Михаил 1С
 
15.01.14
13:32
1С 8.2
Всем известная функция НайтиПоСсылкам()

Я сначала думал, что поиск идет только в тех объектах на которые у пользователя есть права. Обнаружилось, что поиск ведется по всем объектам. Точнее, поиск пытается пройти по ним, обнаруживает, что прав нет и говорит - Ошибка.

Что же тогда значит примечание в справке?
"Поиск осуществляется только в тех данных, которые доступны в рамках текущего сеанса с учетом разделения (условное разделение учитывается)."
1 Михаил 1С
 
15.01.14
13:33
Кто умный - расскажи.
2 Живой Ископаемый
 
15.01.14
13:34
разделение это не о правах.
3 Михаил 1С
 
15.01.14
13:35
А что это?
И что значит - "в тех данных, которые доступны в рамках текущего сеанса"?
4 Михаил 1С
 
15.01.14
13:41
Чувствую, вопрос не простой.
5 Infsams654
 
15.01.14
13:44
(4) заверни в попытку.
Само понятие НайтиПоСсылкам подразумевает, что права должны быть на все объекты, иначе, для чего это нужно...
6 Maxus43
 
15.01.14
13:45
тут про разделение данных, почему не простой вопрос? доступные данные в сеансе - это с учетом разделения.
Права - дело другое
7 Maxus43
 
15.01.14
13:46
данные по разделителям в сенасах могут быть разные. Если нет разделения - данные в сеансе доступны все (физически), то что нет прав то другой вопрос. С разделителями же хоть супер права дай - не доступна та область данных будет
8 Maxus43
 
15.01.14
13:48
9 Живой Ископаемый
 
15.01.14
13:48
Разделитель - это общий реквизит, который может использоваться как разделитель данных, и в том числе и в сеансах.
10 Михаил 1С
 
15.01.14
14:01
(8) (9) Спасибо, ребята.
Не дали умереть дураком.
11 Михаил 1С
 
15.01.14
14:04
(5) Даа, получается, что так. Опытным путем меня 1С тоже привела к этому.
К сожалению, это не получится дать пользователю права на чтение всех объектов - мы делаем свой блок и внедряем его в фирму, которую поддерживают другие 1С-ники.
Я думаю, что трудно будет договориться с ними о том, чтобы они поддерживали в одной из Ролей права на чтение всех объектов.
12 Maxus43
 
15.01.14
14:05
(11) есть такая штука - привелигированный режим, там делай чего хочешь
13 Михаил 1С
 
15.01.14
14:06
(12) Интересно. Почитаю про это.
14 Maxus43
 
15.01.14
14:08
(13) у общих модулей галка такая, там проверка прав не происходит
15 Михаил 1С
 
15.01.14
14:10
И програмно можно включить это.  Я сейчас прочитал.
Ноо - опасная эта штука, наверное.
Щас доразберусь и решу - использовать ли это.
16 Михаил 1С
 
15.01.14
14:11
(14) Вообще да, это тема!
Расположить мой код в привелигерованном модуле, и всё!
Спасибо большое за подсказку!
17 Maxus43
 
15.01.14
14:14
(15) с программным включением - там нюансы есть, клиент-сервер и файловые - по разному отрабатывают. Самое надёжное - в общий модуль с галкой, там наверняка. Это не опасно, если знаешь что делаешь :)
18 Михаил 1С
 
15.01.14
14:22
(17) Ага, спасибо!
Уже сделал.
Вот такой код в этом привелигерованном модуле:
(все работает)

Функция НайтиПоСсылкам_ПривелигерованныйРежим(Массив) Экспорт
    Возврат НайтиПоСсылкам(Массив);
КонецФункции
19 Maxus43
 
15.01.14
14:33
(18) только среди найденных могут быть ссылки, на которые нет прав, тогда всё равно не сможет поглядеть результат поиска... надо учитывать такой вариант
20 Михаил 1С
 
15.01.14
14:35
(19) Понятно. Спасибо.

Ну, в моем случае просто - я решил не говорить какие там были ссылки, просто написал предупреждение об этом, и сказал - "удалять нельзя, есть ссылки".
21 Maxus43
 
15.01.14
14:37
(20) а чем не устраивает встроенное "Операции - удаление помеченных объектов"?
22 Михаил 1С
 
15.01.14
14:42
Документ сложный. При записи он создает элементы справочника для каждой строки своей табличной части Объекты.
При пометке на удаления я помечаю на удаление все эти созданные элементы справочника.
Они же могут уже учавствовать в дальнейших документах. Это надо проверить, чтобы не похерить все нахрен.
//хотя это не страшно, но лучше заранее проверить.
2 + 2 = 3.9999999999999999999999999999999...