Ticket #31714

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

Date d'ouverture: 2013-07-12 16:40 Dernière mise à jour: 2013-07-12 16:42

Rapporteur:
Propriétaire:
(Aucun)
Type:
État:
Ouvert
Composant:
(Aucun)
Jalon:
(Aucun)
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Aucun
Fichier:
Aucun

Détails

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

Ticket History (3/3 Histories)

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

◆エラーメッセージ 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 Updated by: saiouga_uma
Commentaire

◆原因 オープン期間を判定する部分の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】) */ かも?

Attachment File List

No attachments

Modifier

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