![]() |
#6 |
Модератор
|
Цитата:
Сообщение от AndyD
![]() Проблема в том, что MS SQL хранит и сортирует GUID (или UNIQUEIDENTIFIER) не в виде текста, а в виде 16-байтного числа. Причем, порядок следования экстентов не соответствует текстовому виду (последние экстент идет впереди).
По-этому, сортировка по GUID будет отличиться от текстового представления. ![]() Цитата:
Сообщение от kornix
![]() Судя по всему лукап по полю с типом Guid работает без позиционирования на текущем выбранном элементе. Можно выбрать другое решение, чтобы не дописывать стандартные классы - перекрыть лукап по какому-нибудь другому полю, тоже уникальному в Table1, а в методе lookup() на поле добавить только колонку с Guid. Будет полноценный выбор Guid'а:
X++: public void lookup() { Query query = new Query(); QueryBuildDataSource qbds; SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(Table1), this); ; sysTableLookup.addLookupfield(fieldnum(Table1, testGuid)); qbds = query.addDataSource(tablenum(Table1)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } ![]()
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. |
|