Версия для печати темы (https://pro1c.org.ua/index.php?s=e5d856e9f58c72043ed2e639a883fa24&showtopic=18625)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Не работает запрос

Автор: vet07 04.07.14, 10:52

Платформа 8.3. Обычное приложение. Самописная конфигурация (учебная).
Есть процедура, кот. будет проверять остаток в кошльке.
Запрос по идее должен выводить одно значение. Но сообщение выводит "НЕТ".
Подскажите где ошибка? И как правильно выводить результат запроса если там только одно значение?


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

Автор: sava1 04.07.14, 10:56

Цитата(vet07 @ 04.07.14, 11:52) *
Сообщить(Выборка.Следующий());   

о чем сообщаем ?

Автор: DartRomanius 04.07.14, 10:56

Цитата(sava1 @ 04.07.14, 11:56) *
о чем сообщаем ?


ГЫ, ЛОЛ. icon_beer17.gif

Автор: Vofka 04.07.14, 10:58

sava1, намекает, что надо так:

Сообщить(Выборка.СуммаОборот);

Автор: vet07 04.07.14, 11:20

Понял. Тока учусь - поэтому так жестко туплю. icon_beer17.gif
Если запрос возвращает одно значение, то все равно чере Пока Цикл?

фы=Выборка.СуммаОборот;
Сообщить(фы);

Я правильно понял?

Автор: zetovich 04.07.14, 11:26

Оборотами никак не получить остаток.

Автор: vet07 04.07.14, 11:33

Почему? В РегистрНакопления.УчетДенег есть и приход и расход. Оборот слопывается и остаеться остаток на тек. дату.
В регистре сведений есть СрезПоследних, а как в регистре накопления получить последные остатки, если последний документ проведен 01.07.2014 а
остатки нужны на сегодня?

Автор: Rayne 04.07.14, 11:38

Вообще, конечный остаток получают из регистра остатков...

Автор: vet07 04.07.14, 11:55

Разобрался. Всем большое СПС.
Сделал так:

ВЫБРАТЬ
    УчетДенегОстатки.СуммаОстаток,
    УчетДенегОстатки.МестаХраненияДС
ИЗ
    РегистрНакопления.УчетДенег.Остатки(&Период,) КАК УчетДенегОстатки
ГДЕ
УчетДенегОстатки.МестаХраненияДС=&МестаХраненияДС


Работает!
Но когда попробовал вот так:

ВЫБРАТЬ
    УчетДенегОстатки.СуммаОстаток,
    УчетДенегОстатки.МестаХраненияДС
ИЗ
    РегистрНакопления.УчетДенег.Остатки(&Период, &МестаХраненияДС) КАК УчетДенегОстатки

Не работает! Почему?

Все. Разобрался. Все спасибо за помощь.

Автор: reneval 04.07.14, 12:46

ИЗ
    РегистрНакопления.УчетДенег.Остатки(&Период, МестаХраненияДС = &МестаХраненияДС) КАК УчетДенегОстатки

Автор: Vofka 04.07.14, 13:09

Тему закрываю. Правила, пункт 6.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua