Методы регистров остатков
Выбрать ДвиженияСОстатками
Выбрать все движения регистра с остатками.
Синтаксис:
ВыбратьДвиженияСОстатками(<КонецВыборки>, <ГрафаОтбора>)
Англоязычный синоним:
SelectActsWithRests
Параметры:
<КонецВыборки> | Выражение типа дата, документ или позиция документа задающее конец временного интервала выбора движений регистра. |
<ГрафаОтбора> | Необязательный параметр. Строковое выражение – идентификатор графы отбора, как он задан в конфигураторе. Данный параметр устанавливает режим использования определенной графы отбора. "*" – автоматический выбор графы отбора. Пустая строка – не использовать графу отбора. По умолчанию устанавливается автоматический выбор графы отбора. |
Описание:
Метод ВыбратьДвиженияСОстатками инициирует выбор всех движении регистра в указанном интервале дат. До вызова данной процедуры может быть установлен фильтр (см. УстановитьФильтр), ограничивающий выборку значений из регистра. Если <КонецВыборки> не указан или равен 0, то конном временного интервала выбора движений регистра считается ТА.
Данный метод отличается от метода ВыбратьДвижения тем, что после получения очередного движения метод Остаток будет выдавать актуальные значения остатков для этого регистра. Но для этого перед вызовом метода ВыбратьДвиженияСОстатками регистру должен быть установлен признак временногоРасчета" (см. ВременныйРасчет) и должен быть выполнен временный расчет (см. РассчитатьРегистрыНа и РассчитатьРегистрыПо) – его дата и будет являться начальной датой выбираемых движений регистра. Данная возможность не может быть использована совместно с дальнейшими "Временными" расчетами.
Собственно выбор первого и последующих движений регистра осуществляется методом ПолучитьДвижение.
Данный метод используется только для регистров остатков.
Пример:
Рег = СоздатьОбъект("Регистр.Взаиморасчеты"); Рег.ВременныйРасчет(); Рег.УстановитьФильтр(Клиент, ); РассчитатьРегистрыНа(ДатаНачала); Рег.ВыбратьДвиженияСОстатками(ДатаКонца); Пока Рег.ПолучитьДвижение() = 1 Цикл Прих = 0; Расх = 0; Если Рег.Приход = 1 Тогда Прих = Рег.Долг; Иначе Расх = Рег.Долг; КонецЕсли; ТекущееСальдо = Рег.Остаток(Клиент, "Задолженность"); Док = Рег.ТекущийДокумент(); Таб.ВывестиСекцию("Документ"); КонецЦикла;
См. также: УстановитьФильтр, ПолучитьДвижение, ВыбратьДвижения, ВременныйРасчет, РассчитатьРегистрыНа, РассчитатьРегистрыПо.