|
Удалить повторяющиеся элементы справочника
| ☑ |
0
Irbis05
29.11.12
✎
10:19
|
Здрастуйте. Необходимо удалить в справочнике "Банковские счета" записи с одинаковым номером счета, что бы остался только один номер, как бы уникальный. Я попробовал так:
Выборка = Справочники.БанковскиеСчета.Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.ПолучитьОбъект();
....
КонецЦикла;
и через запрос:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| БанковскиеСчета.Ссылка,
| БанковскиеСчета.НомерСчета,
| БанковскиеСчета.Банк,
| БанковскиеСчета.Наименование
|ИЗ
| Справочник.БанковскиеСчета КАК БанковскиеСчета";
Выбор = Запрос.Выполнить().Выгрузить();
//потом сравнение двух массивов
Но получается либо только сравнивать, либо только все удалять. Подскажите как сделать.
|
|
1
Шапокляк
29.11.12
✎
10:23
|
Запросом выбери, сгруппируй по номеру и банку. Результат запроса выгрузи в ТЗ и перебирай ТЗ. Но вообще несколько странная идея удалять такие счета - для начала надо бы организовать замену значений в ссылках.
|
|
2
Вячеслав_1981
29.11.12
✎
10:25
|
Есть такая обработка поиск и замена дублирующих элементов. Работает довольно просто выбираешь справочник и дублируемые или похожие элементы удаляешь. ссылки перепривязываешь
|
|
3
mikecool
29.11.12
✎
10:25
|
выбрать БС1.ссылка
из Справочник.БанковскиеСчета как БС1
где БС1.ссылка в (
выбрать ссылка
из Справочник.БанковскиеСчета
сгруппировать по ссылка
имеющие количество(ссылка) > 1)
и не БС1.ссылка в (
выбрать первые 1 БС2.Ссылка
из Справочник.БанковскиеСчета как БС2
сгруппировать по БС2.ссылка
имеющие количество(БС2.ссылка) > 1 и БС2.Ссылка = БС1.Ссылка)
ссылки на удаление, не проверял
|
|
4
0_Serg_0
29.11.12
✎
10:26
|
стандартная - поиск и замена дублирующихся элементов - тебе в помощь!;)
|
|
5
Irbis05
29.11.12
✎
10:26
|
(1)Я пробовал через ТЗ, но как мне потом записи удалить из справочника?
|
|
6
Steini
29.11.12
✎
10:28
|
ВременнаяТаблица1: все элементы справочника;
ВременнаяТаблица2: все элементы справочника;
ВременнаяТаблица1 Левое соединение ВременнаяТаблица2 по
НомерСчета = НомерСчета И Ссылка <> Ссылка
|
|
7
Balabass
29.11.12
✎
10:34
|
1. собрать в тз + колонка со значением = 1
2. свернуть.
3. удалить все, где колонка = 2
|
|
8
Irbis05
29.11.12
✎
10:37
|
Всем спасибо за помощь. Я попробую.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший