Запрос в документе 1с77

lira89

Well-known member
12.03.2010
154
0
#1
В модуле формы документа есть запрос:
Код:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = 
"//{{Запрос(Сформировать)
|Период с НачМесяца(ДатаДок) по ДатаДок
|Назначение = Регистр.Остатки.Назначение;
|Студент = Регистр.Остатки.Студент;
|СуммаИзРег = Регистр.Остатки.Сумма;
|Функция СуммаНачОст = НачОст(Сумма);
|Функция СуммаПрихода = Приход(Сумма);
|ОстатокНаНачалоМесяца = СуммаНачОст();
|ПриходДенег = СуммаПриход();
|"//}}Запрос
Нужно узнать из регистра остаток на начало месяца и приход денег в течении месяца, а потом использовать эти значения в дальнейших формулах, например:
Код:
Если ОстатокНаНачалоМесяца<0 Тогда
ДолгН=МодульЧисла(ОстатокНаНачалоМесяца);
ОстатокН=0;
.......
Вопрос:
1 Почему в отладчике я не могу пройти по запросу и посмотреть значение в переменных ОстатокНаНачалоМесяца и ПриходДенег ,отладчик перепрыгивает запрос и идет дальше?
2 Правильно ли вообще построен запрос, потому что у меня переменные ОстатокНаНачалоМесяца и ПриходДенег остаются =0?
Подскажите пожалуйста что тут не так и признательна была бы за ссылки на хорошую теорию про запросы, т.к. я только начинаю с ними работать ;)
Заранее спасибо.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#2
В ЖКК неплохая теория.
Запрос выполняется весь сразу, а не пошагово. Поэтому в отладчике вы ничего не увидите.
 
H

Hryv

#3
Зачем для таких простых вещей использовать запросы?

Работайте с регистром напрямую
Плюсы: в синтакс-помощнике достаточно информации и отлаживаться проще

PS запрос неверный
PPS если так уж нужны запросы, то используйте конструктор запросов
 

vbs

Well-known member
18.02.2007
1 708
1
#4
1 Почему в отладчике я не могу пройти по запросу и посмотреть значение в переменных ОстатокНаНачалоМесяца и ПриходДенег ,отладчик перепрыгивает запрос и идет дальше?
Hryv прав : PS запрос неверный. Надо исправить ошибки.
Добавь группировку "Студент", выгрузи запрос в ТЗ и смотри ее, сколько душе угодно
 
H

Hryv

#6
А как получить напрямую приход за месяц и остаток на начало месяца у регистра остатков?
Вам программу написать?

Для остатков есть метод Остаток()
по ситуации может быть удобнее и другими способами (их по крайней мере еще 2)

с приходом за период для регистра остатков сложнее (для оборотного было бы проще)
можно суммировать в цикле
Рег.ВыбратьДвижения(НачДата,КонДата);
Пока Рег.ПолучитьДвижение()=1 Цикл
 

lira89

Well-known member
12.03.2010
154
0
#7
Понятно, программу писать мне не надо, я просто хотела узнать про методы для регистра остатков, которые позволили бы получить приход за месяц. Спасибо за ответ, буду пробовать.
А насчет метода Остаток это понятно, но как узнать остаток на конкретную дату. В справке 1с данный метод имеет вид Остаток(<Измерен1>,<Измерен2>...,<ИмяРесурса>) и здесь некуда ввести нужную дату.
 
K
#9
ТекстЗапроса =
"//{{Запрос(Сформировать)
|Период с НачМесяца(ДатаДок) по ДатаДок
|Назначение = Регистр.Остатки.Назначение;
|Студент = Регистр.Остатки.Студент;
|СуммаИзРег = Регистр.Остатки.Сумма;
|Функция СуммаНачОст = НачОст(Сумма);
|Функция СуммаПрихода = Приход(Сумма);
// // |ОстатокНаНачалоМесяца = СуммаНачОст();
// // |ПриходДенег = СуммаПриход();
|"//}}Запрос


Если Запрос.СуммаНачОст <0 Тогда
ДолгН=МодульЧисла(Запрос.СуммаНачОст );
ОстатокН=0;
 

lira89

Well-known member
12.03.2010
154
0
#10
А я могу узнать например название и дату документа, с помощью которого было совершено движение регистра остатков?