1с как очистить историю выбора в поле ввода
Перейти к содержимому

1с как очистить историю выбора в поле ввода

  • автор:

Как очистить историю выбора реквизитов в 1С

Есть конфигурация и в ней добавляются реквизиты созданные в табличную часть. Удалил некоторые, но после они также предлагаются из списка историй уже добавленных до этого: введите сюда описание изображения И выходит следующее: введите сюда описание изображения Тогда просто отключил, чтобы до этого добавленные не предлагались вовсе. введите сюда описание изображения В общем, подскажите, пожалуйста, как можно полностью пофиксить это?

Отслеживать
задан 18 июн 2022 в 7:06
1 2 2 бронзовых знака

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Если логически вам в данном поле не нужна история, то лучше просто отключить её. А по очистке посмотрите тут.

Отслеживать
ответ дан 20 июн 2022 в 8:39
Sagittarius Sagittarius
740 4 4 серебряных знака 8 8 бронзовых знаков

Процедура ОчисититьИсторию() ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); ХранилищеСистемныхНастроек.Удалить("ИсторияВыбора",,ТекущийПользователь.Имя); КонецПроцедуры 

Хранилище системных настроек хранит историю в ключе «ИсторияВыбора».

Отслеживать
ответ дан 15 июл 2022 в 3:15
11 4 4 бронзовых знака
Таким способом случайно не очистит историю выбора для всех полей?
15 июл 2022 в 5:18

Честно говоря использовать не приходилось, но автора понимаю: желание очистить историю выбора возникает при отладке, для практического использования — редко, поэтому очистить всю историю не должно быть проблемой. В СП можно найти СтандартноеХранилищеНастроекМенеджер , там по ссылке «Настройки, автоматически сохраняемые в системном хранилище» есть информация о ключах настроек.

1с как очистить историю выбора в поле ввода

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

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

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

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

Помогите пожалуйста, кто сталкивался?

1С 8.3 Удаление (очистка) истории списка ввода — Программист 1С Минск. Автоматизация бизнеса.

ПРИМЕРЫ КОДА 1С

Перейти в раздел примеры кода 1С 8.3:

В справочниках на формах списках есть поле ввода (для быстрого выбора). Данные примеры кода нужны для программной очистки выпадающего списка с ранее вводимыми вариантами. История хранится для каждого пользователя. Кроме программного удаления можно установить признак в поле ввода «История выбора при вводе» — «Не использовать».

Программная очистка истории выпадающего списка выбора в 1С 8.3:

&НаСервере
Процедура Удаление_истории_списка_ввода_Пример1 ()

Юзер = Справочники . Пользователи . Выбрать ();
Пока Юзер . Следующий () цикл
Пользователь_ИБ = ПользователиИнформационнойБазы . НайтиПоУникальномуИдентификатору ( Юзер . ИдентификаторПользователяИБ );
Если Пользователь_ИБ <> Неопределено Тогда
ХранилищеСистемныхНастроек . Удалить ( «ИсторияВыбора» , , Пользователь_ИБ . Имя );
//ХранилищеСистемныхНастроек.Удалить(«ИсторияВыбора», , ПользовательИБ.Наименование);
КонецЕсли;
КонецЦикла;

1с как очистить историю выбора в поле ввода

Добрый день, уважаемые форумчане!

В свойстве «История выбора при вводе» в окне редактирования некоего объекта стоит значение «Авто», на форме этого объекта есть поле выбора. Мне нужно, чтобы история выбора ФОРМИРОВАЛАСЬ, но не сохранялась.

Зачем вы спросите? Я написал процедуру, которая не дает выбирать в этом поле элементы помеченные на удаление, но если пользователь ДО ЭТОГО такие элементы выбирал, они останутся в истории выбора. Отсюда и вопрос: «Как почистить историю выбора в поле ввода»?

Историю чистить не надо, достаточно параметры выбора правильные указать.

Вот такой у меня получился код:

&НаКлиенте
Процедура ПоИсполнителюАвтоПодбор(Элемент, Текст, ДанныеВыбора, ВыбранноеЗначение, Ожидание, СтандартнаяОбработка)

Если ЗначениеЗаполнено(Текст) Тогда
СтандартнаяОбработка = Ложь;
ДанныеВыбора = РаботаСПользователями.СформироватьДанныеВыбораИсполнителя(Текст);
ПоИсполнителямАвтоподборНаСервере(ДанныеВыбора);
КонецЕсли;

Для Каждого Элемент Из ДанныеВыбора Цикл

Если Элемент.Значение.ПометкаУдаления Тогда

Как я писал выше, необходимо почистить историю выбора в поле ввода или как то иначе не дать пользователю выбрать помеченный на удаление элемент.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *