8.х Как обойтись без цикла

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Гость, 17 июл 2006.

Статус темы:
Закрыта.
  1. TopicStarter Overlay
    Гость
    Offline

    Гость Гость Гость

    Код:
    ЗапросОст = Новый Запрос;
    ЗапросОст.УстановитьПараметр("Склад", Склад);
    ЗапросОст.УстановитьПараметр("Номенклатура", Номенклатура);
    
    ЗапросОст.Текст = "ВЫБРАТЬ
    |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
    |ИЗ
    |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
    |ГДЕ
    |    ТоварыНаСкладахОстатки.Склад = &Склад
    |    И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
    
    
    ВыборкаОст = ЗапросОст.Выполнить().Выбрать();
    
    Пока ВыборкаОст.Следующий() Цикл
    
    Остаток = Остаток + ВыборкаОст.Остаток;
    
    КонецЦикла;
    
    
    
    Как обойтись без цикла, получения остатка, если остаток один. Интересует правильная конструкция записи, а то с циклом коряво.
  2. Tiger
    Offline

    Tiger Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    489
    Симпатии:
    0
    Баллы:
    26
    Возможно это вы имеете ввиду?
    Код:
    ЗапросОст.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 
    | ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
    |ИЗ
    | РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
    |ГДЕ
    | ТоварыНаСкладахОстатки.Склад = &Склад
    | И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
    
    
  3. TopicStarter Overlay
    Гость
    Offline

    Гость Гость Гость

    НЕТ

    Запрос:
    Код:
    ЗапросОст = Новый Запрос;
    ЗапросОст.УстановитьПараметр("Склад", Склад);
    ЗапросОст.УстановитьПараметр("Номенклатура", Номенклатура);
    
    ЗапросОст.Текст = "ВЫБРАТЬ
    | ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
    |ИЗ
    | РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
    |ГДЕ
    | ТоварыНаСкладахОстатки.Склад = &Склад
    | И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
    
    
    ВыборкаОст = ЗапросОст.Выполнить().Выбрать();
    
    .............
    .............
    
    
    
    Как записать дальше, если номенклатура одна, получить остатки без цикла, интересует конструкция записи.
  4. Tiger
    Offline

    Tiger Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    489
    Симпатии:
    0
    Баллы:
    26
    А ну так не использовать цикл и всё. Вот так тоже будет работать.
    Код:
    ВыборкаОст = ЗапросОст.Выполнить().Выбрать();
    ВыборкаОст.Следующий();
    Остаток = ВыборкаОст.Остаток;
    
    
    
  5. TopicStarter Overlay
    Гость
    Offline

    Гость Гость Гость

    Большое спасибо!

    Тема закрыта!
Статус темы:
Закрыта.

Поделиться этой страницей