с этим полем работать как с IDENTITY, т е какой SELECT записать в Initial values в DCT я не знаю (цели такой не было), а как с ним в проге работать штатно:
в DCT это обычное поле STRING(16) без дополнительных свойств
в форме редактирование такой записи
Код: Выделить всё
MAV:Save.Insert FUNCTION ! вставляем в самое начало
tmp MAVSelect
CODE
tmp.Init(,1,1)
tmp.BindField(File:Field_uniqueidentifier)
IF tmp.Run('select NEWID()') OR tmp.Fetch()
MAVSHOWERROR
RETURN 1
END
ВСЁ!
ЗЫ
Тип данных uniqueidentifier имеет несколько недостатков.
•Значения являются длинными и непонятными. Поэтому пользователям сложно вводить их без ошибок и еще сложнее запоминать.
•Значения являются случайными, в них нельзя поместить никакие последовательности, которые сделали бы значения более осмысленными для пользователей.
•Не существует способа определить, в какой последовательности были созданы значения типа uniqueidentifier. Они не приспособлены для использования существующими приложениями, полагающимися на последовательное возрастание ключей в последовательности.
•Занимая 16 байт, тип данных uniqueidentifier является относительно большим по сравнению с другими типами данных (например с 4-байтовыми целыми). Индексы, построенные на ключах типа uniqueidentifier, могут работать медленнее по сравнению с индексами, где используются ключи типа int.
Если глобальная уникальность не требуется или нужен ключ с последовательно возрастающими значениями, рекомендуется использовать свойство IDENTITY.