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