Ticket #31714

配分リセットにおいて期間を指定すると実行できない

Eröffnet am: 2013-07-12 16:40 Letztes Update: 2013-07-12 16:42

Auswertung:
Verantwortlicher:
(Keine)
Typ:
Status:
Offen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine

Details

配分リセットで期間を入力すると実行できません。 配分番号の指定の場合は削除できますが、 期間がオープンでなくても1件消えてしまいます。

Ticket-Verlauf (3/3 Historien)

2013-07-12 16:40 Aktualisiert von: saiouga_uma
  • New Ticket "配分リセットにおいて期間を指定すると実行できない" created
2013-07-12 16:41 Aktualisiert von: saiouga_uma
Kommentar

◆エラーメッセージ AllocationReset.doIt SELECT * FROM C_AllocationHdr ah WHERE EXISTS (SELECT * FROM C_AllocationLine al WHERE ah.C_AllocationHdr_ID=al.C_AllocationHdr_ID AND al.C_BPartner_ID=? AND TRIM(ah.DateAcct) >= ? AND TRIM(ah.DateAcct) <= ? AND al.C_CashLine_ID IS NULL) AND EXISTS (SELECT * FROM C_Period p INNER JOIN C_PeriodControl pc ON (p.C_Period_ID=pc.C_Period_ID AND pc.DocBaseType='CMA') WHERE ah.DateAcct BETWEEN p.StartDate AND p.EndDate)

2013-07-12 16:42 Aktualisiert von: saiouga_uma
Kommentar

◆原因 オープン期間を判定する部分のSQL文にバグがある(と思う) AND EXISTS (SELECT * FROM C_Period p INNER JOIN C_PeriodControl pc ON (p.C_Period_ID=pc.C_Period_ID AND pc.DocBaseType='CMA') WHERE ah.DateAcct BETWEEN p.StartDate AND p.EndDate) 「期間がオープンの場合、配分は削除されます」とのことなので、 この部分は期間オープンかどうかの確認部分と思われる だとすれば WHERE ah.DateAcct BETWEEN p.StartDate AND p.EndDate ではなく SELECT * FROM adempiere.C_Period p INNER JOIN adempiere.C_PeriodControl pc ON (p.C_Period_ID=pc.C_Period_ID AND pc.DocBaseType='CMA') WHERE (pc.periodstatus='O' AND p.isactive='Y') AND(?【期間FROM】>=p.startdate and p.startdate>= ?【期間TO】)or(?【期間FROM】>=p.enddate and p.endtdate>=?【期間TO】) /*AND(p.startdate BETWEEN ?【期間FROM】AND ?【期間TO】)OR(p.enddate BETWEEN ?【期間FROM】AND ?【期間TO】) */ かも?

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden