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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.07.2007, 10:38   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от belugin Посмотреть сообщение
Искусственный ключ -- сгенерированный ключ, который используется пользователем и внутри базы данных (например, EmplID)

Суррогатный ключ -- сегнерированный ключ, который используется только внутри базы данных.

Точки зрения сторонников EK и СК изложены тут:
ЕК - естественный ключ?
А каково твое определение для ЕК?

Цитата:
Сообщение от belugin Посмотреть сообщение
Я предлагаю, чтобы автоматизм был опциональным.
А... с этим согласен.

Цитата:
Сообщение от belugin Посмотреть сообщение
Еще мне очень нравится понятие graceful degradation -- делаем что можем, если что-то не можем, то делаем только это.
Хм... Понятно, что мы можем громко кричать и требовать от разработчиков Аксапты.
Понятно, что они могут все в рамках заданного бюджета (и в пределах разумного )

А реально, что мы можем с этим сделать?
Написать скрипты редактора по созданию таких методов?

Цитата:
Сообщение от belugin Посмотреть сообщение
X++:
display InventName inventName()
{
      return InventTable::find(this.ItemID).Name;
}
здесь собака аксапта выбирает все поля а не только Name. Так что вредные автоматизмы по факту присутствуют все равно.
чтобы "собака аксапта выбирала не все поля, а только Name" надо не find вызывать, а делать select по одному полю.

Не, этот пример не катит.
Если уж я чего-то пишу в коде, то не стоит сваливать на аксапту, по-моему
А вот если я не пишу, а работаю только свойствами и объектами AOT...


Цитата:
Сообщение от belugin Посмотреть сообщение
А было бы плохо, если бы то же самое можно было бы сделать более удобно?
Как именно? Показывать наименование?
Нужно показывать одно поле Name? Вместе с полем NameAlias? Вместе с полем, которое показывает Название на текущем/другом языке?


Цитата:
Сообщение от belugin Посмотреть сообщение
Вопрос про ЕК такой: что вы делаете когда он меняется? Например был клиент "Светик" а стал "Мотылек"? Или изменилось структура групп номенклатуры вместо
...
переименовываете первичный ключ, даже если он участвует в InventTrans и иногда его надо сопоставлять с распечатанными год назад документами?
Если сохранять историю не обязательно (как с группами номенклатуры), то переименование.
Если сохранять историю обязательно, то создается новая запись, а старая блокируется от использования.
__________________
полезное на axForum, github, vk, coub.
Старый 05.07.2007, 10:52   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от mazzy Посмотреть сообщение
ЕК - естественный ключ?
А каково твое определение для ЕК?
ЕК ключ который генерируется вне системы => вне нашего контроля (типа наименование, или ИНН или что-то еще). Т.е. имеет бизнес-значение.

Цитата:
Хм... Понятно, что мы можем громко кричать и требовать от разработчиков Аксапты.
Понятно, что они могут все в рамках заданного бюджета (и в пределах разумного )
Я предлагаю по-крайней мере, донести до них эту информацию.

Цитата:
А реально, что мы можем с этим сделать?
Написать скрипты редактора по созданию таких методов?
Ну необязательно редактора можно по типу существующего для find&exist

Цитата:
чтобы "собака аксапта выбирала не все поля, а только Name" надо не find вызывать, а делать select по одному полю.
К сожалению, среда делает удобным писать именно find.

Цитата:
Не, этот пример не катит.
Если уж я чего-то пишу в коде, то не стоит сваливать на аксапту, по-моему
А вот если я не пишу, а работаю только свойствами и объектами AOT...
Мне кажется все равно - надо понимать что делаешь. Но лучше будет среда, которая будет облегчать распространенные вещи делать эффективно.

Цитата:
Как именно? Показывать наименование?
Нужно показывать одно поле Name? Вместе с полем NameAlias? Вместе с полем, которое показывает Название на текущем/другом языке?
Я уже предложил см. Правильные справочники

Цитата:
Если сохранять историю не обязательно (как с группами номенклатуры), то переименование.
Даже если на него ссылается миллион записей?
Старый 05.07.2007, 11:50   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от belugin Посмотреть сообщение
Я уже предложил см. Правильные справочники
И еще. Не забывай об OLAP, reporting service, performance point'ах и прочих экселях.
__________________
полезное на axForum, github, vk, coub.
Теги
естественный ключ, искусственный ключ, как правильно, ключ, суррогатный ключ, crm2011

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Абстрактный классификатор Maxim Gorbunov DAX: Программирование 52 17.01.2005 13:52
Централизованные справочники ZVV DAX: Прочие вопросы 12 02.09.2004 13:42
А есть ли в Аксапте стандартные российские справочники? edd DAX: Функционал 11 22.07.2003 05:49
Как заполнять основные справочники? renat DAX: Функционал 9 13.11.2002 17:39
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:19.