Имя: Пароль:
1C
 
Помогите с компоновкой данных
0 cojko
 
16.04.10
14:42
Есть такой запрос:

ВЫБРАТЬ
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.СтоимостьОборот КАК СуммаПродажиСоСкидками,
   ПродажиОбороты.КоличествоОборот КАК Количество,
   ПродажиОбороты.СтоимостьБезСкидокОборот КАК СуммаПродажиБезСкидокОборот,
   ПродажиОбороты.КоличествоОборот * ЦеныНоменклатурыСрезПоследних.Цена КАК СуммаЗакупки,
   ЦеныНоменклатурыСрезПоследних.ТипЦен
ИЗ
   РегистрНакопления.Продажи.Обороты(НАЧАЛОПЕРИОДА(&Период, ДЕНЬ), КОНЕЦПЕРИОДА(&Период, ДЕНЬ), , ) КАК ПродажиОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&Период, ДЕНЬ), ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
       ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
           И ПродажиОбороты.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры


И такая ошибка:

Ошибка обработки представления "РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (параметр номер ""1"")"
ЛЕВОЕ СОЕДИНЕНИЕ <<?>>РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&П3, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
1 cojko
 
16.04.10
14:49
up
2 Defender aka LINN
 
16.04.10
14:53
При чем тут компоновка?
3 cojko
 
16.04.10
15:23
отчет делаю в компоновке
4 Defender aka LINN
 
16.04.10
15:25
(3) Запрос не оттуда. А если оттуда - он неправильный.
5 cojko
 
16.04.10
15:26
в чем ошибка?
6 detec
 
16.04.10
15:28
(2) Я сталкивался с подобным в некоторых запросах, где сбоку прилеплена виртуальная таблица. Даже если и ставишь параметр &Период, то он каким-то макаром заменяется системным и выдаёт такую (или очень похожую ошибку - не помню точно).

(0) Присоединяемую таблицу нужно другим набором данных прилепить к основной. Или через временные таблицы.
7 Lacerta
 
16.04.10
15:38
А откуда в сообщении об ошибке &ПЗ, если в запросе нет
8 cojko
 
16.04.10
15:39
(7) у меня такой же вопрос
9 Lacerta
 
16.04.10
15:40
может, ругается на другой запрос? побольше привести пример не можешь?
10 cojko
 
16.04.10
15:41
(9) в смысле? это весь запрос
11 Lacerta
 
16.04.10
15:42
(10) в контексте чего у тебя запрос? Я его на УТ запускаю в консоле запросов - все отрабатывает без ошибок
12 cojko
 
16.04.10
15:43
тут проблема с установкой параметров какая то, если этот первый параметр не указывать у меня тоже работает
13 Lacerta
 
16.04.10
15:46
Напиши как ты задаешь &Период
14 cojko
 
16.04.10
15:49
В качестве периода, пользователь выбирает стандартный период(ЭтотГод, День и т.д.)
ДатуЦен я задаю как "&Период.ДатаОкончания" через выражение
15 IronDemon
 
16.04.10
15:55
И тип "Период" у тебя видимо СтандартныйПериод?
16 Сисой
 
16.04.10
15:57
Надо вот как:
({НАЧАЛОПЕРИОДА(&Период, ДЕНЬ)}, {КОНЕЦПЕРИОДА(&Период, ДЕНЬ)}, ...
17 IronDemon
 
16.04.10
15:59
(16) Не Надо а Можно ;)
18 cojko
 
16.04.10
15:59
это же регистр сведений, нужна конкретная дата, а не период. Я не прав?
19 Lacerta
 
16.04.10
16:08
(18) ну вот, если ты ДатуЦен задаешь через выражение, то и надо в СрезПоследних поставить, а не тот же &Период (типа СтандартныйПериод)
20 cojko
 
16.04.10
16:10
Та же самая ошибка получается
21 cojko
 
16.04.10
16:12
если дату цен задавать как отдельный параметр работает, но я хочу чтобы она определялась период выборки из регистра продаж
22 cojko
 
16.04.10
16:31
up
23 IronDemon
 
16.04.10
16:45
ВЫБРАТЬ
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.СтоимостьОборот КАК СуммаПродажиСоСкидками,
   ПродажиОбороты.КоличествоОборот КАК Количество,
   ПродажиОбороты.СтоимостьБезСкидокОборот КАК СуммаПродажиБезСкидокОборот,
   ПродажиОбороты.КоличествоОборот * ЦеныНоменклатурыСрезПоследних.Цена КАК СуммаЗакупки,
   ЦеныНоменклатурыСрезПоследних.ТипЦен
ИЗ
   РегистрНакопления.Продажи.Обороты(&, КОНЕЦПЕРИОДА(&Период, ДЕНЬ), , ) КАК ПродажиОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&Период, ДЕНЬ), ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
       ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
           И ПродажиОбороты.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры

ВЫБРАТЬ
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.СтоимостьОборот КАК СуммаПродажиСоСкидками,
   ПродажиОбороты.КоличествоОборот КАК Количество,
   ПродажиОбороты.СтоимостьБезСкидокОборот КАК СуммаПродажиБезСкидокОборот,
   ПродажиОбороты.КоличествоОборот * ЦеныНоменклатурыСрезПоследних.Цена КАК СуммаЗакупки,
   ЦеныНоменклатурыСрезПоследних.ТипЦен
ИЗ
   РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
       ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
           И ПродажиОбороты.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры


В параметрах добавляешь "ПериодОтчета" с типом СтандартныйПериод,
параметр НачалоПериода=&ПериодОтчета.ДатаНачала
параметр КонецПериода=&&ПериодОтчета.ДатаОкончания
24 cojko
 
16.04.10
16:48
Это два разных варианта?
25 IronDemon
 
16.04.10
16:48
Правильный с НачалоПериода и КонецПериода
26 cojko
 
16.04.10
16:52
Если период не указывать в настройках отчета, то работает, а с периодом не работает, та же ошибка
27 Lacerta
 
16.04.10
16:59
Мне уже начинает казаться, что скрыт мохнатый кусок кода, где перед исполением все параметры меняются на рандомайз))))
28 cojko
 
16.04.10
17:03
На оборот с рандомайзом работает, а когда она начинает получать цены на определенную дату, какая-то фигня
29 cojko
 
16.04.10
17:03
уже бы без СКД 10 таких отчетов написал
30 cojko
 
16.04.10
17:15
еще какие вариаты?
31 cojko
 
16.04.10
21:25
up
32 cojko
 
16.04.10
21:25
может сейчас кто знает
33 Сисой
 
16.04.10
22:22
Еще раз повторяю: пиши ({КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)}....
34 cojko
 
17.04.10
15:20
ВЫБРАТЬ
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.СтоимостьОборот КАК СуммаПродажиСоСкидками,
   ПродажиОбороты.КоличествоОборот КАК Количество,
   ПродажиОбороты.СтоимостьБезСкидокОборот КАК СуммаПродажиБезСкидокОборот,
   ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК СуммаЗакупки
ИЗ
   РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ), ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
       ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура


Ошибка та же
Ошибка? Это не ошибка, это системная функция.