![]() |
![]() |
![]() |
|
Автоматическое обновление конфы при обмене не сделали еще? | ☑ | ||
---|---|---|---|---|
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) Спасибо Сергей
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |