К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

v7: Как найти пустую папку (группу) справочника в 1С 7.7???

Гость
0 - 23.05.2013 - 21:32
Нужно найти и грохнуть пустую папку(группу) справочника в 1с 7.7


Гость
1 - 23.05.2013 - 21:47
какую-то конкретно? найди пометь на удаление и удали
Гость
2 - 23.05.2013 - 22:23
в том то и прелесть заморочки, априори конкретная папка мне неизвестна, они могут быть разбросаны по разным веткам на разном (уровне/колене) в рамках одного справочика.
Гость
3 - 23.05.2013 - 22:24
задача найти пустую папку и грохнуть ее......точнее папки/группы на каком бы уровне они бы не находились..
4 - 23.05.2013 - 22:24
Обработку написать.
Гость
5 - 23.05.2013 - 22:30
(3) получи все элементы и группы , получи их родителей, получи все группы, те группы которых нет в родителях пустые
Гость
6 - 23.05.2013 - 22:33
рекурсия...
Гость
7 - 23.05.2013 - 23:13
Спр = СоздатьОбъект("Справочник.МойБестолковыйНабор");
Ссылки = СоздатьОбъект("ТаблицаЗначений");
Спр.ВыбратьЭлементв(1);
Пока Спр.ПолучитьЭлемент(1)=1 Цикл
Есди Спр.ЭтоГруппа()=1 Тогда
Ссылки.Очистить();
УдалитьОбъекты(Спр.ТекущийЭлемент(),1,Ссылки);
КонецЕсли;
КонецЦикла;
Гость
8 - 24.05.2013 - 00:27
+7 Но лучше сначала собрать в список методом ПолучитьСсылки(), потом в цикле удалить.
Гость
9 - 24.05.2013 - 15:29
9.Спасибо тебе за пример....реально...новую планету открыл, но либо механизм для других задач заточен.
Объясню: Справочник.Номенклатура в ТИС есть куча уже созданных папок, создаю 3 тестовые папки,в первых двух создаю элементы, 3ю оставляю намерено пустой,если механизм правильный он должен был ее удалить.Что в итоге произошло: он судя по строке состояния искал ссылки не только в рамках данного справочника, но лез в другие. в итоге после 5 минут ожидания выходит сообщение, что мол 1 такая то папка удалена.Смотрю что за папка, во первых она не удалилась, во вторых она была битком заполнена элементами......... Буду пробывать метод 5 сообщения.
Гость
10 - 24.05.2013 - 15:30
Спасибо VZ....предыдущее сообщение для VZ.
11 - 24.05.2013 - 15:35
Пометить все папки на удаление, потом удаление помеченных, кто остался - распометить обратно.
Uho
12 - 24.05.2013 - 15:55
Контрагенты = СоздатьОбъект("Справочник.Контрагенты");
Подчиненные = СоздатьОбъект("Справочник.Контрагенты");

Контрагенты.ВыбратьЭлементы();
Пока Контрагенты.ПолучитьЭлемент() = 1 Цикл
Если Контрагенты.ЭтоГруппа() = 0 Тогда Продолжить; КонецЕсли;
Подчиненные.ИспользоватьРодителя(Контрагенты.Текущ ийЭлемент());
Если Подчиненные.ВыбратьЭлементы() = 0 Тогда
Сообщить("Группа """+Контрагенты.Наименование+""" пустая");
КонецЕсли;
КонецЦикла;
Гость
13 - 24.05.2013 - 16:02
запросом без групп с родителем - родителя в колонке - в ТЗ
запросом только группы в ТЗ
при сравнении одно из второго выкитывать и удалять можно даже перебором ТЗ только с конца
ЗЫ писАть не буду ибо уж сами как нить
Гость
14 - 24.05.2013 - 16:02
не могу,объясню задача следующая: элементы справочника обладают какими то свойствами, мой механизм должен переместить все элементы из исходной папки, которые соответствуют заданным условиям поиска с ее внутренней иерархией в новую,представим,что если 2 элемента из 3х соответствуют отбору они ушли в новую папку, а есть элементы,которые уходят все сразу и на лету нужно грохнуть исходную папку так как в папке получателе уже создана папка с таким именем и чтобы множить тысячу папок с таким именем пустые нужно грохнуть.
Гость
15 - 24.05.2013 - 16:03
(12) ниале ибо если выбрать а там группа в группе и все пустые ;))
Гость
16 - 24.05.2013 - 16:04
14 сообщение для 11
Гость
17 - 24.05.2013 - 16:04
(14) афтар растабай ;)))
Гость
18 - 24.05.2013 - 16:06
что такое растабай ;)))
Гость
19 - 24.05.2013 - 16:07
(17) + я боюсь за людей кому ты ТЗ пишешь - они ж с ума сойдут ;)))
Гость
20 - 24.05.2013 - 16:09
покажи пример. а то разглогольствовать каждый может
Гость
21 - 24.05.2013 - 16:09
(18) в этом слови изначально две описки и одна буква пропущена ;))
Гость
22 - 24.05.2013 - 16:11
ну и.....? ТЗ на сцену.в исполнении 101, ой а где же он убежал......
Гость
23 - 24.05.2013 - 16:11
(20) - на лету нужно грохнуть исходную папку так как в папке получателе уже создана папка с таким именем
----- и
ысячу папок с таким именем пустые нужно грохнуть.
--
как минимум 2-е задачи с неявным алгоритмом ... ;)
Гость
24 - 24.05.2013 - 16:13
(22) Оо откуда я знаю чотенада четенада (с) :)))
ЗЫ как минимум краткий алгоритм выполнения - пустые грохнуть в (13) написал кратенько
Гость
25 - 24.05.2013 - 16:13
ну 2 й
Гость
26 - 24.05.2013 - 16:14
ты уже сам приплел
Гость
27 - 24.05.2013 - 16:14
приянто. Апплодисменты зала!!
Гость
28 - 24.05.2013 - 16:15
(26) неее , нифига , родной , все таки грохнуть тысячи пустых папок и удалять на лету опустевшую папку это кардинально разные йайца ;)) даже в профиль
Uho
29 - 24.05.2013 - 16:17
28-101 > +1
Гость
30 - 24.05.2013 - 16:17
и чтобы не множить тысячу папок с таким именем пустые нужно грохнуть. - ты хоть копируй почеловечески...
Гость
31 - 24.05.2013 - 16:18
ладно полемика это все...пустая.
Гость
32 - 24.05.2013 - 16:26
хмм пустая , но пустые нужно грохнуть и пустые нужно грохать ;)) все таки немного отличается
ЗЫ еси те охота на лету - то либо парсить функцией сколько элементов осталось - и ей же грохать можно сопсно , либо изобретать лисапед - другого <на лету> не будет имхо
Гость
33 - 24.05.2013 - 16:54
"Пустые названия" не нужно уничтожать. "Пустые названия" надо не допускать. На этапе записи.
И это принципиально.
Гость
34 - 24.05.2013 - 18:09
спасибо Uho немного переделал для себя получилось...респект и уважуха.
35 - 24.05.2013 - 19:46
мда.....
имея такого «коллегу», я без работы точно не останусь.


К списку вопросов






Copyright ©, Все права защищены