Программное заполнение списка SQL-баз для 1С-сервера

26.04.16

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

Когда на сервере 1С:Предприятия появляется много SQL-баз, хотя бы 10 штук, добавлять их вручную становится проблематичным.
Сервер 1С иногда сбоит и требуется его переустановка, при этом список баз нужно заново прописывать вручную.
Также список баз требуется прописать заново при переезде на новый сервер.
В общем, неплохо иметь код, который будет заполнять список баз автоматически.

Скачать файл

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

Наименование По подписке [?] Купить один файл
down.zip
.zip 2,18Kb
6
6 Скачать (1 SM) Купить за 1 850 руб.

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

В приложении образец обработки без формы, работать будет на обычных формах, на управляемых не тестировал, но переписать не сложно.

Скрипт предполагает, что рабочий процесс работает на стандартном порту 1561. Если у Вас несколько рабочих процессов и кластеров, нужно прописать код для каждого порта.

 

Вот код на языке 1С:

 

Перем ЛогинСКЛ, ПарольСКЛ, ТипСУБД;
 
Функция СоздатьБазу(СоединениеСПроцессом, ИмяСервера, ЛогинСКЛ, ПарольСКЛ, ИмяБазы1С, ИмяБазыСКЛ = Неопределено) Экспорт
       Если ИмяБазыСКЛ = Неопределено Тогда ИмяБазыСКЛ = ИмяБазы1С; КонецЕсли;
      
       ИнформационнаяБаза = СоединениеСПроцессом.CreateInfoBaseInfo();
       ИнформационнаяБаза.DBMS = ТипСУБД;
       ИнформационнаяБаза.Name = ИмяБазы1С;
       ИнформационнаяБаза.dbServerName = ИмяСервера;
       ИнформационнаяБаза.dbName = ИмяБазыСКЛ;
       ИнформационнаяБаза.dbUser = ЛогинСКЛ;
       ИнформационнаяБаза.dbPassword = ПарольСКЛ;
       ИнформационнаяБаза.Locale = "ru_RU";
       ИнформационнаяБаза.DateOffset = 0;
      
       Попытка
             //0 - обозначает базу данных не создавать
             СоединениеСПроцессом.CreateInfoBase(ИнформационнаяБаза, 0);
             Сообщить("База " + ИмяБазы1С +  " успешно создана");
       Исключение
             Сообщить("База " + ИмяБазы1С +  " не создана. Ошибка: " + ОписаниеОшибки());
       КонецПопытки;
КонецФункции
 
Соединитель = Новый COMОбъект("V83.COMConnector");
ИмяСервера = "localhost";
ПортПроцесса = "1561";
СтрокаСоединения = "TCP://" + ИмяСервера + ":" + ПортПроцесса; //TCP://localhost:1540;
ТипСУБД = "MSSQLServer";
 
//==== ЭТА ЧАСТЬ ПРИВАТНА, ТУТ ПАРОЛИ +++
ЛогинСКЛ = "sa";
ПарольСКЛ = "******";
//==== ЭТА ЧАСТЬ ПРИВАТНА, ТУТ ПАРОЛИ ---
 
СоединениеСПроцессом = Соединитель.ConnectWorkingProcess("" + ИмяСервера + ":" + ПортПроцесса);
//==== ТУТ СПИСОК БАЗ +++
СоздатьБазу(СоединениеСПроцессом, ИмяСервера, ЛогинСКЛ, ПарольСКЛ, "base1", );
СоздатьБазу(СоединениеСПроцессом, ИмяСервера, ЛогинСКЛ, ПарольСКЛ, "base2", );
...
СоздатьБазу(СоединениеСПроцессом, ИмяСервера, ЛогинСКЛ, ПарольСКЛ, "baseN", );
//==== ТУТ СПИСОК БАЗ ---

 

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

Код легко можно переписать на VBS или любой другой скриптовый язык.

 

Существует еще метод добавления базы через запуск 1с-предприятия через командную строку. Найдено здесь, пример, который выполняется в командной строке CMD:

 

c:
cd "%ProgramFiles(x86)%\1cv82\8.2.19.130\bin\"
1cv8.exe createinfobase Srvr=sql:1641;DBMS=MSSQLServer;DBSrvr=sql;DBUID=sa_ЛогинАдминаSQL;DBPwd=ПарольАдминаSQL;SQLYOffs=2000;CrSQLDB=n;DB=db_sql_name;Ref=db_sql_name /AddInList "Basa 1"

 

сервер 1с sql-базы

См. также

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

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

8400 руб.

20.08.2024    14797    108    46    

108

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

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

15000 руб.

10.11.2023    11983    45    33    

67

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10805    47    8    

78

SALE! %

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

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    191425    1153    0    

920

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

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

14400 руб.

29.04.2020    33884    108    152    

75

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

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

3600 руб.

06.02.2017    32692    145    18    

51

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

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

6000 руб.

06.11.2012    73800    629    45    

88

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

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10193    10    4    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Fragster 1152 26.04.16 17:10 Сейчас в теме
Достаточно скопировать (и при переносе на другой сервер или другой релиз платформы в случае, если надо иметь параллельно два работающих релиза, немного поправить) файлы *.lst из папки агента сервера (как правило C:\Program Files\1cv8\srvinfo)
ivankuruchenko; awk; +2 Ответить
2. fixin 4277 26.04.16 20:59 Сейчас в теме
(1) хохохохо, а вам не встречались случаи, когда файл lst бьется и сервер 1с не стартует. Теоретически можно сделать бэкап lst-файла, но скрипт, прописывающий список баз, имхо, технологичнее, т.к. работает на более высоком уровне и требует меньше геморроя.
3. Fragster 1152 27.04.16 11:29 Сейчас в теме
(2) бэкапы для трусов? или вы конфиги не бэкапите?
4. fixin 4277 27.04.16 13:43 Сейчас в теме
(3) конфиги не бэкапим. теперь особенно не имеет смысла. зачем. если можно скриптом прописать. Хоть на этом сервере, хоть на любом новом, без этого геморроя с заменой GUID сервера.
И потом, уважаемые, вы забыли что пароль SA шифруется в конфигах и при переезде на новый сервер все пойдет лесом.
Оставьте свое сообщение