Архив элементов

29.01.24

База данных - Чистка данных

В архив помещаются неактуальные элементы справочников. Тем самым появляется возможность выводить в справочнике для просмотра и выбора только актуальные в данный момент данные. Работает для всех справочников.

Скачать файлы

Наименование Файл Версия Размер
(Устарело) Расширение: Архив элементов (версия 06.11.2022)
.cfe 38,23Kb
10
.cfe 38,23Kb 10 Скачать
(Устарело) Расширение: Архив элементов (версия 10.11.2022)
.cfe 38,47Kb
4
.cfe 38,47Kb 4 Скачать
(Устарело) Расширение: Архив элементов (версия 15.11.2022)
.cfe 38,47Kb
1
.cfe 38,47Kb 1 Скачать
(Устарело) Расширение: Архив элементов (версия 22.11.2022)
.cfe 38,54Kb
12
.cfe 38,54Kb 12 Скачать
(Устарело) Расширение: Архив элементов (версия 13.02.2023)
.cfe 54,92Kb
11
.cfe 54,92Kb 11 Скачать
Расширение: Архив элементов (версия 16.04.2023)
.cfe 57,20Kb
11
.cfe 57,20Kb 11 Скачать

Скрытие элементов работает автоматически для всех форм справочников и планов видов характеристик.

Примечание: Для форм, где есть вызов в ПриСозданииНаСервере() функционала подключаемых команд (в последних продуктах 1С практически везде подключаемые команды вызываются в формах, в часто используемых точно: Договоры, Номенклатура, Склады, Контрагенты, Банковские счета, Подразделения и т.д.).

 

Рис.1 Кнопка [Показать элементы находящиеся в архиве] в формах списка и выбора 

 

Рис.2 Включение/Отключение секции с информацией об архивации (меню формы - Ещё - Изменить форму - группы "Данные в архиве")

 

Рис.3 Кнопка [Помещение элемента в архив] в формах элементов

 

Возможности расширения

  • Поместить элемент в архив - открыть его форму и в командной панели нажать кнопку [Помещение элемента в архив], картинка изменится с  на 
  • Возвратить элемент из архива - открыть его форму и в командной панели нажать кнопку [Помещение элемента в архив], картинка изменится с  на 
  • Показать все элементы в списке - в форме списка в командной панели нажать кнопку [Показать элементы находящиеся в архиве], картинка изменится с  на 
  • Скрыть архивные элементы в списке - в форме списка в командной панели нажать кнопку [Показать элементы находящиеся в архиве], картинка изменится с  на  

Права доступа

Возможность помещать/возвращать элементы из архива имеют пользователи с ролями: Полные права или Добавление изменение данных в архиве (Расширение: Данные в архиве).

Остальным пользователям должна быть назначена роль Чтение данных в архиве (Расширение: Данные в архиве).

Работоспособность расширения

Проверял на платформе 1С:Предприятие 8.3 (8.3.21.1607)

Режим совместимости расширения от версии платформы 8.3.14 и выше.

Работа проверялась в программах:

  • 1С:ERP Управление предприятием 2 (2.5.6.290) 
  • 1С:Управление торговлей, редакция 11 (11.4.12.109)
  • 1С:Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.17.171) 
  • 1С:Управление холдингом, редакция 3.2 (3.2.2.5)
  • 1С:Бухгалтерия предприятия, редакция 3.0 (3.0.116.27) 
  • 1С: Розница, редакция 2.3.13.30

- будет работать и на других продуктах 1С построенных на основе библиотеки стандартных подсистем. Во всех клиентах: тонкий, толстый, веб.

Работает и для форм, где список не на базе произвольного запроса, подменяя на произвольный запрос

 

Состав расширения

4 общих модуля, 4 картинки, 1 регистр сведений

 

 

Примечание

В версии платформы 8.3.22 есть возможность связи по УникальномуИдентификатору(...). Я такой код вставил, но он отключен, т.к. сам работаю на 8.3.21. Связь у меня по коду и наименованию (не супер решение, жду нормальную 8.3.22, чтобы по УИ связать)

 

Запрет выбора и ввода по строке, помещенных в архив элементов на примере справочника номенклатура

 
 Пример

 


&Вместо("ОбработкаПолученияДанныхВыбора")
Процедура дава_ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
	
	дава_НоменклатураОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка);
	
	ПродолжитьВызов(ДанныеВыбора, Параметры, СтандартнаяОбработка);      
	
КонецПроцедуры

Процедура дава_НоменклатураОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	// Получим структуру возможных полей отбора справочника номенклатуры
	СтруктураРеквизитов = ЗначениеНастроекПовтИсп.РеквизитыСправочника("Номенклатура");
	
	Запрос        = Новый Запрос;
	СтрокаПоиска  = Параметры.СтрокаПоиска;
	УсловиеОтбора = "ИСТИНА";
	
	Для Каждого КлючИЗначениеОтбора Из Параметры.Отбор Цикл
		Если СтруктураРеквизитов.Свойство(КлючИЗначениеОтбора.Ключ) Тогда
			УсловиеОтбора = УсловиеОтбора + "
				|	И СпрНоменклатура." + КлючИЗначениеОтбора.Ключ + " В (&" + КлючИЗначениеОтбора.Ключ + ")";
			Запрос.УстановитьПараметр(КлючИЗначениеОтбора.Ключ,КлючИЗначениеОтбора.Значение);
		КонецЕсли;
	КонецЦикла;
	
	Если НЕ Параметры.Отбор.Свойство("ЭтоГруппа") И Параметры.Свойство("ВыборГруппИЭлементов") Тогда
		Если Параметры.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы Тогда
			УсловиеОтбора = УсловиеОтбора + "
				|	И СпрНоменклатура.ЭтоГруппа";
		ИначеЕсли Параметры.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы Тогда
			УсловиеОтбора = УсловиеОтбора + "
				|	И НЕ СпрНоменклатура.ЭтоГруппа";
		КонецЕсли;
	КонецЕсли;
	
	ТекстЗапроса = 
	"ВЫБРАТЬ
	|	СпрНоменклатура.Ссылка,
	|	СпрНоменклатура.ПометкаУдаления КАК ПометкаУдаления,
	|	СпрНоменклатура.Наименование КАК ПредставлениеСовпадения,
	|	0 КАК Порядок,
	|	СпрНоменклатура.Код КАК ПредставлениеНоменклатуры,
	|	СпрНоменклатура.ЭтоГруппа
	|ПОМЕСТИТЬ НоменклатураПоиск
	|ИЗ
	|	Справочник.Номенклатура КАК СпрНоменклатура
	|ГДЕ
	|	СпрНоменклатура.Наименование ПОДОБНО &СтрокаПоиска
	|	И &УсловиеОтбора
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СпрНоменклатура.Ссылка,
	|	СпрНоменклатура.ПометкаУдаления,
	|	СпрНоменклатура.Код,
	|	1,
	|	СпрНоменклатура.Наименование,
	|	NULL
	|ИЗ
	|	Справочник.Номенклатура КАК СпрНоменклатура
	|ГДЕ
	|	СпрНоменклатура.Код ПОДОБНО &СтрокаПоиска
	|	И &УсловиеОтбора
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	СпрНоменклатура.Ссылка,
	|	СпрНоменклатура.ПометкаУдаления,
	|	СпрНоменклатура.Артикул,
	|	2,
	|	СпрНоменклатура.Наименование,
	|	NULL
	|ИЗ
	|	Справочник.Номенклатура КАК СпрНоменклатура
	|ГДЕ
	|	СпрНоменклатура.Артикул ПОДОБНО &СтрокаПоиска
	|	И &УсловиеОтбора
	|
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	НоменклатураПоиск.Ссылка,
	|	МИНИМУМ(НоменклатураПоиск.Порядок) КАК Порядок
	|ПОМЕСТИТЬ НоменклатураПоПорядку
	|ИЗ
	|	НоменклатураПоиск КАК НоменклатураПоиск
	|
	|СГРУППИРОВАТЬ ПО
	|	НоменклатураПоиск.Ссылка
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 50
	|	НоменклатураПоиск.ПометкаУдаления КАК ПометкаУдаления,
	|	НоменклатураПоиск.Ссылка КАК Ссылка,  
	|	НоменклатураПоиск.Порядок КАК Порядок,
	|	НоменклатураПоиск.ПредставлениеСовпадения КАК ПредставлениеСовпадения,
	|	НоменклатураПоиск.ПредставлениеНоменклатуры КАК ПредставлениеНоменклатуры
	|ИЗ
	|	НоменклатураПоПорядку КАК НоменклатураПоПорядку
	|		ЛЕВОЕ СОЕДИНЕНИЕ НоменклатураПоиск КАК НоменклатураПоиск
	|		ПО НоменклатураПоПорядку.Ссылка = НоменклатураПоиск.Ссылка
	|			И НоменклатураПоПорядку.Порядок = НоменклатураПоиск.Порядок
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.дава_АрхивированныеДанные КАК дава_АрхивированныеДанные
	|		ПО УникальныйИдентификатор(НоменклатураПоПорядку.Ссылка) = дава_АрхивированныеДанные.УИОбъекта
	|   
	|   ГДЕ ЕстьNULL(дава_АрхивированныеДанные.Помещен, Ложь) = ЛОЖЬ  
	|   
	|УПОРЯДОЧИТЬ ПО
	|	Порядок,
	|	ПредставлениеСовпадения,
	|	ПредставлениеНоменклатуры";
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеОтбора" ,УсловиеОтбора);
	
	Запрос.Текст = ТекстЗапроса;
	Запрос.УстановитьПараметр("СтрокаПоиска", СтрокаПоиска + "%");
	
	ДанныеВыбора = Новый СписокЗначений;

	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		
		ТекстЗначения = СокрП(Выборка.ПредставлениеСовпадения) + " (" + Выборка.ПредставлениеНоменклатуры + ")";
		ДанныеВыбора.Добавить(Выборка.Ссылка, ТекстЗначения);
		
	КонецЦикла; 	
	
КонецПроцедуры

 

 

 

 
 Подключение расширения к 1С
 
 Другие публикации автора

 

Версии

 
 Расширение: Архив элементов (версия 10.11.2022)
 
 Расширение: Архив элементов (версия 15.11.2022)
 
 Расширение: Архив элементов (версия 22.11.2022)
 
 Расширение: Архив элементов (версия 13.02.2023)

 1. Добавил вывод для ЕРП для справочника номенклатура

 2. Добавлена обработку группового помещения элементов в архив по произвольным отборам

e1cib/app/Обработка.дава_ГрупповоеПомещениеВАрхив

 
 Расширение: Архив элементов (версия 16.04.2023)

1) Добавлена возможность настройки списка типов объектов, для которых отображается функционал (кнопки, колонки). В предыдущих версия функционал подключался ко всем справочникам по умолчанию.

Настройка выполняется в регистре сведений "Подключение объектов (Расширение: Данные в архиве)", в который можно перейти из Функций технического специалиста либо по навигационной ссылке e1cib/list/РегистрСведений.дава_ПодключениеОбъектов

В регистре указываются типы справочников, для которых требуется отображать функционал архива.

 

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.15.103
  • 1С:Комплексная автоматизация 2, релизы 2.5.15.103
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.147.25
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.28.65
  • Розница, редакция 2.3, релизы 2.3.17.19
  • Управление торговлей, редакция 11, релизы 11.5.15.103

архив скрытие невидимость ограничение выбор

См. также

Удаление данных с отбором и построением дерева ссылок в базах 1С 8.1-8.3 УТ 10.3./11, БП 2/3, ЗУП 2.5/3, КА 1.1/2, УНФ 1.6/3.0

Чистка данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление торговлей 11 Платные (руб)

Данные обработки помогут Вам легко и, главное быстро, выполнить удаление любых данных в Ваших базах 1С на платформах 8.1-8.3. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 04.10.2023, версия 4.2)

9600 руб.

22.02.2013    135905    248    144    

418

Универсальное выборочное удаление данных из базы 1С (любые конфигурации на упр.формах: БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и т.д.)

Чистка данных Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Обработка позволяет удобно выборочно удалить данные из базы 1С. Это могут быть как неиспользуемые элементы справочников, так и неактуальные организации. При этом есть возможность провести анализ пересечений документов с другими организациями и таким образом уберечься от того, что при удалении обороты по другой организации изменятся.

3350 руб.

28.11.2019    24307    46    16    

58

SALE! 10%

Выборочное удаление организаций из баз (управляемые формы), с удалением всех ссылающихся на эти организации данных

Чистка данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Позволяет удалить организации из любых программ на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3.0, УНФ, Розница 2.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.

3980 3582 руб.

16.03.2015    113693    181    75    

217

Замена Номенклатуры+Характеристики

Чистка данных Логистика, склад и ТМЦ Платформа 1С v8.3 План видов характеристик 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Настраиваемая обработка, позволяющая заменить пару: Номенклатура+Характеристика в документах, их движениях и независимых регистрах сведений. Без перепроведения. Поможет, если вы по каким-то причинам решили отказаться от характеристик

3600 руб.

04.08.2015    41105    88    70    

49

Удаление битых ссылок 1С в базе без монопольного режима

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Если в вашей информационной базе крутится очень много данных, или база должна быть доступна 24/7 (как в моем случае), или же вы боитесь запускать тестирование и исправление, НО существует потребность удалить битые ссылки, тогда эта обработка сможет Вам помочь. Обработка выявляет битые ссылки как в самих объектах метаданных, так и в их табличных частях(!), а так же может их удалить.

2400 руб.

23.08.2021    9255    15    3    

20

Очистка дублей в синхронизированных базах (УТ, БП, РТ, УНФ)

Чистка данных Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Решение по удалению дублей позволяет определить связанные элементы в двух синхронизированных базах в качестве оригиналов и избежать необходимости ручного сравнения объектов в базах перед синхронизацией.

3960 руб.

27.06.2018    18804    10    3    

15

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

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

в современных конфигурациях стало очень много регистров сведений, хранящих вспомогательную и периодическую информацию и администраторы информационных систем стали сталкиваться с проблемой удаления помеченных на удаление объектов, так как ссылки на них хранятся в многочисленных регистрах сведений. Помочь почистить базу от ненужных записей предназначенная данная внешняя обработка на управляемой форме, которая ищет записи во всех регистрах сведений по помеченным на удаление объектах и очищает по ним записи их после использования данной обработки дальше можно смело пользоваться типовой обработкой удаление помеченных на удаление и проблем с удалением не возникнет! Удачи всем!

1200 руб.

21.01.2022    7122    5    6    

9

Очистка кэша 1С. Исполнитель

Чистка данных Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Очередная вариативная очистка кэша 1С с помощью Исполнителя 3.0.2.2.

1 стартмани

25.10.2023    4529    4    SerVer1C    25    

22
Отзывы
13. sapervodichka 6697 07.11.22 11:27 Сейчас в теме
(10) Да, тоже все есть. Если вдруг для какой-то формы не заработает (а это реально, т.к. в расширении универсальный код, который может частные случаи не учитывать ), то напиши, я добавлю в код расширения нужное уточнение и вышлю тебе через Яндекс.Диск.
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. JohnyDeath 301 07.11.22 10:00 Сейчас в теме
А почему сделал через "Ложь" для версии 8.3.22, а не через СистемнаяИнформация.ВерсияПриложения ?
sapervodichka; +1 Ответить
3. starik-2005 3033 07.11.22 10:19 Сейчас в теме
(1)
Ложь
Из архива с памятью...
- Из-за чего вы развелись?
- Из-за лжи.
- И как было дело?
- Она спросила, буду ли я чай с сахаром. Я ответил: "ложь".

Оригинал:
- Что стало причиной вашего расставания?
- Ложь.
- А именно?
- Я его спросила: "Тебе сахар в кофе положить?", а он ответил: "Ложь".
Oronda; FoxSPb2012; Jeka44; Andreeei; awk; m_aster; Ankare; rusmil; sapervodichka; fatman78; JohnyDeath; user705522_constantin_h; ZOMI; +13 Ответить
5. sapervodichka 6697 07.11.22 10:44 Сейчас в теме
(1) Евгений, привет. Спасибо за коммент. Я не подключал условие под версию, потому что часть кода с методом УниверсальныйИдентификатор(...), появившимся в запросах платформы 8.3.22, написал на глаз, т.к. на серваке у меня 8.3.21 стоит (8.3.22 считаю пока не стабильна и не ставлю). По итогу когда попробую под 8.3.22 выложу с такой вилкой СистемнаяИнформация.ВерсияПриложения.
2. ybatiaev 58 07.11.22 10:01 Сейчас в теме
Добрый день! Очень актуально
4. lifeforeve 07.11.22 10:32 Сейчас в теме
привет
Для розницы 2.3 такое реально?
9. sapervodichka 6697 07.11.22 11:10 Сейчас в теме
(4) привет, да будет работать, сейчас посмотрел на рознице 2.3.13.30 (есть ОбщийМодуль.ПодключаемыеКоманды, есть его вызов в формах)
6. fatman78 17 07.11.22 10:49 Сейчас в теме
Хорошая идея и реализация. Есть нюанс формами, где:
Работает и для форм, где список не на базе произвольного запроса, подменяя на произвольный запрос
Если в элементах справочника много "тяжелых" реквизитов, особенно реквизиты с типом "хранилище значения",
то запрос через .* может давать сильную деградацию производительности при открытии формы и скроллинге списка. По хорошему нужно генерировать запрос индивидуально под каждый список. Я в расширении Блокировка изменения объектов через обмен данными (EnterpriseData) именно по этой причине не стал такую-же конструкцию в расширение вживлять и ограничился только перехватом произвольных запросов. Для списков документов это не так актуально было, там как правило все на запросах по умолчанию. Надо будет доделать генератор запроса для таких-же случаев.
sapervodichka; +1 Ответить
7. sapervodichka 6697 07.11.22 10:57 Сейчас в теме
(6) Рома, спасибо, да, проблема универсальности. Могу только сказать, что в основных справочниках (номенклатура, контрагенты, договоры и т.п.) произвольные запросы включены изначально в типовой форме, по остальным справочникам где не произвольный запрос, с чем пересекся, не столкнулся с тормозами. По итогу если такое прилетит, то буду в код расширения (он открыт) по имени формы вставлять конкретный запрос для проблемного справочника (ограничивая поля как ты указал).
8. fatman78 17 07.11.22 11:01 Сейчас в теме
(7)Странно, на каких конфигурациях смотрел? Я помню когда анализировал масштабы применения произвольного запроса для самых крупных справочников, то для себя отметил, что как правило в популярных типовых даже номенклатура без запроса сделана.
14. dhurricane 07.11.22 11:27 Сейчас в теме
(6)
Если в элементах справочника много "тяжелых" реквизитов, особенно реквизиты с типом "хранилище значения",
то запрос через .* может давать сильную деградацию производительности при открытии формы и скроллинге списка.
Кажется, что Вы заблуждаетесь. Что с произвольным запросом как в посте, что без, выбираются не все поля таблицы, а лишь видимые пользователю и отмеченные как "Использовать всегда". Т.е. здесь платформа оптимизирует запрос аналогично тому, как это можно наблюдать в отчетах на СКД, и никакой дополнительной нагрузки появиться не должно.
sapervodichka; dandykry; +2 Ответить
10. lifeforeve 07.11.22 11:15 Сейчас в теме
(9)
(9)а для Розница, редакция 2.3 (2.3.8.22)
можете посмотреть?
13. sapervodichka 6697 07.11.22 11:27 Сейчас в теме
(10) Да, тоже все есть. Если вдруг для какой-то формы не заработает (а это реально, т.к. в расширении универсальный код, который может частные случаи не учитывать ), то напиши, я добавлю в код расширения нужное уточнение и вышлю тебе через Яндекс.Диск.
11. sapervodichka 6697 07.11.22 11:18 Сейчас в теме
(4) Номенклатура в УХ, ERP, УТ с произвольным запросом список, в Бух без произвольного
12. lifeforeve 07.11.22 11:26 Сейчас в теме
Мне необходимо это скрыть номенклатуру в подборе РМК,и реализации
там работает?
15. lifeforeve 07.11.22 11:28 Сейчас в теме
а если стармани закончились
как получить ваш уникальный и нужный продукт?
19. Rafaraf 37 07.11.22 13:08 Сейчас в теме
(15) на бирже закончились ?
16. sapervodichka 6697 07.11.22 12:16 Сейчас в теме
(15) *))) договориться с кем-нибудь скачать (не со мной)
17. lifeforeve 07.11.22 12:17 Сейчас в теме
на самом деле глупый вопрос написал )
написал в состоянии аффекта
sapervodichka; +1 Ответить
18. 1cprogr_nsk 106 07.11.22 13:05 Сейчас в теме
А чем не устраивает стандартный механизм плана видов характеристик? Можно же общее свойство создать "В архиве", и при открытии формы списка или формы выбора, устанавливать отбор по нему...
20. Rafaraf 37 07.11.22 13:10 Сейчас в теме
(18)
А чем не устраивает стандартный механизм плана видов характеристик? Можно же общее свойство создать "В архиве", и при открытии формы списка или формы выбора, устанавливать отбор по нему...

может потому, что можно посмотреть кто и когда поместил ?
21. sapervodichka 6697 07.11.22 13:26 Сейчас в теме
(18) Если речь про доп реквизиты, то он не устроил, т.к. у этого механизма небольшое покрытие НСИ, например, в УХ нет допреквизитов у справочников, в ЕРП и Бух у 95 % справочников его нет. И да нельзя посмотреть кто и когда поменял или достал из архива.
35. 1cprogr_nsk 106 08.11.22 08:09 Сейчас в теме
(20)
(21)
Ну да, кто поместил и кто достал и когда этого нет, согласен. Зато механизм есть на старых конфигурациях (обычные формы) например УПП )))
22. Darklight 32 07.11.22 15:54 Сейчас в теме
Как я понял Вы меняете настройку динамического списка, и по регистру просто смотрите флаг - показывать не показывать - т.е. отбирать или не отбирать в результат динамического списка?
То есть - все элементы остаются на месте. И нагрузку на таблицу это никак не меняет (наоборот - утяжелает доп. подзапросом к регистру сведений, когда, например, общий реквизит на ту же тему был бы несколько эффективнее, но не на много - без перестроения всех основных индексов таблицы в СУБД что уже выходит за рамки лицензии 1С). Вы пишите про отсутствие покрытия - ну... это же решаемо!
А через RLS разве не удобнее было бы сделать тоже самое (да, пришлось бы роль менять/или подменять - но это всё автоуправляемо, да и работало бы не только с динамическими списками - правда тут уже решение обоюдоострое, но я не говорю о безусловном отсечении данных для сеанса пользователя, ведь можно ещё и динамическое управление через параметр сеанса замутить)
23. sapervodichka 6697 07.11.22 16:08 Сейчас в теме
(22) Павел, привет
1) Я не знаю как добавить общие реквизиты (3 шт. флаг, ответственного и дату) не меняя конфигурацию
2) Отсутствие покрытия функционалом доп. реквизитов 95 % справочников - если "решаемо!", то хочется увидеть как
3) Про RLS я лучше промолчу, с таким заявками к RLS в типовой конфе можно легко зарыть себя в могилу.

По факту, то хоть один пример "живой" приведи, я его к себе встрою в демку гляну
uriy; Kolesonik; +2 Ответить
25. Darklight 32 07.11.22 16:14 Сейчас в теме
(23)Про общие реквизиты в расширении может и немного погорячился - пока не поддерживаются - но я лишь говорил об эффективности, а не об удобстве. Править угниверсальными алгоритмами кастомные запросы динамических списков - то ещё занятие - баги там поймать как нефиг делать!
А чем Вам там так RLS не угодил?
26. sapervodichka 6697 07.11.22 16:17 Сейчас в теме
(25)
БАГИ: Как нефиг делать НЕ поймать, т.к. у запроса есть стандартная структура, где есть псевдоним основной таблицы и установка с ним связей. Всегда в тексте запроса есть задание псевдонима таблицы, всегда после псевдонима можно добавить левое соединение. Надеюсь это понятно.

RLS: Всё просто, я хорошо знаю что такое RLS. Против самого механизма RLS я ничего не имею против. Я против твоего предложения его использования в данной задаче: 1) Ты предлагаешь его включить, без понимания какую просадку по производительности понесет вся база (она предположительно ляжет); 2) Я не понимаю как ты предлагаешь его зашить в 1000 ролей на 1000 разных справочников, например ERP (и тд. в других объектах и других продуктах), как сохранить обновляемость конфы и дальнейшую поддержку вести этого RLS; 3) Принципиально не понимаю зачем он нужен для задачи скрыть элемент в выборе.
27. Darklight 32 07.11.22 16:32 Сейчас в теме
(26)В 1000 ролей на 1000 разных справочников я не предлагал зашивать RLS. По хорошему в системе должна быть только одна роль RLS на все справочник (это в идеале, на практике - это около 10 ролей, не пересекающихся по метаданным). Тогда ничего не ляжет. Но реально такое ограничено RLS действительно будет работать чаще чем требуется - и эффективность просядет в другом месте - так что да, признаю - эта идея не лучше. Но неплохо, что эта тема нашла своё обсуждение и итог. Просто пришла в голову альтернатива - она оказалась не лучше.
В отличии от другого предложения - про доп. реквизиты, но там да - тоже свои закавыки - но и свои преимущества - например по доп. реквизитам не просто удобнее и эффективнее фильтровать. Но можно легко организовать и секционирование таблтицы (пусть это и нарушает лиц. соглашение - но у кого большие справочники им иначе вообще труба в 1С8) - и вывести архив даже на отдельное файловое хранилище - вот тут и начинается самая большая эффективность для тех у кого таблицы справочников исчисляются миллионами строк. Правда тут ещё и с табличными частями придётся заморочиться...
Другое дело - это то, что доп. реквизитов нет в расширениях. Но, может, оно и "к лучшему" - можно скриптом задеплойдить автогенерируемое расширение - которое автоматически расширит все необходимые (в настройке) справочники доп. реквизитами. Останется только запускать скрипт после каждого обновления конфигурации, или при вводе новых кастомных справочников.
Ну или размещать доп. реквизиты в основной конфигурации - всё-таки новые объекты - это не изменение существующих - это будет работать и не в управляемых конфигурациях тоже
28. sapervodichka 6697 07.11.22 16:35 Сейчас в теме
(27) в любом случае спасибо за контраргументы, люблю побадаться, тоже ума набираюсь, частенько меня tormozit причёсывает
24. sapervodichka 6697 07.11.22 16:13 Сейчас в теме
(22) по поводу динамического списка: 1) Перехватываю ПодключаемыеКоманды.ПриСозданииНаСервере, где модифицирую текст запроса списка 2) Вывожу динамически группу колоно; 3) Вывожу динамически и цепляю кнопку к подключаемой команде со сменой картинок и изменением отбора динамического списка. По формам элементов: 1) Вывожу динамически и цепляю кнопку к подключаемой команде со сменой картинок и изменением регистрации в РС и сменой подсказки у кнопки (всплывает с инфо кто и когда изменил)
29. dhurricane 07.11.22 17:11 Сейчас в теме
1) Правильно же я понял, что сокрытие архивных данных работает только в формах со дин. списком? При вводе по строке архивные элементы справочников по-прежнему отображаются?

2) Судя по видео при архивировании объектов обновление списков происходит не мгновенно, потребовалось нажать "Обновить", чтобы увидеть результат. Я бы здесь рекомендовал использовать "ОповеститьОбИзменении" с указанием ссылки на заархивированный объект (или его тип), дабы платформа сама и сразу обновила отображение объекта в открытых формах.
sapervodichka; +1 Ответить
30. sapervodichka 6697 07.11.22 17:17 Сейчас в теме
(29)
1) Да, ввод по строке не ограничивается
2) Не видел в этом необходимости для пользователя, который настраивает, сам элемент кстати не меняется.
31. dhurricane 07.11.22 17:40 Сейчас в теме
(30)
1) Да, ввод по строке не ограничивается
Не планировалось сделать? В расширениях можно добавить подписки на события, кажется только с большей версией совместимости, что указано в публикации.

2) Не видел в этом необходимости для пользователя, который настраивает, сам элемент кстати не меняется.
Как по мне, так увидеть результат своих действий сразу же пользователю было бы удобнее. В т.ч. и при выполнении команд архивирования непосредственно в форме списка. Ну и понятно, что объект не меняется. "ОповеситьОбИзменении" лишь дает команду дин. спискам с подходящей основной таблицей обновиться, да кэш форм обновляется, также связанный с указанным объектом (или его типом).
sapervodichka; +1 Ответить
32. sapervodichka 6697 07.11.22 17:50 Сейчас в теме
(31) замечания все чёткие, спс, в ближайшие дни точно не поменяю, жду пока ещё накидают, в следующей версии постараюсь учесть
dhurricane; +1 Ответить
33. dhurricane 08.11.22 03:24 Сейчас в теме
Еще пара мыслей:
1) Судя по тем фрагментам кода, что есть в публикации, в регистре архива для идентификации объекта используется его код и наименование. Если всегда так, то код не сработает на справочниках банковских счетов в ERP (УТ, КА). Там нет кода.
2) Планы видов характеристик тоже стоило бы учесть. В ERP (УТ, КА) - это статьи доходов и расходов, довольно популярный ПВХ, который также порой пересматривается, от каких-то статей отказываются.
3) К сожалению проверить не могу, но начиная с 20-ой платформы расширения стали поддерживать "ЛюбаяСсылка". Возможно с уникальными идентификаторами в запросе можно было бы и не заморачиваться.
37. sapervodichka 6697 08.11.22 09:59 Сейчас в теме
(33) 1) Тогда код пустой и будет работать по наименованию (либо по УИ для 8.3.22 надо включить), 2) ПВХ там есть "СправочникСсылка" это псевдоним таблицы не конкретно к спраочникам, 3) Любая ссылка в расширении нет такого 8.3.21.1607
34. Alfn 59 08.11.22 06:47 Сейчас в теме
идея для оптимизации... для обработки ДС без произвольного запроса можно немного усложнить расширение.
Добавить РС (измерение: ИмяФормы, ресурс: ТекстЗапроса) и в процедуре изменения запроса брать текст оттуда.
Формировать и записывать текст запроса при первом обращении к форме, перебрав все реквизиты объекта, исключая "лишние".
38. sapervodichka 6697 08.11.22 10:06 Сейчас в теме
(34) см ответ (14) вроде это не имеет смысла т.к. платформа оптимизирует состав под видимые поля на форме
36. Serg O. 224 08.11.22 08:49 Сейчас в теме
есть ещё простой и быстрый способ (особенно у кого обычные формы)
- помечать неактуальные элемента на удаление ...
и не показывать их в списке, добавив фильтр на ПометкаУдаления
39. sapervodichka 6697 08.11.22 10:15 Сейчас в теме
(36) да, норм, если не надо видеть инфу кто и когда поместил видеть, и без доработок, то самое подходящее решение.
42. sapervodichka 6697 08.11.22 10:54 Сейчас в теме
(39) Ошибся, универсально не "норм" смотри ответ (40), удаление объектов будет перегружаться элементами. С оговоркой если на удалении нет заморочек, то можно сказать что "норм", но это единичные случаи, т.к. в общем и целом люди удаление делают и его зас..ть неправильно.
40. Darklight 32 08.11.22 10:39 Сейчас в теме
(36)Это плохое решение. Не помечайте на удаление то - что не хотите, чтобы было удалено безвозвратно. Не замусоривайте "корзину" с помеченными на удаление элементами, которые не удалятся никогда.
sapervodichka; +1 Ответить
41. sapervodichka 6697 08.11.22 10:50 Сейчас в теме
(40) Точно, верно, говоришь. Потом удаление превратиться в адские муки. Не "норм" использовать пометку на удаление для скрытия (беру слова про норм обратно, не подумал).
45. Serg O. 224 09.11.22 08:26 Сейчас в теме
(40) контрагенты (партнеры) или номенклатура, по которой были движения - по-любому нельзя удалять, но если по ним уже нет движений больше 1-2 лет, и они "мешаются" в общем списке - то пометка на удаление самое то, что надо.
Более того можно сделать папку, например, Старое (или OLD кому как нравится)
и сразу всю папку пометить на удаление (со всеми вложенными элементами).

И можно сделать "невидимость" помеченных на удаление даже по ролям пользователей.
А "кому надо" - настройкой пользователей - включать видимость всего.

Так что решение использовать стандартный "флажок", ПометкаУдаления - имеет смысл именно для старого и ненужного.
А про окончательное удаление - стандартное удаление помеченных на удаление элементов
и так не дадут их "случайно" удалить, потому что есть "связанные элементы" в базе.
46. sapervodichka 6697 09.11.22 08:42 Сейчас в теме
(45) речь про то что есть реальные вещи которые надо удалить, но до них просто удаление не дойдет, т.к. это не позволят сделать длительные контроли проверки ссылок на данные у скрытых через пометку на удаление, так и за ночь удаление не пройдет. Или есть способ чтобы например регламентное задание удаления отделяла скрытые от тех которые реально надо удалить?
47. Serg O. 224 09.11.22 09:10 Сейчас в теме
(46) у вас каждую ночь удаление происходит?
тогда да, придётся сделать ещё список папок (может даже регистр сведений)
для исключения всех папок всех типов справочников.
и игнорировать их при удалении.
Возможно свою обработку для удаления (здесь на Инфостарте вроде есть такие обработки)
и сделать исключение при отборе по Родителю ... НЕ Элемент.Родитель В (&СписокПапок)

Помеченные на удаление - всегда могут "заново" понадобиться.
и у многих (особенно в базах с регл.учётом) ничего не чистится ... вообще никогда.
или крайне редко - раз в год в новогодние праздники... например.
49. Darklight 32 09.11.22 09:47 Сейчас в теме
(45)
они "мешаются" в общем списке - то пометка на удаление самое то, что надо.

То что они мешаются в общем списке как раз и решается задачами "архивирования" (и плохо, что это не встроено ни в платформу, ни типовые конфигурации изначально). Чаще всего, без доработок, просто это делают перемещением таких элементов в отдельную группу а-ля "Архив" и установкой отбора по умолчанию (не в группе "Архив"), хотя на втором месте будет да - скрытие через пометку на удаление и это плохо.
Пометка удаления будет мешать потом удалению нужных элементов. Когда объёмы помеченных превысят все мыслимые и не мыслимые объёмы - например я встречал десятки помеченных на удаление элементов - из которых почти ничего не удалялось - но сам процесс окончательно удаления нужных элементов занимал больше суток - а разбираться там, что надо удалять, что пока не надо - вообще не реально!

А по поводу случайно удалить - встречал и такое - удаляли удаляли! Потом по бэкапу базы приходилось восстанавливать! Причём если оно сейчас не удаляется - не факт, что потом, что-то не изменится.

Было ещё пара-тройка случаев (правда не про 1С, но очень поучительных), когда человек хранили "получается что важные" документы в Корзине ОС - а потом она очистилась - и документы пропали! Вывод - не храните в мусорке то, что Вам ещё дорого! А пометка на удаление - по сути это и есть хранение в мусорке!

Но всё-таки лично для меня - "архивирование" данных в ИБ - это больше именно процесс переноса не актуальных данных, условно, из условного OLTP контура (и даже из OLAP) контура - в отдельное хранилище, где эти данные не будут мешать работе с актуальными, снижать производительность и расходовать дорогие ресурсы оборудования. Но тут, конечно, в первую очередь желательная поддержка со стороны платформы. Но и без неё, ограничено можно это организовать, например, через сегментирование таблиц в СУБД (хоть это и нарушает лиц. соглашение 1С) - просто это нужно не для скрытия сотен и сотен тысяч элементов - это принципиально важно для скрытия миллионов и сотен миллионов элементов, в очень крупных базах данных - но если с ссылочными типами это боле-менее просто, то с записями регистров всё куда сложнее)
43. HanterVol 8 08.11.22 15:56 Сейчас в теме
Неплохое решение, но из опыта - после скрытия неиспользуемых элементов возникает новая задача - "Запретить ввод дублей".. но через пол-года
Altez50; Darklight; sapervodichka; +3 Ответить
44. sapervodichka 6697 08.11.22 22:35 Сейчас в теме
(43) спасибо, это аргумент (реально сложно не ввести повторно, то что скрыто) Новая идея - реализовать запреты дублей другим расширением.
GorkyGorod; Serg O.; +2 Ответить
50. cypoc 09.11.22 13:39 Сейчас в теме
(44)
Здравствуйте. Напишите мне в личку пожалуйста, хочу попросить совета.
48. Darklight 32 09.11.22 09:29 Сейчас в теме
(43)Ну, на ввод дублей должна быть отдельная проверка (не зависимо - скрыты они или нет).
А так, как бы да - неплохо, хотя бы при "стандартном" поиске по подстроке делать ещё и поиск по скрытым элементам - и если там что-то находится - то хотя бы просто в каком-то интерфейсной элементе (например, в текстовой декорации, ярко выделенной) выводить информацию о том, что найдено ещё и в скрытых элементах (и желательно количество) - а по нажатии на этот GUI-элемент - показывать отдельно что нашлось в скрытых.
Крайне жаль что такие важные вещи не умеет делать сама платформа!
GorkyGorod; Altez50; +2 Ответить
51. sapervodichka 6697 15.11.22 01:45 Сейчас в теме
Расширение: Архив элементов (версия 15.11.2022)
1. Исправлены права роли Чтение данных в архиве (вызывала ошибку)
52. julia-dev 17 21.12.22 05:45 Сейчас в теме
(51) Добрый день, применили ваше расширение на ERP 2.5.7.269. Решение интересное, планируем применение в работе. Но возникло несколько проблем.
При открытии формы списка справочника Сотрудники возникает ошибка

Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно. Не найдено поле отбора ДанныеВАрхиве_ВАрхиве
.
В самом запросе псевдоним у справочника Сотрудники - "Сотрудники", здесь добавили псевдоним в модуль дава_Сервер.ПриСозданииНаСервере, но при установки отбора динамического списка возникает ошибка.

Исправили самостоятельно, но если интересно, то возникли проблемы:
1. Так же расширение не отрабатывает на ПВХ Статьи доходов и расходов, т.к. на форме ИмяЭлементаСписка = "СтатьиРасходов" или "СтатьиДоходов" плюс при выборе статей в документах открывается "ОбщаяФорма.ФормаВыбораСтатьи"
2. Справочник Номенклатура, форма списка. А в документах при подборе открывается форма Обработка.ПодборТоваровВДокументПродажи.Форма.Форма
3. При выборе Партнера в документах, т.к. форма выбора: Справочник.Партнеры.Форма.ФормаВыбораБезПолнотекстовогоПоиска
Прикрепленные файлы:
sapervodichka; +1 Ответить
53. sapervodichka 6697 21.12.22 09:32 Сейчас в теме
(52) Юлия, спасибо за комментарий. Вы правы в том, что не везде универсально прокатывает, надо подправлять. Я так понял что "мы сами с усами" и уже поправили?
54. julia-dev 17 21.12.22 11:44 Сейчас в теме
(53) Да, сами исправили, кроме сотрудников. Там пока не разобралась. Почему-то при создании на сервере формы списка Сотрудников, группа колонок Архив создается, а вот сами колонки не добавляются, поэтому и ошибка при открытии, отбором пытаемся отобрать по полю, которого нет
55. zaogorizont 13.02.23 02:28 Сейчас в теме
1С:ERP Управление предприятием 2 (2.5.10.93) в справочнике номенклатуры данный функционал не работает
56. sapervodichka 6697 13.02.23 09:13 Сейчас в теме
58. sapervodichka 6697 14.02.23 10:27 Сейчас в теме
(55) Выслал в личку модифицированный
59. zaogorizont 14.02.23 23:25 Сейчас в теме
60. zaogorizont 14.02.23 23:33 Сейчас в теме
(59) командной строке нет пиктограммы
61. sapervodichka 6697 14.02.23 23:54 Сейчас в теме
(60) У меня на демке ЕРП есть, посмотри может в меню Ещё сползла из-за большого количества кнопок.
Прикрепленные файлы:
57. sapervodichka 6697 14.02.23 10:26 Сейчас в теме
Добавлена новая версия
Расширение: Архив элементов (версия 13.02.2023)
1. Добавил вывод для ЕРП для справочника номенклатура
2. Добавлена обработку группового помещения элементов в архив по произвольным отборам
e1cib/app/Обработка.дава_ГрупповоеПомещениеВАрхив
3. В описание статьи добавлен пример кода как ограничить ввод по строке для элементов в архиве
62. OOORTZ 31.03.23 15:06 Сейчас в теме
В ERP в справочнике номенклатура выходит ошибка

Ошибка инициализации модуля: Расширение_ДанныеВАрхиве Справочник.Номенклатура.МодульМенеджера
по причине:
{Расширение_ДанныеВАрхиве Справочник.Номенклатура.МодульМенеджера(15,24)}: Переменная не определена (ЗначениеНастроекПовтИсп)
СтруктураРеквизитов = <<?>>ЗначениеНастроекПовтИсп.РеквизитыСправочника("Номенклатура");
63. sapervodichka 6697 31.03.23 15:21 Сейчас в теме
а какой релиз ЕРП используете я посмотрю почему не определяется общий модуль ЗначениеНастроекПовтИсп?

Пока я смотрю можете в расширении в Справочники.Номенклатура.МодульМенеджера заменить вызов ЗначениеНастроекПовтИсп.РеквизитыСправочника() на РеквизитыСправочника().
Саму функцию добавьте в модуль менеджера.

Функция РеквизитыСправочника(ИмяСправочника)
	
	СтруктураРеквизитов   = Новый Структура;
	МетаданныеСправочника = Метаданные.Справочники[ИмяСправочника];
	
	Для Каждого Реквизит Из МетаданныеСправочника.СтандартныеРеквизиты Цикл
		СтруктураРеквизитов.Вставить(Реквизит.Имя, Реквизит.Синоним);
	КонецЦикла;
	
	Для Каждого Реквизит Из МетаданныеСправочника.Реквизиты Цикл
		СтруктураРеквизитов.Вставить(Реквизит.Имя, Реквизит.Синоним);
	КонецЦикла;
	
	Возврат СтруктураРеквизитов;
	
КонецФункции
Показать
64. OOORTZ 31.03.23 16:51 Сейчас в теме
"Запрет выбора и ввода по строке, помещенных в архив элементов на примере справочника номенклатура"

данный код должен блокировать ручной ввод при наборе в ТЧ документа?

если по коду и наименованию, так делаю?

|	НоменклатураПоПорядку КАК НоменклатураПоПорядку
	|		ЛЕВОЕ СОЕДИНЕНИЕ НоменклатураПоиск КАК НоменклатураПоиск
	|		ПО НоменклатураПоПорядку.Ссылка = НоменклатураПоиск.Ссылка
	|			И НоменклатураПоПорядку.Порядок = НоменклатураПоиск.Порядок	
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.дава_АрхивированныеДанные КАК дава_АрхивированныеДанные
	|		ПО НоменклатураПоПорядку.Код = дава_АрхивированныеДанные._КодЭлемента
	|			И НоменклатураПоПорядку.Наименование = дава_АрхивированныеДанные._НаименованиеЭлемента
67. sapervodichka 6697 05.04.23 22:58 Сейчас в теме
(64) вроде так, можно просто 1 условие по коду оставить (без наименования)
65. user1198184 05.04.23 22:10 Сейчас в теме
Добрый день

Подскажите, с помощью расширения убрал в архив не нужную номенклатуру. В самом справочнике номенклатура не отображается.
Но при создании заказа клиента если добавлять построчно или через Подбор - все-равно эта номенклатура показывается и предлагается.
Это корректно?
смысл тогда Архива как-то слегка ограниченный...
66. sapervodichka 6697 05.04.23 22:56 Сейчас в теме
(65) в самой статье посмотрите вот этот код по ограничению ввода по строке, нужно перехватить номенклатуру в расширение и в модуль менеджера вставить
Прикрепленные файлы:
68. user1198184 06.04.23 12:06 Сейчас в теме
(66) Понятно... будем допиливать. Спасибо.
sapervodichka; +1 Ответить
Оставьте свое сообщение