Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Прямой запрос к справочнику, в чем ошибка

v7: Прямой запрос к справочнику, в чем ошибка
Я
   zenon46
 
06.06.19 - 16:26
Доброго дня!
В справочнике всего три поля, Наименование,ВерхПредел,Стоимость.

В чем ошибка? Я не пойму поле такое есть, QA говорит обратное Invalid column name 'ВерхПредел'.
Запрос

SELECT
              Спр.ВерхПредел as [ВерхПредел $Число],
              Спр.Стоимость as [Стоимость $Число]
FROM
              $Справочник.СтоимостьПогрузкиРазгрузки As Спр
WHERE
               (Спр.ВерхПредел < :МассаТовара)
 
 
   toypaul
 
1 - 06.06.19 - 16:28
в синтаксисе 1С++ не силен, но тут очевидно, что поле не транслировалось в нужный реквизит справочника. может доку с примерами почитать для начала?
   zenon46
 
2 - 06.06.19 - 16:29
(1) да вроде все нормально, может очевидного не вижу, потому и српосил
   zenon46
 
3 - 06.06.19 - 16:40
   ДенисЧ
 
4 - 06.06.19 - 16:44
SELECT
              $Спр.ВерхПредел as [ВерхПредел $Число], 

Если я правильно помню эти заморочки...
   ДенисЧ
 
5 - 06.06.19 - 16:45
Во, нашёл


Re: FAQ по прямым запросам.
Ответ #2 - 19. Мая 2006 :: 11:43

    Печать  
2)Типизация к типам 1С

Текст = "
|SELECT
| Спр.ID as [Элемент $Справочник.Номенклатура]
|FROM
| $Справочник.Номенклатура as Спр
|";

Правило: Типизируем к тому виду который хранится с базе, например
$Справочник.Номенклатура
$Справочник
$Документ.РасходнаяНакладная
$Документ
$Неопределенный
дату, число, строку типизировать не надо

Еще пример

Текст = "
|SELECT
| $Док.Контрагент [Контрагент $Справочник.Контрагенты]
|FROM
| $Документ.ПКО as Док
|";

Соответственно as можно не писать. 

http://www.1cpp.ru/forum/YaBB.pl?num=1148038411
   zenon46
 
6 - 06.06.19 - 16:53
(5) хрень какая-то
SELECT
               $Спр.ВерхПредел  ВерхПредел,
               $Спр.Стоимость  Стоимость
FROM
              $Справочник.СтоимостьПогрузкиРазгрузки As Спр
WHERE
               (ВерхПредел < :МассаТовара)

тоже самое(
   ДенисЧ
 
7 - 06.06.19 - 16:55
(6) А так

WHERE
               ($Спр.ВерхПредел< :МассаТовара)
   zenon46
 
8 - 06.06.19 - 16:57
(7) ды жопа, как только не пробовал тоже самое(
   zenon46
 
9 - 06.06.19 - 16:58
(7)
написал такой
SELECT
    Спр.Descr as Наименование
FROM
    $Справочник.СтоимостьПогрузкиРазгрузки as Спр
WHERE
    Спр.IsMark = 0

рабоатет
   zenon46
 
10 - 06.06.19 - 17:00
SELECT
    Спр.ВерхПредел as ВерхПредел
FROM
    $Справочник.СтоимостьПогрузкиРазгрузки as Спр
WHERE
    Спр.IsMark = 0

а так не работает)
   zenon46
 
11 - 06.06.19 - 17:04
http://prntscr.com/nyfd5m

что нужно, не пойму
   zenon46
 
12 - 06.06.19 - 17:09
SELECT
    $Спр.ВерхПредел as ВерхПредел
FROM
    $Справочник.СтоимостьПогрузкиРазгрузки as Спр
WHERE

так рабоатет
   zenon46
 
13 - 06.06.19 - 17:20
В условии не получается выбрать нормально. Получается надо было перебором справочника заниматься.
   Herby
 
14 - 06.06.19 - 17:33
(13) и в условии нужно добавлять знак $ перед Спр.ВерхПредел
   MAG
 
15 - 06.06.19 - 17:37
$Спр.ВерхПредел as ВерхПредел
FROM
    $Справочник.СтоимостьПогрузкиРазгрузки as Спр
WHERE
    Спр.IsMark = 0
   Herby
 
16 - 06.06.19 - 18:11
(13) ВерхПредел - это название реквизита в метаданных, но в таблице БД поле имеет другое наименование, какое-нибудь sp2394.
И вот $ как раз и говорит парсеру, чтобы ВерхПредел в уже переданном запросе на сервер переименовался в sp2394.

А вот зарезервированные поля в таблицах такие как IsMark, Descr, ID и тд. ни куда переводить не нужно, они такими и остаются, поэтому перед такими полями знак $ не ставится.
   zenon46
 
17 - 06.06.19 - 18:36
Всем пасибо, разобрался.
   zenon46
 
18 - 06.06.19 - 19:35
http://prntscr.com/nyhl02

почему в выборке пусто?
   Herby
 
19 - 06.06.19 - 20:42
(18) потому что такое условие задал.

ни одна строка из таблицы слева не соответствует условию.
   zenon46
 
20 - 06.06.19 - 20:45
(19) не понял, а 4-я строка, нижний предел = 31 верхний 100, 31 туда попадет.
   Mikeware
 
21 - 06.06.19 - 20:46
(20) ты знаки перепутал.
   zenon46
 
22 - 06.06.19 - 20:47
(21) БЛЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ
   Mikeware
 
23 - 06.06.19 - 20:57
(22) "следи за собой, будь осторожен..."©
   zenon46
 
24 - 06.06.19 - 21:05
(23) пора заканчивать, на сегодня.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.