![]() |
#2 |
Участник
|
Цитата:
Нашел куски кода когда неявно предполагалась уникальность этого поля
X++: if (!this.PartyId) { ret = ret && checkFailed(strfmt("@SYS122460")); } else if (!this.validateUniquePartyId()) { // The PartyId is already related to another employee in the same company. ret = ret && checkFailed(strfmt("@SYS123373", "@SYS36113", this.PartyId)); } X++: public boolean validateUniquePartyId() { boolean retValue = true; EmplTable emplTableLocal; ; select count(RecId) from emplTableLocal where emplTableLocal.PartyId == this.PartyId && emplTableLocal.EmplId != this.EmplId; if (emplTableLocal.RecId) { retValue = false; } return retValue; } 1) Физ. лица в компании должны быть сопоставлены с каталогом как один к одному 2) Поставщики, Клиенты возможно как многие к одному, ввиду необособленных подразделений или обособленных или холдингов и т.п. и т.д. Интересно узнать мнение тех кто глубоко в этом разбирался... P.S. Оправдать неуникальность индекса можно было бы только выводом более информативного сообщения, однако сообщение о не уникальности при такой проверке не будет, а вот при вставке записей кодом это может оказать "медвежью услугу" Последний раз редактировалось ansoft; 08.08.2013 в 10:09. |
|
|
За это сообщение автора поблагодарили: Logger (3). |