Как организовать перебор записей регистра сведений (1С: 8.1: Программисту)

Вопрос Как перебрать записи регистра?
Ответ
Рассмотрим на примере: требуется перебирая записи регистра сообщить о расхождении между двумя числовыми параметрами. Как всегда, в 1с масса способов сделать одно и то же действие. Один из них — простой перебор записей регистра.

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.