function GetSingleItemByCode(Code, UniqueCode)

Кто-нибудь! Объясните, пожалуйста, что делает параметр UniqueCode в

function GetSingleItemByCode(Code, UniqueCode) {
        if (Services.AlwaysGetLastItemVersion){
                return Services.GetNewItemByUSI(Code);
        }
        if (IsEmptyValue(Code)) {
                return null;
        }
        if (IsEmptyValue(UniqueCode)) {
                UniqueCode = '';
        }
        var SingleItemsDictionary = Connector.Attributes('SingleItemsDictionary');
        if (!Assigned(SingleItemsDictionary)) {
        SingleItemsDictionary = GetNewDictionary();
                Connector.Attributes('SingleItemsDictionary') = SingleItemsDictionary;
        }
        var ServiceKey = Code + UniqueCode;
        var Item = SingleItemsDictionary(ServiceKey);
        if (!Assigned(Item)) {
            Item = Services.GetNewItemByUSI(Code);
                SingleItemsDictionary(ServiceKey) = Item;
        }
        if (Item.ServiceTypeCode == 'DBDataset') {
                Item.Close();
        }
        return Item;
}

Я уже давно на это смотрю, но так и не понял

Нравится

2 комментария

Если его задавать разным для одного USI сервиса - будут разные объекты в памяти.
Если одинаковым для одного USI сервиса - будет возвращать ссылку на один и тот же объект, что экономит время на его создание.

понял, спасибо

Показать все комментарии