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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.06.2011, 19:43   #1  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
? Формирование RecId при вставке в таблицу AX из SQL Server
Создается таблица в AX, вставка в которую будет происходить только сторонними средствами (скорее всего DTS). Планируется изменение одного поля (Status) в созданных записях непосредственно из AX.

Разумеется, сразу озаботился необходимостью формирования RecId.

Эта тема уже поднималась 8 лет назад, но у предложенного решения было существенное ограничение: требовалось передавать параметры во внешнюю программу.

Три года назад был предложен следующий код:
Цитата:
Сообщение от oip Посмотреть сообщение
Код:
-- Генерация RecId. На выходе не 0 если всё Ok и 0, если что-то не так
-- Входные параметры: код компании и шаг
-- Пример: exec AX_GETRECID 'dat', '25'

CREATE PROCEDURE [dbo].[AX_GETRECID] (@dataAreaId VARCHAR(3), @hop INT)
AS
SET NOCOUNT ON
DECLARE @RecID INT
SET @RecID = NULL
UPDATE SYSTEMSEQUENCES SET  @RecID = A.NextVal,
    NextVal = A.NextVal + @HOP
FROM SYSTEMSEQUENCES A WHERE A.Id = -1 AND A.DATAAREAID = @dataAreaId
SELECT ISNULL(@RecID, 0) AS RecId
RETURN ISNULL(@RecID, 0)
GO
Не знаю, пробовал ли его уже кто-нибудь. Боязно снаружи менять SystemSequences.

В связи с тем, что пишут, что "в AX 2009 RecId уникален лишь для каждой таблицы, а не для базы в целом", появилась мысль: почему бы, ни на что не взирая, не авто-инкрементить RecId в данной конкретной таблице, начиная с единицы?

Это чем-то чревато? Как бы поступили вы сами?

Прошу поделиться соображениями.

Последний раз редактировалось Hyper; 23.06.2011 в 19:48.
Теги
ax2009, recid, systemsequences, интеграция, таблица

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axinthefield: SQL Server Trace Flags for Dynamics AX Blog bot DAX Blogs 0 23.11.2010 21:11
AX 2009 Technical Journal: Short note on AX and database mirroring in SQL Server 2008 Blog bot DAX Blogs 0 04.02.2010 06:10
emeadaxsupport: Unable to install Dynamics AX 2009 Analysis extensions when the default SQL Server Analysis Server collation is set to Turkish_CI_AS or Turkish_CS_AS Blog bot DAX Blogs 0 22.09.2009 04:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
Dynamics AX: Looking into SQL Server 2008 Blog bot DAX Blogs 0 16.01.2009 05:06

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

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

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