|
Почему не срабатывает период в запросе? |
☑ |
0
Мисти
01.03.17
✎
23:13
|
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ВыбПериод", НачалоГода(Источник.Дата));
Запрос.УстановитьПараметр("ВыбСобственник", Источник.Кос_Собственник);
Запрос.УстановитьПараметр("ВыбУдаленный", Ложь);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Кос_НомераСчетовСрезПоследних.НомерЧислом
|ИЗ
| РегистрСведений.Кос_НомераСчетов.СрезПоследних(
| &ВыбПериод,
| Собственник = &ВыбСобственник
| И Удаленный = &ВыбУдаленный) КАК Кос_НомераСчетовСрезПоследних
|
|УПОРЯДОЧИТЬ ПО
| Кос_НомераСчетовСрезПоследних.НомерЧислом УБЫВ";
У меня там есть запись от прошлого года.
Я задаю период - этот год, по идее результат запроса должен быть пустой.
Почему мне выдают прошлогоднюю запись?
Мне нужно было завести какой-то специальный реквизит для периода? Период, который образовался от периодического реквизита - не отбирает?
|
|
1
Lexey_
01.03.17
✎
23:14
|
(0) "Почему мне выдают прошлогоднюю запись?" потому что она является последней на дату &ВыбПериод
|
|
2
Мисти
01.03.17
✎
23:21
|
А почему она вообще в результат запроса попала, если я задала период - этот год?
Как мне тогда отобрать только за этот год?
Завести еще реквизит?
Или проверить дату? Если прошлогодняя, считай, что нет ее.
А если в регистре будет НомерЧислом 99 от прошлого года и 1 - от этого, то что даст запрос?
|
|
3
Lexey_
01.03.17
✎
23:26
|
(2) почитай про срез последних, если не знаешь, зачем используешь? Обращайся к физической таблице регистра, а не к срезу последних
|
|
4
Мисти
01.03.17
✎
23:29
|
А вроде как из такого быстрее данные выбираются?
|
|
5
Lexey_
01.03.17
✎
23:34
|
(4) задача как звучит?
|
|
6
Мисти
01.03.17
✎
23:36
|
Надо найти самый большой номер с отбором по собственнику, периоду (год) и "Удаленный". Имитируем нумератор.
|
|
7
Мисти
01.03.17
✎
23:39
|
"ВЫБРАТЬ ПЕРВЫЕ 1
| Кос_НомераСчетов.НомерЧислом
|ИЗ
| РегистрСведений.Кос_НомераСчетов КАК Кос_НомераСчетов
|ГДЕ
| Кос_НомераСчетов.Период = &ВыбПериод
| И Кос_НомераСчетов.Собственник = &ВыбСобственник
| И Кос_НомераСчетов.Удаленный = &ВыбУдаленный
|
|УПОРЯДОЧИТЬ ПО
| Кос_НомераСчетов.НомерЧислом УБЫВ";
так выдал пустой результат
|
|
8
mkalimulin
01.03.17
✎
23:51
|
(6) Самый большой в запросе называется словом МАКСИМУМ.
|
|
9
Mankubus
02.03.17
✎
06:54
|
не нужен тебе период в запросе
|
|
10
Mankubus
02.03.17
✎
06:54
|
(9) или только Год сравнивай, если нумерация в пределах года
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший