Главная

Установка "технического" признака
 
 
Изначально, когда я создавал GedcomReport, я не планировал включать Инструмент установки технического поля, который в программе DrevoReport предназначался исключительно для работы с базой Древа Жизни. Так как GedcomReport работает с GEDCOM-файлами, эта возможность казалась излишней. 
Однако в дальнейшем я все-таки решил ее реализовать, установив технический признак на персоне в GEDCOM-файле. Ведь ничто не мешает этот файл нам потом загрузить в любую программу (то же Древо жизни), и если эта программа позволяет, то использовать данный признак для своих креативных целей :)
Поэтому в версии от 05.05.2016 данный Инструмент был разработан и в GedcomReport (код пришлось написать практически с нуля из-за разного подхода в хранении данных).  
 
Как отмечалось в Инструментах, Установка "технического" признака - это особый инструмент, который, в отличие от остальных, находящихся на закладке Инструменты , может использоваться для расширения возможностей построения разнообразных отчетов в других программах, а не в самом GedcomReport.
 
Объясню на примере программы "Древо жизни"
Программа, "Древо жизни" строит дерево по следующим алгоритмам:
  • Прямые предки и потомки
  • Прямая родня, братья, сестры
  • Кровные родственники
  • Все родственники
Идея разработки данного инструмента использует замечательную возможность, которая есть в Древе жизни, строить дерево с учетом фильтров, а также возможности самому создавать такие фильтры для их постоянного использования.
Данный инструмент GedcomReport позволяет установить некую "метку" на одном из полей, которые, как правило, не используются для заполнения данных, а именно:
  • Префикс имени
  • Суффикс имени
  • Телефон
  • E-mail

Условимся называть поле, которое будем использовать в наших целях "техническим", его нужно выбрать в начале работы с данным инструментом. В качестве технических я выбрал те поля, которые не использую сам, думаю, что хоть одно из них и вами не используется. Проверить, что это поле вами нигде не используется можно запустив в режиме Эмуляции очистку всех полей. Если в протоколе будет отсутствовать информация о том, что такое поле очищено у некой персоны, значит оно действительно не заполнено и его можно использовать без риска затереть важную информацию.
Итак, по какому алгоритму мы можем заполнить техническое поле у интересующих нас персон? На данный момент есть следующие алгоритмы:
  • Только текущая персона
  • Текущая персона и ее потомки
  • Текущая персона и ее прямые предки
  • Прямые предки по мужской линии
  • Прямые предки по женской линии
  • Весь род текущей персоны
  • Все кровные родственники персоны
  • Персоны из "Детектора родства"
  • Очистить признак у всех персон
Кроме этого дополнительно к каждому из режимов мы опционально можем добавить:
  • Включая супругов
  • Включая братьев-сестер
Не буду останавливаться на каждом из алгоритмов, смысл их понятен из названия, а если не очень понятно, то лучше один раз попробовать, чем долго объяснять.
Остановлюсь только на Персоны из "Детектора родства".
Смысл этого варианта заполнения в том, что когда мы в Детекторе родства нашли связь между персонами, мы эту связь можем сразу по всем персонам, которые вошли в "цепочку", проставить в поле, которое используем как технический признак.
И впоследствии сможем строить деревья с учетом этого признака. Более того, при установке признака можем добавить, например, супругов, используя опцию "Включая супругов" (см. ниже пример).
Так как детектор родства сейчас ищет все связи, а не только кровные, то построение такого дерева может быть достаточно интересным. В конце описания я приведу такой пример.

Итак, мы заполнили поля техническим признаком (я, например, использую "звездочку").Что с ним делать дальше?

Дальше нужно GEDCOM-файл, в котором были заполнены технические поля, загрузить в нашу генеалогическую программу. В нашем случае - Древо жизни .   

В "Древе жизни" создаем фильтр по данному полю. Это нужно сделать всего один раз, потом можно пользоваться им постоянно (хотя ничего не мешает сделать несколько фильтров для других полей "на все случаи жизни").
Как создать фильтр в ДЖ описано в Справке по этой программе, но на всякий случай объясню это на нашем примере
 
 
Открываем ДЖ
1. Переходим на закладку "Дерево"
2. Выбираем "Настройка дерева"
3. Выбираем "Настройка фильтров"
4.Нажимаем "плюсик" Создать
5. В названии фильтра пишем его название, например "Пользовательский", нажмем "плюсик" добавляя условие фильтра. Из списка выбираем наше техническое поле, например "Префикс имени", выбираем "Содержит" или "Начинается с" или "Равно" и в значении поля заносим значение, которым мы заполняли техническое поле (в нашем случае - "звездочка")
6. Нажимаем Ок.
 
Все, фильтр создан и больше к нему мы можем не возвращаться - его программа запомнила и он будет доступен нам всегда.
 
Теперь, когда мы хотим построить дерево с учетом нашего фильтра, мы заходим в "Настройку дерева" и ставим отметку возле нашего фильтра. После этого выбираем персону, от которой мы хотим построить дерево, и выбираем вариант построения дерева "Все родственники" (или нажимаем Alt-F5).
 
Вот результат нашей работы:  
 
 
А вот обещанное дерево, которое мы построили, используя 2 возможности GedcomReport - Детектор родства и Инструмент установки технического признака. Найдена не кровная связь, в цепочке 23 персоны:
 
 
 
Если поставить птичку "В том числе супруги" при построении связей из "Детектора родства", то вместо одиночных связующих персон в дереве будут присутствовать пары (мужья-жены)
 
Самое замечательное в этом инструменте это то, что установленные признаки можно объединять.
Т.е. можно по одной из персон сделать отметку только предков, по другой потомков, потом соединить этих персон информацией из "Детектора родства" и получить такую конфигурацию дерева, какую вы только можете придумать. Важно, чтобы в таких объединениях, все персоны были связаны хоть какими-нибудь родственными связями.
Главное для меня (и из-за чего я все это затеял) - это возможность построения дерева прямых предков и потомков от нескольких персон, это предложение, которое висит на Реформале уже более года.
Но я уверен, что можно найти еще множество применений данной возможности.
 
Примеры применения:
Самое очевидное применение уже упоминалось - возможность строить дерево от нескольких персон, а не от одной.
Например, отмечаем от себя всех предков, а потом отмечаем от бабушек-дедушек всех потомков.
Таким образом, в результате в дереве присутствуют все мои предки, а также потомки бабушек-дедушек, фактически мои двоюродные братья-сестры и их потомки, чего в стандартном дереве нельзя добиться.
Если следовать этой схеме и дальше, то отметив потомков своих прабабушек-прадедушек, получим в дереве и троюродных братьев-сестер.
Если при отметке предков поставить птичку братья-сестры, то у всех прямых предков будут их сестры и братья, таким образом в дереве можно видеть, сколько детей было в каждой семье предков. Этого тоже нельзя добиться в стандартном функционале Древа.
Весь род - удобное средство построить дерево по всем носителям одной фамилии (даже если она менялась в силу разных обстоятельств).
 
В Древе жизни 5 версии появилось гораздо больше возможностей сконфигурировать деревья по поколениям и именно в этой версии задача данного режима не столь актуальна. Однако при определенной фантазии можно этот Инструмент применить и в тех случаях, которые Вашими программами не предусмотрены. 
 
 
 
 
 
: