Удаление ненужных элементов номенклатуры #639866


#0 by eazarkin
Доброе время суток Возникла необхождимость почистить справочник номенклатуры от элементов на которые нет ссылок ни в одном документе. Написал несложный код. <code> </code> Проблема: уж очень медленно работает. Хотелось бы решить задачу в соответствии с рекомендациями 1с , а именно убрать запрос в цикле. Есть идеи ?
#1 by vmv
это в цикле и очень тяжелое Погугли типовое обработки и не лепи самокат, хотя гарантии, что там быстрее нет
#2 by Нуф-Нуф
запросом получи массив номенклатуры и сунь один раз в НайтиПоСсылкам
#3 by Нуф-Нуф
а потом уже перебирай ТабСсылок и удаляй необходимое
#4 by floody
пометить все, удалить помеченные, разметить все.. ну.. вы поняли
#5 by НЕА123
это в цикле!? или я брежу?
#6 by НЕА123
#7 by НЕА123
присоединяюсь к .
#8 by Balabass
Шаг первый - пометить всю номенклатуру на удаление. шаг второй - сделать удаление всех помеченных объектов шаг третий - снять пометку удаления с номенклатуры шаг четвертый - профит
#9 by Balabass
млять..на увидел (((
#10 by sidalexsandr
Синтаксис:   УдалитьОбъекты(<Список ссылок>, <Найденные данные>, <Проверять>)   Параметры:   Тип: Массив. Список ссылок на объекты, которые нужно удалить.   <Найденные данные> необязательный   Тип: ТаблицаЗначений. Таблица значений, в которую помещаются найденные ссылки на объект, содержит колонки с индексами:       1 - ссылка на объект, который содержит искомую ссылку;       2 - объект метаданных, которому соответствуют данные, в которых найдена ссылка.   <Проверять> необязательный   Тип: Булево. Параметр определяет, выполнять ли контроль ссылочной целостности при выполнении процедуры. Истина - перед удалением проверяется, нет ли ссылок на удаляемый объект. Если есть, то объект не удаляется, а ссылки помещаются в таблицу значений <Найденные данные>. Ложь - проверка не выполняется.   Значение по умолчанию: Ложь.   Описание:   Удаляет объекты.
#11 by Klesk
еще запомнить те, которые были помечены, и после удаления еще раз пометить их
#12 by floody
не надо их запоминать, а просто инвертировать пометку, потом обратно
#13 by Нуф-Нуф
а что делать с помеченными ранее?
#14 by floody
ну хотя да, прав
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С