gifts2017

Массовое добавление баз

Опубликовал Алексей Шабанов (BTRVODKA) в раздел Администрирование - Стартеры 1С

Поиск и добавление всех баз в файл "ibases.v8i"

Появилась необходимость добавить 47 баз в список запуска 1с. Написал программу, которая позволяет это сделать полностью в автоматическом режиме.

После запуска файла "1cBaseListCrator.exe" будут просканированы все папки "ниже" по иерархии и создан файл "ibases.v8i", который при желании можно скопировать в "C:\Users\{username}\AppData\Roaming\1C\1CEStart".

Программа написана на C#  с использованием microsoft .net framework 2.0, поэтому будет работать практически на любом компьютере под управлением windows.

Исходный код в формате проекта VS 2015

 

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

Наименование Файл Версия Размер Кол. Скачив.
1cBaseListCrator.exe
.exe 6,00Kb
18.07.16
1
.exe 1 6,00Kb 1 Скачать
1cBaseListCrator(Исходники).zip
.zip 20,82Kb
18.07.16
1
.zip 1 20,82Kb 1 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей К. (eskor) 18.07.16 10:27
Насколько я понимаю, работает только с файловыми базами?
Хотя идея хорошая.
2. Роберт В е р т и н с к и й (v3rter) 18.07.16 10:56
Лучше было назвать "Массовый поиск и добавление баз 1С 8". И прямо напрашиваются параметры командной строки "пути для поиска списком через ;" , "искать на всех локальных дисках", "файл-результат" и "добавить в текущий список баз" с проверкой наличия.

Конечно, практикующие "батаники" список баз сделают так:
for /f "usebackq delims=*" %I in (`dir /b /s *.1cd`) do @echo [%I] & @echo.
но сгенерить GUID в батнике сходу будет непросто (функция случайного числа 0-15 и 6 проверок-перекодировок в символы, 32 вызова функции, четыре вставки "-" по условию) так что если программу "допилить", то в админской работе пригодится.

Особенно если будет работать "из коробки" без установки дополнительных библиотек.
3. denis pod (poddenis) 19.07.16 11:26
Господа, а вот сходу вопрос. Как идеологически верно: держать по 1 базе на 1 юрлицо или всех в одной базе? Каковы критерии выбора пути решения?
4. Роберт В е р т и н с к и й (v3rter) 19.07.16 11:48
(3) poddenis,

Все в одной базе:

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

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

Все в разных базах:

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

Критерии объединения - общность справочников, общность групп пользователей, необходимость регулярных сводных отчетов. Объединение баз удобнее, но дороже в обслуживании, особенно на перспективу.
5. Роберт В е р т и н с к и й (v3rter) 19.07.16 13:02
Кстати, автору BTRVODKA есть смысл "допилить" батник и выложить либо вместе с программой, либо отдельной загрузкой ;)
6. Алексей Шабанов (BTRVODKA) 04.08.16 00:04
Спасибо за проявленный интерес. v3rter дело говорит, обязательно допилю. Но это только когда разгребусь с работой и высплюсь.
7. Роберт В е р т и н с к и й (v3rter) 04.08.16 09:42
Заготовка для GUID

@echo off
rem Based on code by David Ruhmann
rem 
rem setlocal enabledelayedexpansion

call :AppendHex
set xGUID=%xGUID%%xValue%
call :AppendHex
set xGUID=%xGUID%%xValue%
set "xGUID=%xGUID%-"
call :AppendHex
set xGUID=%xGUID%%xValue%
call :AppendHex
set xGUID=%xGUID%%xValue%

echo %xGUID%

echo.
pause
goto :eof

:AppendHex
rem Generate Random Hexidecimal 
rem by David Ruhmann
set /a "xValue=%RANDOM% %% 16"
if "%xValue%"=="10" set "xValue=A"
if "%xValue%"=="11" set "xValue=B"
if "%xValue%"=="12" set "xValue=C"
if "%xValue%"=="13" set "xValue=D"
if "%xValue%"=="14" set "xValue=E"
if "%xValue%"=="15" set "xValue=F"
if not "%~1"=="" set "%~1=%~2%xValue%"
exit /b 
...Показать Скрыть
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа