Имя: Пароль:
1C
1С v8
Дубли номенклатуры
0 Lolipop
 
20.11.16
14:22
Здравствуйте. Имею в справочнике "Номенклатура" 216000 позиций. Есть дубли с одинаковым наименованием и разными кодами. Как оптимальнее всего сделать отчет по этим дублям и вывести на экран? Написал так:
ВЫБРАТЬ
    Номенклатура.Ссылка,
    Номенклатура.НаименованиеПолное
ПОМЕСТИТЬ ВТТабл
ИЗ
    Справочник.Номенклатура КАК Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТТабл.НаименованиеПолное,
    ВТТабл.Ссылка
ИЗ
    ВТТабл КАК ВТТабл
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
        ПО ВТТабл.Ссылка.Код <> Номенклатура.Код
            И (Номенклатура.НаименованиеПолное = ВТТабл.НаименованиеПолное)
            И ВТТабл.Ссылка.Наименование <> Номенклатура.Наименование

Клиенту не хватает памяти. Оно и понятно.
1 jsmith
 
20.11.16
14:25
Здравствуйте
2 nordbox
 
20.11.16
14:26
нах.... ты в таблицу сначало запихиваешь всю номенклатуру, а потом из таблицы поторашишь, офигел что ли при таком объеме.
Тут ни какой памяти не хватит.
3 nordbox
 
20.11.16
14:27
Травой поделись
4 Lolipop
 
20.11.16
14:28
(2) Думаешь брать каждую номенклатуру в цикле И сравнивать на код и номенклатуру из справочника?
5 shuhard_серый
 
20.11.16
14:30
(4)группируешь по наименованию, считаешь число разных ссылок, берешь больше 1
6 jsmith
 
20.11.16
14:31

ВЫБРАТЬ
    КОЛИЧЕСТВО(Номенклатура.Код),
    Номенклатура.Наименование
ИЗ
    Справочник.Номенклатура КАК Номенклатура

СГРУППИРОВАТЬ ПО
    Номенклатура.Наименование

ИМЕЮЩИЕ
    КОЛИЧЕСТВО(Номенклатура.Код) > 1
7 nordbox
 
20.11.16
14:31
Ну если так тебе надо то ты второй запрос перепиши все тоже самое только ВЫБРАТЬ напрямую из справочника а не из какой то промежуточной непонят зачем созданой таблицы
8 PR
 
20.11.16
16:11
А че просто группировку по полному наименованию не сделать?
9 anatoly
 
20.11.16
16:33
(8) а так - (6) не?
10 PR
 
20.11.16
16:36
(9) В (6) дичь какая-то
11 Lolipop
 
20.11.16
16:38
(9) В (6) все ок
12 PR
 
20.11.16
16:41
(11) То есть у тебя в (0) условие на равенство полного наименования, в (6) наименования и в (6) все ok?
Пойду застрелюсь, блеать.
13 anatoly
 
20.11.16
17:05
(12) иди, застрелись, чтобы не придираться к таким мелочам более ))
все итак все поняли.
14 dachnik
 
20.11.16
17:13
(0) А воспользоваться стандартной обработкой "Поиск и удаление дублирующихся элементов справочников" не пробовал? Там для начала можно просто найти и посмотреть.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс