Показать сообщение отдельно
Старый 20.04.2009, 16:46   #1  
Shakr
Гость
 
n/a
Как могло быть перекрыто \Classes\FormStringControl\Lookup?
Ситуация: Аксапта 3.0
Когда у нас по полю "Группа договоров" в Договорах происходит лукап, выводится 2 столбца: группа договоров и название.
причём отсортирован набор по второму полю (название).

Я лезу в дебугер, рою, рою и нарываю следующее:
Класс: (C) \Classes\FormStringControl\Lookup - line 24

Код:
// Changed on 11 Апр 2003 at 12:05:37 by green, KV05
public void lookup()
{
  KV05_ImportContractTypeReference Tr;

  Query q = new Query();
  QueryBuildDataSource queryBuildDataSource;
  QueryBuildRange queryBuildRange;
  SysTableLookup sysTableLookup;
  TableId tableId;
  FieldId fieldId;
  ;

  tableId = tablename2id('RContractTypes');
  sysTableLookup = SysTableLookup::newParameters(tableId,this);

  fieldId = fieldname2id(tableId, 'ContractCode');
  sysTableLookup.addLookupfield(fieldId);

  fieldId = fieldname2id(tableId, 'ContractCodeName');
  sysTableLookup.addLookupfield(fieldId);

  queryBuildDataSource = q.addDataSource(tableId);
  queryBuildDataSource.addSortField(fieldId);

  queryBuildRange = queryBuildDataSource.AddRange(fieldnum(RContractTypes, ContractPartnerType));
  queryBuildRange.value(queryvalue(RContractTable.RContractPartnerType));

  queryBuildDataSource.addSortField(fieldname2id(tableId, 'ContractCode'));

  sysTableLookup.parmQuery(q);
  this.performFormLookup(sysTableLookup.formRun());
}
Косяк (или фича) тут:
Код:
  fieldId = fieldname2id(tableId, 'ContractCode');
  sysTableLookup.addLookupfield(fieldId);

  fieldId = fieldname2id(tableId, 'ContractCodeName');
  sysTableLookup.addLookupfield(fieldId);

  queryBuildDataSource = q.addDataSource(tableId);
  queryBuildDataSource.addSortField(fieldId);
проблема в следующем - я вообще не вижу этот класс в АОТ. Не понимаю где он перекрыт и кто его вызывает. Как-то Грин подсовывает свой класс вместо моего, но как?

Upd: всё, нашлось в методе контрола грида.
\Forms\RContractTable\Designs\Design\[Group:Group]\[Tab:Tab]\[TabPage:Overview]\[Grid:Grid]\StringEdit:RContractTable_RContractCode\Methods\lookup
Топик удалить не получается

Upd2: я пробовал искать по закомментированой строке. Не нашёл

Последний раз редактировалось Shakr; 20.04.2009 в 16:55.