Добрый день, коллеги!
Имеется база 1С 7.7 в SQL формате. Релиз платформы - 27, SQL 2008.
База достаточно большая, на dbf уже не тянет, пришлось перевести на SQL.
До недавнего времени все работало нормально, но потом появилась проблема.

В одном отчете данные выбираются запросом. Формируется выборка документов.
В запросе указано ограничение по периоду выборки данных.
Но не смотря на это в результирующую выборку документов попадают даже те документы дата которых намного раньше чем начало периода.
Такое впечатление что на период указанный в запросе оно вообще не смотрит.
В чем тут может быть причина и как это побороть?
---
MIracloid2000,
в 7.7 дата движения регистра и дата документа, породившего движение регистра не могут быть разными
А где идет речь о документе-регистраторе???
в
```1c
    Заказ = Регистр.Взаиморасчеты.Заказ;
```
 Заказ, как я понял, это измерение регистра Взаиморасчеты, его значением м.б. абсолютно любой документ.
---
Продолжайте наблюдение
---
Spacer, Формируется выборка документов
Ну вообще-то в запросе не выборка документов, получение данных из регистра...
И раз используются функции НачОст() и КонОст(), то в результат могут попадать не закрытые на ДатаС или ДатаПо заказы.
В данном случае Период с ДатаС По ДатаПо - это период выборки движений регистра, а не период выборки документов.
---
EdwardXot,
в 7.7 дата движения регистра и дата документа, породившего движение регистра не могут быть разными

И раз используются функции НачОст() и КонОст(), то в результат могут попадать не закрытые на ДатаС или ДатаПо заказы.
по группировке Заказ - запрос вернет пустое значение

(1)

Группировка Клиент;
Условие (Клиент = ВыбКлиент);
а зачем группировать, если Клиент задан жестко?

попробуйте убрать эту группировку и посмотреть или есть документы "Заказ" не в периоде?
---
ерунду несёте.
Заказ - это измерение у аутора.
Никакго отношения к документу движения регистра не имеющего.
Ну и, солидарен с (9).

В это измерение, можно затолкать любой документ с любой датой.
Не хотите их видеть - ставьте условие на дату заказа.
---
Ёпрст,
Заказ - это измерение у аутора.
Никакго отношения к документу движения регистра не имеющего.
я смотрю по стандартным Украинским конфам, у нас в Регистре Взаиморасчеты - Заказ (КредДокумент + Договор) - измерения

(1)
Условие ((Заказ.ДатаДок >= ДатаС) И (Заказ.ДатаДок <= ДатаПо));
должно сработать... + еще проверить или ПустоеЗначение(Заказ) = 0
---
MIracloid2000,
в 7.7 дата движения регистра и дата документа, породившего движение регистра не могут быть разными
А где идет речь о документе-регистраторе???
в
```1c
    Заказ = Регистр.Взаиморасчеты.Заказ;
```
 Заказ, как я понял, это измерение регистра Взаиморасчеты, его значением м.б. абсолютно любой документ.
---
EdwardXot, Да, "Заказ" это измерение регистра "Взаиморасчеты". Там три измерения: "Фирма", "Клиент", "Заказ".
В конфе есть константа "Использовать заказы". Сейчас она имеет значение "Нет", и при проведении доков измерение "Заказ" должно оставаться пустым.
Но как выяснилось в базе есть старые документы которые сделали проводки по этому регистру с заполненным измерением "Заказ".
Эти заказы, как вы правильно писали в (7), остались не закрытыми. И поэтому они попадают в результат выборки запроса.
Получается я просто протупил с этим делом. Вопрос снимается. Но за помощь все равно спасибо. Вознаграждение отдаю вам.
---
Spacer, В чем тут может быть причина и как это побороть?
Если Вы не хотите видеть в отчете документы, которые "выпадают" за период формирования отчета, необходимо в запрос добавить еще одно условие, с наложением ограничения на дату документа Заказ.
---
где запрос?
---
atb,

//{{ЗАПРОС(Взаиморасчеты)
Период с ДатаС По ДатаПо;
Фирма = Регистр.Взаиморасчеты.Фирма;
Клиент = Регистр.Взаиморасчеты.Клиент;
Заказ = Регистр.Взаиморасчеты.Заказ;

СуммаГРН = Регистр.Взаиморасчеты.СуммаВал;
СуммаВал = Регистр.Взаиморасчеты.СуммаОсн;
СуммаНДС = Регистр.Взаиморасчеты.СуммаНДС;
СуммаТоргНац = Регистр.Взаиморасчеты.СуммаТоргНаценки;
ФлагУчета = Регистр.Взаиморасчеты.ФлагУчета;
Группировка Клиент;
Группировка Заказ;
Функция НачГРН = НачОст(СуммаГРН);
Функция ПрихТовараГРН = Приход(СуммаГРН) Когда (ФлагУчета = 2);
Функция ПрихДенегГРН = Приход(СуммаГРН) Когда (ФлагУчета = 1);
Функция РасхТовараГРН = Расход(СуммаГРН) Когда (ФлагУчета = 2);
Функция РасхДенегГРН = Расход(СуммаГРН) Когда (ФлагУчета = 1);
Функция РасхНДСтовара = Расход(СуммаНДС) Когда (ФлагУчета = 2);
Функция ПрихНДСтовара = Приход(СуммаНДС) Когда (ФлагУчета = 2);
Функция РасхНДСденег = Расход(СуммаНДС) Когда (ФлагУчета = 1);
Функция ПрихНДСденег = Приход(СуммаНДС) Когда (ФлагУчета = 1);
Функция НачНДС = НачОст(СуммаНДС);
Функция НачВал = НачОст(СуммаВал);
Функция ПрихВал = Приход(СуммаВал);
Функция РасхВал = Расход(СуммаВал);Функция КонГРН = КонОст(СуммаГРН);
Функция КонВал = КонОст(СуммаВал);
Функция КонНДС = КонОст(СуммаНДС);
Функция ТоргНаценка = Расход(СуммаТоргНац);
Условие (Фирма = ВыбФирма);Условие (Клиент = ВыбКлиент);
---
Приведите код отчета. Мысли читать пока не научились :)
---
Sanario, привел текст запроса из отчета чуть ниже.