Имя: Пароль:
1C
1С v8
Управление историей выбора поля
0 Dwarrior
 
29.11.18
13:40
Здравствуйте!

Как очистить историю выбора номенклатуры у поля типа СправочникСсылка.Номенклатура? Это тот список ранее выбираемых значений, который появляется у поля ввода при входе в режим редактирования.

Гуглеж говорит, что за это отвечает ХранилищеСистемныхНастроек с ключом "ИсторияВыбора". Выполняем код:

История = ХранилищеСистемныхНастроек.Загрузить("ИсторияВыбора");

получаем переменную История с типом "НастройкиИсторииВыбора" и непониманием, что с ней делать - ни методов, ни свойств в отладчике, синтакс-помощнике и интернете.

А цель вообще такая - ограничить доступ юзеров к определенным позициям номенклатуры. Все сделано, но вот история выбора подло подсовывает запрещенные уже элементы:)

Помогите пожалуйста, кто сталкивался?
1 Mort
 
29.11.18
13:51
А каким образом ограничен доступ юзеров к позициям? РЛС?
2 segn
 
29.11.18
13:53
А еще пользователь может вводить наименование номенклатуры в поле ввода...
3 DrWatson
 
29.11.18
14:00
Эта история, вроде как, готовый список, при его использовании проверок rls не происходит.
4 Buster007
 
29.11.18
14:28
(3) проверял?)
5 DrWatson
 
29.11.18
14:39
Нет, иначе не писал бы "вроде как". Исходил из наблюдений и замысла зачем этот список ввели (где-то рассказывали). А что, есть сведения, что при открытии списка перечитываются данные с проверкой rls?
6 Buster007
 
29.11.18
14:45
если не накладывается, то это как-то странновато и похоже на баг
7 DrWatson
 
29.11.18
14:54
Проверил. При показе списка не проверяется. Запрос делается при выборе элемента и если он перестал быть доступен, то выходит ошибка "Эти данные невозможно выбрать, так как они были ранее удалены".
Т.е. они будут показываться не только при недоступности из-за РЛС, но и при физическом удалении элемента.
8 Dwarrior
 
29.11.18
15:10
(1) Самописно, в ОбработкеДанныхВыбора() и ФормаПодбора. Но не суть как.
(2) ОбработкеДанныхВыбора() модуля менеджера.

Все уже сделано, осталась история выбора, в ней вопрос. Как ее почистить
9 Dwarrior
 
30.11.18
11:39
апну пожалуй
10 Cyberhawk
 
30.11.18
11:42
Отключить историю выбора для реквизита. Обновить БД. Включить обратно.
11 Dwarrior
 
30.11.18
12:47
(10) Реквизитов много, во всех документах. Это же номенклатура
12 Мыш
 
30.11.18
12:54
(11) Почисти хранилище системных настроек
13 Dwarrior
 
30.11.18
13:27
(12) Хотелось бы избирательно почистить. Как?
14 Мыш
 
30.11.18
13:33
ХранилищеСистемныхНастроек.Удалить("ИсторияВыбора", , <ИмяПользователя>);

Только так. У самого объекта "НастройкиИсторииВыбора" ни свойств ни методов действительно нет.

Либо предварительно сохранить разнообразные "НастройкиИсторииВыбора" и загружать их нужным пользователям. Но это извращение, имхо.
15 DrWatson
 
30.11.18
13:35
(8) После выбора тоже нужно проверить значение самописно.
16 Dwarrior
 
03.12.18
12:38
(14)  Да, так вот получилось очистить историю. Правда по всем полям всех типов данных, но пока это первый рабочий вариант
Спасибо.