Имя: Пароль:
1C
1С v8
Запрос + кэш
0 shadow99
 
29.01.16
17:39
Коллеги!

Вот такой вот запросик, задача получить сумму задолженность по клиенту на определенную дату.

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

СГРУППИРОВАТЬ ПО
    РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Партнер,
    РасчетыСКлиентамиОстатки.СуммаОстаток

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

Подскажите где косяк? Отчет на СКД.
1 Fragster
 
гуру
29.01.16
17:50
косяк в том, что ты не понимаешь (или не читал) как работает автозаполнение полей и параметров в СКД
2 Nuobu
 
29.01.16
17:53
Возьми &ДатаНачала в вот такие скобки: {}
3 shadow99
 
29.01.16
18:03
Признаюсь честно, не читал! Начинающий я... Вот сейчас перелистал книгу по СКД и распечатку курса по СКД - там нет такого...
4 Cyberhawk
 
29.01.16
18:04
"Выполняю - получаю цифру. Дальше меняю дату и нова выполняю - цифра задолженности остается та же." // Для самопроверки включи вывод параметров в шапку отчета
5 shadow99
 
29.01.16
18:07
Параметры:    Начало периода: 23.12.2015 0:00:00
    Конец периода: 29.01.2016 0:00:00

Иванов 488 рублей

Параметры:    Начало периода: 01.10.2015 0:00:00
    Конец периода: 29.01.2016 0:00:00

Иванов 488 рублей

{} не помогли
6 Nuobu
 
29.01.16
18:11
(5) Вот ответь честно, почему параметров два?
7 shadow99
 
29.01.16
18:14
Цепочка из 3 запросов:

1 запрос - получение долга на начало периода
2 запрос - получение образующихся в этом периоде долгов
3 запрос - поступившие оплаты за период

Соответственно 2 параметра Начало и Конец

Но в 1 запрос, если я правильно понимаю, для получения Остатка достаточно передать 1 параметр - дату на которую я хочу получить результат.
8 Fragster
 
гуру
29.01.16
18:27
"Дата Начала" и "Начало Периода" не сходятся, не?
9 Cyberhawk
 
29.01.16
18:29
(8) Так он видать этот параметр уже заэкранировал
10 Fragster
 
гуру
29.01.16
18:31
(9) без текста запроса и картинки настроек гадать бессмысленно
11 shadow99
 
29.01.16
18:33
Сходятся.
Это запрос из консоли. В СКД 2 параметра - &НачалоПериода и &КонецПериода

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

СГРУППИРОВАТЬ ПО
    РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Партнер,
    РасчетыСКлиентамиОстатки.СуммаОстаток
;
12 HardBall
 
29.01.16
18:35
Куда это?
СГРУППИРОВАТЬ ПО
   РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Партнер,
    РасчетыСКлиентамиОстатки.СуммаОстаток
13 shadow99
 
29.01.16
18:38
Без этого те же яйца...
14 Cyberhawk
 
29.01.16
18:41
Отчет для типовой базы?
15 shadow99
 
29.01.16
18:41
(10) Вот запрос. Из консоли запросов. единственный заполняемый параметр - НачалоПериода

больше никаких настроек! ничего! ставим дату - запускаем - получаем цифру. Меняем дату, запускаем - цифра та жа хотя должна поменяться (15 декабря была оплата)

Чистим кэш - запускаем, работает!!!!
Переносим запрос в СКД, запускаем обработкой - не работает, цифра та жа. Переименовываем обработку - один фиг. Удаляем и создаем базу - то же самое. Чистим кэш - ничего не поменялось
16 shadow99
 
29.01.16
18:42
(14) практически да. В плане этого регистра - типовая.
17 Cyberhawk
 
29.01.16
18:42
Воспроизведи свою проблему на демобазе, после этого опиши способ вопроизведения, после этого скидывай отчет - гляну
18 shadow99
 
29.01.16
18:49
На Демо работает.

На рабочей и ее копии - нет.
Данные в обеих базах есть, штатными отчетами все выводится.
19 Franchiser
 
гуру
29.01.16
20:58
Зачем ты вообще пищишь в запросе парметр? СКД и так подставит туда стандартные НачалоПериода и КонецПериода, это нужно только для переопределения.

Попробуй так:

ВЫБРАТЬ
    РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Партнер КАК ПартнерДолг,
    РасчетыСКлиентамиОстатки.СуммаОстаток КАК СуммаОстаток
ПОМЕСТИТЬ ВТ_Долги
ИЗ
    РегистрНакопления.РасчетыСКлиентами.Остатки(, ) КАК РасчетыСКлиентамиОстатки
20 Franchiser
 
гуру
29.01.16
21:01
если у тебя ВТ_Долги здесь формируется, значит у тебя тут не весь запрос? Не забывай разыменовывать поля результата в выборках.