Показать сообщение отдельно
Старый 26.07.2019, 07:17   #5  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
643 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от SuperStar88 Посмотреть сообщение
А как правильно тогда сгруппировать и просуммировать данные? В Map запихнуть?
Я думаю, в вашем случае достаточно сделать так:
X++:
while select Field1, Field2, Field3, sum(Qty) from myTable
group by Field1, Field2, Field3
where Field4 == NoYes::Yes
{
    ...
}
Используя setTmp() вы размещаете таблицу в оперативной памяти под юрисдикцией аксапты, а не SQL Server. Поэтому здесь не применимы BULK-операции для вставки записей. Т.е. insert_recordset используется на реальных таблицах и превращается в запрос типа
X++:
INSERT INTO MyNewTable (Field1, Field2, Field3, Qty)
SELECT Field1, Field2, Field3, Sum(Qty) FROM MyTable A
WHERE A.DataAreaId = 'dat'
  AND A.Field4 = 1
GROUP BY Field1, Field2, Field3
Что означает, что MyTable и MyNewTable должны быть разными таблицами, а у вас это 2 переменные одного типа.
__________________
// no comments