• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы lira89
  • Дата начала
L

lira89

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

unknown181538

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

Hryv

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

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

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

vbs

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

Hryv

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

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

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

lira89

Понятно, программу писать мне не надо, я просто хотела узнать про методы для регистра остатков, которые позволили бы получить приход за месяц. Спасибо за ответ, буду пробовать.
А насчет метода Остаток это понятно, но как узнать остаток на конкретную дату. В справке 1с данный метод имеет вид Остаток(<Измерен1>,<Измерен2>...,<ИмяРесурса>) и здесь некуда ввести нужную дату.
 
K

kaa

ТекстЗапроса =
"//{{Запрос(Сформировать)
|Период с НачМесяца(ДатаДок) по ДатаДок
|Назначение = Регистр.Остатки.Назначение;
|Студент = Регистр.Остатки.Студент;
|СуммаИзРег = Регистр.Остатки.Сумма;
|Функция СуммаНачОст = НачОст(Сумма);
|Функция СуммаПрихода = Приход(Сумма);
// // |ОстатокНаНачалоМесяца = СуммаНачОст();
// // |ПриходДенег = СуммаПриход();
|"//}}Запрос


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

lira89

А я могу узнать например название и дату документа, с помощью которого было совершено движение регистра остатков?
 
V

vbs

|Док = Регистр.Остатки.ТекущийДокумент;
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!