Как перебрать записи регистра
Рассмотрим на примере: перебирая записи регистра требуется сообщить о расхождении между двумя числовыми параметрами. Как всегда, в 1с масса способов сделать одно и то же действие. Один из них — простой перебор записей регистра.
#Если Клиент Тогда // выполним контроль приемок РегистрКонтрольПриемки = РегистрыСведений.усКонтрольПриемки; ОтборПоДокументу = Новый Структура("ОжидаемаяПриемка"); ОтборПоДокументу.ОжидаемаяПриемка = Ссылка; ВыборкаПоДокументу = РегистрКонтрольПриемки.Выбрать(ОтборПоДокументу); СообщатьОРасхождении = Ложь; Пока ВыборкаПоДокументу.Следующий() Цикл Если ВыборкаПоДокументу.ЗапланированоБазовых - ВыборкаПоДокументу.ПринятоБазовых <> 0 Тогда СообщатьОРасхождении = Истина; Прервать; КонецЕсли; КонецЦикла; Если СообщатьОРасхождении Тогда Если Вопрос("Существуют расхождения между запланированным и принятым количеством товара. Вы уверены, что нужно завершить приемку?", РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Нет) = КодВозвратаДиалога.Нет Тогда Предупреждение("Приемка не завершена!"); Возврат; КонецЕсли; КонецЕсли; #КонецЕсли