Имя: Пароль:
1C
 
Правильность написания запроса
0 falselight
 
23.06.17
04:50
Верно ли написан синтакс запроса?
Документ - измерение РС, тип любая ссылка.


ВЫБРАТЬ
    Отфактуровка.Документ.Номер,
    Отфактуровка.Документ.Дата,
    Отфактуровка.Документ.ДоговорКонтрагента.Номер,
    Отфактуровка.Документ.ДоговорКонтрагента.Дата,
    Отфактуровка.Документ.ЕстьПодписанныйОригинал,
    Отфактуровка.Документ.Ответственный
ИЗ
    РегистрСведений.Отфактуровка КАК Отфактуровка
ГДЕ
    Отфактуровка.Документ.Дата МЕЖДУ &НачДата И &КонДата
    И ТИПЗНАЧЕНИЯ(Отфактуровка.Документ) = ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг)
1 Гобсек
 
23.06.17
04:55
ТИПЗНАЧЕНИЯ(Отфактуровка.Документ) = ТИП(Документ.РеализацияТоваровУслуг)
2 Гобсек
 
23.06.17
04:56
ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг.ПустаяСсылка)
3 Гобсек
 
23.06.17
04:59
В (1) и (2) варианты правильного синтаксиса
4 falselight
 
23.06.17
05:01
(3) То есть так не верно?

И ТИПЗНАЧЕНИЯ(Отфактуровка.Документ) = ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг)

На это выдает ошибку

И ЗНАЧЕНИЕ(Отфактуровка.Документ.РеализацияТоваровУслуг.ПустаяСсылка)

неверные параметры!
5 sFAQer
 
23.06.17
05:12
ГДЕ
    Выразить(Отфактуровка.Документ КАК Документ.РеализацияТоваровУслуг).Дата МЕЖДУ &НачДата И &КонДата
    И Отфактуровка.Документ ССЫЛКА Документ.РеализацияТоваровУслуг
6 sFAQer
 
23.06.17
05:12
ВЫБРАТЬ
    Выразить(Отфактуровка.Документ КАК Документ.РеализацияТоваровУслуг).Номер,
    Выразить(Отфактуровка.Документ КАК Документ.РеализацияТоваровУслуг).Дата,
    Выразить(Отфактуровка.Документ КАК Документ.РеализацияТоваровУслуг).ДоговорКонтрагента.Номер,
    Выразить(Отфактуровка.Документ КАК Документ.РеализацияТоваровУслуг).ДоговорКонтрагента.Дата,
    Выразить(Отфактуровка.Документ КАК Документ.РеализацияТоваровУслуг).ЕстьПодписанныйОригинал,
    Выразить(Отфактуровка.Документ КАК Документ.РеализацияТоваровУслуг).Ответственный
7 sFAQer
 
23.06.17
05:13
А вообще архитектуру хранения данных надо переделывать если тебе нужны такие запросы...
8 Гобсек
 
23.06.17
05:56
(4)Делай как в (1)
(2)Я привел в качестве примера, когда используют Значение(), но это не твой случай

ВЫБРАТЬ
    Отфактуровка.Документ.Номер,
    Отфактуровка.Документ.Дата,
    Отфактуровка.Документ.ДоговорКонтрагента.Номер,
    Отфактуровка.Документ.ДоговорКонтрагента.Дата,
    Отфактуровка.Документ.ЕстьПодписанныйОригинал,
    Отфактуровка.Документ.Ответственный
ИЗ
    РегистрСведений.Отфактуровка КАК Отфактуровка
ГДЕ
    Отфактуровка.Документ.Дата МЕЖДУ &НачДата И &КонДата
    И ТИПЗНАЧЕНИЯ(Отфактуровка.Документ) = ТИП(Документ.РеализацияТоваровУслуг)
9 Redkiy
 
23.06.17
06:18
(8) Что за дурь ты пишешь?
(0) Верный ответ в (5)(6)
Скуль сделает кучу джойнтов ко всем таблицам документов состава составного поля.
Чтобы этого избежать используют функцию ВЫРАЗИТЬ()
10 Гобсек
 
23.06.17
06:30
(9)Если учесть, что "Документ - измерение РС, тип ЛЮБАЯ ссылка.", то, пожалуй, запрос из (8) может завесить систему. Работоспособный вариант - это (5)(6).