gifts2017

Проверка на заЦИКЛивание элементов (групп) справочников конфигурации

Опубликовал Юрий Тимофеев (Tatitutu) в раздел Обработки - Обработка справочников

Обработка (универсальная для любой конфигурации) (из разряда полезных утилит и мелочей).
Проверка на предмет зацикливания справочников конфигурации

Бывает ситуация, когда у группы справочника родитель "равняется" этой же группе

То есть истинно выражение

Если Элемент.ЭтоГруппа()=1 Тогда

 Если Элемент.Родитель=Элемент.Текущий Элемент

 

 ...........

 что вызывает зависания приложония 1С (при чем в любом режиме : Предприятия, Отладчик)

 Более подробно статья:

 http://infostart.ru/public/85615

 

При исправлении справочника, просто "обнуляет" Родителя - элемент перемещается в корневой каталог.

Скачать файлы

Наименование Файл Версия Размер
NOFORNEXT.ert 65
.ert 23,50Kb
27.05.11
65
.ert 23,50Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Сергей Рудаков (fishca) 27.05.11 12:46
&НаКлиенте
Процедура КомандаУстановитьРодителя(Команда)
	
	УстановитьРодителя();
	
КонецПроцедуры

&НаСервере
Процедура УстановитьРодителя()
	
	ЭлементОбъект = РеквизитЭлемент.ПолучитьОбъект();
	
	ЭлементОбъект.ОбменДанными.Загрузка = Истина;
	
	Попытка
	
		ЭлементОбъект.Родитель = РеквизитГруппа;
		
		ЭлементОбъект.Записать();
	
	Исключение
		
		Сообщить(ОписаниеОшибки());
	
	КонецПопытки;

КонецПроцедуры
...Показать Скрыть


Так что в 8.2.14.460 очень даже прокатывает такая штука, точно так же как и в семерке. :)
2. Сергей Рудаков (fishca) 27.05.11 12:48
При этом точно так же исчезают группы в справочнике.
3. Сергей Рудаков (fishca) 27.05.11 12:49
Да еще и срабатывает точно так же и для предопределенных элементов справочников :)
4. Сергей Рудаков (fishca) 27.05.11 12:51
:D :D :D :D :D :D :D :D
Кто есть кто на картинке?
Прикрепленные файлы:
5. Сергей Рудаков (fishca) 27.05.11 12:53
Безнал - это предопределенная группа справочника Контрагенты.
Тест - это группа подчиненная группе Безнал.
У Безнал - установлен родитель Тест программно с помощью вышеприведенного кода.
6. Сергей Рудаков (fishca) 27.05.11 13:01
Вести с полей:
Режим просмотра Список - 1С не падает
Режим просмотра Иерархический список - 1С не падает
Режим просмотра ДЕРЕВО - 1С ПАДАЕТ - жрет память, жадина такая. :)

Падает с сообщением "Недостаточно памяти"
7. Юрий Тимофеев (Tatitutu) 27.05.11 13:02
(6) а кто говорил , что легко будет ?
Мы же легких путей не ищем
8. Сергей Рудаков (fishca) 27.05.11 13:07
(7) поправь

На платформе 8.2

эту ситуацию предусмотрели

при попытки присвоить родителем самого себя

(программно или интерактивно)

получите предупреждение.

в своей статейке, с учетом (1)
9. Сергей Рудаков (fishca) 27.05.11 13:13
В 8.2 тестирование исправление выдало:

Тестирование начато
Проверка логической целостности. Справочник.Контрагенты Безнал
Обнаружено зацикливание по родителю. Перенесен в корень.
Обработка структуры базы данных...

Поумнела слегка :)
10. Альтаир (Altair777) 28.05.11 14:03
(0) Автор, а нельзя картинки на ИС разместить?
а то у меня на работе ограничение по посещаемым сайтам есть :(
хорошо хоть Инфостарт разрешенный :)
11. Владимир Макаров (vladimir_makarov) 28.05.11 19:13
(0) А как насчёт того, что ЭЛЕМЕНТ в принципе не может быть родителем? И кто мешает им инеть одинаковое имя? Почитайте файл *.DD, может поймёте, как имена придумываются и что такое имя! Это точно не то, что мы видим на мониторе. Я не знаю, как издеваться над БД, чтобы подобное (не случилось), а получилось? Я бы такое сделал, погуляв по БД с помощью лисички...
12. Юрий Тимофеев (Tatitutu) 30.05.11 16:59
(10)
Altair777 пишет:
(0) Автор, а нельзя картинки на ИС разместить?

а то у меня на работе ограничение по посещаемым сайтам есть

хорошо хоть Инфостарт разрешенный


Альтаир , о чем речь ? не понял , объясни

(11)
Почитайте файл *.DD, может поймёте, как имена придумываются и что такое имя!

смешно.Оригинально.Спасибо.
Бывает и на старуху -проруха (с)