![]() |
|
Как "отличить" базу от ее копии?:) | ☑ | ||
---|---|---|---|---|
0
Dwarrior
18.09.13
✎
14:10
|
Здравствуйте!
В-общем, есть база 1С, настроен РИБ с несколькими дочерними узлами. Между базами ходят файлы типа "Message_000_001.zip". Назовем этот набор баз "Система №1". Теперь берем и копируем центральную базу и создаем новые узлы. Назовем эту систему "Система №2". Теперь вопрос - как сделать так, чтобы юзеры не путали файлы "Message_000_001" из системы №1 и системы №2? Иначе говоря, как сделать так, чтобы при попытке загрузки файла обмена из первой системы во вторую вываливалась ошибка, что файл обмена не от этой базы? Смотрел выгружаемый XML, думаю дело в v8de:Signature или v8de:Digest, но как ее изменить? Пробовал создавать вторую базу выгрузкой/загрузкой *.cf из первой, думал, что эти уникальные значения генерируются при создании базы, но не помогает, значения те же. |
|||
1
Зойч
18.09.13
✎
14:12
|
настрой другой каталог обмена да и все
|
|||
2
pumbaEO
18.09.13
✎
14:12
|
делаю константу с названием и путем базы данных. Не выгружать ни загружать не дает, если константа отличается.
|
|||
3
Галахад
гуру
18.09.13
✎
14:12
|
Коды узлов можно поменять.
|
|||
4
Dwarrior
18.09.13
✎
14:15
|
(1),(2),(3) - все понятно, но это решения "в обход" проблемы. Коды узлов надо сохранить, Константу делать не хочется, как-то топорно:)
Другой каталог тоже не годится, потому что рано или поздно юзверь перепутает каталоги. |
|||
5
Dwarrior
18.09.13
✎
14:16
|
Ведь каждая база 1С имеет что-то, отличающее ее от других? Кроме различия в структуре, типа УникальногоИдентификатора() для объектов
|
|||
6
Cyberhawk
18.09.13
✎
14:17
|
(4) "юзверь перепутает каталоги" на каждую базу 1С - свой терминальный сервер
|
|||
7
Волшебник
модератор
18.09.13
✎
14:18
|
(5) имя сервера и имя базы на сервере
|
|||
8
Dwarrior
18.09.13
✎
14:19
|
(6) - все базы файловые, на обычных клиентских машинах, без терминальных и SQL серверов.
Да даже и переименовать базы на SQL - это же не видно в файле обмена и чужой файл таки загрузится |
|||
9
Галахад
гуру
18.09.13
✎
14:20
|
Ну конфигурацию поменяй. Фиг загрузиться.
|
|||
10
Cyberhawk
18.09.13
✎
14:21
|
Маркировать файл обмена надо как-то, вестимо. У автора вопрос: как это делать или чем уникальным это делать?
|
|||
11
shuhard
18.09.13
✎
14:22
|
(0) как случилось, что пользователи руками выбирают файлы и нажимают кнопки, вместо автоматического обмена ?
|
|||
12
Dwarrior
18.09.13
✎
14:23
|
Идеальное решение тут конечно разные имена файлов обмена, тогда и юзеру видно откуда файл и 1С не загрузит чужой. Но вот так поставлена задача, что менять имя файла обмена нельзя, можно только поменять что-то внутри файла обмена, в XML.
|
|||
13
Dwarrior
18.09.13
✎
14:24
|
(11) Файлы обмена им приходят по электронной почте, в теле письма написано "обмен для системы №1".
|
|||
14
dmpl
18.09.13
✎
14:30
|
(4) Реквизит в плане обмена или сохраненная настройка.
|
|||
15
shuhard
18.09.13
✎
14:33
|
(12) форум должен угадать какими средствами файл обмена строиться ?
|
|||
16
dmpl
18.09.13
✎
14:33
|
(13) Ну добавляй своим кодом при выгрузке в XML ту же строку соединения с базой-источником, а при загрузке анализируй - та строка или не та.
|
|||
17
shuhard
18.09.13
✎
14:34
|
(13) ещё раз [как случилось, что пользователи руками выбирают файлы и нажимают кнопки, вместо автоматического обмена ?]
|
|||
18
Dmitry77
18.09.13
✎
14:35
|
(13) настрой им почтового клиента , что бы файл "обмен для системы №2" удаляся
|
|||
19
Лефмихалыч
18.09.13
✎
14:38
|
(0) процесс делания копии нужно регламентировать так, чтобы сразу после создания она обезвреживалась. То есть, чтобы там очищались все источники данных, заглушались регламентные задания, чистились пути к продуктивным всяким тёплым местам.
|
|||
20
Лефмихалыч
18.09.13
✎
14:41
|
ну и прямо совсем хорошо, когда регламентных заданий в базе вообще нет и ими занимается другая база, подключающаяся к продуктиву черезCOM. Это гарантирует, что при создании копии ни чего не начнет стартовать откуда попало, а еще сервисный код с бизнес логикой не перемешивается
|
|||
21
Dwarrior
18.09.13
✎
14:46
|
(15) Обмен самый что ни на есть стандартный РИБ -ПланОбмена.ПрочитатьИзменения() и ПланОбмена.ЗаписатьИзменения(). Через
(17) да, можно автоматизировать обмен, чтобы юзер не касался файлов обмена. Но это дополнительные трудозатраты, FTP-сервер поднимать или писать код обмена через email. Да и нужно это не навсегда, а на какое-то время. (19),(20) - да нет, тут регламентные задания не при чем. Обмен практически ручной (как самый простой) - получили файл, открепили, выложили в каталог, запустили обмен, выгруженный файл из каталога отправили обратно. |
|||
22
Dwarrior
18.09.13
✎
14:51
|
про v8de:Signature или v8de:Digest никто ничего не скажет?
|
|||
23
kosts
18.09.13
✎
15:04
|
(0) Всё не читал. Сделай, что бы во всех системах не было повторяющихся кодов узлов. Никакой путаницы не будет.
Если сделать обмен по фтп. То даже с файлами не придется возиться. |
|||
24
Галахад
гуру
18.09.13
✎
15:04
|
А если номера сообщений поднять на порядок?
По сигнатуре, насколько я понимаю проверяться идентичность конфигураций. |
|||
25
Широкий
18.09.13
✎
15:08
|
сделай константу, забей туда параметры соединения с ИБ.
Потом сверяй |
|||
26
Dwarrior
18.09.13
✎
15:09
|
(24) Это идея, с другими номерами сообщений...
"По сигнатуре, насколько я понимаю проверяться идентичность конфигураций" - ВОТ да, об этом я! Т.е. получается, что две отдельно созданные конфигурации но с одинаковым составом справочников и реквизитов буду иметь одинаковую сигнатуру? И тогда ее нельзя считать уникальной? |
|||
27
Галахад
гуру
18.09.13
✎
15:22
|
(26) Ну да. И это легко проверяется. Скопировать базу и сделать выгрузку в обеих базах.
v8de:Signature и v8de:Digest будут идентичны. |
|||
28
skunk
18.09.13
✎
15:26
|
префикс добавить узлам предлагали?
|
|||
29
Dwarrior
18.09.13
✎
15:27
|
(28) префикс узлов менять по сравнению с системой №1 нельзя.
|
|||
30
Dwarrior
18.09.13
✎
15:30
|
(27) а если не копировать базу, а создать новую с теми же объектами? Тогда сигнатура новой будет одинакова с исходной?
|
|||
31
skunk
18.09.13
✎
15:30
|
(29)почему? ... кстати в копии еще можно счетчик обнулить ...
|
|||
32
Vovan1975
18.09.13
✎
15:31
|
ну измените наименование сообщения, будет у вас не "Message_000_001" а "MessageТ_000_001"
или как вариант - вы ведь архивируете сообщения - ну так и устанавливайте пароль на архив, и в каждой базе будет свой пароль |
|||
33
kiruha
18.09.13
✎
15:33
|
(0)
Константу. В ней уникальный идентификатор каждой базы |
|||
34
Dwarrior
18.09.13
✎
15:33
|
(32) Вот с паролем самое то! ничего менять не надо, только в настройке обмена пароль прописать! Я бы сказал гениально!:)
Менять "Message" можно, но это прописано в коде типовой бухгалтерии, а в типовой код не хотелось бы лезть. (33) Сложновато, по сравнению с установкой пароля на архив:) |
|||
35
Dwarrior
18.09.13
✎
15:36
|
Спасибо всем сочуствующим! Вариант с паролем на файл обмена самое то, если конечно у кого-то нет идеи еще круче, например как изменить сигнатуру базы:)
Еще раз спасибо всем, и Vovan1975 в частности! |
|||
37
Maxus43
18.09.13
✎
16:02
|
На практике используем СтрокаСоединения() для идентификации, как уже выше и писали, нормальный способ
|
|||
38
RomanYS
18.09.13
✎
16:22
|
(34) если поменять только пароль - базы будут обмениваться через раз. Если обмен через каталог, файлы одной системы будут перезаписывать файлы другой;
правильней всё-таки поменять пути/почтовые ящики/ftp |
|||
39
wms
18.09.13
✎
16:30
|
никто еще не написал что ли?
СтрокаСоединенияИнформационнойБазы() |
|||
40
sda553
18.09.13
✎
16:33
|
(39) Верно. Константа хранит строку соединения. Сравниваем получившуюся строку с константой и получаем копия это или нет. Я обычно при этом еще цветовую тему автоматом менял, чтобы понятнее визуально было
|
|||
41
kiruha
18.09.13
✎
16:43
|
Теоретически можно поднять сервер с тем же именем и именем базы.
ГУИД более универсально Или СтрокаСоединенияИнформационнойБазы + Гуид |
|||
42
Maxus43
18.09.13
✎
16:47
|
(41) гуид чего?
|
|||
43
kiruha
18.09.13
✎
18:16
|
(42)
Просто ГУИД формирующийся при первом запуске базы Например Новый уникальныйидентификатор |
|||
44
sda553
19.09.13
✎
02:55
|
(43) Ничего не понял. Есть база. При первом запуске ей дался какой то гуид. Делаем с базы копию. Копия свой запуск не идентифицирует как первый и у нее остается тот же гуид. Так?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |