Показать сообщение отдельно
Старый 15.03.2017, 00:36   #52  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Цитата:
Сообщение от mazzy Посмотреть сообщение
раньше в C# нужно было делать кучу overload методов.
Я почти уверен, что в Аксапте именно так и транслируются методы со значениями по умолчанию - в кучу overload методов. Если только в семерке в Х++ не добавили "именованные" параметры, как в шарпе, то получаем не 2^8 комбинаций дефолтности, а всего лишь 9.
Таким образом, можно свести дальнейший поиск стратегии к умозрительному варианту, что у нас в классе есть 9 методов findDisc:
X++:
boolean findDisc(PriceType             _relation, 
                  InventDimId           _inventDimId,
                  TableGroupAll         _itemCode, 
                  ItemId                _itemRel,
                  TableGroupAll         _accountCode,
                  CustVendAC            _accountRel,
                  UnitOfMeasureSymbol   _unitID,
                  Qty                   _quantityAmoun,
                  CurrencyCode          _currency,
                  AgreementHeaderExtRecId_RU _agreementHeaderExtRecId,
                  CustVendAC                 _agreementPartnerCode,
                  LogisticsPostalAddressRecId _deliveryPostalAddress)
{      
//  основной код 
}
// здесь еще 7 методов
// ...
boolean findDisc(PriceType _relation, InventDimId _inventDimId)  
{      
  return findDisc(_relation, _inventDim, 0,'',0,'','',0,CompanyInfo::standardCurrency(),0,'',0);     
}
...и дальше думать в этом направлении, поскольку:
Цитата:
Сообщение от mazzy Посмотреть сообщение
для каждого метода свой unit-тест и вася-кот. все было логично.