Шаблоны ввода

Одна из особенностей программы - возможность настраивать состав реквизитов базы данных, добавляя или удаляя различные реквизиты для учета объектов (квартир, земельных участков и пр.). Это делается через шаблоны ввода. 

Шаблоны ввода определяют состав реквизитов и форму ввода данных по объектам.
Имеется 6 шаблонов ввода, в соответствии с типами объектов (квартиры, земельные участки, земельные участки со строениями, встроенные помещения, имущественные комплексы и земли сельхозназначения). Для входа в режим редактирования шаблонов необходим пароль.

 

Рис. 3 - список шаблонов ввода

В форме списка шаблонов слева - список имеющихся шаблонов, справа - список полей выбранного шаблона. Список полей может понадобится для быстрого изменения некоторых свойств поля. 
Для полноценного редактирования шаблона необходимо войти в режим редактирования (кнопка Редактировать)

Через контекстное меню доступно изменение название объекта и удаление старых реквизитов. О последнем действии подробнее. При создании нового реквизита создается новое поле в соответствующей таблице. Но при удалении реквизита поле в таблице не удаляется. Со временем это может привести к замедлению работы программы. Для окончательного удаление неиспользуемых полей таблицы и существует режим удаления старых реквизитов. Внимание! Перед удалением создайте копию базы и убедитесь, что другие пользователи не работают с программой. 

Все поля карточки организованы в виде иерархического дерева. (Рис. 4). Пользователю полностью доступно  построение такого дерева - создание и удаление корневых и дочерних веток без ограничений. Каждая ветка дерева является полем ввода, поэтому для добавления новой ветки требуется добавить новое поле и задать его  свойства.

 Рис. 4 - редактирование шаблона ввода

Пользователь может добавлять поля определенных типов. 

  1. Поле из справочника с прямым выбором. Для поля требуется указать назначение поля, справочник, из которого будут выбираться данные и, если требуется, значение из справочника по умолчанию. Если нужного значения во время ввода карточки в справочнике нет, то по клавише "пробел" можно войти в справочную систему, добавить новое значение и вернутся в режим ввода.
  2. Поле из справочника с выбором через контекстный поиск. Для поля требуется указать назначение поля, справочник, из которого будут выбираться данные и, если требуется, значение из справочника по умолчанию. Отличие от типа 1 в том, что при вводе по типу 1 выпадает список возможных значений, а в типе 2 - появляется окно выбора с возможностью ввода строки поиска. Тип 2 необходимо использовать, если выбор нужного наименования из выпадающего списка затруднен из-за большого количества значений. Например, список улиц содержит сотни наименований и нужную улицу быстрее выбрать по поиску. При необходимости во время поиска в справочнике можно добавить новое значение. (Рис  5).
  3. Поле из справочника с выбором через связь. Тип сделан для создания зависимости справочных данных от содержимого другого поля. Например, при выборе района города хотелось, чтобы выпадал не весь список районов всех городов, а только список районов, относящихся к выбранному городу. При создании поля необходимо указать "родительское" поле, в данном примере - город. В процессе ввода появится не список из справочника, а окно вхождений, где можно выбрать необходимую запись.(Рис  6).
  4. Поле для хранения целого числа.
  5. Поле для хранения текстовой строки длиной не более 250 символов.
  6. Поле для хранения неограниченного текста.
  7. Поле для хранения для хранения денежной суммы
  8. Поле для хранения десятичного числа.
  9. Поле для хранения даты.
  10. Надпись для дерева. В базе данных не хранится, служит для названий веток-заголовков дерева. 
Для создания новой ветки необходимо свернуть реквизиты и нажать кнопку Добавить. Захватив ветку левой кнопкой мыши любую ветку можно перетянуть на новое место. В случае перемещения ветки в режиме развернутых реквизитов любую ветку можно сделать "подветкой" любого реквизита.

 

Рис. 5. - поиск по контексту

Рис. 6. - выбор по связи

При создании или редактировании поля следует указать  свойства полей (Рис 7):

Как задать свойства полей (Рис 7.)

 

 

Рис. 7 - задание свойства поля

Тип данных* - задается исходя из смысла содержимого реквизита  
Имя поля*  - имя колонки таблицы базы данных (генерируется автоматически, менять не рекомендуется, кроме случаев создания новых типов объектов )
Справочник , из которого будут выбираться данные (если поле из справочника)
Родительское поле  - выбрать справочное поле, если Тип данных - справочное по связи
Выбор из справочника по умолчанию  - значение, записываемое при создании новой записи (если поле из справочника)
Текст или число по умолчанию - значение, записываемое при создании новой записи (если поле из числовое или денежное)
Категория* - в каких категориях поле будет фигурировать 
Видимое - отображение на экране при вводе (видимость)
Редактируемое - возможность редактирования
Мин зн-ие, Макс. зн-ие - диапазон разрешенных значений (для числовых полей, нули или не введено - проверка отключена)
Высота поля - высота ветки дерева и поля ввода. 
Фонт (размер) - размер фонта при вводе. При отображении фонт и цвет задается в настройках
Цвет фона  и букв при вводе
Цвет букв при вводе
Поместить в название , Текст в название - eсли при вводе карточки поле "Название" при вводе оставить пустым, то оно заполнится полями, помеченными "В название" с текстом, взятым из свойства "Текст в название". Например, если помечены поля "к-во комнат" и "район", а свойства "Текст в название" заполнены "Комн." и "Район" соответственно, то при вводе к-ва комнат 3 и района "Центральный", то в наименование будет помещен текст "Комн. 3 Район Центральный"
Назначение* (это будет название ветки дерева)
Всплывающая подсказка - это будет появляться как всплывающая подсказка при вводе.
Ширина колонки - определяет ширину колонки  таблицы в режимах ведения базы и просмотр результатов поиска.

После сформирования всех полей структура дерева создается простым перетаскиванием "мышкой" веток деревьев на свои места - как корневые или дочерние, с нужным порядком следования.

Помните, что:
1) если какое-либо поле сделано невидимым в данной категории, то не будут видны и все дочерние ветки этого поля.
2) тип поля и имя поля задаются только при добавления поля, затем изменению не подлежат
3) при удалении полей данные из базы  НЕ удаляются. Рекомендуется вместо удаления полей делать их невидимыми.

Все изменения шаблона вступят в силу на других станциях только при перезапуске программы. Отменить изменения до нажатия кнопки "Сохранить изменения" можно закрыв форму шаблона или через пункт меню "Отменить изменения"

Условности. Создаваемое имя нового поля имеет вид "F<номер поля>". Имя поля видно в таблице макета. Но в таблицах CARD1-CARD6 должны быть как минимум следующие поля:

  1. NAME, строковое - наименование объекта 
  2. USERN, строковое - пользователь 
  3. DT, дата - дата ввода
  4. USD, денежное- курс доллара, заполняется автоматически при создании новой карточки
  5. EURO, денежное- курс евро, заполняется автоматически при создании новой карточки
  6. SUMR, денежное - сумма в рублях
  7. SUMD, денежное - сумма в долларах.
  8. SUME, денежное - сумма в евро.
  9. AREA, числовое - общая площадь.
  10. RENT, числовое - рыночная ставка арендной платы 
  11. RCAPT числовое - ставка капитализации.  В шаблонах ввода это поле помечено как нередактируемое, поскольку рассчитывается при сохранении записи  по формуле <рыночная ставка арендной платы >/<стоимость> - для квартир или <рыночная ставка арендной платы за кв. метр>*<общая площадь>/<стоимость> для других объектов

При вводе сумм надо ввести только одну (в рублях, долларах или евро). Остальные (не введенные, то есть нули) после ввода рассчитываются в соответствии с курсом.

ВАЖНО! при добавлении новых полей меняется структура базы данных.  InterBase позволяет менять структуру данных 250 раз.  Для обнуления числа изменений требуется создать backup (копию) базы и затем восстановить ее с помощью любого средства работы с InterBase (например IBConsole).

К содержимому.