Как очистить список баз?

При запуске программы пользователь должен выбрать в какую базу ему необходимо зайти. Хорошо когда у пользователя так баз немного, и плохо разработчику, который постоянно работает в 5-6 базах, и при этом успевает удалять копии, тестовые базы, и всякие временные. Чтобы дерево баз не захломлялось, его можно легко почистить этой обработкой — http://infostart.ru/public/75891/

Сама по себе обработка проста, не хватает функции удаления пустых каталогов, которые раньше содержали БД, но это можно доработать. Интересен код обработки, с точки зрения использования системных скриптов:

Процедура ПриОткрытии()
	КЧ = Новый КвалификаторыЧисла(12,2);
    ОписаниеТиповЧ = Новый ОписаниеТипов("Число",КЧ);
	ДеревоБаз.Колонки.Добавить("Name");
	ДеревоБаз.Колонки.Добавить("Connect");
	ДеревоБаз.Колонки.Добавить("ID");
	ДеревоБаз.Колонки.Добавить("OrderInList",ОписаниеТиповЧ);
	ДеревоБаз.Колонки.Добавить("Folder");
	ДеревоБаз.Колонки.Добавить("OrderInTree",ОписаниеТиповЧ);
	ДеревоБаз.Колонки.Добавить("External");
	ДеревоБаз.Колонки.Добавить("Exist"); //0 - база есть, 1 - нет файла базы, каталог не пустой, 2 - нет файла базы, каталог пустой, 3 - нет каталога
	
	WshShell=Новый COMОбъект("wscript.shell");
	ИмяОсновногоКаталога = WshShell.SpecialFolders.Item("AppData");
	//ИмяСпискаБаз = ИмяОсновногоКаталога + "1C1Cv81ibases.v8i";
	ИмяСпискаБаз = ИмяОсновногоКаталога + "1C1CEStartibases.v8i";
	КопироватьФайл(ИмяСпискаБаз,ИмяСпискаБаз+"_bak");  //сохраним предыдущий список от греха подальше.
    ПрочитатьСписокБаз();
КонецПроцедуры
 

Дальше как вы можете посмотреть идет разбор дерева. Рекомендую использовать в работе, очень облегчает жизнь.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>