Если необходимо просто прочитать движения, без последующей модификации, можно воспользоваться запросом к нужному регистру:
1 2 3 4 5 6 7 8 9 10 11 12 |
// Чтение движений документа с помощью запроса Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | * |ИЗ | РегистрНакопления.ОстаткиНоменклатуры КАК ОстаткиНоменклатуры |ГДЕ | ОстаткиНоменклатуры.Регистратор = &Регистратор"; Запрос.УстановитьПараметр("Регистратор", ПолеВводаРегистратор); |
В запросе выбираем все поля (кроме виртуальных) из таблицы регистра РегистрНакопления.ОстаткиНоменклатуры с отбором по регистратору. Значением параметра Регистратор нужно будет установить ссылку на документ.
Если же нужно чтение с последующей модификацией движений, следует воспользоваться объектной моделью представления информации: в свойстве Движения объекта документа обратиться к нужному регистру (в нашем случае это регистр ОстаткиНоменклатуры) и прочитать набор записей регистра.
1 2 3 4 5 6 7 8 9 10 |
// Чтение движений документа НаборЗаписейРегистра = Движения.ОстаткиНоменклатуры; НаборЗаписейРегистра.Прочитать(); Для Каждого Запись из НаборЗаписейРегистра Цикл // Чтение и модификация очередного движения. КонецЦикла; |
Если требуется изменить движения документа по всем регистрам, нужно обойти фиксированную коллекцию, содержащуюся в свойстве Движения:
1 2 3 4 5 6 7 8 9 10 11 |
// Изменение движений документа Для Каждого НаборЗаписейРегистра из Движения Цикл НаборЗаписейРегистра.Прочитать(); Для Каждого Запись из НаборЗаписейРегистра Цикл // Чтение и модификация очередного движения. КонецЦикла; КонецЦикла; |
Сначала открываем цикл перебора свойств свойства Движения – коллекций наборов записей регистров, для которых наш документ является регистратором.
Далее читаем наборы записей каждой коллекции и открываем цикл перебора записей данного набора записей.