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

1с таблица выбрать списка как убрать история

  • автор:

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

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

Тогда просто отключил, чтобы до этого добавленные не предлагались вовсе. введите сюда описание изображения

В общем, подскажите, пожалуйста, как можно полностью пофиксить это?

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

Sagittarius's user avatar

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

Убрать номенклатуру в архив. Поиск в получении данных выбора. Очистка истории выбора.

Возникла тут вот такая задача: убрать старую номенклатуру «в архив», оставить только нужную или загрузить новую. А старую скрыть во всех диалогах.

Фактически эта задача выполняется по таким шагам:

  1. Создается реквизит «Архив» у элемент и групп (в моем случае иерахия элементов, для групп не надо), добавляем его индексирование.
  2. В форму добавляется новый реквизит.
  3. В запрос динамических списков добавляется отбор «Архив =Ложь» или &ПоказыватьАрхивные
  4. Параметр заполняется при открытии формы в ложи или в форму можно добавить реквизит «Показывать архивные».
  5. Можно добавить роль, для которой этот реквизит будет видим либо доступен.
  6. В модуле менеджера спраовчника «Номенклатура» создается обработчик ОбработкаПолученияДанныхВыбора прописывается свой поиск, скорее всего это будет меделенней системного, но пренебрегаем.
    Добавляем раскраску подстроки и ограничиваем список 200 элементами (считаю, что это максимум)

Запрос . УстановитьПараметр ( «СтрокаВвода» , «%» + Параметры . СтрокаПоиска + «%» ) ;

Выборка = Запрос . Выполнить ( ) . Выбрать ( ) ;

ДанныеВыбора = Новый СписокЗначений ( ) ;
ШрифтЖирный = Новый Шрифт ( , , Истина ) ;
Зеленый = Новый Цвет ( 50 , 185 , 50 ) ;
Подстрока = Врег ( Параметры . СтрокаПоиска ) ;
Счетчик = 0 ;
Пока Выборка . Следующий ( ) Цикл
Счетчик = Счетчик + 1 ;

ВрегНаименование = ВРЕГ ( Выборка . Наименование ) ;

ПозПоиска = Найти ( ВрегНаименование , Подстрока ) ;

Если ПозПоиска > 0 Тогда
ФС = Новый Массив ;
Если ПозПоиска < > 1 Тогда
ФС . Добавить ( Лев ( Выборка . Наименование , ПозПоиска — 1 ) ) ;
КонецЕсли ;
ФС . Добавить ( Новый ФорматированнаяСтрока ( Параметры . СтрокаПоиска , ШрифтЖирный , Зеленый ) ) ;
ФС . Добавить ( Сред ( Выборка . Наименование , ПозПоиска + ДлинаПоиска ) ) ;
Представление = Новый ФорматированнаяСтрока ( ФС ) ;
ДанныеВыбора . Добавить ( Выборка . Ссылка , Представление ) ;
Иначе
ДанныеВыбора . Добавить ( Выборка . Ссылка , Выборка . Наименование ) ;

Если Счетчик > 200 Тогда
Прервать ;
КонецЕсли ;

Последнее, что остается очистить историю выбора

Оказывается, история выбора хранится в системных настройках, немного экспериментов и получился вот такой код:

Его надо запускать под административныйми правами, что он делает:

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

Вот и всё: задача почти выполнена.

Остается групповой обработкой поменить ненужные, через обработку загрузки из табличного документа или другим способом загрузить новую номенклатур.

Эту задачу можно было бы решить через ограничения доступа к данным, но не всегда такое возможно: в моем случае это не совсем типовая конфигурация и так было проще и прозрачней, а также интересней в реализации.

Закон рекламы: родившись, брэнд нуждается в рекламе для своего существования.

— Э. и Л. Райс

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 увеличить количество элементов в истории выбора

Выпадающий список истории ввода

Доброе время.
Собственно столкнулся с проблемой:
Платформа 8.3.5.1088.
Конфигурация УТ 11.1.6.26 (управляемые формы).

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

Так вот вопрос — как очистить историю (полностью весь список)? Уже пол-дня воюю с этим вопросом, и как-то без успехов.

Удаление истории изменений документов в 1С: быстро и без проблем

Компьютерная программа "1С: Предприятие" предоставляет возможность следить за изменениями в документах и отчетах, сохраняя их в базе данных. Однако, не всегда нужно хранить историю изменений, особенно, если она занимает много места или может быть использована несанкционированным образом. В таких случаях, удаление истории изменений может быть полезным.

Как удалить историю изменений

Для удаления истории изменений документа в "1С: Предприятие" необходимо выполнить следующие шаги:

  1. Открыть документ, у которого нужно удалить историю изменений.
  2. Выбрать пункт меню "Файл" -> "История изменений".
  3. Выбрать нужные строки и нажать кнопку "Удалить".
  1. Подтвердить удаление.

После удаления истории изменений, все записи будут удалены и нельзя будет восстановить отдельные записи.

Как удалить историю изменений для всех документов

Если необходимо удалить историю изменений для всех документов, можно воспользоваться специальным механизмом удаления истории изменений. Для этого нужно выполнить следующие шаги:

  1. Открыть конфигурацию "1С: Предприятие".
  2. Выбрать пункт меню "Настройка" -> "Общие настройки".
  3. Вкладка "Параметры".
  4. Выбрать опцию "Удалять историю изменений документов".
  5. Нажать кнопку "Применить".

После применения настроек, программа начнет удалять историю изменений для всех документов.

Заключение

Удаление истории изменений документов в "1С: Предприятие" может быть полезным при необходимости очистки базы данных или сохранения конфиденциальности информации. Для удаления истории изменений достаточно выполнить несколько простых шагов, описанных в этой статье.

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

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