1с start:
Для файлового варианта:
Код DOS Batch File "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"D:\1C_base\ZUPRAZR" /N"EMigachev" /P"12345"
Для клиент-серверного варианта:
Код DOS Batch File "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /S"server-1C\ZUP" /N"EMigachev" /P"12345"
Если на одном сервере стоит 8.1 и 8.2 , то при подключении к базам 8.2 нужно указывать порт сервера(например 1641):
Код DOS Batch File "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /S"server-1C:1641\ZUP" /N"EMigachev" /P"12345"
Запуск программы под пользователем и выпопление обработки при открытии:
Код DOS Batch File "C:\Program Files\1cv82\8.2.11.235\bin\1cv8s.exe" ENTERPRISE /F "D:\1C\HRM" /N user /P password /Execute "D:\1C\Внешние_обработки_1С\РаботающиеОбработки\РабочийСтол.epf"
1с backup:
Код DOS Batch File rem @echo off
Set folder=%DATE%
net stop "1C:Enterprise 8.1 Server Agent"
net start "1C:Enterprise 8.1 Server Agent"
"C:\Program Files\1cv82\common\1cestart.exe" CONFIG /S Сервер\База /DisableStartupMessages /DumpIB Z:\1c_arh\ArhivBases8\i_%folder%.dt /N пользователь /P пароль
1с update файловая:
Код DOS Batch File taskkill /F /IM 1cv8.exe
"C:\Program Files\1cv82\common\1cestart.exe" CONFIG /F путь к базе /N пользователь /P пароль /UpdateDBCfg
"C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F путь к базе /N пользователь /P пароль
1с update серверная:
Код DOS Batch File taskkill /F /IM 1cv8.exe
"C:\Program Files\1cv82\common\1cestart.exe" CONFIG /S Сервер\База /N пользователь /P пароль /UpdateDBCfg
"C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /S Сервер\База /N пользователь /P пароль
Когда-то я работал консультантом
SAP . В SAPe есть настройка изменения цвета главного окна программы и у нас было негласное правило:
Рабочая программа - Красный фон ,
Тестовая - Зеленый ,
Разработка - Синий .
Работая в 1С, всегда открыто по 5-6 программ, и перепутать рабочую базу с базой для тестирования, не составляет труда.
Конечно, можно зайти
Справка - О программе и посмотреть значения
Режим, База, Каталог . Но я решил применить опыт SAP проектов к 1С:
1. Нужно чтобы в заголовке программы всегда отображалось с какой базой работаем.
Для этого в Модуль приложения, в самый конец процедуры ПриНачалеРаботыСистемы() добавляем:
Код 1C v 8.х // Мигачев Евгений
УстановитьЗаголовокСистемы(Метаданные.Синоним+" ( База: "+СтрокаСоединенияИнформационнойБазы()+" )");
2. Нужно чтобы рабочая база была в стандартных цветах, а база разработки
Сине-бирюзовый
У нас разделение следующее, на сервере только рабочие базы, базы разработки на локальных компьютерах, соответственно серверные базы должны быть как обычно, локальные
Сине-бирюзовые .
Для этого открываем конфигурацию - Общие -Стили - Копируем и вставляем слой
Основной , получается
Основной1 , меняем его название на
Разработка и открываем. В своем примере я меняю только цвет
Фона кнопки на
Сине-бирюзовый и в Модуль приложения, в самый конец процедуры ПередНачаломРаботыСистемы() добавляю:
Код 1C v 8.х // Мигачев Евгений Изменение Стиля в зависимости от базы
СтрокаСоединенияСБД = СтрокаСоединенияИнформационнойБазы();
// в зависимости от того файловый это вариант БД или нет, по-разному отображается путь в БД
ПозицияПоиска = Найти(Врег(СтрокаСоединенияСБД), "FILE=");
Если ПозицияПоиска = 1 тогда
//База "Файловая", меняем стиль отображения
ГлавныйСтиль=БиблиотекаСтилей["Разработка"];
Иначе
//База "Серверная" - оставляем все как есть
КонецЕсли;
Так выглядит Рабочая база, только еще
Строка Соединения Информационной Базы в заголовке:
А так
Сине-бирюзовая база для разработок:
Автор: Мигачев Евгений Функция возвращает вариант базы данных "Файловая" или "Серверная":
Код 1C v 8.х Функция КакаяБаза()
СтрокаСоединенияСБД = СтрокаСоединенияИнформационнойБазы();
// в зависимости от того файловый это вариант БД или нет, по-разному отображается путь в БД
ПозицияПоиска = Найти(Врег(СтрокаСоединенияСБД), "FILE=");
Если ПозицияПоиска = 1 тогда
Возврат "Файловая";
Иначе
Возврат "Серверная";
КонецЕсли;
КонецФункции
В 8-ых версий нет встроенной функции получения каталога базы данных, так напишем ее,
Код 1C v 8.2 УП //Получить представление информационной базы для отображения пользователю.
// Пример возвращаемого результата:
// - для ИБ в файлом режиме: \\FileServer\1c_ib\
// - для ИБ в серверном режиме: ServerName:1111 / information_base_name
Функция ПолучитьПредставлениеИнформационнойБазы() Экспорт
Если ПустаяСтрока(СтрокаСоединенияИнформационнойБазы) Тогда
СтрокаСоединенияИнформационнойБазы = СтрокаСоединенияИнформационнойБазы();
КонецЕсли;
ЭтоФайловаяИБ = Найти(Врег(СтрокаСоединенияИнформационнойБазы), "FILE=") = 1;
Если ЭтоФайловаяИБ Тогда
ПутьКБД = Сред(СтрокаСоединенияСБД, 6, СтрДлина(СтрокаСоединенияСБД) - 6);
ФайловаяБД = Истина;
Иначе
// надо к имени сервера прибавить имя пути информационной базы
ПозицияПоиска = Найти(Врег(СтрокаСоединенияСБД), "SRVR=");
Если ПозицияПоиска <> 1 Тогда
Возврат Неопределено;
КонецЕсли;
ПозицияТочкиСЗапятой = Найти(СтрокаСоединенияСБД, ";");
НачальнаяПозицияКопирования = 6 + 1;
КонечнаяПозицияКопирования = ПозицияТочкиСЗапятой - 2;
ИмяСервера = Сред(СтрокаСоединенияСБД, НачальнаяПозицияКопирования, КонечнаяПозицияКопирования - НачальнаяПозицияКопирования + 1);
СтрокаСоединенияСБД = Сред(СтрокаСоединенияСБД, ПозицияТочкиСЗапятой + 1);
// позиция имени сервера
ПозицияПоиска = Найти(Врег(СтрокаСоединенияСБД), "REF=");
Если ПозицияПоиска <> 1 Тогда
Возврат Неопределено;
КонецЕсли;
НачальнаяПозицияКопирования = 6;
ПозицияТочкиСЗапятой = Найти(СтрокаСоединенияСБД, ";");
КонечнаяПозицияКопирования = ПозицияТочкиСЗапятой - 2;
ИмяИБНаСервере = Сред(СтрокаСоединенияСБД, НачальнаяПозицияКопирования, КонечнаяПозицияКопирования - НачальнаяПозицияКопирования + 1);
ПутьКБД = ИмяСервера + "/ " + ИмяИБНаСервере;
ФайловаяБД = Ложь;
КонецЕсли;
Возврат ПутьКБД;
КонецФункции
ТОЛЬКО эта функция работает для файлового варианта базы данных:
Код 1C v 8.х
Функция КаталогИБ()
СтрокаСоединенияСБД = СтрокаСоединенияИнформационнойБазы();
// в зависимости от того файловый это вариант БД или нет, по-разному отображается путь в БД
ПозицияПоиска = Найти(Врег(СтрокаСоединенияСБД), "FILE=");
Если ПозицияПоиска = 1 тогда
// Файловая
Возврат Сред(СтрокаСоединенияСБД,7,СтрДлина(СтрокаСоединенияСБД)-8)+"\";
Иначе
// Серверная - Используем КаталогВременныхФайлов()
Возврат КаталогВременныхФайлов();
КонецЕсли;
КонецФункции
Для серверного - используйте другие каталоги, например:
Код 1C v 8.х
КаталогВременныхФайлов(); //Возвращает что-то типо: C:\Documents and Settings\E.S.Migachev\Local Settings\Temp\
КаталогПрограммы(); //Возвращает что-то типо: C:\Program Files\1cv81\bin\
Код 1C v 7.x
//Встроенная КаталогИБ() - Возвращает имя каталога базы данных.
КаталогИБ(); //Возвращает что-то типо: C:\Basa1C\buh\