|
|
|
Удаление пустых папок | ☑ | ||
|---|---|---|---|---|
|
0
TaHKeP
27.11.08
✎
16:24
|
Есть какая-нибудь универсальная обработка, которая удаляет пустые группы в справочнике или может кто писал, скиньте код :)
|
|||
|
1
NcSteel
27.11.08
✎
16:26
|
Предлогаю тебе написать запрос. Я бы использовал внутренние запросы.
|
|||
|
2
TaHKeP
27.11.08
✎
16:29
|
С запросиками тяжеловато, я пока только основные объекты изучаю на курсах, до запросов только дошел, а нужно как всегда срочно
|
|||
|
3
Fragster
гуру
27.11.08
✎
16:31
|
рекурсия спасет отца русской демократии
|
|||
|
4
RacoT
27.11.08
✎
16:36
|
Сперва юзаеш такой запрос
ВЫБРАТЬ Номенклатура.Родитель ИЗ Справочник.Номенклатура КАК Номенклатура СГРУППИРОВАТЬ ПО Номенклатура.Родитель Результат заносиш в список. Потом юзаеш ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ (НЕ Номенклатура.Предопределенный) И Номенклатура.ЭтоГруппа И (НЕ Номенклатура.Ссылка В (&СписокГрупп)) И все что выберет второй запрос смело удаляеш. |
|||
|
5
RacoT
27.11.08
✎
16:37
|
Кстати если кто придумал как это одним запросом отобрать выложите если не влом.
|
|||
|
6
megalodon
27.11.08
✎
16:37
|
такая задачка в один запрос решается.
|
|||
|
7
RacoT
27.11.08
✎
16:39
|
(6) выложи плз.
|
|||
|
8
megalodon
27.11.08
✎
16:44
|
ВЫБРАТЬ
Н1.Ссылка ИЗ Справочник.Номенклатура КАК Н1 ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Н2 ПО Н1.Ссылка = Н2.Родитель ГДЕ Н1.ЭтоГруппа И Н2.Родитель ЕСТЬ NULL |
|||
|
9
globalasax
27.11.08
✎
16:47
|
ВЫБРАТЬ
Группы.Ссылка КАК Ссылка ИЗ (ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ЭтоГруппа = ИСТИНА) КАК Группы ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Номенклатура.Родитель КАК Родитель, Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура СГРУППИРОВАТЬ ПО Номенклатура.Родитель, Номенклатура.Ссылка) КАК Элементы ПО Группы.Ссылка = Элементы.Родитель СГРУППИРОВАТЬ ПО Группы.Ссылка ИМЕЮЩИЕ КОЛИЧЕСТВО(Элементы.Ссылка) = 0 |
|||
|
10
RacoT
27.11.08
✎
16:50
|
(8) Класс, если не трудно обясни работу последней строчки.
|
|||
|
11
globalasax
27.11.08
✎
16:54
|
типа оставляем только те группы, для которых не найден ни один элемент
|
|||
|
12
globalasax
27.11.08
✎
16:54
|
т.е. "пусты папки"
|
|||
|
13
globalasax
27.11.08
✎
16:56
|
ВЫБРАТЬ
Группы.Ссылка КАК Ссылка, КОЛИЧЕСТВО(Элементы.Ссылка) КАК Количество ИЗ (ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ЭтоГруппа = ИСТИНА) КАК Группы ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Номенклатура.Родитель КАК Родитель, Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура СГРУППИРОВАТЬ ПО Номенклатура.Родитель, Номенклатура.Ссылка) КАК Элементы ПО Группы.Ссылка = Элементы.Родитель СГРУППИРОВАТЬ ПО Группы.Ссылка - выводит группу и кол-во эл-тов в ней |
|||
|
14
RacoT
27.11.08
✎
17:00
|
Все врубился, просто непривычно условия так накладывать, спасибо.
|
|||
|
15
RacoT
27.11.08
✎
17:01
|
(13) твое понятно, я сперва не врубился как есть null в условии отработает, я только в полях применял его.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |