Таким образом, у меня есть приведенный ниже случай в отчетах Crystal.
Основной отчет, в котором есть запрос, в котором отображаются сведения о партиях в подотчете счета-фактуры, который показывает детали партий, включенных в основной отчет, но не включены в этот документ. Так, например,
- Счет-фактура A имеет 10 элементов, все с одной и той же партией (это будет показано в основном отчете)
- Счет-фактура B, C, D имеет еще 3 элемента в той же партии (таким образом, всего 13 позиций для этой партии в 4 разных документах) и 3 позиции, которых нет в документе А., - это то, что появляется в подотчете.
Теперь легко достичь это в Crystal Reports, потому что вы можете связать подотчеты с полями для прямой фильтрации, не связывая запросы, однако, поскольку CR не является ядром базы данных, фильтрация выполняется очень медленно, и для решения этой проблемы мне нужно решение в запросе SQL:
Я попытался преобразовать его в UNION ALL, чтобы он был
Main Report
Union ALL
Sub Report
Проблема в том, что я не могу скопировать случай подотчета, поскольку группировка должна быть по документу, затем по пакету и по 3 элементам. из подотчета не в том же документе, поэтому они не сгруппированы по одному измерению сейчас, и это разрушает отчет.
Я знаю, что это не логично, но после попытки Все решения, которые пришли мне в голову, я подумал, что, может быть, у кого-то более опытного будет другое мнение, в основном для каждого счета в основном отчете мне нужно показать все позиции, которые не входят в этот конкретный счет c, поэтому сейчас у меня нет ссылки, потому что Элемент не тот же, документ не тот, и только пакет одинаков, но это ссылка многие ко многим.
РЕДАКТИРОВАТЬ: для простоты, скажем, это основной запрос
SELECT
T0.DocumentNumber,
T2.ItemCode,
T2.ItemName,
T3.BatchNumber,
T3.Quantity
FROM DocHeader T0
JOIN DocRows T1 ON T0.DocumentEntry = T1.DocumentEntry
JOIN ItemMaster T2 ON T1.ItemCode = T2.ItemCode
JOIN BatchTransaction T3 ON T1.Document Entry = T3.DocumentEntry and
T3.DocumentType = T1.DocumentType and T3.DocumentLine = T1.DocumentLine
Отчет сгруппирован по номеру документа, поэтому мне нужен тот же запрос, но для каждого другого номера документа, который не входит в основной запрос, присоединенный к основному запросу. 2 проблемы: 1. Они могут оставить параметр номера документа пустым и выбрать все документы в таблице, поэтому этот процесс должен выполняться отдельно для каждого документа. 2. номер документа в подзапросе никогда не будет прежним, поэтому проблема заключается в группировке, поскольку отчет должен быть сгруппирован по номеру документа основного запроса.