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

02.04.19

Интеграция - Внешние источники данных

Пример кода, который позволяет читать файл списка баз данных 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 Тогда
				СтрокаБазы = СписокБазДанных.Добавить();
			
				ЗаполнитьЗначенияСвойств(СтрокаБазы, СтруктураБазы);
				КонецЕсли;

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

 

См. также

Перенос данных из Парус 8 в ЗГУ 3

Зарплата Внешние источники данных Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    22708    19    1    

22

Экстрактор данных 1С в BI - выгрузка данных из 1С в BI-аналитику

Внешние источники данных Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

15.11.2022    14151    12    SQV0    47    

30

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9360    9    8    

11

Перенос данных из Парус 7.хх в ЗГУ ред.3

Внешние источники данных Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

24000 руб.

24.04.2017    48984    97    163    

87

Загрузка в БГУ из УРМ "Криста"

Внешние источники данных Банковские операции Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Россия Бухгалтерский учет Платные (руб)

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Есть Демо доступ на вкладке Бесплатные файлы на 1 месяц со дня получения демонстрационного ключа регистрации. Поддерживает ПО "Web-исполнение" от НПО "Криста".

4800 руб.

19.06.2013    38713    136    90    

30

Загрузка спецификаций в УНФ из системы Базис-мебельщик

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

Обработка предназначена для загрузки файлов, выгруженных из системы Базис-мебельщик, в справочник "Спецификации" для последующих процессов учета и диспетчирования полуфабрикатов и изделий.

7200 руб.

24.06.2021    19318    51    50    

29
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ziggurat 50 02.04.19 17:45 Сейчас в теме
А если временная папка переопределена?
2. Andryza 38 02.04.19 18:13 Сейчас в теме
(1)Тогда уже писать под свою папку, в таком случае. Это же как пример, каталог по умолчанию типового функционала.
3. independ 1521 02.04.19 18:18 Сейчас в теме
Для windows можно так
WSH = Новый COMОбъект("WScript.Shell");
ВременныйКаталог  = WSH.ExpandEnvironmentStrings("%APPDATA%")+"\1C\1CEStart\ibases.v8i";
IgorS; A_Max; Andryza; acanta; +4 Ответить
4. CratosX 112 03.04.19 19:20 Сейчас в теме
Опишите переменную СписокБазДанных
5. Andryza 38 03.04.19 23:29 Сейчас в теме
6. CratosX 112 04.04.19 12:17 Сейчас в теме
(5) таки да, но хотелось бы полное описание колонок.
7. Andryza 38 04.04.19 12:43 Сейчас в теме
(6) Таблица значений. Колонки (Имя базы, Путь к базе, Пользователь, Пароль, Количество проводок в базе) Все строковые, кроме количества проводок.
13. pentanom 25 29.05.19 11:36 Сейчас в теме
(7)
Таблица значений. Колонки (Имя базы, Путь к базе, Пользователь, Пароль, Количество проводок в базе) Все строковые, кроме количества проводок.
В базе УТ (например) проводок нет. Что будет в колонке "Количество проводок в базе" ?
14. Andryza 38 30.05.19 20:22 Сейчас в теме
(13) А я и не писал, что речь идет об УТ,
16. pentanom 25 30.05.19 23:50 Сейчас в теме
(14)Вы вообще не писали о каких базах идет речь. А в списке баз могут быть и не только БП.
17. Andryza 38 31.05.19 11:44 Сейчас в теме
(16)Так я Вам об этом и говорю, что речь не шла о типах баз в принципе, статью читайте внимательно.
15. Andryza 38 30.05.19 20:25 Сейчас в теме
(13)И вообще, я писал о методе чтения списка баз, а не о самой разработке. + логично, что если я упомянул колонку "количество проводок", значит речь идет о БП.
8. МимохожийОднако 141 07.04.19 08:28 Сейчас в теме
"Появилась необходимость читать список баз данных из файла ibases.v8i."
Прочитать файл можно, отрыв в блокноте и глазками. Зачем читать программно? Любопытно, где это можно применить?
9. Andryza 38 07.04.19 14:49 Сейчас в теме
(8)Применить это можно по необходимости, собственно об этом я и написал.
10. МимохожийОднако 141 07.04.19 18:18 Сейчас в теме
(9) Назови хотя бы одну необходимость. Собственно об этом я спросил.
11. Andryza 38 07.04.19 21:52 Сейчас в теме
(10) Для особо дотошных - потребовалась обработка, которая получала бы количество проводок из бух. баз, что бы можно было настраивать, сохранять список этих самых баз в форме обработки, с указанием имен, путей к базе, логина/пароля юзера. Для дальнейшего получения количества проводок в этих базах. баз 15 штук, все файловые, вот для этого и понадобилось чтение. Нажали кнопку заполнить, список заполнился в форме обработке, и что бы можно было этот список сохранить в файл со всей информацией. Теперь ты понял необходимость? Что бы руками это все не набивать - это как минимум.
19. StrogonovLN 29.11.23 15:22 Сейчас в теме
(8) Ответ в некропост спустя 4 года)) Потребовалось найти ID баз по списку, что бы определить какой кэш какой базе принадлежит, что бы огульно не чистить всё)
12. МимохожийОднако 141 08.04.19 06:46 Сейчас в теме
Так бы сразу и написал. Спасибо.
18. Sergey_is 07.07.23 17:30 Сейчас в теме
Спасибо. Список понадобился. Пытался путь %appdata% с помощью vbf определять (переменные среды). А тут просто и незамысловато "TEMP - КаталогВременныхФайлов". Знал же.
Оставьте свое сообщение