Каталог решений - Программное чтение файла ibases.v8i

Программное чтение файла ibases.v8i

Программное чтение файла ibases.v8i

В наличии

Пример кода, который позволяет читать файл списка баз данных ibases.v8i.

Категория:

Описание

Добрый день. 

Возможно, информация не нова, но будет полезна. 

Появилась необходимость читать список баз данных из файла ibases.v8i. 

Решил реализовать с помощью парсинга текстового документа. 

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

Список баз таким образом будет получен пользовательский, у каждого свой, который отображается при запуске 1С.

Если есть иные варианты, пишите в комментарии, обсуждайте, критика приветствуется. 

Если кто-то может дать информацию, как можно к списку баз, подтянуть и откуда подтянуть, пользователей базы для заполнения списка выбора в строке таблицы, пишите. 

 

&НаКлиенте
Процедура ПолучитьСписокБазПользователя(Команда)
	
	ВременныйКаталог = КаталогВременныхФайлов();
	
	ИмяФайла = "ibases.v8i";
	
	ВременныйКаталог = СтрЗаменить(ВременныйКаталог, "\Local\Temp\", "\Roaming\1C\1CEStart\");
	
	ФайлЗапуска1С = Новый Файл(ВременныйКаталог + ИмяФайла);
	
	Если ФайлЗапуска1С.Существует() Тогда
		
		ТекстовыйДокИзФайла = Новый ТекстовыйДокумент;
		ТекстовыйДокИзФайла.Прочитать(ФайлЗапуска1С.ПолноеИмя);
		
		//Текст = ТекстовыйДокИзФайла.ПолучитьТекст();
		
		СлБаза = Ложь;
		Для НомерСтроки = 1 По ТекстовыйДокИзФайла.КоличествоСтрок() Цикл
			
			СтрокаТекста = ТекстовыйДокИзФайла.ПолучитьСтроку(НомерСтроки);
						
			Если Лев(СтрокаТекста, 1) = "[" Тогда //Это имя в списке
				
				СтруктураБазы = Новый Структура;
				
				СтруктураБазы.Вставить("ИмяБазы", Сред(СтрокаТекста, 2, СтрДлина(СтрокаТекста) - 2));
				
			ИначеЕсли СтрЧислоВхождений(СтрокаТекста, "Connect=File=") > 0 Тогда
				
				Путь = СтрЗаменить(СтрокаТекста, "Connect=File=", "");
				
				Путь = СтрЗаменить(Путь, ";", "");
				Путь = СтрЗаменить(Путь, """", "");
			
				СтруктураБазы.Вставить("ПутьКБазе", Путь);
				
				//Проверяем добавляемую строку
				Если СписокБазДанных.НайтиСтроки(Новый Структура("ИмяБазы", СтруктураБазы.ИмяБазы)).Количество() = 0 Тогда
				СтрокаБазы = СписокБазДанных.Добавить();
			
				ЗаполнитьЗначенияСвойств(СтрокаБазы, СтруктураБазы);
				КонецЕсли;

			КонецЕсли;
			
		КонецЦикла;
		
	КонецЕсли;
	
КонецПроцедуры

 

has been added to your cart:
Оформление заказа