Показать сообщение отдельно
Старый 22.01.2019, 03:08   #17  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от trud Посмотреть сообщение
А как такой скрипт написать в SQL?
"newBuffer.doInsert();" требует же выделения нового RecId, т.е. как-то в SQL его надо будет выделять
Код типа такого должен работать -

Код:
declare @newDataAreaId as nvarchar(4) = 'BBBB' 
declare @virtualDataAreaId as nvarchar(4) = 'V' 

insert into [Table1]
(
  [RECID]
, [DATAAREAID]
...list of fields...
)
 SELECT 
  [RECID] = row_number() over (order by (select NULL)) + (select isnull(max(RECID), 0) from [Table1] )
, [DATAAREAID] = @newDataAreaId
, ...list of fields...
  FROM [Table1] as [sourceTable]
 WHERE [sourceTable].DATAAREAID = @virtualDataAreaId
Почему не SYSTEMSEQUENCES? Потому что D365 использует SQL sequence для выделения RecId и про SYSTEMSEQUENCES можно забыть как пережиток прошлого.
Data upgrade создаст все SQL sequence для RecId автоматически (см. DataUpgradePackage\AOSService\Scripts\AutoMajorDataUpgradePreReqs.ps и AdjustSQLSequences.sql).
Скрипт делает select max(RecId) по всем таблицам, так что опять, что там в SYSTEMSEQUENCES неважно.

Цитата:
Скрипт на T-SQL иногда быстрее и проще в разы, но в D365 MS не дает доступа на ПРОД базу SQL.
Скрипты для AX2012.

Цитата:
Сообщение от skuull Посмотреть сообщение
Чисто из вредности спрошу, чем 2 SQL скрипта и 1 x++ джоб проигрывают в повторяемости во всех средах ? Да. там больше ручных действий, но если идти по списку то какая принципиальная разница?
Вас while select + doInsert не смущает? Изменение-копирование данных - это для SQL, если надо бизнес логику - тогда X++ job.
Плюс, а сколько там других шагов будет которые тоже вручную делать?
По мне так на go-live день чем меньше шагов, тем лучше -
Потушил AOSы (вручную),
Запустил скрипт -
DB back up, подготовка дынных (например virtual companies), скрипты от МС для подготовки bacpac, сам bacpac, залив bacpac в блоб, restore в sandpit, создание сервисных аккаунтов.
Как скрипт отработал - запуск D365 upgrade.
А сколько раз вы эти шаги будете делать перед реальным go-live?

Тоже чисто из вредности спрошу, а вы код релизите через xpo вручную?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
За это сообщение автора поблагодарили: trud (3).