Имя: Пароль:
1C
1С v8
Ошибка в запросе набора данных по причине: Неверные параметры "*" "+" "-&qu
0 Ilnazio
 
19.06.20
11:51
Все доброго времени суток! Пытаюсь в запросе умножить два поля. Один из них реквизит который я добавил в справочник номенклатура с типом число (стоит акцентировать на этом внимание, так как проблема вроде в этом). В консоле запросов отрабатывает нормально, умножает и выдает результат. Помогите, пожалуйста.
1 Ilnazio
 
19.06.20
11:52
(0) опытным путем кстати определил, что проблема в добавленном реквизите..
2 МихаилМ
 
19.06.20
11:54
3 Волшебник
 
модератор
19.06.20
11:56
Задайте верные параметры.
4 Ilnazio
 
19.06.20
11:57
(2) Ну одну проблему с грамотностью решил считай)) Спасибо, буду знать :)
5 ДенисЧ
 
19.06.20
11:57
"Я никогда не буду показывать свой запрос!" (с) Барт Симпсон
6 Ilnazio
 
19.06.20
11:58
(5) Ругается на поле 1

ВЫБРАТЬ
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды КАК ОбъектАренды,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.СуммаПлановая КАК ФактическаяСуммаАрендыПоДоговорам,
    бит_ар_РегистрацияДоговоровАрендыПоказатели.Значение КАК ФактическаяСтавка,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Ссылка.ДоговорКонтрагента КАК ДоговорКонтрагента,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество КАК Площадь,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды.бит_казань_ПлановаяСтавка КАК ОбъектАрендыбит_казань_ПлановаяСтавка,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды.бит_казань_ПлановаяСтавка * бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество КАК Поле1
ИЗ
    Документ.бит_ар_РегистрацияДоговоровАренды.ОбъектыАренды КАК бит_ар_РегистрацияДоговоровАрендыОбъектыАренды
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.бит_ар_РегистрацияДоговоровАренды.Показатели КАК бит_ар_РегистрацияДоговоровАрендыПоказатели
        ПО бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Ссылка = бит_ар_РегистрацияДоговоровАрендыПоказатели.Ссылка
            И бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.КлючСтроки = бит_ар_РегистрацияДоговоровАрендыПоказатели.КлючСтроки
7 Ilnazio
 
19.06.20
11:59
(3) Что вы имеете в виду, можете поподробнее объяснить, пожалуйста?
8 ДенисЧ
 
19.06.20
12:00
бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды.бит_казань_ПлановаяСтавка
бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество

Типы?
9 Ilnazio
 
19.06.20
12:00
(8) оба число
10 Ilnazio
 
19.06.20
12:02
(8) ОбъектАренды - справочник.Номенклатура, а плановая ставка - созданный мною реквизит тоже число. Ругается он именно на него. Если в формуле участвует количество с другим полем - все ок.
11 lodger
 
19.06.20
12:02
ЕСТЬNULL(бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды.бит_казань_ПлановаяСтавка,0) * бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество КАК Поле2
12 Ilnazio
 
19.06.20
12:03
(11) Прописывал, ошибку все равно выдает
13 polosov
 
19.06.20
12:11
(11) Для другого поля же.
14 ДенисЧ
 
19.06.20
12:13
Просто выбери эти два поля по отдельности и посмотри в отладчике на них.
И нам покажи...
15 Галахад
 
гуру
19.06.20
12:13
Где-то не заполнен объектаренды.
16 Ilnazio
 
19.06.20
12:19
(15) Объект аренды берется из тч документа, там уж он везде заполнен ужж
17 ДенисЧ
 
19.06.20
12:20
(16) Зуб даёшь? )))
Проверь (14) наконец.
18 Ilnazio
 
19.06.20
12:21
(17) Конфа закрыта, как можно проверить не открывая?)
19 Fragster
 
гуру
19.06.20
12:23
расскажите автору про ЕстьNULL() и про то, что обращение через точку - на самом деле левое соединение.
20 ДенисЧ
 
19.06.20
12:24
(18) Что значит "закрыта"? Ты же реквизит добавлял...
21 Ilnazio
 
19.06.20
12:25
(20) включил возможно добавления с закрытыми замками, открыл то что мне нужно и усе. Так в последующем обновляется быстрее. Новая конфа поставщика не сравнивает старые и новые аналогичные реквизиты, если стоят замки
22 Галахад
 
гуру
19.06.20
12:26
Выложи копипаст ошибки.
23 Ilnazio
 
19.06.20
12:26
(19) Что с левым соединением не так, подскажи, пожалуйста?
24 ДенисЧ
 
19.06.20
12:26
(21) И что, это как-то запрещает использование отладчика?
25 ДенисЧ
 
19.06.20
12:27
(23) В левом есть вероятность нулла. А его умножение на число даст ошибку
26 Ilnazio
 
19.06.20
12:29
(22) Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(8, 2)}: Неверные параметры "*"
<<?>>бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды.бит_казань_ПлановаяСтавка * бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество КАК Поле1
27 Ilnazio
 
19.06.20
12:30
(25) согласен. Не согласен с тем что в консолИ запроса все хорошо посчитало
28 ДенисЧ
 
19.06.20
12:32
Тык ты в отладчике посмотришь или нет?
29 Галахад
 
гуру
19.06.20
12:38
(26) Хм. А в (0) ошибка выглядела эпичнее. "*" "+" "-
30 Ilnazio
 
19.06.20
12:44
(29) да, там любую арифметику применяешь и он сыпет ошибку
31 Ilnazio
 
19.06.20
12:45
(28) бит_казань_ПлановаяСтавка    1 000    Число
32 ДенисЧ
 
19.06.20
12:45
(31) Картинку в студию. А не твои домыслы.
33 Ilnazio
 
19.06.20
12:48
34 ДенисЧ
 
19.06.20
12:50
(33) А почему [0][4]? А остальные?
И можешь метаданные тоже показать...
35 lodger
 
19.06.20
12:50
(27) бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды - там еще и тип составной?
(33) ОбъектАренды[0][4] - это что за тыква? покажи из Документа бит_ар_РегистрацияДоговоровАренды
36 Галахад
 
гуру
19.06.20
12:50
Млин

ВЫБРАТЬ
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды КАК ОбъектАренды,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.СуммаПлановая КАК ФактическаяСуммаАрендыПоДоговорам,
    бит_ар_РегистрацияДоговоровАрендыПоказатели.Значение КАК ФактическаяСтавка,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Ссылка.ДоговорКонтрагента КАК ДоговорКонтрагента,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество КАК Площадь,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды.бит_казань_ПлановаяСтавка * 1 КАК ПроблемаТут,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество * 1 КАК ИлиТут
ИЗ
    Документ.бит_ар_РегистрацияДоговоровАренды.ОбъектыАренды КАК бит_ар_РегистрацияДоговоровАрендыОбъектыАренды
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.бит_ар_РегистрацияДоговоровАренды.Показатели КАК бит_ар_РегистрацияДоговоровАрендыПоказатели
        ПО бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Ссылка = бит_ар_РегистрацияДоговоровАрендыПоказатели.Ссылка
            И бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.КлючСтроки = бит_ар_РегистрацияДоговоровАрендыПоказатели.КлючСтроки
37 Ёпрст
 
19.06.20
12:54
(36) не парься, в (0) выполняет другой текст запроса..
38 lodger
 
19.06.20
12:55
ВЫБРАТЬ
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды КАК ОбъектАренды,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.СуммаПлановая КАК ФактическаяСуммаАрендыПоДоговорам,
    бит_ар_РегистрацияДоговоровАрендыПоказатели.Значение КАК ФактическаяСтавка,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Ссылка.ДоговорКонтрагента КАК ДоговорКонтрагента,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество КАК Площадь,
    ЕСТЬNULL(Номки.бит_казань_ПлановаяСтавка,0) * бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество КАК Поле2
ИЗ
    Документ.бит_ар_РегистрацияДоговоровАренды.ОбъектыАренды КАК бит_ар_РегистрацияДоговоровАрендыОбъектыАренды
        ЛЕВОЕ СОЕДИНЕНИЕ справочник.Номенклатура КАК Номки
        ПО бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды = Номки.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.бит_ар_РегистрацияДоговоровАренды.Показатели КАК бит_ар_РегистрацияДоговоровАрендыПоказатели
        ПО бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Ссылка = бит_ар_РегистрацияДоговоровАрендыПоказатели.Ссылка
            И бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.КлючСтроки = бит_ар_РегистрацияДоговоровАрендыПоказатели.КлючСтроки
39 LoneWanderer
 
19.06.20
13:00
Дело не в null'ах - null * число = null.
Наверное, какое-то из полей составного типа (ну или вообще не число).

Если подписать
ВЫРАЗИТЬ(бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды.бит_казань_ПлановаяСтавка КАК Число(15, 2)) * <тоже самое для второго поля>
(вместо 15, 2 - подписать правильные квалификаторы)
что получиться?
40 Ilnazio
 
19.06.20
13:37
(36) Да, говорю же опытным путем выяснил что проблема со ставкой... Но как решить пока мы тут не выяснили
41 Ilnazio
 
19.06.20
13:43
(39) Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(8, 2)}: Несовместимые типы "ВЫРАЗИТЬ"
<<?>>ВЫРАЗИТЬ(бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды.бит_казань_ПлановаяСтавка КАК ЧИСЛО(15, 0)) КАК Поле1


Ругается, буду разбираться. Идею понял, вполне логичное решение
42 Ilnazio
 
19.06.20
13:44
(39) Умные люди говорят что в запросе тип поменять нельзя только вот
43 ДенисЧ
 
19.06.20
13:44
(41) Это тупо значит, что плановая ставка у тебя в метаданных не число.
44 Волшебник
 
модератор
19.06.20
13:46
наверное ОбъектАренды - составного типа и там не только справочник номенклатура
45 Ilnazio
 
19.06.20
13:46
(43) Получается так.. млять, я ж этот реквизит сам создал, как твою за ногу он меняет тип если это простое поле на форме с типом число..
46 Ilnazio
 
19.06.20
13:46
(44) Понял, попытаюсь по-другому добраться до значения, спасибо за идею
47 Волшебник
 
модератор
19.06.20
13:47
(45) надо отличать реквизит от поля на форме?
48 Ilnazio
 
19.06.20
13:47
(47) не понял
49 Ilnazio
 
19.06.20
13:48
(47) Создал реквизит, вытащил его на форму
50 Волшебник
 
модератор
19.06.20
13:48
(48) реквизит — это реквизит справочника.
поле на форме — это элемент формы, который имеет связь с реквизитом через свойство Данные
51 Ilnazio
 
19.06.20
13:52
https://yadi.sk/d/gyZ1KEx55AWwcA пусть даже составной тип, мы же обращаемся к  реквизиту.. хмм
52 Ilnazio
 
19.06.20
13:54
(44) Догнал к чему вы, не составной, тип :"СправочникСсылка.Номенклатура"
53 Ёпрст
 
19.06.20
14:02
(0)

ээх.. никого не смущает еще вот это ?.не ? ))))

  ПО бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Ссылка = бит_ар_РегистрацияДоговоровАрендыПоказатели.Ссылка
товаришь делает левое соединение двух разных типов документов по ссылке.
54 Волшебник
 
модератор
19.06.20
14:05
(53) это таб.часть документа
55 Ёпрст
 
19.06.20
14:06
(53) И ? он по ссылке на документ разных видов хочет сделать левое соединение
56 Ёпрст
 
19.06.20
14:08
А всё.. это таб части одного документа, не туда посмотрел, с такими переменными глаза сломаешь
57 Ёпрст
 
19.06.20
14:08
Ну и ладно
58 Ilnazio
 
19.06.20
14:10
(57) (54) Создал второй пакет запроса, соединил справочник номенклатура по объекту аренды. Вытащил с номенклатуры напрямую ставку. В консоли запросов отработало, в конфигураторе такую же ошибку выбило.. Мб действительно в связях дело
59 Ilnazio
 
19.06.20
14:11
попробую доп реквизит сделать в предприятии
60 Ёпрст
 
19.06.20
14:11
(58) что значит "в конфигураторе такую же ошибку выбило" ты это всё где пишешь ? Больше кода
61 Ёпрст
 
19.06.20
14:12
и..конструктор запроса хоть жуёт твой текст запроса ?
62 Ёпрст
 
19.06.20
14:12
Не в той конфе поди выполняешь, да ?
63 Ilnazio
 
19.06.20
14:16
(60) Не жует, ошибку выдает. Мы находимся в скд, строим отчет. Опишу задачу полностью, так как считаю что пора обходить эту ошибку и пытаться реализовать другими путями. Необходимо сделать вычисляемое поле с этой вот факинг ставкой (сделал, отработало). Вывел инфу в отчет - вывел нормально. Далее стоит задача сделать еще одно вычисляемое поле на основе уже посчитанного вычисляемого поля.. Там возникли проблемы и сотрудник подсказал посчитать сразу в запросе начальные данные. И тут началась канитель.

Вот код, после присоединения справочника. Конфа та же

ВЫБРАТЬ
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ОбъектАренды КАК ОбъектАренды,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.СуммаПлановая КАК ФактическаяСуммаАрендыПоДоговорам,
    бит_ар_РегистрацияДоговоровАрендыПоказатели.Значение КАК ФактическаяСтавка,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Ссылка.ДоговорКонтрагента КАК ДоговорКонтрагента,
    бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.Количество КАК Площадь
ПОМЕСТИТЬ ВТ
ИЗ
    Документ.бит_ар_РегистрацияДоговоровАренды.ОбъектыАренды КАК бит_ар_РегистрацияДоговоровАрендыОбъектыАренды
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.бит_ар_РегистрацияДоговоровАренды.Показатели КАК бит_ар_РегистрацияДоговоровАрендыПоказатели
        ПО бит_ар_РегистрацияДоговоровАрендыОбъектыАренды.КлючСтроки = бит_ар_РегистрацияДоговоровАрендыПоказатели.КлючСтроки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Номенклатура.бит_казань_ПлановаяСтавка КАК бит_казань_ПлановаяСтавка,
    Номенклатура.бит_казань_ПлановаяСтавка * ВТ.Площадь КАК Поле1
ИЗ
    ВТ КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
        ПО ВТ.ОбъектАренды = Номенклатура.Ссылка



Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(18, 2)}: Неверные параметры "*"
<<?>>Номенклатура.бит_казань_ПлановаяСтавка * ВТ.Площадь КАК Поле1
64 Ёпрст
 
19.06.20
14:26
(63) пробелы убери попробуй перед *
65 Ёпрст
 
19.06.20
14:26
и верни условие по ссылке в левое соединение..
66 Ёпрст
 
19.06.20
14:29
И еще вот, почитай
https://expert.chistov.pro/public/977912/
67 Ilnazio
 
19.06.20
14:32
(64) Не помогло
68 Ilnazio
 
19.06.20
14:35
Всем спасибо. Попробую пойти другим путем. Из вычисляемого поля попробуй все-таки вычислить другое поле
69 palpetrovich
 
19.06.20
18:00
все не читал, так пробовал?
1 * Номенклатура.бит_казань_ПлановаяСтавка * ВТ.Площадь КАК Поле1
2 + 2 = 3.9999999999999999999999999999999...