Имя: Пароль:
1C
 
Внутренний идентификатор базы 1С в самописке
0 Мимохожий Однако
 
26.04.23
07:12
В типовых конфигурациях на БСП есть функция СтандартныеПодсистемыСервер.ИдентификаторИнформационнойБазы(), которая возвращает значение константы ИдентификаторИнформационнойБазы.
Внимание вопрос. Как определить внутренний идентификатор базы 1С, в которой нет такой константы?
Например, создали три базы. Сначала пустую базу без использования шаблонов, потом вторую базу как копию первой и затем третью пустую базу.
У меня создалось впечатление, что это закрытая информация.
1 shuhard
 
26.04.23
07:26
(0) если речь о клиент-серверных, то идентификатором является полный путь к серверу приложений + имя базы на нём,
БСП при копировании баз работает именно так
2 Мимохожий Однако
 
26.04.23
07:33
(1) Речь идёт о файловых базах. Как работает БСП, мне понятно. Я могу, конечно, добавить константу и т.д. , но вопрос пока чисто теоретический. Есть ли возможность различить базы без применения дополнительных объектов, констант и т.п.?
3 PuhUfa
 
26.04.23
07:37
(2) Различить для чего и в какой момент?
4 TormozIT
 
26.04.23
07:39
В файловой базе можно писать свой файл с ИД базы в каталог базы, если его там нет.
5 Мимохожий Однако
 
26.04.23
07:45
(3) В момент открытия внешней обработки для внутреннего пользования.
(4) С этим понятно, но это вопрос как обойти то, что не можешь получить. Вместо константы - пишем файл.
6 TormozIT
 
26.04.23
07:50
(5) Ты путаешь принцип определения момента, когда идентификатор изменяется. Через константу ты это не определишь. А через сравнение файла и константы - определишь по аналогии с тем, как константа "Строка соединения" сравнивается с актуальной строкой соединения в БСП.
7 shuhard
 
26.04.23
07:54
(5)[В момент открытия внешней обработки для внутреннего пользования]
при создании файловой базы в ней есть идентификатор, на смещении 68236 и длиной байт 50, речь о файлике 1CD
но при копировании системным средствами он будет "перетекать" в новую базу
8 Мимохожий Однако
 
26.04.23
07:57
(7) Вот это любопытно. Где об этом можно почитать подробнее? Или проще открыть бинарным редактором?
9 shuhard
 
26.04.23
08:01
(8) открой Hex-ом и посмотри, насколько внутренняя структура сохраняется при смене платформы вопрос отдельный
10 Мимохожий Однако
 
26.04.23
08:01
(9) Спасибо
11 TormozIT
 
26.04.23
08:46
(7) Непонятно чем это лучше отдельного собственного файла с установкой в него своего ИД базы. Кажется только куча лишней работы и опасности не найти ИД при смене версии платформы с реструктуризацией.
12 Serg_1960
 
26.04.23
08:53
DoNotCopy.txt
13 mikecool
 
26.04.23
09:21
(11) вероятно - очередная нетленка
14 Serg_1960
 
26.04.23
10:17
И вообще, и в частности: "Например, создали три базы. Сначала пустую базу без использования шаблонов, потом..." - последовательность создания ИБ "не вытащить" из идентификатора ИБ - он не Time-based GUID.
15 shuhard
 
26.04.23
10:23
(11) я не постулировал, что использование такого рода сигнатуры лучше отдельного файла
ТС решает не очевидную задачу, получил спектр возможных решений
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший