Объекты встроенного языка для работы с регистрами накопления
*Заливкой выделен объект манипулирования данными
Узнай больше!
Про основные виды объектов встроенного языка можно прочитать в главе "Виды объектов встроенного языка, предназначенные для работы с данными прикладных объектов конфигурации" на странице 551.
РегистрНакопленияЗапись.<имя>. Используется для доступа к записи регистра накопления. Объект не создается непосредственно, а предоставляется другими объектами, отвечающими за регистр накопления. Например, данный объект представляет записи регистра в наборе записей.
РегистрНакопленияКлючЗаписи.<имя>. Представляет собой набор значений, однозначно идентифицирующих запись регистра. [599] Объект используется в тех случаях, когда необходимо сослаться на определенную запись. Например, он выступает в качестве значения свойства "ТекущаяСтрока" табличного поля, отображающего список записей регистра.
Использование объектов:
// РегистрыНакопления
//Пример: Открыть форму списка регистра ОстаткиМатериалов
Форма = РегистрыНакопления.ОстаткиМатериалов.ПолучитьФормуСписка();
Форма.Открыть();
// .<имя регистра накопления>
// [<имя регистра накопления >]
// Для Каждого ... Из ... Цикл... КонецЦикла;
//Пример: Рассчитать итоги регистра ОстаткиМатериалов на указанную дату
УказаннаяДата = ЗаданнаяДата;
ИмяРегистра = "ОстаткиМатериалов";
РегистрыНакопления[ИмяРегистра].УстановитьПериодРассчитанныхИтогов(УказаннаяДата);
// СоздатьКлючЗапнси()
//Пример: Активизировать требуемую строку списка регистра накопления
СтруктураКлючевыхПолей = Новый Структура;
СтруктураКлючевыхПолей.Вставить("Регистратор", Документы.ПриходнаяНакладная.НайтиПоНомеру("0000002"));
СтруктураКлючевыхПолей.Вставить("НомерСтроки",2);
ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока = РегистрыНакопления.ОстаткиМатериалов.СоздатьКлючЗаписи(СтруктураКлючевыхПолей); [600]
НужныйДокумент = Документы.ПриходнаяНакладная.НайтиПоНомеру(4);
Движения = РегистрыНакопления.ОстаткиМатериалов.СоздатьНаборЗаписей();
Движения.Отбор.Регистратор.Значение = НужныйДокумент;
Движения.Прочитать();
// ВыбратьПоРегистратору()
Выборка = РегистрыНакопления.ОстаткиМатериалов.Выбрать(НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата()));
Пока Выборка.Следующий() Цикл
Сообщить("Регистратор: " + Выборка.Регистратор + " Материал: " + Выборка.Материал + " Кол-во: " + Выборка.Количество);
КонецЦикла;
// Для Каждого ... Из ... Цикл ... КонецЦикла;
НужныйДокумент = Документы.ПриходнаяНакладная.НайтиПоНомеру(4);
Движения = РегистрыНакопления.ОстаткиМатериалов.СоздатьНаборЗаписей();
Движения.Отбор.Регистратор.Значение = НужныйДокумент;
Движения.Прочитать();
Для Каждого ОчередноеДвижение Из Движения Цикл
//алгоритм обработки движений
КонецЦикла; [601]