Имя: Пароль:
1C
1С v8
Параметры произвольного запроса динамичекского списка
0 starz555
 
14.05.13
10:00
Управляемая форма списка справочника номенклатуры, основной реквизит - динамический список, добавил колонки Остаток, ПродажиЗаТриМесяца, ПродажиЗаШестьМесяцев.

В ПриСозданииНаСервере формы устанавливаю параметры списка, они устанавливаются верно.

В запросе динамического списка соединяю СпрНоменклатура Левое РНОстаткиНаСкладахОстатки Левое
РНПродажиОбороты (с параметрами начала и конца, определяющими период три месяца) Левое РНПродажиОбороты (с параметрами начала и конца, определяющими период шесть месяцев).
А данные в колонках по продажам за три и за шесть месяцев дублируются.
Предполагаю, что ошибка простейшая, подскажите, пожалуйста.
1 starz555
 
14.05.13
10:01
На всякий случай запрос динамического списка:


 ВЫБРАТЬ
   СправочникНоменклатура.Ссылка,
   СправочникНоменклатура.Код,
   СправочникНоменклатура.Наименование КАК Наименование,
   ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
   ЕСТЬNULL(ПродажиОборотыТри.КоличествоОборот, 0) КАК ПродажиТри,
   ЕСТЬNULL(ПродажиОборотыШесть.КоличествоОборот, 0) КАК ПродажиШесть
ИЗ
   Справочник.Номенклатура КАК СправочникНоменклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&КонецПериода, Склад = &Склад) КАК ТоварыНаСкладахОстатки
       ПО СправочникНоменклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоПериодаТри, &КонецПериода, , ) КАК ПродажиОборотыТри
       ПО СправочникНоменклатура.Ссылка = ПродажиОборотыТри.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоПериодаШесть, &КонецПериода, , ) КАК ПродажиОборотыШесть
       ПО СправочникНоменклатура.Ссылка = ПродажиОборотыШесть.Номенклатура
2 cw014
 
14.05.13
10:03
Что значит "дублируются"?
3 starz555
 
14.05.13
10:04
Ну выводится продажа за 3 месяца 15 штук, за 6 месяцев 15 штук. Хотя на самом деле за 6 месяцев их 32 было продано
4 cw014
 
14.05.13
10:06
Периоды опиши еще
5 cw014
 
14.05.13
10:06
Что то мне кажется в параметрах косьман
6 drcrasher
 
14.05.13
10:07
(1) а в оборотах склад не надо?
7 starz555
 
14.05.13
10:10
Не, в продажах со всех складах, так и надо. Сам думаю, что с параметрами косяк.
Устанавливаю так:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
   Список.Параметры.УстановитьЗначениеПараметра("Склад", Параметры.Склад);
   Список.Параметры.УстановитьЗначениеПараметра("КонецПериода", ТекущаяДата());
   Список.Параметры.УстановитьЗначениеПараметра("Период", ТекущаяДата());
   Список.Параметры.УстановитьЗначениеПараметра("НачалоПериода", ДобавитьМесяц(ТекущаяДата(),   -3));
   Список.Параметры.УстановитьЗначениеПараметра("НачалоПериодаТри", ДобавитьМесяц(ТекущаяДата(),   -3));
   Список.Параметры.УстановитьЗначениеПараметра("НачалоПериодаШесть", ДобавитьМесяц(ТекущаяДата(),   -6));
   
   КонецПроцедуры
8 cw014
 
14.05.13
10:18
Список.Параметры.УстановитьЗначениеПараметра("Период", ТекущаяДата());
Список.Параметры.УстановитьЗначениеПараметра("НачалоПериода", ДобавитьМесяц(ТекущаяДата(),   -3));

Не используется - убирай
9 cw014
 
14.05.13
10:18
И смотри в консоле запросов отдельно выборку по этой позиции номенклатуры (поэкспериментируй с датами)
10 starz555
 
14.05.13
10:22
Я вначале и делал без используемых. Попробую опять лишние убрать. А в консоле отрабатывает правильно. Думал, может распространенная ошибка какая. Буду искать).
11 starz555
 
14.05.13
10:24
cw014, спасибо!
Кстати, тут нет кнопки "Спасибо" или только текстом?
12 starz555
 
14.05.13
11:03
cw014, Вы правы, заработало, когда избавился от параметра "Начало Периода")