|
Проверка на признак рабочей базы | ☑ | ||
---|---|---|---|---|
0
beer_fan
21.02.13
✎
15:03
|
Тут на работе решили проверять рабочая база или тестовая, проверку сделала по ВРЕГ(СтрокаПодключения()) но, как выяснилось, это не подходит, так как, например, при коннекту к базе через ИПшник данный код уже не работает.
Теперь думаем выделить название базы, и ее проверять, но тоже некрасиво, так как если база с таким же названием будет на другом сервере, то тоже будет приниматься за рабочую. Собственно вопрос - как можно однозначно на 100% проверить в рабочей базе мы находимся или нет? |
|||
1
ДенисЧ
21.02.13
✎
15:04
|
Константу - ЭтоРабочаяБаза.
|
|||
2
beer_fan
21.02.13
✎
15:05
|
(1) Ага, а при развертывании копии с какого перепугу эта константа изменится???
|
|||
3
Жан Пердежон
21.02.13
✎
15:05
|
еще и ип сверяй
|
|||
4
Kashemir
21.02.13
✎
15:06
|
Если база рабочая - то данный факт должен быть разово подтвержден (сохранена строка подключения).
При запуске проверяй сохраненную строку подключения текущей. Если не совпадает - значит копия. |
|||
5
ДенисЧ
21.02.13
✎
15:07
|
(2) разворачиваешь и первым делом меняешь.
|
|||
6
beer_fan
21.02.13
✎
15:08
|
(5) Это все неоднозначно, у нас 12 программистов, кто-нибудь когда-нибудь обязательно забудет поменять.
|
|||
7
beer_fan
21.02.13
✎
15:09
|
(3) А IP можно штатными средствами узнать?
|
|||
8
ДенисЧ
21.02.13
✎
15:09
|
(6) А в туалет он не забудет сходить?
|
|||
9
Kashemir
21.02.13
✎
15:09
|
Процедура ПриНачалеРаботыСистемы()
... Если Не EWG_Кл_Серв_Внш.обРазрешенОбменДляУзла() Тогда ЗаголовокСистемы = "? К О П И Я БУ ? "; Предупреждение("Это копия. Будьте внимательны!",5,"Это копия"); КонецЕсли; ... КонецПроцедуры Функция обРазрешенОбменДляУзла() Экспорт Возврат ОчиститьСтрокуСоединения(ПланыОбмена.БУ_обмен.ЭтотУзел().Узел.СтрокаСоединенияСИБ) = ОчиститьСтрокуСоединения(СтрокаСоединенияИнформационнойБазы()) ИЛИ ОчиститьСтрокуСоединения(ПланыОбмена.БУ_обмен.ЭтотУзел().Узел.СтрокаСоединенияСИБПоСети) = ОчиститьСтрокуСоединения(СтрокаСоединенияИнформационнойБазы()); КонецФункции |
|||
10
beer_fan
21.02.13
✎
15:10
|
(4) В (0) я ведь описал, что так и было, только вот не работает это, точнее работает, только в 99,5% случаев, а надо 100%.
|
|||
11
Kashemir
21.02.13
✎
15:12
|
(10) Примите за правило не создавать копии с именами рабочих баз на любом сервере. У нас принято к копии добавлять суффикс _copy_имявладельцакопии
|
|||
12
beer_fan
21.02.13
✎
15:16
|
(11) Не работают правила, кто-то всегда накосячит, хотя бы в одном случае из 1000... :(
|
|||
13
PLUT
21.02.13
✎
15:21
|
(1) не, в константу обормоткой записать СтрокуПодключения. при начале работы системы проверять строкуподключения с константой и если не равно, то в заголовок выводить имя базы +!!!КОПИЯ
|
|||
14
PLUT
21.02.13
✎
15:22
|
(13) идею у vde69 видел здесь на форуме, искать лень)
|
|||
15
Defender aka LINN
21.02.13
✎
15:22
|
(12) Тогда никак, живите с этим.
|
|||
16
beer_fan
21.02.13
✎
15:25
|
(13) В (0) уже описал, так делали, но не работает, ибо строку подключения можно задать несколькими способами...
|
|||
17
vde69
21.02.13
✎
15:28
|
Информационная база.dbName (IInfoBaseInfo.dbName)
Информационная база (IInfoBaseInfo) dbName (dbName) Использование: Чтение и запись. Описание: Тип: Строка. Имя базы данных сервера баз данных, в которой размещается информационная база. Доступность: Интеграция. |
|||
18
PLUT
21.02.13
✎
15:28
|
(16) а творчески отсечь лишнее (название сервера или IP) нельзя чтоли?? базы разные!!! в клиент-сервере или пути к базе в файло
чё как маленькие |
|||
19
vde69
21.02.13
✎
15:28
|
(17) + правда права админа кластера нужны
|
|||
20
AaNnDdRrEeYy
21.02.13
✎
15:30
|
(16) ну тогда и проверяй несколькими через ИЛИ
если имя = "01.01.01.01" или имя = "ИмяКластера" |
|||
21
PLUT
21.02.13
✎
15:34
|
+(0) блин как всё запущено. одинаковые названия баз на серверах, то по имени сервера, то по ip ...
все кому не лень базы на сервере создают регистрируют и пути к серверам прописывают?? я вот, например, через списки общих инфо.баз рулю. для конкретного пользователя свой файлик v8i |
|||
22
beer_fan
21.02.13
✎
15:36
|
(21) В маленькой организации все без проблем, а вот когда куча программистов и куча админов + безопасники(ака админы), да еще и отделы разные и между собой только по телефону общаются - все гораздо сложнее.
|
|||
23
beer_fan
21.02.13
✎
15:36
|
(17) Спасибо, попробуем
|
|||
24
vde69
21.02.13
✎
15:39
|
(21) ага а ты не встречал конфигурации где терминал имеет несколько IP и все они имеют соединение с сервером 1с? который то-же имеер пяток ИП один из которых проброшен для веб морды....
догадайся будет вообще у тебя работать по имени сервера? |
|||
25
PLUT
21.02.13
✎
15:40
|
(24) встречал, но там обычно не было такой задачи в (0) и рулит обычно один человек подключениями и настройками, а не как в (22)
|
|||
26
PLUT
21.02.13
✎
15:42
|
+(25) даже не знаю как это назвать))) а по теме если серваки разные, то можно еще идентификатор ИБ вдобавок к строке подключения использовать при проверке
|
|||
27
vde69
21.02.13
✎
15:42
|
(25) и этот человек железный, не болеет, не уходит в отпуск, и никогда не ошибается :)
|
|||
28
beer_fan
21.02.13
✎
15:44
|
(26) Что значит идентификатор ИБ?
|
|||
29
Kashemir
21.02.13
✎
15:45
|
(28) При регистрации базы присваивается
|
|||
30
PLUT
21.02.13
✎
15:45
|
(27) конечно, когда он болеет (в запое) то физически не доступен, а если в отпуск, то в тайге, где нет связи вообще, только с космосом. а в (22) "бордель" какой-то))
|
|||
31
beer_fan
21.02.13
✎
15:47
|
Это который локальный, на компе??? Или он одинаков для всех пользователей?
|
|||
32
Kashemir
21.02.13
✎
15:50
|
(31) Локальный
|
|||
33
beer_fan
21.02.13
✎
17:25
|
Нашли еще одно решение:
1) Кладем файл на сервер 1С. 2) При запуске 1С проверяем на севере наличие этого файла и считываем имя базы, по этому сочетанию получается однозначное определение рабочей базы. |
|||
34
mikecool
21.02.13
✎
17:30
|
у меня была константа, в ней хранил строку подключения к основной базе, при запуске проверял с текущей - профит
|
|||
35
beer_fan
21.02.13
✎
17:50
|
(34) Не катит. Почему - прочитай внимательно (0).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |