Имя: Пароль:
1C
1С v8
СКД, ошибка при связи наборов данных
0 Сильф
 
28.09.15
13:49
Ваяю отчет на СКД с курсами валют, сделал всё как здесь: Книга знаний: Срез последних на каждую дату в запросе, на выходе получаю ошибку:

Ошибка создания набора данных "ПланФакт"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(11, 20)}: Ошибка обработки представления "РегистрСведений.КурсыВалют.СрезПоследних:Несоответствие типов (Параметр номер ""1"")"
ЛЕВОЕ СОЕДИНЕНИЕ <<?>>РегистрСведений.КурсыВалют.СрезПоследних(&П3, ) КАК КурсыВалютСрезПоследних

Ситуация похожа на описанную вот здесь: v8: Помогите с компоновкой данных, но решения там так и не было найдено. Есть свежие идеи? :)
1 D3O
 
28.09.15
13:59
что в это параметр П3 передается?
2 Сильф
 
28.09.15
14:02
(1) Такого параметра на закладке "Параметры" вообще нет, откуда он берётся - Х.З.
3 D3O
 
28.09.15
14:05
ну ругается именно на него. там же должна быть граница, на которую срез будет сформирован. соответственно типы ограничены Датой, Границей и МоментомВремени
4 D3O
 
28.09.15
14:06
(2) ищи. должен быть. ну или замени на свой собственный.
5 Сильф
 
28.09.15
14:15
Закладка со связями выглядит так:
https://cloud.mail.ru/public/JknU/DPz9DK1WD

Попробовал на всякий случай везде привести тип значения ПериодДень к дате (хотя он и так вроде), не помогло.
6 Timon1405
 
28.09.15
14:16
Очередная жертва автозаполнения...
все разжевано тут http://catalog.mista.ru/public/77568/
обратите внимание на параметры в фигурных скобках и связи наборов
7 Сильф
 
28.09.15
14:23
(6) ну, если внимательно посмотреть на ссылки, приведенные мной в шапке поста, то можно понять, что именно с этим способом у меня и возникла проблема. Код в статье по вашей ссылке отличается от моего одной строчкой, добавление которой, впрочем, ни к чему не привело. Галочка "Автозаполнение" у набора данных "Курсы" снята.
8 Timon1405
 
28.09.15
14:29
(7) Покажите скрин вкладки "компоновка данных" набора "Курсы" - параметры таблицы КурсыВалют
9 Сильф
 
28.09.15
14:32
10 Сильф
 
28.09.15
14:33
Запрос сейчас выглядит так:

ВЫБРАТЬ
    &ДатаСреза КАК ДатаСреза,
    КурсыВалютСрезПоследних.Валюта КАК Валюта,
    КурсыВалютСрезПоследних.Курс КАК Курс,
    КурсыВалютСрезПоследних.Кратность КАК Кратность
{ВЫБРАТЬ
    ДатаСреза,
    Валюта.*,
    Курс,
    Кратность}
ИЗ
    РегистрСведений.КурсыВалют.СрезПоследних({(&ДатаСреза)}, {(Валюта = &Валюта)}) КАК КурсыВалютСрезПоследних
{ГДЕ
    КурсыВалютСрезПоследних.Курс,
    КурсыВалютСрезПоследних.Кратность,
    (&ДатаСреза)}
11 Timon1405
 
28.09.15
14:40
(10) Может быть ДатаСреза в главном наборе где-то нулловая?
по идее ошибка говорит о том, что в какой-то момент СКД в датуСреза не смогла подставить параметр
12 Nuobu
 
28.09.15
14:48
(10)  РегистрСведений.КурсыВалют.СрезПоследних({(&ДатаСреза)}, {(Валюта = &Валюта)}) КАК КурсыВалютСрезПоследних

РегистрСведений.КурсыВалют.СрезПоследних(&ДатаСреза, Валюта = &Валюта) КАК КурсыВалютСрезПоследних
13 Сильф
 
28.09.15
14:52
Ложная тревога, господа, приношу всем свои извинения :)

В главном наборе данных было невыпиленное соединение с регистром КурсыВалют, визуально этот кусок кода практически идентичен коду во втором наборе данных. Большое спасибо Timon1405 за наводку )