Как объединить два Древа в одно?

Перед тем, как задать вопрос, ознакомьтесь с ответами на часто задаваемые вопросы и со Справкой. Пожелания пишем на reformal.ru

Модераторы: Genery, Elena Polyanskikh

Ответить
Сообщение
Автор
Аватара пользователя
hippocamus
Сообщения: 1044
Зарегистрирован: 09 дек 2009 16:28
Откуда: Рыбинск, Ярославская обл.
Контактная информация:

Re: Как объединить два Древа в одно?

#121 Сообщение hippocamus » 03 июн 2020 21:40

o22 писал(а): 03 июн 2020 18:34
Elena Polyanskikh писал(а): 03 июн 2020 18:15 1. Да, должно появиться, так как созданное событие имеет внутренний код, который не встречается в Базе1, это новый объект для Базы1.
2. Как это? Внутренние коды не повторяются, они уникальны. Конечно, есть какое-то число объектов, при котором этот уникальный код повторится, но вероятность этого стремится к нулю даже в файле с 50тыс персон.
Можно подробнее о структуре этого кода?
1. Она составная (код базы + код записи)
2. Или суррогатная (псевдослучайное число или GUID)

При экспорте в Гедком, то, что в поле, например:
1 _UID 551BA503_269

Это этот внутренний код?
Это функция от времени системного таймера.
В моей программе familiar (установщик поля "РОД", код которого я вам присылал, и теперь он в вашей программе) есть эта функция, а мне её прислал Дмитрий.
Скачать Информер (для Древа Жизни 4.х). Установить.
Заменить экзешник на вот этот: https://yadi.sk/d/v49r7N46tdixe
Запустить от администратора. Указать путь к базе. Отключить автообновление.
Будет последняя версия 2.43. Рабочая )

СергейР
Сообщения: 50
Зарегистрирован: 17 мар 2018 09:52

Re: Как объединить два Древа в одно?

#122 Сообщение СергейР » 04 июн 2020 11:38

o22 писал(а): 01 июн 2020 13:50
СергейР писал(а): 01 июн 2020 13:27 Может разработчики подумают о внешних ссылках по аналогии с CAD программами? Думаю было бы удобно.
Я не совсем понял сути предложения, но если говорить о проблеме в целом, то никакие технические решения не спасут "бардак" в файлах, если он уже есть.
С 90х годов в программах для проектирования (черчения) применяются ссылки обычно они разделяются на вставленную и наложенную, различаются они для отображения прикреплённых перекрёстных ссылок или последовательных ссылок. Это что то типа блока который отображается из другого файла с определённой точкой вставки и масштабом. Если кто то поменяет ссылочный файл то при обновлении поменяется основной чертёж. При команде внедрить внешнюю ссылку программа внедряет уже эту ссылку (чертёж, блок) в основной файл. А до этого это совершенно разные файлы. Думаю если появится эта функция в Древо жизни то будет многое решено с параллельной работой.
Программа «Древо жизни» очень хорошая, хорошо развивается, хорошо отвечают на вопросы. Думаю, всем пользователям нужно объединиться и предложить разработчику (материально заинтересовать) усовершенствование графического отображения в разделе параметризации, параллельной работы, графической росписи (формирование родословной книги с отображением страниц с ссылками на страницы (последнего вообще ни в какой программе нету)).

Аватара пользователя
o22
Сообщения: 713
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#123 Сообщение o22 » 05 июн 2020 17:09

hippocamus писал(а): 03 июн 2020 21:40
o22 писал(а): 03 июн 2020 18:34 Можно подробнее о структуре этого кода?
1. Она составная (код базы + код записи)
2. Или суррогатная (псевдослучайное число или GUID)

При экспорте в Гедком, то, что в поле, например:
1 _UID 551BA503_269

Это этот внутренний код?
Это функция от времени системного таймера.
В моей программе familiar (установщик поля "РОД", код которого я вам присылал, и теперь он в вашей программе) есть эта функция, а мне её прислал Дмитрий.
Установки Рода в моей программке уже давно нет. Еще когда я перешел на работу с чистым Гедком-ом, я его исключил (так как РОД- это сугубо ДЖ-шное изобретение и в GEDCOM его нет в принципе). Когда я снова вернул поддержку at4 (кстати именно из-за инструментов, так как иногда что-то в базе нужно было править, да и другие просили), то я установку рода уже не возвращал, так как мне это стало не очень интересным. Я понял, что все, что не входит в стандарт Гедком, все со временем может пропасть и усилий по его заполнению не стоит особо прилагать.
Ну и когда делал поддержку at5, то естественно, что тоже по родам ничего не делал.
А на счет этой функции, да, припоминаю, что такая была. Она еще сбойнула у Дмитрия в какой-то версии и он мне даже новую версию присылал.
Так как я сейчас в базу ничего не вставляю (ну кроме техпризнака), то необходимость в такой функции у меня отпала и я ей не пользуюсь.
Но сейчас смотрю базу 5-ки и не вижу никаких полей с рандомными значениями, которые намекали бы на какую-то уникальность.
Есть какое-то поле в табличке __Recs (rec_guid), которое может быть чем-то псевдослучайным, но тоже какое-то оно стремноватое, так как есть в нем и 3-4-хзначные числа, что не очень меня убеждает в его уникальности в разных базах. С 2019 года оно, правда уже какое-то более длинное и впреремежку с отрицательными значениями. Но если такая уникальность только у новых записей, а у старых - так себе, то это тоже не придает мне уверенности в том, что при слиянии не будет проблем.
Глянь свежим взглядом, может ты что-то найдешь?
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

Аватара пользователя
Genery
Site Admin
Сообщения: 3370
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Как объединить два Древа в одно?

#124 Сообщение Genery » 07 июн 2020 09:47

o22 писал(а): 05 июн 2020 17:09Но сейчас смотрю базу 5-ки и не вижу никаких полей с рандомными значениями, которые намекали бы на какую-то уникальность.
В версии 5 вот это:
CREATE INDEX [i_di] ON [__Recs] ([rec_di], [rec_guid], [rec_table]);
Дмитрий Киркинский, Genery Software

Аватара пользователя
hippocamus
Сообщения: 1044
Зарегистрирован: 09 дек 2009 16:28
Откуда: Рыбинск, Ярославская обл.
Контактная информация:

Re: Как объединить два Древа в одно?

#125 Сообщение hippocamus » 07 июн 2020 21:53

o22
А какой вы программой-то открываете?
Я что-то забыл уже чем открывал, и ничего подобрать не могу.
Скачать Информер (для Древа Жизни 4.х). Установить.
Заменить экзешник на вот этот: https://yadi.sk/d/v49r7N46tdixe
Запустить от администратора. Указать путь к базе. Отключить автообновление.
Будет последняя версия 2.43. Рабочая )

Аватара пользователя
o22
Сообщения: 713
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#126 Сообщение o22 » 08 июн 2020 15:51

hippocamus писал(а): 07 июн 2020 21:53 o22
А какой вы программой-то открываете?
Я что-то забыл уже чем открывал, и ничего подобрать не могу.
SQLite Expert Personal 5
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

Аватара пользователя
o22
Сообщения: 713
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#127 Сообщение o22 » 08 июн 2020 16:31

Genery писал(а): 07 июн 2020 09:47
o22 писал(а): 05 июн 2020 17:09Но сейчас смотрю базу 5-ки и не вижу никаких полей с рандомными значениями, которые намекали бы на какую-то уникальность.
В версии 5 вот это:
CREATE INDEX [i_di] ON [__Recs] ([rec_di], [rec_guid], [rec_table]);
То есть упоминаемый Еленой выше "внутренний код" это все-таки составное поле? Во всяком случае, в 5-й версии.
И дата-время вставки записи в базу и есть залогом уникальности каждой записи?
Так как guid сам по себе был-бы "жидковат" для такой миссии.
Да, при таком подходе (дата-время + guid), можно действительно говорить об уникальности
А что тогда Вы пишете в гедком в поле _UID? Какова цель этого нестандартного тега?
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

Аватара пользователя
Genery
Site Admin
Сообщения: 3370
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Как объединить два Древа в одно?

#128 Сообщение Genery » 09 июн 2020 05:35

o22 писал(а): 08 июн 2020 16:31 А что тогда Вы пишете в гедком в поле _UID? Какова цель этого нестандартного тега?
Он желателен для импорта в MyHeritage.
Дмитрий Киркинский, Genery Software

rabar
Сообщения: 18
Зарегистрирован: 16 янв 2015 01:13

Re: Как объединить два Древа в одно?

#129 Сообщение rabar » 21 июн 2020 15:14

Версии программы Древо жизни последние. Задача: выгрузить отдельных лиц из одной базы и загрузить в другую. Как это сделать?
Прошу прощения, но не смог на форуме найти, как это делать...

Аватара пользователя
hippocamus
Сообщения: 1044
Зарегистрирован: 09 дек 2009 16:28
Откуда: Рыбинск, Ярославская обл.
Контактная информация:

Re: Как объединить два Древа в одно?

#130 Сообщение hippocamus » 21 июн 2020 16:46

rabar писал(а): 21 июн 2020 15:14 Версии программы Древо жизни последние. Задача: выгрузить отдельных лиц из одной базы и загрузить в другую. Как это сделать?
Прошу прощения, но не смог на форуме найти, как это делать...
Проставить им определённый признак (ну, допустим, "Фаворит"), и отфильтровать по этому признаку.
Скачать Информер (для Древа Жизни 4.х). Установить.
Заменить экзешник на вот этот: https://yadi.sk/d/v49r7N46tdixe
Запустить от администратора. Указать путь к базе. Отключить автообновление.
Будет последняя версия 2.43. Рабочая )

Аватара пользователя
Genery
Site Admin
Сообщения: 3370
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Как объединить два Древа в одно?

#131 Сообщение Genery » 22 июн 2020 06:05

rabar писал(а): 21 июн 2020 15:14 Версии программы Древо жизни последние. Задача: выгрузить отдельных лиц из одной базы и загрузить в другую. Как это сделать?
Прошу прощения, но не смог на форуме найти, как это делать...
Сохранение части данных в отдельный файл: /wiki/ru:file_saveto
Добавление данных из другого файла: /wiki/ru:file_loadfrom
Дмитрий Киркинский, Genery Software

РеВН
Сообщения: 9
Зарегистрирован: 27 июл 2023 19:27

Re: Как объединить два Древа в одно?

#132 Сообщение РеВН » 27 июл 2023 19:57

Genery писал(а): 22 июн 2020 06:05
rabar писал(а): 21 июн 2020 15:14 Версии программы Древо жизни последние. Задача: выгрузить отдельных лиц из одной базы и загрузить в другую. Как это сделать?
Прошу прощения, но не смог на форуме найти, как это делать...
Сохранение части данных в отдельный файл: /wiki/ru:file_saveto
Добавление данных из другого файла: /wiki/ru:file_loadfrom
Тоже задался объединить два разных дерева. Есть дерево относительно меня по отцовой линии и там более 109 персон (собирал более 10 лет начиная со второй версии программы и экспортировал вплоть до последней пятой версии). И есть дерево относительно меня, но по материнской линии и там более 140 персон (семьи раньше были многодетные и родни очень много). Добавил данные согласно указанных выше инструкций. Понятно что я и мои дети (и еще внуки) задвоились в списке. А вот дальше, как в инструкции: "Однако Вы можете также увидеть, что общая для двух деревьев персона теперь представлена в списке персон два раза. В этом случае нужное событие уже создано, нужно лишь удалить дубликат персоны (например, Иван), переименовав его (например, в Иван1), и заменив Иван1 на Иван во всех событиях, в которых Иван1 участвует. " ...у меня заменить события не получается. Поменял имена, как рекомендуют "Иван" на "Иван1", а вот заменить "Ивана1" на "Ивана" в событиях не получается. Как? Указать другой путь?...не открывается меню, чтоб выбрать и поменять на другую персону. Создать событие типа мать родила сына? Так создается уже третий "Иван".
Подскажите, что не так я делаю? И как делать правильно пошагово, для того кто это не разу не делал?

Аватара пользователя
hippocamus
Сообщения: 1044
Зарегистрирован: 09 дек 2009 16:28
Откуда: Рыбинск, Ярославская обл.
Контактная информация:

Re: Как объединить два Древа в одно?

#133 Сообщение hippocamus » 28 июл 2023 00:44

РеВН писал(а): 27 июл 2023 19:57 Поменял имена, как рекомендуют "Иван" на "Иван1", а вот заменить "Ивана1" на "Ивана" в событиях не получается. Как? Указать другой путь?...не открывается меню, чтоб выбрать и поменять на другую персону. Создать событие типа мать родила сына? Так создается уже третий "Иван".
Подскажите, что не так я делаю? И как делать правильно пошагово, для того кто это не разу не делал?
Нужно удалять Ивана1 в событиях и добавлять Ивана как участника события с той же ролью, которая была у Ивана1. :idea:
Скачать Информер (для Древа Жизни 4.х). Установить.
Заменить экзешник на вот этот: https://yadi.sk/d/v49r7N46tdixe
Запустить от администратора. Указать путь к базе. Отключить автообновление.
Будет последняя версия 2.43. Рабочая )

Аватара пользователя
kotbasikcom
Сообщения: 205
Зарегистрирован: 02 апр 2018 19:54
Откуда: СССР
Контактная информация:

Re: Как объединить два Древа в одно?

#134 Сообщение kotbasikcom » 28 июл 2023 11:09

Когда-то давно, после об`единения, кроме дублей персон ещё обнаружил дубли документов (дублям документов добавлено (1) или (2)). Начал чистить и менять связи персон, событий и документов. Плюнул и решил для себя, что проще добавить сотню персон вручную. Теперь так и делаю.

РеВН
Сообщения: 9
Зарегистрирован: 27 июл 2023 19:27

Re: Как объединить два Древа в одно?

#135 Сообщение РеВН » 28 июл 2023 15:00

hippocamus писал(а): 28 июл 2023 00:44
РеВН писал(а): 27 июл 2023 19:57 Поменял имена, как рекомендуют "Иван" на "Иван1", а вот заменить "Ивана1" на "Ивана" в событиях не получается. Как? Указать другой путь?...не открывается меню, чтоб выбрать и поменять на другую персону. Создать событие типа мать родила сына? Так создается уже третий "Иван".
Подскажите, что не так я делаю? И как делать правильно пошагово, для того кто это не разу не делал?
Нужно удалять Ивана1 в событиях и добавлять Ивана как участника события с той же ролью, которая была у Ивана1. :idea:
Сильно сказано и главное, что коротко (и совсем пошагово не понятно как это совершить правильно). Удаляю Ивана1 из событий у его родителей, братьев, сестер и детей. И пытаюсь создать событие у матери Ивана, как рождение ребенка. В более ранних версиях программы была возможность выбрать персону ребенка из списка. В пятой версии предлагает или создать новую персону (но она же уже есть!). Или же открывает список с несколькими персонами (не теми что надо) и плюс опять Ивана1.
И еще косяк. При добавлении нового списка к дереву происходит подмена (замена) многих фото персон основного дерева, на фото персон из дерева что добавляю. Лечится только если удалить папку *фамилия*.files у обоих деревьев.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и 9 гостей