1с как очистить историю выбора в поле ввода
Как очистить историю выбора номенклатуры у поля типа СправочникСсылка.Номенклатура? Это тот список ранее выбираемых значений, который появляется у поля ввода при входе в режим редактирования.
Гуглеж говорит, что за это отвечает ХранилищеСистемныхНастроек с ключом «ИсторияВыбора». Выполняем код:
получаем переменную История с типом «НастройкиИсторииВыбора» и непониманием, что с ней делать — ни методов, ни свойств в отладчике, синтакс-помощнике и интернете.
А цель вообще такая — ограничить доступ юзеров к определенным позициям номенклатуры. Все сделано, но вот история выбора подло подсовывает запрещенные уже элементы:)
Помогите пожалуйста, кто сталкивался?
История выбора при вводе
1. Для свойства История выбора большинства объектов метаданных должно быть установлено значение Авто.
2.1. Историю выбора в свойствах объекта метаданных рекомендуется отключать, если ее использование не соответствует прикладной логике конфигурации:
• для объектов, сценарий использования которых, не предполагает повторный выбор из 5 ранее выбранных вариантов. Примеры:
1) Справочник Номенклатура чаще всего содержит большое количество элементов и вероятность, что пользователь будет выбирать один из последних 5 элементов, очень мала.
2) Специфика использования большинства документов такова, что повторный их выбор маловероятен, например, выбор объекта расчетов в Поступлении безналичных денежных средств.
• для объектов, в модуле менеджера которых переопределена обработка получения данных выбора (есть обработчик ОбработкаПолученияДанныхВыбора), т.к. прописанные там условия не учитываются механизмом составления списка истории выбора. Поэтому, используя историю выбора в этом случае, пользователь может получить возможность выбрать значение, которое он не мог бы выбрать другими способами.
2.2. После отключения истории выбора в свойствах объекта метаданных необходимо, во всех ссылающихся на него полях ввода, установить для следующих свойств указанные ниже значения:
• КнопкаВыпадающегоСписка – Нет
• КнопкаВыбора – Да
• ОтображениеКнопкиВыбора – В поле ввода
Это необходимо сделать, чтобы пользователю перед началом выбора в поле ввода не отображалось меню, в котором нужно всегда нажимать «Показать все».
| Правильно | Неправильно |
| alt=»Гл пно лАпы Задачи Мои имспо « | alt=»te + 01 « |
Можно не изменять значения свойств полей ввода если:
• для поля ввода установлен режим выбора из списка и заполнен (или в метаданных или программно) список выбора
• поле ввода ссылается на объект метаданных с установленным свойством Быстрый выбор
Для автоматического изменения свойств полей выбора можно воспользоваться приложенной обработкой.
Другие материалы по теме:
Нас находят: как очистить историю выбора в 1с 8 3, 1c увеличить список истории отбора, очистить историю выбора элементов 1с, история выбора элементов 1с как очистить, 1с история выбора с учетом отбора, 1с 8 3 способы вврда выбор, поле ввода нет в списке выбор 1с, Как запомнить историю выбора в поле ввода в 8 3, история выбора при вводе 1с, 1с8 увеличить количество элементов в истории выбора

Мы на Facebook
© Учебный центр «Стимул», 2011-2023. info@stimul.kiev.ua
1С 8.3 Удаление (очистка) истории списка ввода — Программист 1С Минск. Автоматизация бизнеса.

ПРИМЕРЫ КОДА 1С
Перейти в раздел примеры кода 1С 8.3:

В справочниках на формах списках есть поле ввода (для быстрого выбора). Данные примеры кода нужны для программной очистки выпадающего списка с ранее вводимыми вариантами. История хранится для каждого пользователя. Кроме программного удаления можно установить признак в поле ввода «История выбора при вводе» — «Не использовать».
Программная очистка истории выпадающего списка выбора в 1С 8.3:
&НаСервере
Процедура Удаление_истории_списка_ввода_Пример1 ()
Юзер = Справочники . Пользователи . Выбрать ();
Пока Юзер . Следующий () цикл
Пользователь_ИБ = ПользователиИнформационнойБазы . НайтиПоУникальномуИдентификатору ( Юзер . ИдентификаторПользователяИБ );
Если Пользователь_ИБ <> Неопределено Тогда
ХранилищеСистемныхНастроек . Удалить ( «ИсторияВыбора» , , Пользователь_ИБ . Имя );
//ХранилищеСистемныхНастроек.Удалить(«ИсторияВыбора», , ПользовательИБ.Наименование);
КонецЕсли;
КонецЦикла;
Как очистить историю выбора реквизитов в 1С
Есть конфигурация и в ней добавляются реквизиты созданные в табличную часть. Удалил некоторые, но после они также предлагаются из списка историй уже добавленных до этого:
И выходит следующее:
Тогда просто отключил, чтобы до этого добавленные не предлагались вовсе.
В общем, подскажите, пожалуйста, как можно полностью пофиксить это?
Отслеживать
задан 18 июн 2022 в 7:06
1 2 2 бронзовых знака
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Если логически вам в данном поле не нужна история, то лучше просто отключить её. А по очистке посмотрите тут.
Отслеживать
ответ дан 20 июн 2022 в 8:39
Sagittarius Sagittarius
710 4 4 серебряных знака 8 8 бронзовых знаков
Процедура ОчисититьИсторию() ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); ХранилищеСистемныхНастроек.Удалить("ИсторияВыбора",,ТекущийПользователь.Имя); КонецПроцедуры
Хранилище системных настроек хранит историю в ключе «ИсторияВыбора».
Отслеживать
ответ дан 15 июл 2022 в 3:15
11 4 4 бронзовых знака
Таким способом случайно не очистит историю выбора для всех полей?
15 июл 2022 в 5:18
Честно говоря использовать не приходилось, но автора понимаю: желание очистить историю выбора возникает при отладке, для практического использования — редко, поэтому очистить всю историю не должно быть проблемой. В СП можно найти СтандартноеХранилищеНастроекМенеджер , там по ссылке «Настройки, автоматически сохраняемые в системном хранилище» есть информация о ключах настроек.

alt=»te + 01 «