Вопрос по построению запросов в MobileSmarts
Добрый день! Задача стоит в том, чтобы отобразить только строки расхождения между суммарном планом и суммарном фактом в разрезе номенклатуры.
Для этого сделали функцию, использовали действие Просмотр записей и ввели запрос. Только проблема в том, что отобрать-то нужно не начальные записи стандартным Where, а уже суммированные. Для этого хотелось бы использовать Having (как операция над совокупностью данных), но такого не нашли в вашем конструкторе запросов, а как отредактировать запрос не понятно.
Сейчас запрос:
select (Product, Packing, ОтображениеВСписке, sum(CurrentQuantity), sum(DeclaredQuantity)) from Document.DeclaredItems
group by Product, Packing, ОтображениеВСписке
А хотели бы:
select (Product, Packing, ОтображениеВСписке, sum(CurrentQuantity), sum(DeclaredQuantity)) from Document.DeclaredItems
group by Product, Packing, ОтображениеВСписке
having sum(CurrentQuantity) != sum(DeclaredQuantity)
Прошу пояснить как этого достичь средствами MobileSmarts или как решить эту задачу другим методом.
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день!
Это можно сделать двумя запросами, первый: СтрокиТоваров = select (Product, Packing, CurrentQuantity, DeclaredQuantity)
from Document.DeclaredItems
group by ProductId, PackingId
группировать лучше по полям ProductId, PackingId, а не Product и Packing, по вычислимому полю ОтображениеВСписке лучше не использовать группировку. Использовать выражение sum не нужно, количества и так будут суммироваться.
Дальше можно выбрать строки с отличающимися количествами действием присваивания: СтрокиДляПоказа = СтрокиТоваров.FindByUnderloadedOrOverloaded(true)
Благодарю, все получилось ))
Скажите, а где мануал, в котором можно почитать про FindByUnderloadedOrOverloaded и подобные возможности.
У меня только "Mobile SMARTS 3.0. Работа с компонентой.pdf" и "Mobile-SMARTS-2008-Development-(ru).pdf"