РегистрРасчетаМенеджер.<Имя регистра расчета>.ПолучитьБазу (CalculationRegisterManager.<Имя регистра расчета>.GetBase)

Синтаксис:

ПолучитьБазу(<Отбор>, <Ресурсы>, <Измерения>, <Разрезы>)

Параметры:

<Отбор> (обязательный)

Тип: Структура; Отбор.
Если параметр имеет тип Структура, то представляет собой фильтр для записей регистра, по которому будет получена база. Имена элементов структуры должны быть или словом "Регистратор" и/или совпадать с именами измерений регистра расчета. Значения элементов структуры представляют собственно значения отбора. Должно присутствовать как минимум условие на регистратор.
Если параметр имеет тип Отбор, то представляет отбор, по которому будет получена база. В отборе должен быть использован как минимум элемент отбора по регистратору. Все элементы отбора должны устанавливать условие с вариантом сравнения "Равно".

<Ресурсы> (обязательный)

Тип: Массив.
Массив строк - список ресурсов базовых регистров расчета, которые необходимо просуммировать.
Каждый элемент массива - строка, в которой через запятую задаются ресурсы базовых регистров расчета как они заданы в конфигураторе в формате <Имя регистра расчета>.<Имя ресурса>.

<Измерения> (обязательный)

Тип: Структура.
Каждый элемент структуры задает список измерений базовых регистров расчета, по которым будет выполнять подбор базы. Имена элементов структуры должны совпадать с именами измерений текущего регистра, а значения элементов структуры - строки, со списком измерений базовых регистров через запятую.
Если регистр расчета имеет измерения И1, И2, И3, то можно задать не более трех параметров метода. Первый из них - список измерений базовых регистров, которые сравниваются с И1, второй - список измерений базовых регистров, которые сравниваются с И2 и т.д.
Имена измерений задаются в формате <Имя регистра расчета>.<Имя измерения>.
Если параметр пропущен, это значит, что на соответствующее измерение не налагается условие.

<Разрезы> (необязательный)

Тип: Массив.
Задает измерения и реквизиты базовых регистров расчета в разрезе которых нужно получить базу.
Если параметром <Измерения> задается структура, устанавливающая правила сопоставления измерений базовых регистров и измерений текущего регистра, то параметром <Разрезы> задается массив измерений и реквизитов базовых регистров, в разрезе которых будет получена база.
Если параметр задан, то, в общем случае, число строк полученной таблицы значений будет больше, чем число записей регистра для заданного регистратора.
Если параметр не задан, то число строк полученной таблицы значений будет равно числу записей регистра для заданного регистратора.

Возвращаемое значение:

Тип: ТаблицаЗначений.

Описание:

Получает базу для записей регистра, удовлетворяющих заданному отбору (как правило - регистратору).
Возвращаемая таблица значений содержит колонку "НомерСтроки", колонки с суммированными ресурсами (сколько задано в параметре <Ресурсы>) и колонки с заданными разрезами (сколько задано в параметре <Разрезы>).

Доступность:

Сервер, толстый клиент, внешнее соединение.

Пример:

Отбор = Новый Структура();
Ресурсы = Новый Массив(1);
Ресурсы[0] = "РаспределениеОсновныхНачислений.Результат";
Измерения = Новый Структура("ФизЛицо,Организация,Отдел,Должность");
Измерения.Вставить("ФизЛицо","РаспределениеОсновныхНачислений.Физлицо");
Измерения.Вставить("Организация","РаспределениеОсновныхНачислений.Организация)";
Измерения.Вставить("Отдел","РаспределениеОсновныхНачислений.Отдел");
Измерения.Вставить("Должность","РаспределениеОсновныхНачислений.Должность");
Разрезы = Новый Массив(1);
Разрезы[0] = "РаспределениеОсновныхНачислений.СпособРаспределения";

Регистр = РегистрыРасчета.ОсновныеНачисленияСотрудников;
НаборЗаписей = Регистр.СоздатьНаборЗаписей();
ДокументыНачислений = Запрос.Выполнить().Выгрузить();
Для 
Каждого Документ Из ДокументыНачислений Цикл
    Отбор.Вставить("Регистратор",Документ.Регистратор);
    Данные = Регистр.ПолучитьБазу(Отбор,Ресурсы,Измерения,Разрезы);
    БазовыеДанныеСвод = Данные.Скопировать();
    БазовыеДанныеСвод.Свернуть("НомерСтроки","Результат");
    НаборЗаписей.Отбор.Регистратор.Значение = Документ.Регистратор;
    НаборЗаписей.Прочитать();
    ОсновныеДанные = НаборЗаписей.Выгрузить();

    // обработка строк набора записей
    // ...
КонецЦикла;

См. также:

Отбор
ЭлементОтбора

    

1C:Enterprise Developer's Community