Имя: Пароль:
1C
1С v8
Как отобрать в справочнике все пустые папки?
0 suvolod
 
19.06.12
12:45
Как проще в 8.2 отловить все папки справочника Номенклатура, в котором нет ни одного элемента?
1 Нуф-Нуф
 
19.06.12
12:46
соединить справочник номенклатуры самим с собой
2 suvolod
 
19.06.12
12:47
что-то понять не могу, что мне это даст?
3 Нуф-Нуф
 
19.06.12
12:49
даст список пустых папок
4 Stim
 
19.06.12
12:50
соединить с самим собой по номенклатура.Родитель.ссылка = Номенклатура.Номенклатура
5 dmAlex
 
19.06.12
12:50
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
              |    Трансформаторы.Ссылка
              |ИЗ
              |    Справочник.Трансформаторы КАК Трансформаторы
              |ГДЕ
              |    Трансформаторы.ЭтоГруппа";
Выборка = Запрос.Выполнить().Выбрать();
Запрос.Текст = "ВЫБРАТЬ
              |    Трансформаторы.Ссылка
              |ИЗ
              |    Справочник.Трансформаторы КАК Трансформаторы
              |ГДЕ
              |    НЕ Трансформаторы.ЭтоГруппа
              |    И Трансформаторы.Ссылка В ИЕРАРХИИ(&Родитель)";
МассивПустыхПапок = Новый Массив;
Пока Выборка.Следующий() Цикл
   Запрос.УстановитьПараметр("Родитель", Выборка.Ссылка);
   РезультатЗапроса = Запрос.Выполнить();
   Если РезультатЗапроса.Пустой() Тогда
       МассивПустыхПапок.Добавить(Выборка.Ссылка);
   КонецЕсли;
КонецЦикла;
6 Stim
 
19.06.12
12:50
+ хотя.. соединять 100500 элементов с самими собой - наверняка неоптимальное решение
7 suvolod
 
19.06.12
12:53
спасибо.. 50 с лишним тысяч :)... хотя и тоже немало
8 Нуф-Нуф
 
19.06.12
12:53
ВЫБРАТЬ
   ТаблицаРодителей.Ссылка КАК Родитель,
   ТаблицаНоменклатуры.Ссылка КАК Номенклатура
ИЗ
   Справочник.Номенклатура КАК ТаблицаРодителей
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ТаблицаНоменклатуры
       ПО ТаблицаРодителей.Ссылка = ТаблицаНоменклатуры.Родитель
ГДЕ
   ТаблицаРодителей.ЭтоГруппа = ИСТИНА
   И ТаблицаНоменклатуры.Ссылка ЕСТЬ NULL
9 Ненавижу 1С
 
гуру
19.06.12
12:54
(8) когда ты отучишься писать

ГДЕ
   ТаблицаРодителей.ЭтоГруппа = ИСТИНА

?
10 Нуф-Нуф
 
19.06.12
12:55
(6) в иерархии типа круче?
да и ваще код в (5) какой-то сомнительный...
11 Нуф-Нуф
 
19.06.12
12:55
(9) *краснеет
12 Stim
 
19.06.12
12:55
нуф-нуфу достается приз зрительских симпатий.. нувыпонели, что за приз
13 dmAlex
 
19.06.12
12:56
(10) что  внем сомнительного?
а в (8) не предусмотрено, что в папке могут быть 10 других пустых папок
14 Нуф-Нуф
 
19.06.12
12:56
(13) если в папке1 есть пустые папки, то папка1 не пустая
15 Нуф-Нуф
 
19.06.12
12:57
(13) как минимум запрос в цикле
16 dmAlex
 
19.06.12
12:58
(15) а нахрен ему пустые папки в непустой папке?
17 suvolod
 
19.06.12
12:58
спасибо :).. Папки пустые могут быть... после переноса из 7.7
18 Нуф-Нуф
 
19.06.12
12:59
(16) ну ты и загадывать ребусы. я то откуда знаю