Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

common_all:workingwithobjects [2015/06/08 14:47] (текущий)
Строка 1: Строка 1:
 +{{ :​common_pics:​1c_128.png?​nolink&​128|}}
 +====== Приемы работы с объектами конфигурации ======
 +
 +[[common_all:​managedforms|назад]]
 +
 +----
 +
 +===== Константы =====
 +
 +Примеры использования объектов:​
 +<​code>​1. ​ // Глобальный контекст
 +// Константы
 +// Пример:​ установить значение константы.
 +
 +Константы.Бухгалтер.Установить("​Сидоров Петр Иванович"​);​
 +
 +
 +2.  // объект КонстантыМенеджер
 +// .<имя константы>​
 +// [<имя константы>​]
 +// Для Каждого … Из … Цикл … КонецЦикла;​
 +// Пример:​ прочитать значение константы.
 +
 +Результат = Константы.ПрефиксНумерации.Получить();​
 +Сообщить("​Значение константы ПрефиксНумерации = "+ Результат);​
 +
 +// Пример:​ установить значение константы ПрефиксНумерации равным ЦБ.
 +
 +Константы["​ПрефиксНумерации"​].Установить("​ЦБ"​);​
 +Сообщить("​Новое значение = " + Константы["​ПрефиксНумерации"​].Получить());​
 +
 +// Пример:​ очистить значения всех констант.
 +
 +Для КаждогоОчереднаяКонстанта ИзКонстанты Цикл
 +    ОчереднаяКонстанта.Установить(Неопределено);​
 +КонецЦикла;​
 +
 +
 +3.  // объект КонстантыМенеджер
 +// СоздатьНабор()
 +// Пример:​ установить новые значения нескольких констант.
 +
 +Набор = Константы.СоздатьНабор("​Руководитель,​ Бухгалтер"​);​
 +Набор.Руководитель = "​Николаев Денис Павлович";​
 +Набор.Бухгалтер = "​Николаева Людмила Сергеевна";​
 +Набор.Записать();​
 +
 +
 +4.  // объект КонстантаМенеджер.<​имя>​
 +// СоздатьМенеджерЗначения()
 +// Пример:​ вывести значения всех констант,​ существующих в конфигурации.
 +
 +Для Каждого ОчереднаяКонстанта Из Константы Цикл
 +    ИмяКонст = ОчереднаяКонстанта.СоздатьМенеджерЗначения().Метаданные().Имя;​
 +    ЗначениеКонст = ОчереднаяКонстанта.Получить();​
 +    Сообщить("​Константа "+ ИмяКонст +" = "+ ЗначениеКонст);​
 +КонецЦикла;</​code>​
 +
 +
 +
 +===== Справочники =====
 +
 +Примеры использования объектов:​
 +<​code>​1. ​ // Глобальный контекст
 +// Справочники
 +// Пример:​ вывести все типы ссылок на элементы справочников,​ существующие в конфигурации.
 +
 +Массив = Справочники.ТипВсеСсылки().Типы();​
 +Для Каждого ОчереднойТип из Массив Цикл
 +    Сообщить(ОчереднойТип);​
 +КонецЦикла;​
 +
 +
 +2.  // объект СправочникиМенеджер
 +// .<имя справочника>​
 +// [<имя справочника>​]
 +// Для Каждого … Из … Цикл … КонецЦикла;​
 +// Пример:​ создать новую группу справочника "​Номенклатура"​.
 +
 +НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();​
 +НоваяГруппа.Наименование = "​Моя новая группа";​
 +НоваяГруппа.Записать();​
 +
 +// Пример:​ получить ссылку на справочник "​Номенклатура"​.
 +
 +Справочники["​Номенклатура"​].ПолучитьСсылку();​
 +
 +
 +3.   // объект СправочникМенеджер.<​Имя справочника>​
 +// НайтиПоКоду()
 +// НайтиПоНаименованию()
 +// НайтиПоРеквизиту()
 +// ПустаяСсылка()
 +// ПолучитьСсылку()
 +// .<имя предопределенного элемента справочника>​
 +// Пример:​ проверить,​ помечен ли на удаление элемент справочника "​Номенклатура"​ с кодом 13.
 +
 +Если Справочники.Номенклатура.НайтиПоКоду(13).ПометкаУдаления Тогда
 +    Сообщить("​Элемент с кодом 13 помечен на удаление"​);​
 +КонецЕсли;​
 +
 +// Пример:​ является ли элемент справочника "​Номенклатура"​ с наименованием "​Услуги"​ группой.
 +
 +Если Справочники.Номенклатура.НайтиПоНаименованию("​Услуги",​ Истина).ЭтоГруппа Тогда
 +    Сообщить("​Элемент Услуги является группой"​);​
 +КонецЕсли;​
 +
 +// Пример:​ проверить,​ что для всех элементов задан вид номенклатуры.
 +
 +ПустаяСсылкаПеречисления = Перечисления.ВидыНоменклатуры.ПустаяСсылка();​
 +Если Не Справочники.Номенклатура.НайтиПоРеквизиту("​ВидНоменклатуры",​ ПустаяСсылкаПеречисления).Пустая() Тогда ​
 +    Сообщить("​Есть элементы,​ для которых не задан вид номенклатуры"​);​
 +КонецЕсли;​
 +
 +// Пример:​ передать пустую ссылку в параметр метода.
 +
 +Выборка = Справочники.Номенклатура.Выбрать(Справочники.Номенклатура.ПустаяСсылка());​
 +
 +
 +4.  // объект СправочникМенеджер.<​Имя справочника>​
 +// Выбрать()
 +// ВыбратьИерархически()
 +// Пример:​ вывести список элементов,​ расположенных в корне справочника.
 +
 +Выборка = Справочники.Номенклатура.Выбрать(Справочники.Номенклатура.ПустаяСсылка());​
 +Пока Выборка.Следующий() Цикл ​
 +    Если Не Выборка.ЭтоГруппа тогда
 +        Сообщить(Выборка);​
 +    КонецЕсли;​
 +КонецЦикла;​
 +
 +// Пример:​ удалить все элементы иерархического справочника.
 +
 +Выборка = Справочники.Номенклатура.ВыбратьИерархически();​
 +Пока Выборка.Следующий() Цикл ​
 +    Выборка.Удалить();​
 +КонецЦикла;​
 +
 +
 +5.  // объект СправочникМенеджер.<​Имя справочника>​
 +// СоздатьГруппу()
 +// СоздатьЭлемент()
 +// Пример:​ создать новый элемент справочника "​Сотрудники"​.
 +
 +НовыйЭлемент = Справочники.Сотрудники.СоздатьЭлемент();​
 +НовыйЭлемент.Наименование = "​Смирнов Андрей Анатольевич";​
 +
 +// Заполнить табличную часть "​ТрудоваяДеятельность"​.
 +
 +НоваяСтрокаТабличнойЧасти = НовыйЭлемент.ТрудоваяДеятельность.Добавить();​
 +НоваяСтрокаТабличнойЧасти.Организация = "​ООО НТЦ";​
 +НоваяСтрокаТабличнойЧасти.НачалоРаботы = Дата(2013,​02,​01);​
 +НоваяСтрокаТабличнойЧасти.ОкончаниеРаботы = Дата(2013,​08,​31);​
 +НоваяСтрокаТабличнойЧасти.Должность = "​Программист";​
 +НовыйЭлемент.Записать();​
 +
 +
 +6.  // объект СправочникОбъект.<​Имя справочника>,​ СправочникСсылка.<​Имя справочника>​
 +// Владелец
 +// Родитель
 +// Ссылка
 +// Пример:​ запретить изменение подчиненных элементов,​ если у
 +// владельца установлено соответствующее свойство
 +// "​ИзмененияЗапрещены"​ в модуле формы элемента справочника.
 +
 +Процедура ПередЗаписью(Отказ)
 +    Если Владелец.ИзмененияЗапрещены Тогда
 +        Отказ = Истина;​
 +    КонецЕсли;​
 +КонецПроцедуры
 +
 +
 +7.  // объект СправочникСсылка.<​Имя справочника>​
 +// ПолучитьОбъект()
 +// СправочникОбъект.<​Имя справочника>​
 +// Скопировать()
 +// Пример:​ изменить наименование элемента справочника.
 +
 +Элемент = Справочники.Номенклатура.НайтиПоКоду(10).ПолучитьОбъект();​
 +Элемент.Наименование = "​Мое новое наименование";​
 +Элемент.Записать();​
 +
 +// Пример:​ заполнить справочник тестовыми данными.
 +
 +Элемент = Справочники.Номенклатура.СоздатьЭлемент();​
 +Элемент.Наименование = "​Тестовый элемент";​
 +Элемент.Записать();​
 +Для ш = 1 по 1000 Цикл ​
 +    НовыйЭлемент = Элемент.Скопировать();​
 +    НовыйЭлемент.Записать();​
 +КонецЦикла;​
 +
 +
 +8.  // объект СправочникВыборка.<​Имя справочника>​
 +// Ссылка
 +// Пример:​ заполнить табличную часть документа
 +// "​ПриходнаяНакладная"​ всеми элементами из указанной группы справочника "​Номенклатура"​.
 +
 +Выборка = Справочники.Номенклатура.ВыбратьИерархически(ПолеВвода1);​
 +Пока Выборка.Следующий() Цикл ​
 +    СсылкаНаНоменклатуру = Выборка.Ссылка;​
 +    Если СсылкаНаНоменклатуру.ЭтоГруппа Тогда
 +        Продолжить; ​
 +    КонецЕсли;​
 +    НоваяСтрока = Материалы.Добавить();​
 +    НоваяСтрока.Материал = СсылкаНаНоменклатуру;​
 +КонецЦикла;​
 +
 +
 +9.  // объект СправочникВыборка.<​Имя справочника>​
 +// ПолучитьОбъект() ​
 +// Пример:​ пометить все элементы неиерархического справочника на удаление.
 +
 +Выборка = Справочники.Клиенты.Выбрать();​
 +Пока Выборка.Следующий() Цикл ​
 +    Выборка.ПолучитьОбъект().УстановитьПометкуУдаления(Истина);​
 +КонецЦикла;</​code>​
 +
 +
 +===== Документы =====
 +
 +Примеры использования объектов:​
 +<​code>​1. ​ // Глобальный контекст
 +// Документы
 +// Пример:​ вывести все типы ссылок на элементы справочников,​ существующие в конфигурации.
 +
 +Массив = Документы.ТипВсеСсылки().Типы();​
 +Для Каждого ОчереднойТип из Массив Цикл ​
 +    Сообщить(ОчереднойТип);​
 +КонецЦикла;​
 +
 +
 +2.  //​объект ДокументыМенеджер
 +// .<имя документа>​
 +// [<имя документа>​]
 +// Для Каждого … Из … Цикл … КонецЦикла;​
 +// Пример:​ получить макет для печати документа "​Оказание услуги"​.
 +
 +Макет = Документы["​ОказаниеУслуги"​].ПолучитьМакет("​Печать"​);​
 +
 +// Пример:​ получить ссылку на каждый из документов,​ существующих в конфигурации.
 +
 +Для КаждогоОчереднойДокумент ИзДокументы Цикл
 +    Ссылка = ОчереднойДокумент.ПолучитьСсылку();​
 +    …
 +КонецЦикла;​
 +
 +
 +3.   // объект ДокументМенеджер.<​Имя документа>​
 +// НайтиПоНомеру()
 +// НайтиПоРеквизиту()
 +// ПустаяСсылка()
 +// Пример:​ Проверить,​ проведен ли документ ПриходнаяНакладная с номером 3.
 +
 +Если Документы.ПриходнаяНакладная.НайтиПоНомеру(3).Проведен Тогда
 +    Сообщить("​Документ с номером 3 проведен"​);​
 +КонецЕсли;​
 +
 +// Пример:​ Проверить,​ что во всех документах ПриходнаяНакладная заполнен реквизит Склад.
 +
 +ПустаяСсылкаСклада = Справочники.Склады.ПустаяСсылка();​
 +Если Не Документы.ПриходнаяНакладная.НайтиПоРеквизиту("​Склад",​ ПустаяСсылкаСклада).Пустая() Тогда ​
 +    Сообщить("​Есть документы,​ у которых не заполнен реквизит Склад"​);​
 +КонецЕсли;​
 +
 +
 +4.   // объект ДокументМенеджер.<​Имя документа>​
 +// Выбрать()
 +// Пример:​ Выбрать все документы ПриходнаяНакладная за текущий месяц.
 +
 +Выборка = Документы.ПриходнаяНакладная.Выбрать(НачалоМесяца(ТекущаяДата()),​ КонецМесяца(ТекущаяДата()));​
 +Пока Выборка.Следующий() Цикл ​
 +    Сообщить(Выборка);​
 +КонецЦикла;​
 +
 +
 +5.   // объект ДокументМенеджер.<​Имя документа>​
 +// СоздатьДокумент()
 +// Пример:​ Создать новый документ ПриходнаяНакладная.
 +
 +НовыйДокумент = Документы.ПриходнаяНакладная.СоздатьДокумент();​
 +НовыйДокумент.Дата = ТекущаяДата();​
 +НовыйДокумент.Склад = Справочники.Склады.Основной;​
 +
 +// Заполнить табличную часть Материалы
 +
 +НоваяСтрокаТабличнойЧасти = НовыйДокумент.Материалы.Добавить();​
 +НоваяСтрокаТабличнойЧасти.Материал = Справочники.Номенклатура.НайтиПоКоду(6);​
 +НоваяСтрокаТабличнойЧасти.Количество = 10;
 +НоваяСтрокаТабличнойЧасти.Цена = 22.5;
 +НоваяСтрокаТабличнойЧасти.Сумма = 225;
 +НовыйДокумент.Записать();​
 +
 +
 +6.   // объект ДокументОбъект.<​Имя документа>,​ объект ДокументСсылка.<​Имя документа>​
 +// Ссылка
 +// Пример:​ в модуле объекта вызвать процедуру проверки заполнения реквизитов документа.
 +
 +Если Не ПроверитьЗаполнениеРеквизитов(ЭтотОбъект.Ссылка) Тогда
 +    Сообщить("​Реквизиты документа не заполнены!"​);​
 +КонецЕсли;​
 +
 +
 +7.   // объект ДокументСсылка.<​Имя документа>,​ объект ДокументОбъект.<​Имя документа>​
 +// ПолучитьОбъект()
 +// Скопировать()
 +// Пример:​ пометить документ на удаление.
 +
 +НенужныйДокумент = Документы.ОказаниеУслуги.НайтиПоНомеру(13).ПолучитьОбъект();​
 +НенужныйДокумент.УстановитьПометкуУдаления(Истина);​
 +
 +
 +8.   // объект ДокументВыборка.<​Имя документа>​
 +// Ссылка
 +// Сформировать список ссылок на все документы "​ПриходнаяНакладная"​ за текущий месяц.
 +
 +СписокНакладных = Новый СписокЗначений;​
 +Выборка = Документы.ПриходнаяНакладная.Выбрать(НачалоМесяца(ТекущаяДата()),​
 +КонецМесяца(ТекущаяДата()));​
 +Пока Выборка.Следующий() Цикл ​
 +    СписокНакладных.Добавить(Выборка.Ссылка);​
 +КонецЦикла;​
 +
 +
 +9.   // объект ДокументВыборка.<​Имя документа>​
 +// ПолучитьОбъект()
 +// Пример:​ удалить все документы "​ПриходнаяНакладная"​.
 +
 +Выборка = Документы.ПриходнаяНакладная.Выбрать();​
 +Пока Выборка.Следующий() Цикл ​
 +    Выборка.ПолучитьОбъект().Удалить();​
 +КонецЦикла;</​code>​
 +
 +
 +===== Перечисления =====
 +
 +Примеры использования объектов:​
 +<​code>​1. ​ // Глобальный контекст
 +// Перечисления
 +// Пример:​ получить значение перечисления по индексу.
 +
 +Перечисления.ВидыНоменклатуры.Получить(0);​
 +
 +
 +2.  // объект ПеречисленияМенеджер
 +// .<имя перечисления>​
 +// [<имя перечисления>​]
 +// Для Каждого … Из … Цикл … КонецЦикла;​
 +// Пример:​ получить количество значений перечисления
 +Перечисления.["​ВидыНоменклатуры"​].Количество();​
 +
 +
 +3.   // объект ПеречислениеМенеджер.<​Имя>​
 +// .<имя значения перечисления>​
 +// [<имя значения перечисления>​]
 +// [<​индекс элемента коллекции>​]
 +// Для Каждого … Из … Цикл … КонецЦикла;​
 +// ПустаяСсылка()
 +// Пример:​ получить пустую ссылку на значение перечисления.
 +
 +
 +ПустаяСсылкаПеречисления = Перечисления.ВидыНоменклатуры.ПустаяСсылка();​
 +Если ТекущаяНоменклатура.ВидНоменклатуры = ПустаяСсылкаПеречисления Тогда
 +    // Предложить заполнение вида номенклатуры.
 +    …
 +КонецЕсли;​
 +…</​code>​
 +
 +
 +===== Планы видов характеристик,​ Планы счетов,​ Планы видов расчета,​ Планы обмена =====
 +
 +Свойства и методы во многом аналогичны работе со свойствами и методами при работе со справочниками.
 +
 +
 +===== Регистры сведений =====
 +
 +Примеры использования объектов:​
 +<​code>​1. ​ // Глобальный контекст
 +// РегистрыСведений
 +// Пример:​ получить текущую цену из периодического регистра сведений "​Цены"​.
 +
 +Элемент = Справочники.Номенклатура.НайтиПоКоду(4);​
 +Отбор = Новый Структура("​Номенклатура",​ Элемент);​
 +ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(ТекущаяДата(),​ Отбор);​
 +Цена = ЗначенияРесурсов.Цена;​
 +
 +
 +2.  // объект РегистрыСведенийМенеджер
 +// .<имя регистра сведений>​
 +// [<имя регистра сведений>​]
 +// Для Каждого … Из … Цикл … КонецЦикла;​
 +// Пример:​ Получить начальную цену из периодического регистра сведений Цены.
 +
 +ИмяРегистра = "​Цены";​
 +Услуга = Справочники.Номенклатура.НайтиПоНаименованию("​Диагностика"​);​
 +Отбор = Новый Структура;​
 +Отбор.Вставить("​Номенклатура",​ Услуга );
 +Цена = РегистрыСведений[ИмяРегистра].ПолучитьПервое(ТекущаяДата(),​ Отбор).Цена;​
 +
 +
 +3.  // объект РегистрСведенийМенеджер.<​имя>​
 +// СоздатьКлючЗаписи()
 +// Пример:​ активизировать требуемую строку списка регистра сведений.
 +
 +СтруктураКлючевыхПолей = Новый Структура;​
 +СтруктураКлючевыхПолей.Вставить("​Период",​ Дата("​20040331000000"​));​
 +СтруктураКлючевыхПолей.Вставить("​Номенклатура",​ Справочники.Номенклатура.НайтиПоКоду("​0000006"​));​
 +Элементы.Материалы.ТекущаяСтрока = РегистрыСведений.Цены.СоздатьКлючЗаписи(СтруктураКлючевыхПолей);​
 +
 +
 +4.  // объект РегистрСведенийМенеджер.<​имя>​
 +// СоздатьНаборЗаписей()
 +// Пример:​ показать номенклатуру,​ цена на которую была установлена в заданную дату и время.
 +
 +Набор = РегистрыСведений.Цены.СоздатьНаборЗаписей();​
 +Набор.Отбор.Период.Установить(ЗаданнаяДата,​ Истина);​
 +Набор.Прочитать();​
 +Для Каждого ОчереднаяЗапись Из Набор Цикл
 +    Сообщить("​Номенклатура = "+ ОчереднаяЗапись.Номенклатура +", цена = "+ ОчереднаяЗапись.Цена);​
 +КонецЦикла;​
 +
 +
 +5.  // объект РегистрСведенийМенеджер.<​имя>​
 +// СоздатьМенеджерЗаписи()
 +// Пример:​ добавить новое значение цены в регистр "​Цены"​.
 +
 +Запись = РегистрыСведений.Цены.СоздатьМенеджерЗаписи();​
 +Запись.Период = ТекущаяДата();​
 +Запись.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("​0000005"​);​
 +Запись.Цена = 568;
 +Запись.Записать();​
 +
 +
 +6.  // объект РегистрСведенийНаборЗаписей.<​имя>​
 +// [<​индекс элемента коллекции>​]
 +// Для Каждого … Из … Цикл … КонецЦикла;​
 +// Пример:​ показать номенклатуру,​ цена на которую была установлена в заданную дату и время.
 +
 +Набор = РегистрыСведений.Цены.СоздатьНаборЗаписей();​
 +Набор.Отбор.Период.Установить(ЗаданнаяДата,​ Истина);​
 +Набор.Прочитать();​
 +Для КаждогоОчереднаяЗапись ИзНабор Цикл
 +    Сообщить("​Номенклатура = "+ ОчереднаяЗапись.Номенклатура + ", цена = " + ОчереднаяЗапись.Цена);​
 +КонецЦикла;​
 +
 +
 +7.  // объект РегистрСведенийВыборка.<​имя>​
 +// ПолучитьМенеджерЗаписи()
 +// Пример:​ удалить все записи регистра сведений за текущий месяц.
 +
 +Выборка = РегистрыСведений.Цены.Выбрать(НачалоМесяца(ТекущаяДата()),​ КонецМесяца(ТекущаяДата()));​
 +Пока Выборка.Следующий() цикл Выборка.ПолучитьМенеджерЗаписи().Удалить();​
 +КонецЦикла;​
 +
 +
 +8.  // объект РегистрСведенийМенеджер.<​имя>​
 +// Выбрать()
 +// ВыбратьПоРегистратору()
 +// Пример:​ показать изменение цен на элемент номенклатуры в течение года.
 +
 +Отбор = Новый Структура("​Номенклатура",​ Справочники.Номенклатура.НайтиПоКоду("​0000005"​));​
 +Выборка = РегистрыСведений.Цены.Выбрать(НачалоГода(ТекущаяДата()),​ ТекущаяДата(),​ Отбор);​
 +Пока Выборка.Следующий() цикл ​
 +    Сообщить("​Дата = " + Выборка.Период + ", цена = " + Выборка.Цена);​
 +КонецЦикла;</​code>​
 +
 +
 +===== Регистры накопления =====
 +
 +Примеры использования объектов:​
 +<​code>​1. ​ // Глобальный контекст
 +// РегистрыНакопления
 +// Пример:​ выполнить полный пересчет итогов регистра "​ОстаткиМатериалов"​.
 +
 +РегистрыНакопления.ОстаткиМатериалов.ПересчитатьИтоги();​
 +
 +
 +2.  // объект РегистрыНакопленияМенеджер
 +// .<имя регистра накопления>​
 +// [<имя регистра накопления>​]
 +// Для Каждого … Из … Цикл … КонецЦикла;​
 +// Пример:​ рассчитать итоги регистра "​ОстаткиМатериалов"​ на указанную дату.
 +
 +ИмяРегистра = ОстаткиМатериалов;​
 +РегистрыНакопления[ИмяРегистра].УстановитьПериодРассчитанныхИтогов(УказаннаяДата);​
 +
 +
 +3.  // объект РегистрНакопленияМенеджер.<​имя>​
 +// СоздатьКлючЗаписи()
 +// Пример:​ активизировать требуемую строку списка регистра накопления.
 +
 +СтруктураКлючевыхПолей = Новый Структура;​
 +СтруктураКлючевыхПолей.Вставить("​Регистратор",​ Документы.ПриходнаяНакладная.НайтиПоНомеру("​0000002"​));​
 +СтруктураКлючевыхПолей.Вставить("​НомерСтроки",​ 2);
 +Элементы.Материалы.ТекущаяСтрока = РегистрыНакопления.ОстаткиМатериалов.СоздатьКлючЗаписи(СтруктураКлючевыхПолей);​
 +
 +
 +4.  // объект РегистрНакопленияМенеджер.<​имя>​
 +// СоздатьНаборЗаписей()
 +// Пример:​ получить движения документа.
 +
 +НужныйДокумент = Документы.ПриходнаяНакладная.НайтиПоНомеру(4);​
 +Движения = РегистрыНакопления.ОстаткиМатериалов.СоздатьНаборЗаписей();​
 +Движения.Отбор.Регистратор.Значение = НужныйДокумент;​
 +Движения.Прочитать();​
 +
 +
 +5.  // объект РегистрНакопленияМенеджер.<​имя>​
 +// Выбрать()
 +// ВыбратьПоРегистратору()
 +// Пример:​ выбрать все записи регистра "​ОстаткиМатериалов"​ за текущий месяц.
 +
 +Выборка = РегистрыНакопления.ОстаткиМатериалов.Выбрать(НачалоМесяца(ТекущаяДата()),​ КонецМесяца(ТекущаяДата()));​
 +
 +
 +6.  // объект РегистрНакопленияНаборЗаписей.<​имя>​
 +// [<​индекс элемента коллекции>​]
 +// Для Каждого … Из … Цикл … КонецЦикла;​
 +// Пример:​ получить движения документа.
 +
 +НужныйДокумент = Документы.ПриходнаяНакладная.НайтиПоНомеру(4);​
 +Движения = РегистрыНакопления.ОстаткиМатериалов.СоздатьНаборЗаписей();​
 +Движения.Отбор.Регистратор.Значение = НужныйДокумент;​
 +Движения.Прочитать();​
 +Для КаждогоОчередноеДвижение ИзДвижения Цикл
 +    // Алгоритм обработки движений
 +    …
 +КонецЦикла;</​code>​
 +
 +
 +===== Регистры бухгалтерии,​ Регистры расчета =====
 +Свойства и методы работы с объектами в большинстве своем аналогичны свойствам и методам для регистров накопления.
 +
 +
 +----
 +
 +<​code></​code>​