Не формируется суммарное количество продукта в отчете "Остатки по складам"

Не формируется суммарное количество продукта в отчете "Остатки по складам", причём только для одного определённого склада и только для одного определённого типа продукции.
При формировании отчёта выскакивает ошибка, что невозможно открыть такой-то датасет для такого-то поля, хотя другие поля замечательно инициализируются данными из него.

поле отчёта: Memo5
датасет: dsReportOfferingMovementRemain
Memo (значение) поля Memo5: [Sum()]

Нравится

12 комментариев

Если поле с sum убрать и работает, то предположу что sum не нравиться null в данных, в выборку добавить ISNULL(xxxxxx,0). Хотя текст об неоткрытом датасете.

"Борисов Михаил Евгеньевич" написал:

"причём только для одного определённого склада и только для одного определённого типа продукции" - если отчет в принципе работает, то предположу что sum не нравиться null в данных, в выборку добавить ISNULL(xxxxxx,0).


Михаил, вполне возможно, что вы правы, ранее добавлялось поле артикул, но ещё не все продукты его имеют. Если не сложно, можно поподробнее? Это добавить в селектквери? Если да, то куда именно и как?

В sq_ сервис добавить новое поле select, в нем написать ISNULL(Quantity,0) если БД MSSQL, в соотвествующем сервисе ds_ добавить числовое поле и указанть созданое поле в sq_, обновить отчет, вместо Quantity указать новое поле. Все это стоит делать только если отчет работает без этого поля. Как вариант поставить туда max например, если не заработает то не в данных проблема.

Алексей, попробуйте подменить

[Sum(<dsReportOfferingMovementRemain."Quantity">)] 

на

[SUM(<dsReportOfferingMovementRemain."Quantity">,DetailData1)]

будет возникать ошибка?

"Бондарь Наталия" написал:

Алексей, попробуйте подменить

[Sum(<dsReportOfferingMovementRemain."Quantity">)] на [SUM(<dsReportOfferingMovementRemain."Quantity">,DetailData1)] будет возникать ошибка?


не помогло,
"Борисов Михаил Евгеньевич" написал:

В sq_ сервис добавить новое поле select, в нем написать ISNULL(Quantity,0) если БД MSSQL, в соотвествующем сервисе ds_ добавить числовое поле и указанть созданое поле в sq_, обновить отчет, вместо Quantity указать новое поле. Все это стоит делать только если отчет работает без этого поля. Как вариант поставить туда max например, если не заработает то не в данных проблема.


я так понимаю, ISNULL() - это вот эта функция?: http://msdn.microsoft.com/ru-ru/library/ms184325.aspx
в нем написать ISNULL(Quantity,0)
Куда в нем это написать? где написать?
что писать в каждом из этих полей?
Я правильно понимаю, что смысл в том, чтобы преобразовывать NULL в "0"?
Мне не понятно, как с помощью конструктора sq_ это сделать. Простите, но если не сложно, можно ещё подробнее, или хотя бы какую-нибудь ссылочку для понимания происходящего

А обязательно ли это делать через sq?
Создайте в датасете вычисляемое поле ('FieldX'), и на OnDatasetCalcFields пропишите

if (Dataset('Quantity')==null) Dataset('FieldX') = 0;
else Dataset('FieldX') = Dataset('Quantity');

И используйте в отчете это поле.

"Сазанов Александр Владимирович" написал:

А обязательно ли это делать через sq?

Создайте в датасете вычисляемое поле ('FieldX'), и на OnDatasetCalcFields пропишите

if (Dataset('Quantity')==null) Dataset('FieldX') = 0;

else Dataset('FieldX') = Dataset('Quantity');

И используйте в отчете это поле.


Попробовал, пишет ошибку: "Источник данных "%s" не открыт"
Не помогло

А мы вообще туда копаем? Глянул на рисунок. Хоть немного непонятно, но
В MasterData датасет ...RemainHeader, а поле склад относится к датасету ...MovementRemain, а используете в MasterData.
Я думаю вот оно.

"Сазанов Александр Владимирович" написал:

А мы вообще туда копаем? Глянул на рисунок. Хоть немного непонятно, но

В MasterData датасет ...RemainHeader, а поле склад относится к датасету ...MovementRemain, а используете в MasterData.

Я думаю вот оно.


Ок, Вы были правы я там исправил, но по-прежнему выскакивает та же ошибка.

Алексей, согласно телефонной договоренности направьте, пожалуйста, в техническую поддержку резервную копию БД.

"Бондарь Наталия" написал:

Алексей, согласно телефонной договоренности направьте, пожалуйста, в техническую поддержку резервную копию БД.


Направлена

Сервис отчета с исправлениями во вложении.

Показать все комментарии