AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
CRM
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.07.2003, 09:05   #1  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
:( уникальное поле и validateWrite
есть таблица, есть поле, есть индекc по этому полю где в свойствах стоит AllowDuplicates=No.

При создании новой записи с таким же значением поля - система ругается, что запись уже есть, но тем не менее validateWrite у этого датасорса возвращает true.

Это не проблема, но тем не менее непонятно почему так.
Старый 16.07.2003, 09:54   #2  
kalex is offline
kalex
Участник
 
132 / 20 (1) +++
Регистрация: 18.05.2002
Адрес: Москва
Есть предположение, что проверку уникальности Аксапта возлагает на базу данных. БД это сделает быстрее - ведь не будешь перед каждой вставкой делать из Аксапты select для поиска возможных дубликатов.
Старый 16.07.2003, 10:44   #3  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
не думаю, что попытка вставить плохую запись + генерация оракловой ошибки + обработка оракловой ошибки аксаптой, произойдут быстрее, чем селект записи по уникальному индексу.
Старый 16.07.2003, 10:58   #4  
kalex is offline
kalex
Участник
 
132 / 20 (1) +++
Регистрация: 18.05.2002
Адрес: Москва
Думаю, что при обработки ошибки торопиться некуда :-)
Тем более, что это явление редкое. Гораздо чаще происходит корректная вставка записи. Кстати, если бы Аксапта сама проверяла уникальность, зачем тогда создавать в БД уникальные индексы?
Старый 16.07.2003, 11:51   #5  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
Цитата:
Изначально опубликовано kalex

Тем более, что это явление редкое.
Гораздо чаще происходит корректная вставка записи.
не всегда. зависит от контекста.

Цитата:
[i]
Кстати, если бы Аксапта сама проверяла уникальность, зачем тогда создавать в БД уникальные индексы?
[/B]
согласен. только, в зависимости от задач, архитектор определяет осуществлять проверку целостности средствами БД или клиентом(если ошибок много, частые транзакции и их откаты не приветствуются)
и в последнем случае хотелось бы, как и в первом ставить соотв. признак в AOT, а не переписывать каждый раз validateWrite.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
сопоставление оплат клиента, переносов сальдо-поле накладная в общем журнале? Aquarius DAX: Функционал 3 28.01.2009 12:51
edit-методы и validateWrite() на DataSource gl00mie DAX: Программирование 6 30.06.2008 17:50
Поле SalesId из SalesLine Eldar9x DAX: Программирование 20 10.06.2008 16:42
Поле "Оплатить до" в строке общего журнала longson DAX: Функционал 7 29.03.2008 14:38
вычисляемое поле ZhanR DAX: Программирование 8 28.09.2006 10:25

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:52.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.