Я делаю ежемесячный подсчет выполненных платежей, и у меня возникла проблема с получением правильного фильтра.Вот письменная логика, которую я ищу:
сумма (платежи, КОГДА ЛИБО запланированныеPaymentDate соответствует критериям X и Y, И ExecutionDate не существует ИЛИ ВыполнениеDate соответствует критериям X и Y)
Я думаюУ меня проблема с порядком операций в отношении скобок внутри фильтра.Вот фильтр, который у меня сейчас есть:
<xsl:value-of select="sum(payments[(((plannedPaymentDate/@year = $year and plannedPaymentDate/@month = $month) and not(executionDate/@date)) or (executionDate/@year = $year and executionDate/@month = $month))]/amount/co_costprice/@anglosaxon_amount)"/>
Мне известно о том, что он большой и неудобный, но у каждого элемента, над которым я зацикливаюсь, есть несколько платежей с потенциально несколькими датами, и я пытаюсьсуммировать все те платежи, которые соответствуют этому критерию.
Проблема в том, что у меня есть платеж за сентябрь 2019 года, который имеет запланированную дату, но также имеет дату исполнения, равную декабрю 2019 года, поэтому сентябрь должен бытьбыть пустым, но это не так, он показывает сумму платежа запланированной даты.