helpf.pro
Регистрация
 0 
Распечатать

1С 8.2 УП : Как очистить справочник удалив все не используемые элементы?

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

Но как удалить только те элементы справочника, которые не используются в документах?

Следующий пример кода поможет это сделать(в примере обрабатывается 4 справочника: Сотрудники, ФизЛица, Договора и Контрагенты) Скачать: Обработка для УТ 10:

Код 1C v 8.х
 сп=Новый СписокЗначений;
сп.Добавить("СотрудникиОрганизаций");
сп.Добавить("ФизическиеЛица");
сп.Добавить("ДоговорыКонтрагентов");
сп.Добавить("Контрагенты");

Для Каждого стр из сп Цикл
текСпр=стр.Значение;
Запрос = Новый Запрос;
Текст = 
"ВЫБРАТЬ
| СотрудникиОрганизаций.Ссылка
|ИЗ
| Справочник.%текСпр% КАК СотрудникиОрганизаций
|ГДЕ
| НЕ СотрудникиОрганизаций.ПометкаУдаления И НЕ СотрудникиОрганизаций.ЭтоГруппа";
Запрос.Текст = СтрЗаменить(Текст,"%текСпр%",текСпр);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
итЗаписей = Строка(ВыборкаДетальныеЗаписи.Количество());
ном=0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ном=ном+1; Состояние(текСпр+": "+Строка(ном)+" из "+итЗаписей);
СсылкаНаУдаляемыйЭлемент = ВыборкаДетальныеЗаписи.Ссылка;
// Найти ссылки на удаляемый элемент - СсылкаНаУдаляемыйЭлемент. 
МассивСсылок = Новый Массив; 
МассивСсылок.Добавить(СсылкаНаУдаляемыйЭлемент); 
НайденныеСсылки = НайтиПоСсылкам(МассивСсылок); 

Если НайденныеСсылки.Количество() > 0 Тогда 
Сообщить("Нельзя удалять элемент:"+Строка(СсылкаНаУдаляемыйЭлемент)+", на него имеются ссылки",СтатусСообщения.Внимание); 
Иначе
Сообщить("Удаляем элемент:"+Строка(СсылкаНаУдаляемыйЭлемент),СтатусСообщения.Информация); 
// Получаем объект
УдаляемыйЭлемент = СсылкаНаУдаляемыйЭлемент.ПолучитьОбъект(); 
// Установить пометку
//УдаляемыйЭлемент.УстановитьПометкуУдаления(Истина); 
// Удалить сразу
УдаляемыйЭлемент.Удалить();
КонецЕсли;  

КонецЦикла; 
КонецЦикла; 
Разместил:   Версии: | 8.x | 8.2 УП | 8.3 |  Дата:   Прочитано: 17678
 0 
Распечатать
Возможно, вас также заинтересует
1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
ZIP-архив Чтение 0
Для того чтобы прочитать файлы из ZIP-архива необходимо выполнить несколько простых действий: - Открыть необходимый архив - Распаковать файлы Создание объекта ЧтениеZIPФайла можно осуществить двумя путями - создать инициализированный объект или
Быстрый отбор в справочнике по первой букве 0
В статье описан способ быстрой организации отбора в списке справочника по первой букве наименования. Механизм легко дотачивается под собственные нужды. https://helpf.pro/uploads/img/_1-T4ZDj6uNPX.png // ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ НаКлиенте
Ввод дополнительного ежегодного отпуска 2
Вид расчета, используемый для начисления оплаты дополнительного ежегодного отпуска , описывается в плане видов расчета Основные начисления организаций . Новый вид расчета удобнее создать копированием предопределенного вида расчета Оплата отпуска п
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.