Вывод в windows-проводнике названия баз в каталоге кластера 1С и каталогах локального кэша и настроек пользователя

15.11.17

База данных - Инструменты администратора БД

Вывод в windows-проводнике названия баз в каталоге кластера 1С и каталогов локального кэша и настроек пользователя. Используется создание файла desktop.ini, который автоматически размещается в подкаталогах кластера 1С. Теперь станет немного проще определить прямо в windows-проводнике, что, к примеру, каталог fd531400-428c-41c0-954f-b910bb5cc552 это именно база ERP.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Вывод в windows-проводнике названия баз в каталоге кластера 1С и локальных каталогах пользователя (v2)
.epf 119,13Kb
64 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Возможно, существует много обработок которые анализируют файл 1CV8Clst.lst, выводят из него данные в человеческом, позволяют удалить каталоги несуществующих баз, предоставляют другие сервисные возможности и т.д. Да что там говорить, я и сам когда-то в качестве развлечения тоже делал различные варианты парсера этого файла.

Однако что интересно, я не смог найти на Инфостарте упоминания файла desktop.ini или уникального идентификатора {F29F85E0-4FF9-1068-AB91-08002B27B3D9}.

А между тем, несложно сложив одно с другим, мы получаем возможность задать некоторые свойства каталога (что, как мне кажется, невозможно сделать интерактивно), которые будут видны в отдельных колонках в проводнике Windows при выводе в режиме "таблица". Если кому-то, как и мне, надоело видеть в каталоге "reg_1541" безликие УИДы, это можно легко исправить -- всего-то создать desktop.ini нужного формата и включить отображение колонки "Название".

После успешного тестирования этой идеи я решил создать обработку, которая максимально упростила бы этот процесс и привнесла в  него возможности произвольной настройки. В итоге получилось следующее:

  • выбираем место выполнения кода (клиент или сервер).
  • выбираем или указываем каталог кластера 1С (с учётом контекста; помним что выполнение возможно на клиенте и на сервере). Например каталог "C:\Test" при работе с сервера и "\\Server1C\C$\Test" при работе с клиента это суть одно и то же, вопрос только в авторизации доступа.
  • нажимаем "Создать desktip.ini". После этого:
  • проверяется доступ к каталогу.
  • считывается и парсится файл 1CV8Clst.lst.
  • считываются подкаталоги кластера.
  • в каждом подкаталоге создаётся файл desktop.ini, формирующийся по заданному шаблону, используя данные из 1CV8Clst.lst и любой код на языке 1С.
  • теперь в windows-проводнике каталога кластера можно отобразить колонки, заполненные нашими данными. Данные могут появиться не мгновенно, но в пределах десятка секунд.

Информации о desktop.ini довольно мало, и иное его использование (кроме задания тех свойств про которые я упоминал) у меня не получилось. Даже свойство "Комментарий" почему-то не работает, не говоря уже о более экзотических вариантах типа установки индивидуальной иконки для папки (хотя описано и такое, и ещё куча прочих). Однако лёгкая возможность настройки произвольного шаблона создания файла даёт возможность поэкспериментировать самостоятельно.

Ссылки к размышлению (https://msdn.microsoft.com/en-us/library/ms692560, https://hwiegman.home.xs4all.nl/desktopini.html) есть в обработке.

Обработка прилагается, собственно идея не так уж сложна, так что основной объём кода -- это обвязка, интерфейс, удобства и настройки. Ах да, управляемые формы.
Результаты работы -- на скриншотах. Буду рад, если кому-то пригодится.

Upd. 17.11.2017 - "Хочу такую же для локального кэша и для настроек пользователя!" (с)
Теперь нужно выбрать ещё и "Режим работы" -- каталог кластера или каталоги пользователя. Первый режим (для кластера) работает по старому, а во втором (каталоги пользователя) каталог выбирать уже не нужно, используются AppData и LocalAppData. Второй режим можно включить только в случае выполнения кода на клиенте. Шаблоны для двух режимов -- разные.
Схема работы во втором режиме:
- считываются и парсятся файлы ibases.v8i из каталогов %APPDATA%\1C\1Cv81, %APPDATA%\1C\1CEstart;
- в каталоге %APPDATA%\1C\1CEstart считываются указанные в файле 1CEStart.cfg параметры CommonInfoBases, и указанные в них файлы ibases.v8i тоже считываются и парсятся;
- считываются подкаталоги %APPDATA%\1C\1Cv81, 1Cv82, 1Cv8, %LOCALAPPDATA%\1C\1Cv81, 1Cv82, 1Cv8
- в каждом подкаталоге создаётся файл desktop.ini, формирующийся по заданному шаблону, используя данные из ibases.v8i (поиск по УИД) и любой код на языке 1С

NB! в настоящее время наименее производительным местом является разбор файла-шаблона, который осуществляется много раз и посимвольно (для каждого подкаталога). В результате при большом количестве подкаталогов формирование файлов может затянуться на несколько лишних секунд, хотя парсинг, фактически, каждый раз выполняется один и тот же. Не оптимизировал, т.к. обработка не предполагается для частого запуска. Удаляйте из шаблона лишние комментарии и неиспользуемые параметры.

P.S. не знаю можно ли скачивать обновление без $m, получится ли обновить предыдущий файл; так что выложил новый в то же место как v2. Если что не так, то скачавшие первую версию могут написать, вышлю вторую.

Вступайте в нашу телеграмм-группу Инфостарт

обработка desktop.ini каталог кластера каталог локального кэша каталог настроек пользователя

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    56506    304    154    

277

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    22819    83    42    

97

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 1С 8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

20400 руб.

06.12.2023    20254    72    10    

105

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

12000 руб.

29.04.2020    41798    127    152    

86

Инструменты администратора БД Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Брандмауэр для сервера 1С включает в себя управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

12000 руб.

06.02.2017    34947    149    18    

54

Архивирование (backup) Инструменты администратора БД 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

5000 руб.

06.11.2012    77792    633    45    

92
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. guy_septimiy 16.11.17 09:44 Сейчас в теме
Полезно.
Плюс
nomadon; cleaner_it; emakei; +3 Ответить
2. Йожкин Кот 1009 16.11.17 09:54 Сейчас в теме
Очень здорово! Хочу такую же для локального кэша и для настроек пользователя!
ixijixi; BigB; nixel; nomadon; cleaner_it; ALagutin; emakei; KroVladS; dmpas; +9 Ответить
3. cleaner_it 198 16.11.17 13:50 Сейчас в теме
Очень даже полезно, молодец)
4. nomadon 369 16.11.17 14:39 Сейчас в теме
5. Darklight 37 16.11.17 16:49 Сейчас в теме
6. Brawler 465 16.11.17 18:23 Сейчас в теме
Подайте кто нить идею самой 1С.
Прогеры платформы, могли бы такое тоже спокойно замутить))

P.S.
Я бы наверное поступил несколько иначе при оформлении ini файла.
В такой ситуации имя папки в проводнике заменяется на указанное в ini файле.

Например

[.ShellClassInfo]
InfoTip=Супер база!!!
IconFile=ico.ico
IconIndex=0
LocalizedResourceName=Супер база!!! [9a0b6c4b-c564-4b66-8e14-9c0b8f565564]



IconFile - путь к файлу иконки ежели очень нужно, в данном случае она лежит в этой же папке
7. Alias 177 17.11.17 09:09 Сейчас в теме
(6)
Однако лёгкая возможность настройки произвольного шаблона создания файла даёт возможность поэкспериментировать самостоятельно.

Скажите, а Вы сами проверяли указанный вариант? Работало? На какой ОС?

Использование иных параметров (кроме задания тех свойств про которые я упоминал) у меня не получилось. Даже свойство "Комментарий" почему-то не работает, не говоря уже о более экзотических вариантах.

Конечно я пробовал и "несколько иначные" варианты. У меня на WinServ2008R2 и Win7Pro не взлетели. Если у Вас есть успешный опыт использования иных вариантов -- делитесь :)
8. Brawler 465 17.11.17 09:56 Сейчас в теме
(7) Это точно вопросы ко мне? Цитаты просто не из моего сообщения. Я в замешательстве.
9. Alias 177 17.11.17 10:02 Сейчас в теме
(8) Прошу прощения, вопросы к Вам. :) а цитаты из текста публикации, которые заранее ответили на сообщение. В частности, на Ваше "Я бы наверное поступил несколько иначе" есть ответ в тексте -- "лёгкая возможность даёт поэкспериментировать"; а на "использовать LocalizedResourceName" -- "я пробовал у меня не получилось".
10. Brawler 465 17.11.17 10:38 Сейчас в теме
(9) У папки должен быть установлен атрибут "Только чтение", только так начинает показывать.
Атрибут устанавливать рекомендую не при помощи проводника винды)))
Прикрепленные файлы:
cleaner_it; Alias; +2 Ответить
11. Alias 177 17.11.17 11:44 Сейчас в теме
(10) Спасибо, да, действительно сработало. Видимо нужно в настройки вывести отдельно галочку "Устанавливать атрибут Только чтение", чтобы для желающих обеспечить возможность такого отображения...
Для себя я не хочу менять отображаемое имя, опасаюсь. Нужна всё же какая-то стабильность :) а то видим имя одно, а по факту оно другое -- это может ввести в ступор.
12. Brawler 465 17.11.17 12:22 Сейчас в теме
(11)
Для себя я не хочу менять отображаемое имя, опасаюсь. Нужна всё же какая-то стабильность :) а то видим имя одно, а по факту оно другое -- это может ввести в ступор.


Поэтому я в примере и заключил в квадратные скобки GUID базы, ну чтобы не вызывать внутренние противоречия.
13. LexSeIch 212 18.11.17 14:15 Сейчас в теме
Интересная статья. Будет время попробую на практике. Спасибо!
14. Vyatcheslav 22 22.11.17 09:56 Сейчас в теме
Очень оригинально, спасибо!
15. 7OH 70 22.11.17 10:54 Сейчас в теме
У вас ошибка в шаблоне по-умолчанию в ШаблонПоУмолчаниюКаталогПользователя.
М.Получить(
У структуры не такого метода - там должно быть
ИсточникДанных.Получить(
16. Fatov_DI 23.11.17 11:58 Сейчас в теме
(15)
У себя исправил так М.НаименованиеВСписке
17. kolya_tlt 92 26.01.18 09:05 Сейчас в теме
идентификаторы зачем было замазывать? это же не пароли от карточки банковской
SerVer1C; +1 Ответить
18. kuzyara 2223 31.01.18 05:17 Сейчас в теме
Колонки отображаются автоматически, или их через диалог "Выбор столбцов в таблице" нужно включать?
19. Alias 177 31.01.18 10:08 Сейчас в теме
(18) К сожалению, включить самому. Я не знаю где хранятся эти настройки (отображаемых колонок)... Если бы знал -- подумал бы как включить их автоматически. Буду рад любой информации :)
20. sergpogo 2 01.02.18 11:04 Сейчас в теме
Ошибка при разборе файла списка на баз на строках типа:
//Folder=/ИмяПапки
21. Alias 177 01.02.18 16:20 Сейчас в теме
(20) Такая строка не является штатной... Документация по структуре v8i -- https://its.1c.ru/db/v8312doc#bookmark:adm:TI000000368
Если такая строка появилась путём ручной корректировки файла -- что ж, всего предусмотреть невозможно :)
Обработка гарантированно умеет работать с форматом файла, описанным в документации. Иные варианты требуют хоть и простейшей, но всё же доработки.
P.S. Хотите я дополню код чтобы строки файла v8i, начинающиеся с "//", пропускались?
22. sergpogo 2 01.02.18 16:59 Сейчас в теме
(21) ручной корректировки не было. Спасибо сам поправлю.
23. Zhilyakovdr 148 15.02.18 11:39 Сейчас в теме
В шаблоне по умолчанию поправьте М.Получить("Имя базы 1С") на ИсточникДанных.Получить("Имя базы 1С")
Для отправки сообщения требуется регистрация/авторизация