как удалить одинаковые элементы справочника

Новая тема
Показывать по 10 20 40 сообщений
"Как сделать чтоб после выбора справочника в форме(XXX),он работал в этом коде

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

   Спр = Справочники.XXX.Выбрать();
   Для каждого Таб Из ТаблицаЗначений Цикл
   
       Пока Спр.Следующий() Цикл
           
           Если Спр.Наименование = Таб.Наименование Тогда

               Удалить = Спр.Ссылка.ПолучитьОбъект();
               Удалить.Удалить();
               
           КонецЕсли;
           
       КонецЦикла;
   
   КонецЦикла;"
Сорри не дописал,в форме есть поле выбора справочника,допустим выбрал номенклатуру то в коде вместо ХХХ был этот справочник и чтоб работал в этом коде или будут другие предложения =)
Какой тип выбранного значения в поле выбора? Что вы там выбираете: название справочника (тип Строка) или что-то ещё?
В дополнение к Alizar-у...
Что вообще вся эта обработка должна делать? Потому как Вы даже элементы справочника через Ж получаете...
И это правда. Одинаковыми, как я понимаю, считаются элементы с одинаковым наименованием. Список подбных дублей можно получить одним запросом, а не двумя переборами полных выборок.
Ну пример приведите....надо одинаковые элементы удалить в справочниках,в форме это просто полевыбора(СправочникиСсылка)
"Поле выбора с типом "СправочникСсылка" - это не очень..., хотя и просто. Посмотрите, как это сделано в обработке с ИТС "УниверсальныеПодборИОбработкаОбъектов"

Что касается запроса, то:

Запрос.Текст = "ВЫБРАТЬ |Номенклатура1.Ссылка,|Номенклатура1.Код,|Номенклатура2.Ссылка,|Номенклатура2.Код,|Номенклатура1.Наименование |ИЗ|Справочник.Номенклатура КАК Номенклатура1|ВНУТРЕННЕЕ СОЕДИНЕНИЕ|Справочник.Номенклатура КАК Номенклатура2|ПО Номенклатура1.Наименование = Номенклатула2.Наименование|И Номенклатура1.Ссылка <> Номенклатула2.Ссылка"; 
"
И, кстати, на "Инфостарте" есть обработка удаления дублей из любых справочников.
Спасибо за код и за советы,это я для себя,чтоб опыта набраться,еще раз спасибо!
А вот если я запросом сделаю то как я как смогу выбирать из списка справочников,для удаления идентичных элементов? где мне указывать по какому справочнику мне делать выборку?
Читают тему
(гостей: 1)

Быстрый переход