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


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

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

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

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

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

 

7 Comments

  1. eskor

    Насколько я понимаю, работает только с файловыми базами?

    Хотя идея хорошая.

    Reply
  2. v3rter

    Лучше было назвать «Массовый поиск и добавление баз 1С 8». И прямо напрашиваются параметры командной строки «пути для поиска списком через ;» , «искать на всех локальных дисках», «файл-результат» и «добавить в текущий список баз» с проверкой наличия.

    Конечно, практикующие «батаники» список баз сделают так:

    for /f «usebackq delims=*» %I in (`dir /b /s *.1cd`) do @echo [%I] & @echo.

    но сгенерить GUID в батнике сходу будет непросто (функция случайного числа 0-15 и 6 проверок-перекодировок в символы, 32 вызова функции, четыре вставки «-» по условию) так что если программу «допилить», то в админской работе пригодится.

    Особенно если будет работать «из коробки» без установки дополнительных библиотек.

    Reply
  3. poddenis

    Господа, а вот сходу вопрос. Как идеологически верно: держать по 1 базе на 1 юрлицо или всех в одной базе? Каковы критерии выбора пути решения?

    Reply
  4. v3rter

    (3) poddenis,

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

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

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

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

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

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

    Критерии объединения — общность справочников, общность групп пользователей, необходимость регулярных сводных отчетов. Объединение баз удобнее, но дороже в обслуживании, особенно на перспективу.

    Reply
  5. v3rter

    Кстати, автору BTRVODKA есть смысл «допилить» батник и выложить либо вместе с программой, либо отдельной загрузкой 😉

    Reply
  6. BTRVODKA

    Спасибо за проявленный интерес. v3rter дело говорит, обязательно допилю. Но это только когда разгребусь с работой и высплюсь.

    Reply
  7. v3rter

    Заготовка для 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 

    Показать

    Reply

Leave a Comment

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