выбор колонок для вывода в показателях
Добавляю колонки к показателям
fcSlice.BeginUpdate;
fcSlice.AddFieldTo('CULNWARETYPENAME', 'Тип товара', rf_CapYAx);
fcSlice.AddFieldTo('LINECOUNT', 'Кол-во', rf_CapFacts, af_Sum);
fcSlice.AddFieldTo('LINESTOCKSUMM', 'Сумма уч.', rf_CapFacts, af_Sum);
fcSlice.AddFieldTo('LINESUMM', 'Сумма', rf_CapFacts, af_Sum);
fcslice.AddCalcFieldTo('PRIBIL', 'begin'#13#10 +
' result := measures.CurrentValue - measures.CurrentValue;'#13#10 +
'end.', 'Прибыль', 0, af_Formula);
fcSlice.AddFieldTo(sMeasuresFieldName, '', rf_CapXAx);
fcSlice.EndUpdate;
Взял код из примера
if fcSlice.SliceFields.Find('#MEASURES', AIndex) then begin
if (fcSlice.SliceFields[AIndex].Regions * [rf_CapXAx, rf_CapYAx, rf_Page]) <> [] then begin
showmessage(inttostr(aindex));
if fcCube.FindUnique(fcSlice.SliceFields[AIndex].CubeField.Index, 'Прибыль', AUniqueValueIndex) then begin
showmessage(inttostr(aindex)+' '+inttostr(AUniqueValueIndex));
end;
end;
end;
первый showmessage выводится, а ко второму дело не доходит.
пробовал найти кол-во - тоже не доходит.
Подскажите, в чем ошибаюсь. (в конце концов хочу убрать галочку с вывода прибыли)
fcSlice.BeginUpdate;
fcSlice.AddFieldTo('CULNWARETYPENAME', 'Тип товара', rf_CapYAx);
fcSlice.AddFieldTo('LINECOUNT', 'Кол-во', rf_CapFacts, af_Sum);
fcSlice.AddFieldTo('LINESTOCKSUMM', 'Сумма уч.', rf_CapFacts, af_Sum);
fcSlice.AddFieldTo('LINESUMM', 'Сумма', rf_CapFacts, af_Sum);
fcslice.AddCalcFieldTo('PRIBIL', 'begin'#13#10 +
' result := measures.CurrentValue - measures.CurrentValue;'#13#10 +
'end.', 'Прибыль', 0, af_Formula);
fcSlice.AddFieldTo(sMeasuresFieldName, '', rf_CapXAx);
fcSlice.EndUpdate;
Взял код из примера
if fcSlice.SliceFields.Find('#MEASURES', AIndex) then begin
if (fcSlice.SliceFields[AIndex].Regions * [rf_CapXAx, rf_CapYAx, rf_Page]) <> [] then begin
showmessage(inttostr(aindex));
if fcCube.FindUnique(fcSlice.SliceFields[AIndex].CubeField.Index, 'Прибыль', AUniqueValueIndex) then begin
showmessage(inttostr(aindex)+' '+inttostr(AUniqueValueIndex));
end;
end;
end;
первый showmessage выводится, а ко второму дело не доходит.
пробовал найти кол-во - тоже не доходит.
Подскажите, в чем ошибаюсь. (в конце концов хочу убрать галочку с вывода прибыли)
Комментарии
С показателями надо обращаться немного иначе (в fceaxample есть пример).
Для Вашего случая:
procedure ex_HideMeasurePRIBIL;
var AIndex: integer;
begin
AIndex := fcSlice.FieldsOfRegion(rf_CapFacts).IndexOf('PRIBIL');
if AIndex >= 0 then
begin
fcSlice.CapFactsFieldsAbs[AIndex].VisibleInData := False;
end
end;
С уважением,
Олег Прялков.
Спасибо.