Имя: Пароль:
1C
 
Автоматическое обновление конфы при обмене не сделали еще?
0 КВАДРО2
 
14.11.08
07:36
У меня платформа 8.1.11.67, сделал обмен, но напрягает что при даже динамическом обновлении конфигурации на переферии приходится ручками заходить в конфигурацию и ручками нажимать на синий бочонок. и почторно запускать обмен. Неужели опять без рисования батника не обойдется?
1 КВАДРО2
 
14.11.08
08:23
ап
2 Serg_1960
 
14.11.08
08:41
А в УПП, как в Греции, всё есть (с 16 релиза)
3 КВАДРО2
 
14.11.08
08:45
(2) Почему когда делаю обмен, если конфигурация не совпадает, то на переферии приходится заходит в конфигуратори рауками обновлЯть кону, а потом опять обмен запускать?
Что я делаю не так?
4 Serg_1960
 
14.11.08
08:49
Ещё немного подразню :)
8.1 УПП 1.2.16.1 Общий модуль ПроцедурыОбменаДанными:

///////////////////////////////////////////////////////////////////////////////
// АВТОМАТИЧЕСКОЕ ОБНОВЛЕНИЕ КОНФИГУРАЦИИ

// функция возвращает настройки для формирования файла обновления конфигурации
Функция ПолучитьНастройкиДляФайлаОбновленияКонфигурации() Экспорт

// Функция устанавливает настройки для файла обновления конфигурации
Функция УстановитьНастройкиДляФайлаОбновленияКонфигурации(СтруктураНастроек) Экспорт

// функция создает параметры настроек обновления конфигурации по умолчанию
Функция СоздатьПараметрыНастроекОбновленияКонфигурацииПоУмолчанию() Экспорт

ну и т.д.
5 Serg_1960
 
14.11.08
08:55
То что Вы "делаете ручками" - можно автоматизировать самому, - если у Вашей конф этого ещё нет :(
6 i-rek
 
14.11.08
08:56
БП вроде умеет обновлять автоматом, но работает это только когда в базе 1 юзер
7 КВАДРО2
 
14.11.08
08:58
(4) Колись, где галку воткнуть?
8 КВАДРО2
 
14.11.08
08:59
(4) Т.е. функции в конфигурации описаны, но не используется, так чтоли получается?
9 Serg_1960
 
14.11.08
09:01
(7) А какая у Вас конфа?
(8) Может быть и так получается :)
10 MRAK
 
14.11.08
09:01
(8) используются. надо это просто настроить...
11 MRAK
 
14.11.08
09:03
действия - настройка обновления конфы...
12 i-rek
 
14.11.08
09:04
ИМХО это всё может работать только при настроенных ночных автообменах, когда в базе юзеров нет

Функция отключения юзеров из базы там отсутствует
13 Serg_1960
 
14.11.08
09:08
(12) Хи-хи :)
Функция СформироватьЧастьВызоваОбновленияКонфигурации()
...
   ТекстФайлаПоУмолчанию = "
       |REM Логин администратора системы
       |set AdminUser=" + ИмяЛогинаАдминистратора + "
       |
       |" + СтрокаОбъявленияФайлаСообщенийОбОшибках + "
       |
       |rem Завершение работы пользователей
       |start """" /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /CЗавершитьРаботуПользователей    /UCПакетноеОбновлениеКонфигурацииИБ    " + СтрокаДляВыводаДанныхВФайл + " /DisableStartupMessages
       |
       |start """" /wait %v8exe% CONFIG     %DataBase% %AdminUser% /UpdateDBCfg /UCПакетноеОбновлениеКонфигурацииИБ    " + СтрокаДляВыводаДанныхВФайл + "
       |
       |rem Разрешение работы пользователей
       |start """" /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /CРазрешитьРаботуПользователей    /UCПакетноеОбновлениеКонфигурацииИБ    " + СтрокаДляВыводаДанныхВФайл + " /DisableStartupMessages
       |
       |rem Запуск самой программы
       |start """" %v8exe% ENTERPRISE %DataBase% %User%  /DisableStartupMessages";
14 i-rek
 
14.11.08
09:11
(13) это в типовой ? Я даже поленился смотреть.
Просто по факту - иногда это работает а иногда оно говорит "в системе есть работающие пользователи"
15 MRAK
 
14.11.08
09:15
(14) наверное, юзера с полными правами
16 i-rek
 
14.11.08
09:16
(15) да, полно
17 MRAK
 
14.11.08
09:16
(16) сие зло...
18 Serg_1960
 
14.11.08
09:18
(16) Надо исправить всего одну строку в типовой - и будет вышибать всех :)
19 MRAK
 
14.11.08
09:21
(18) это да, но значение перечисления ПолныеПрава много где используется...
20 Нуф-Нуф
 
14.11.08
09:24
батник тебя спасет
"C:\Program Files\1cv81\bin\1cv8.exe" Config /S"srv-satka\satrosp" /N"urbd"/P"urbd"/UpdateDBCfg
21 КВАДРО2
 
14.11.08
09:26
(9) УПП 1.2.17.3
(11) Нашел где это, но можно поподробней что там указать к примеру к фалц запуска клиентской части?
(18) Строку в студию
22 КВАДРО2
 
14.11.08
09:27
(20) Было у меня такое в прошлом веке, сейчас на дворе 21 век и хочется как средствами 1с-ки обновлять конфу и используя тайминг 1с-ки
23 Serg_1960
 
14.11.08
09:51
Что-то я Вас не понял :(
УстановитьБлокировкуУстановкиСоединений() - вышибает всех без разбора. Так? Или Вы говорите об ЗавершитьРаботуПользователей(). У Вас файловая версия?
24 Нуф-Нуф
 
14.11.08
09:59
если скуль - батник в шедулер, перед запуском батника - перезапуск службы (скуль) выгон пользователей или ребут сервака (файловая).

а если это кому-то некошерно или старо - пусть переписывает ядро.
25 Serg_1960
 
14.11.08
10:25
Как только в УПП появился соответствующий функционал, - встроил в "свою" обработку обмена вот такую фигню (надёргал из типовой :)

Процедура ОбновлениеКонфигурацииБД(User,Pasword) Экспорт
   
   Если Не КонфигурацияИзменена() Тогда
       Возврат;
   КонецЕсли;
   
   // строка с вызовом программы
   ИмяКаталога = КаталогПрограммы();
   ИмяПрограммы = """" + ИмяКаталога + ?(Прав(ИмяКаталога, 1) = "\", "", "\") + "1cv8.exe" + """";
   // строка для определения базы
   СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
   Если Найти(Врег(СтрокаСоединения), "FILE=") Тогда
       //Файловая версия
       КлючБазы = СтрЗаменить("/F" + Сред(СтрокаСоединения,6),";","");
   Иначе
       СтрокаСоединения = СтрЗаменить(СтрокаСоединения,";",Символы.ПС);
       ИмяСервера = Сред(СтрПолучитьСтроку(СтрокаСоединения,1),6);
       ИмяБазы = Сред(СтрПолучитьСтроку(СтрокаСоединения,2),5);
       КлючБазы = "/S" + ИмяСервера + "/" + ИмяБазы;
   КонецЕсли;
   // строка с именем административного пользователя и его пароля
   SlaveUser = "/N" + User + " /P" + Pasword + " /WA- /AU-";
   // Файл для ошибок
   ФайлДляОшибок = "/Out" + """" + КаталогВременныхФайлов() + "1cv8.err" + """" + " -NoTruncate";
   // ключ доступа
   КлючДоступа = "/UCПакетноеОбновлениеКонфигурацииИБ";
   // собираем текст бат-файла
   ТекстФайла = "
   |
   |start " + """Заблокировать соединения""" + " /wait " + ИмяПрограммы + " ENTERPRISE " + КлючБазы + " " + SlaveUser + " /CЗавершитьРаботуПользователей " + КлючДоступа + " " + ФайлДляОшибок + " /DisableStartupMessages
   |
   |start " + """Обновление конфигурации""" + " /wait " + ИмяПрограммы + " CONFIG " + КлючБазы + " " + SlaveUser + " /UpdateDBCfg " + КлючДоступа + " " + ФайлДляОшибок + "
   |
   |start " + """Разблокировать соединения""" + " /wait " + ИмяПрограммы + " ENTERPRISE " + КлючБазы + " " + SlaveUser + " /CРазрешитьРаботуПользователей " + КлючДоступа + " " + ФайлДляОшибок + " /DisableStartupMessages";
   // Записываем текст в бат-файл
   ТекстДокумент = Новый ТекстовыйДокумент();
   ТекстДокумент.УстановитьТекст(ТекстФайла);
   // Сохраняем бат-файл
   ИмяФайла = КаталогВременныхФайлов() + "\1cv8.bat";
   ТекстДокумент.Записать(ИмяФайла, КодировкаТекста.OEM);
   // запускаем бат-файл
   #Если Клиент Тогда
       ЗапуститьПриложение(ИмяФайла);
   #Иначе
       КомОбъект = Новый COMObject("wScript.Shell");
       КомОбъект.Run("""" + ИмяФайла + """");
   #КонецЕсли
   
КонецПроцедуры
26 Serg_1960
 
14.11.08
10:29
(25) Вроде-бы работала - вышибала всех и обновляла конфу. Правда я от этого быстро отказался :) Теперь ночью торможу регламенты и обновляю конфу...

PS: Я алгоритм очистил от своих заморочек - Вы его проверьте перед "реальной" работой.
27 Serg_1960
 
14.11.08
12:30
По теме ветки http://coder1cv8.narod.ru/Publication2.html - люблю всех посылать :)
28 КВАДРО2
 
17.11.08
10:17
(25) Спасибо Сергей