Имя: Пароль:
1C
1С v8
СКД искажает запрос
0 Leo_s_31
 
24.10.13
12:59
Есть запрос:
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Период КАК Период,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот,
ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход,
ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
ПОМЕСТИТЬ ВтОстатки
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День {(&Периодичность)}, ДвиженияИГраницыПериода, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстаткиИОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтОстатки.Номенклатура,
МАКСИМУМ(ВтОстатки.Период) КАК Период,
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
ПОМЕСТИТЬ ВтПериоды
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ЛЕВОЕ СОЕДИНЕНИЕ ВтОстатки КАК ВтОстатки
ПО РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= ВтОстатки.Период
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &НачалоПериода
И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря <= &КонецПериода

СГРУППИРОВАТЬ ПО
ВтОстатки.Номенклатура,
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтОстатки.Номенклатура,
СУММА(ВЫБОР
КОГДА ЕСТЬNULL(ВтОстатки.КоличествоКонечныйОстаток, 0) = 0
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ) КАК Остаток
ИЗ
ВтПериоды КАК ВтПериоды
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтОстатки КАК ВтОстатки
ПО ВтПериоды.Номенклатура = ВтОстатки.Номенклатура
И ВтПериоды.Период = ВтОстатки.Период

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

С его помощью получаем количество дней в которые был положительный остаток по номенклатуре. В консоли запросов все показывается как надо, а запихнув этот же запрос в СКД получаем одну запись с количеством дней 1. Методом ковыряния поняли, что СКД в первом запросе убирает периодичность "по дням" и берет остаток за весь период.

Вопрос: как СКД уговорить не убирать нашу периодичность?
1 fisher
 
24.10.13
13:03
Периодичность должна быть задана жестко или настраиваться пользователем?
2 Nenaviwu1c20
 
24.10.13
13:04
(0) ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, ДвиженияИГраницыПериода, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстаткиИОбороты
3 Nenaviwu1c20
 
24.10.13
13:04
Так сработает
4 Leo_s_31
 
24.10.13
13:51
(1) Периодичность один день, а период пользователь задает
(3) не сработало(
5 sf
 
24.10.13
14:08
Автозаполнение надо отключать.
6 fisher
 
24.10.13
14:41
(4) Странно, что не сработало. По-идее, дело как раз в фигурных скобках было.
7 Leo_s_31
 
24.10.13
14:42
Нет. Помогли на другом форуме, но всем спасибо за внимание!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.