12.02.2013, 17:58 | #1 |
Модератор
|
renamePrimaryKey() RContractTable
Коллеги, вопросик.
В таблице есть стандартный уник. индек + 1 поле. \Data Dictionary\Tables\RContractTable\Indexes\ContractTypeCodeAccountIdx
На таблице нет метода renamePrimaryKey() При переименовании первичного ключа, в поле RContractAccount устанавливается новое значение. Но оно устанавливается, так же и у тех записей у кого было такое же значение в поле RContractAccount. Почему устанавливается не только для текущей записи, но и для других записей (получаем переименование 3-х записей в таблице)? У полей RContractAccount, RContractPartnerCode разное значение. А 2-х полей RContractCode, RContractAccount одинаковые значения. таких записей 3шт.
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. Последний раз редактировалось Poleax; 13.02.2013 в 14:51. |
|
12.02.2013, 18:50 | #2 |
Сам.AX
|
Если у таблицы есть другие индексы, можно в порядке эксперимента их удалить, то возможно тогда получиться добиться ожидаемого поведения системы?
__________________
"Считать метафору доказательством, поток праздных слов источником истины, а себя оракулом - это заблуждение, свойственное всем нам." Поль Валери |
|
13.02.2013, 11:34 | #3 |
Модератор
|
На таблице один индекс ContractTypeCodeAccountIdx он и PrimaryIndex и ClusterIndex
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. Последний раз редактировалось Poleax; 13.02.2013 в 14:42. |
|
07.08.2013, 18:22 | #4 |
Участник
|
У меня похожая задача, но проблема обратная. не отрабатывает renamePrimaryKey. на таб. VendBankAccount. и нет кнопки Переименовать в паспорте записи.
Поразмыслив. понял что двух этих проблем "ноги растут из одного и того же места". И это место - EDT !!! Именно от этого зависит вернет ли значение метод dictTable.primaryKeyField() и т.д. В случае RContractAccount есть четкая ссылка на RContractTable.RContractAccount. поэтому при переименовании, обновились сразу 3 записи. В случае Dimension, для каждого элемента массива, кроме ссылки Dimensions.Num есть фиксированное поле ссылки, поэтому там все гладко. В моем же случае VendBankAccountId не имеет прямо ссылки на таб, оно и правильно, т.к. при переименовании "любимого" банковского счета "Основной" для одного из поставщиков, переименовались бы туева хуча записей... |
|