ID номера в импорте / экспорте
Что означает звездочка в ID номере?
При экспорте из "aSc Расписания" в файл XML, вы можете получить ID номера *1, *2 *3. Это так называемые "временные идентификационные номера". Эти номера присваиваются при экспорте в объекты, которые еще не имеют назначенного идентификационного номера. Их называют «временным», потому что они действительны только в течение одного конкретного экспорта. При экспорте того же расписания в следующий раз, вы можете получить другие временные идентификационные номера для того же объекта.
Эти временные идентификаторы необходимы для обеспечения связи между строками в таблицах, например, строка урока связывается с столбцом таблицы учителей с помощью временного ID в "teacherid".
Если вы хотите получить действительные числа ID, необходимо настроить так называемые "idprefix".
IDPREFIX - Как указать, где "aSc Расписания" должны хранить ваши номера ID?
При создании XML который хотите импортировать в "aSc Расписания", вы должны заполнить глобальный "idprefix". Пример:
<timetable importtype="database" options="idprefix:MyApp" displayname="MyApp sample XML configuration" displaycountries="us">
Id префикс указывает, где "aSc Расписания" должно сохранить ID номера. В приведенном выше примере, ваши идентификационные номера будут храниться в созданным пользователем поле, называемом "MyApp ID".
См. также: Поля, созданные пользователем
Как указать idprefix при экспорте
При использовании экспорта по умолчанию XML из "aSc Расписания", Вы всегда будете получать временные ID (потому что idprefix установлен в %TEMPID). Чтобы указать idprefix для экспорта, вы должны создать свой собственный XML-файл конфигурации экспорта. Эти файлы хранятся в каталоге C:\timetables\template\xmlexport\. Пример в файле sample.xml.
Специальные значения idprefix
%NAME - id хранится в название объекта.
%SHORTNAME - id хранится в коротком имени объекта.
%NUMBER - id хранится в числовом поле объекта.
%TEMPID - не хранить идентификационные номера в расписании (по умолчанию).
Вы можете указать idprefix значение также в отдельных таблицах с "idcf:". Например если хотите хранить идентификационные номера для учеников в поле "number", просто используйте:
<students options="canadd,idcf:%NUMBER" columns="....">
Примечание: Существует разница между "idprefix:" и "idcf:" когда id сохраняется в поле пользователя. С "idprefix: MyApp" aSc Расписания будет добавлять "ID" в конец, но с "idcf:" вы должны использовать полное имя пользовательского поля: "idcf: MyApp ID"
Документация
Вы можете найти более подробную информацию здесь. См. "Types - id", "Database options - idprefix" и "Table options - idcf".