Имя: Пароль:
1C
 
Ошибка запроса с СКД
0 cyberandr
 
14.02.20
12:44
Всем привет! Делаю вроде простой запрос в СКД:
ВЫБРАТЬ
    ТМЦЗаявок.Регистратор КАК Регистратор,
    ТМЦЗаявок.НомерСтроки КАК НомерСтроки,
    ТМЦЗаявок.Товар КАК Товар,
    ТМЦЗаявок.Статус КАК Статус,
    ТМЦЗаявок.Количество КАК Количество,
    ТМЦЗаявок.ЕдИзм КАК ЕдИзм,
    ТМЦЗаявок.Товар.ОсновнойПоставщик КАК ТоварОсновнойПоставщик,
    ТМЦЗаявок.Регистратор.Дата КАК РегистраторДата,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
    ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен
ИЗ
    РегистрСведений.ТМЦЗаявок КАК ТМЦЗаявок
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Начдата, ТипЦен = ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.Покупная)) КАК ЦеныНоменклатурыСрезПоследних
        ПО ТМЦЗаявок.Товар = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
    ТМЦЗаявок.Период МЕЖДУ &Начдата И &КонДата
Но получаю такую ошибку:{14,20} Ошибка обработки представления "регистСведений.ЦеныНоменклатуры.СрезПоследних:Несоответстие типов параметр (1)ЛевоеСоединение ? Регистрсведений.ЦеныНоменклатуры
1 catena
 
14.02.20
12:48
Несоответстие типов параметр (1) - и че там в  &Начдата ?
2 Borteg
 
14.02.20
12:49
(0) регистСведений.ЦеныНоменклатуры.СрезПоследних пересобери просто нормально запрос
3 cyberandr
 
14.02.20
12:52
НачДата - дата. На всякий поставил другое типа НашаДата -тоже.
(2) не совсем понял что значит пересобери - конструктором создовал
4 catena
 
14.02.20
12:54
(3)Осталось убедить запрос, что дата там. Что такое тип НашаДата?
5 cyberandr
 
14.02.20
12:55
В параметре указал тип "Дата",
6 cyberandr
 
14.02.20
12:58
на всякий убрал время. В форме отчета выбираю дату - та же фигня
7 catena
 
14.02.20
12:59
(5)Я-то верю. Попробуй вовсе убрать первый параметр из СрезПоследних()
8 cyberandr
 
14.02.20
13:00
не помогает
9 catena
 
14.02.20
13:01
(8)Что не помогает. Результат какой?
10 cyberandr
 
14.02.20
13:03
та же ошибка один в один
11 IOANNscrp
 
14.02.20
13:04
(8) скрин вкладки параметров и там, где схема настройки вывода
12 catena
 
14.02.20
13:04
(10)Вытаскивай результирующий текст запроса с параметрами и смотри, что там
13 cyberandr
 
14.02.20
13:06
убрал левое соединение и заработало. Жаль что цены со временем могут меняться :)
14 cyberandr
 
14.02.20
13:12
(10) не подскажешь как это в скд можно сделать?
15 catena
 
14.02.20
13:15
МакетКомпоновки.НаборыДанных.ИмяНабора.Запрос - как-то так, в отладке пощелкай.
16 13_Mult
 
14.02.20
13:19
Ты текст ошибки нам вручную печатал? ("регистСведений.ЦеныНоменклатуры.....)
17 toypaul
 
гуру
14.02.20
13:19
ВЫБРАТЬ
    РасходнаяНакладнаяСписокНоменклатуры.Ссылка КАК Ссылка,
    РасходнаяНакладнаяСписокНоменклатуры.НомерСтроки КАК НомерСтроки,
    РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
    РасходнаяНакладнаяСписокНоменклатуры.Количество КАК Количество,
    РасходнаяНакладнаяСписокНоменклатуры.Цена КАК Цена,
    РасходнаяНакладнаяСписокНоменклатуры.Сумма КАК Сумма,
    ЦеныСрезПоследних.Цена КАК Цена1
ИЗ
    Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная КАК РасходнаяНакладная
        ПО РасходнаяНакладнаяСписокНоменклатуры.Ссылка = РасходнаяНакладная.Ссылка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних({(&Дата1)}, ВидЦены = &ВидЦены) КАК ЦеныСрезПоследних
        ПО РасходнаяНакладнаяСписокНоменклатуры.Номенклатура = ЦеныСрезПоследних.Номенклатура
ГДЕ
    РасходнаяНакладная.Дата МЕЖДУ &Дата1 И &Дата2

и радуйся жизни
18 toypaul
 
гуру
14.02.20
13:21
в (17) важно не какое соединение конечно же а то что в фигурных скобках

хошь знать что это такое - смотри курс https://learn.programstore.ru/video_kurs_skd
читай наши статьи https://wiki.programstore.ru/category/1s-predpriyatie/1s-skd/

скоро выйдет офигенная статья по работе с запросами в 1С СКД

ну и конечно - учи первоисточники, инфостарт и мисту :)
19 catena
 
14.02.20
13:27
(18)Реклама, конечно, двигатель прогресса, но в ошибке: несоответствие типов параметра.
20 toypaul
 
гуру
14.02.20
13:49
пусть попробует сначала. а потом поглядим
21 cyberandr
 
14.02.20
13:58
(17)Работает! Сейчас попробую там НачДата использовать - лишний раз напрягать пользователя не будем
(18) спасибо очень интересно
22 cyberandr
 
14.02.20
14:02
Вообще есть еще один момент - по сути надо проверять цену в Заявке на день заказа и использовать &Начдата в Левом соединении не получится (точнее пока прокатывает).