Вход | Регистрация


1С:Предприятие ::

Метки: 

Параметр в запросе ( логически да или нет)

Я
   Алекс25501
 
13.10.17 - 13:12
Ребята, помогите разобраться с ошибкой !
есть поле в запросе  ПоступлениеТоваровУслугТовары.Ссылка.Дата
как сделать логический параметр да или нет ?
если  &ТолькоАктуальные = ИСТИНА то выводятся данные где Дата пустая

я делаю ...
ВЫБОР 
КОГДА &ТолькоАктуальные ТОГДА ПоступлениеТоваровУслугТовары.Ссылка.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) 
ИНАЧЕ   ПоступлениеТоваровУслугТовары.Ссылка.Дата
КОНЕЦ
но выкидывает с ошибкой!
 
 
   Волшебник
 
Модератор
1 - 13.10.17 - 13:13
Какой ошибкой?
   lubitelxml
 
2 - 13.10.17 - 13:14
ВЫБОР
КОГДА &ТолькоАктуальные ТОГДА ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
ИНАЧЕ   ПоступлениеТоваровУслугТовары.Ссылка.Дата
КОНЕЦ 

Может так?
   Fuas4
 
3 - 13.10.17 - 13:15
(2) лучше еще и ссылку убрать
ВЫБОР 
КОГДА &ТолькоАктуальные ТОГДА ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) 
ИНАЧЕ   ПоступлениеТоваровУслугТовары.Дата 
КОНЕЦ
   Алекс25501
 
4 - 13.10.17 - 13:15
Ошибка - Операция не разрешена в предложении ВЫБОР
   lubitelxml
 
5 - 13.10.17 - 13:15
(3) согласен
   Алекс25501
 
6 - 13.10.17 - 13:16
Ошибка - Операция не разрешена в предложении <<?>> ВЫБОР
   Алекс25501
 
7 - 13.10.17 - 13:17
Мне нужен логический параметр
   Алекс25501
 
8 - 13.10.17 - 13:17
Что бы его разместить в обработке
   lubitelxml
 
9 - 13.10.17 - 13:17
покажи весь запрос
   Алекс25501
 
10 - 13.10.17 - 13:18
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЗаказПокупателяТовары.Ссылка КАК СсылкаЗаказ,
    НАЧАЛОПЕРИОДА(ЗаказПокупателяТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаЗаказа,
    ЗаказПокупателяТовары.Ссылка.Номер,
    ЗаказПокупателяТовары.Ссылка.СуммаДокумента,
    ЗаказПокупателяТовары.Ссылка.ВалютаДокумента,
    ЗаказПокупателяТовары.Количество,
    ЗаказПокупателяТовары.Ссылка.Контрагент,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗаказПокупателяТовары.Ссылка.Дата, ДЕНЬ), ДЕНЬ, ЗаказПокупателяТовары.СрокПоставки * 7), ДЕНЬ) КАК ПланируемаяДатаПоставки,
    СчетНаОплатуПоставщикаТовары.СрокПоставки КАК СрокПоставкиНеделя,
    СчетНаОплатуПоставщикаТовары.ВремяНаТранспорт КАК ВремяНаТранспортНеделя,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗаказПокупателяТовары.Ссылка.Дата, ДЕНЬ), ДЕНЬ, ЗаказПокупателяТовары.СрокПоставки), ДЕНЬ), ДЕНЬ, -(СчетНаОплатуПоставщикаТовары.СрокПоставки * 7 - СчетНаОплатуПоставщикаТовары.ВремяНаТранспорт * 7)), ДЕНЬ) КАК ДатаНачВыпЗаказаНеобх,
    РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗаказПокупателяТовары.Ссылка.Дата, ДЕНЬ), ДЕНЬ, ЗаказПокупателяТовары.СрокПоставки), ДЕНЬ), ДЕНЬ, -(СчетНаОплатуПоставщикаТовары.СрокПоставки * 7 - СчетНаОплатуПоставщикаТовары.ВремяНаТранспорт * 7)), ДЕНЬ), НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ) КАК КонтрольДатыНачВыпЗаказа,
    СчетНаОплатуПоставщикаТовары.Ссылка.ДатаНачалаВыполненияЗаказа,
    СчетНаОплатуПоставщикаТовары.Ссылка.Статус КАК Статус,
    ВЫБОР
        КОГДА СчетНаОплатуПоставщикаТовары.Ссылка.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусИнвойса.Готов)
            ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗаказПокупателяТовары.Ссылка.Дата, ДЕНЬ), ДЕНЬ, ЗаказПокупателяТовары.СрокПоставки), ДЕНЬ), ДЕНЬ, -(СчетНаОплатуПоставщикаТовары.СрокПоставки * 7 - СчетНаОплатуПоставщикаТовары.ВремяНаТранспорт * 7)), ДЕНЬ), ДЕНЬ, СчетНаОплатуПоставщикаТовары.СрокПоставки * 7), &ТекущаяДата, ДЕНЬ)
        ИНАЧЕ РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗаказПокупателяТовары.Ссылка.Дата, ДЕНЬ), ДЕНЬ, ЗаказПокупателяТовары.СрокПоставки), ДЕНЬ), ДЕНЬ, -(СчетНаОплатуПоставщикаТовары.СрокПоставки * 7 - СчетНаОплатуПоставщикаТовары.ВремяНаТранспорт * 7)), ДЕНЬ), НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ) - 0
    КОНЕЦ КАК КонтрольГотовностиДней,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗаказПокупателяТовары.Ссылка.Дата, ДЕНЬ), ДЕНЬ, ЗаказПокупателяТовары.СрокПоставки), ДЕНЬ), ДЕНЬ, -(СчетНаОплатуПоставщикаТовары.ВремяНаТранспорт * 7)), ДЕНЬ) КАК ДатаОтгрузНеобход,
    РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ЗаказПокупателяТовары.Ссылка.Дата, ДЕНЬ), ДЕНЬ, ЗаказПокупателяТовары.СрокПоставки), ДЕНЬ), ДЕНЬ, -(СчетНаОплатуПоставщикаТовары.ВремяНаТранспорт * 7)), ДЕНЬ), &ТекущаяДата, ДЕНЬ) КАК КонтрольОтгрузкиДней,
    НАЧАЛОПЕРИОДА(Отгрузка.ДатаВыхода, ДЕНЬ) КАК ДатаОтгрузки,
    СчетНаОплатуПоставщикаТовары.Количество КАК КоличествоИзОтгрузкиОтПоставщика,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Отгрузка.ДатаВыхода, ДЕНЬ), ДЕНЬ, СчетНаОплатуПоставщикаТовары.ВремяНаТранспорт * 7), ДЕНЬ) КАК ПланДатаПриходаНаСклад,
    РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Отгрузка.ДатаВыхода, ДЕНЬ), ДЕНЬ, СчетНаОплатуПоставщикаТовары.ВремяНаТранспорт * 7), ДЕНЬ), &ТекущаяДата, ДЕНЬ) КАК КонтрольДатыПриходаДней,
    НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаПоступленияНаСклад,
    ПоступлениеТоваровУслугТовары.Количество КАК КоличествоИЗПоступления
ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПоставщика.Товары КАК СчетНаОплатуПоставщикаТовары
        ПО ЗаказПокупателяТовары.Ссылка = СчетНаОплатуПоставщикаТовары.ЗаказПокупателя
            И ЗаказПокупателяТовары.Номенклатура = СчетНаОплатуПоставщикаТовары.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НоменклатураДляОтгрузкиОтПоставщика.Обороты(, , Регистратор, ) КАК НоменклатураДляОтгрузкиОтПоставщикаОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтгрузкаОтПоставщика КАК Отгрузка
            ПО НоменклатураДляОтгрузкиОтПоставщикаОбороты.Регистратор = Отгрузка.Ссылка
        ПО (НоменклатураДляОтгрузкиОтПоставщикаОбороты.Номенклатура = СчетНаОплатуПоставщикаТовары.Номенклатура)
            И (НоменклатураДляОтгрузкиОтПоставщикаОбороты.СчетНаОплатуПоставщика = СчетНаОплатуПоставщикаТовары.Ссылка)
            И (НоменклатураДляОтгрузкиОтПоставщикаОбороты.Регистратор ССЫЛКА Документ.ОтгрузкаОтПоставщика)
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        ПО ЗаказПокупателяТовары.Ссылка = ПоступлениеТоваровУслугТовары.Заказ
ГДЕ
    (ЗаказПокупателяТовары.Ссылка = &НужныйЗаказ
            ИЛИ &НужныйЗаказ = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
                И (ЗаказПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата))
 
 
   spiller26
 
11 - 13.10.17 - 13:18
(6) Дай полный код запроса
   term1t52
 
12 - 13.10.17 - 13:19
НЕ &ТолькоАктуальные ИЛИ ПоступлениеТоваровУслугТовары.Ссылка.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
   Алекс25501
 
13 - 13.10.17 - 13:20
Мне нужен логический параметр на поле НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаПоступленияНаСклад,
   Алекс25501
 
14 - 13.10.17 - 13:21
если да то выводится строки с пустой датой ДатаПоступленияНаСклад
   Алекс25501
 
15 - 13.10.17 - 13:23
Может использовать <> ЗНАЧЕНИЕ ( )
   youalex
 
16 - 13.10.17 - 13:23
(6) логично
   Алекс25501
 
17 - 13.10.17 - 13:26
Дает ошибку 

ВЫБОР 
КОГДА &ТолькоАктуальные ТОГДА НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) = ЗНАЧЕНИЕ(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
ИНАЧЕ   НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ)
КОНЕЦ
   Алекс25501
 
18 - 13.10.17 - 13:26
я что то не то делаю)
   Алекс25501
 
19 - 13.10.17 - 13:26
)))
   azernot
 
20 - 13.10.17 - 13:27
(17) В каком месте запроса используется эта конструкция? в (10) её нет.
Дай текст запроса с этой конструкцией.
   Алекс25501
 
21 - 13.10.17 - 13:29
консоль запросов не дает добавить в условиях
   Алекс25501
 
22 - 13.10.17 - 13:29
Это условие которое накладывается на запрос
   Алекс25501
 
23 - 13.10.17 - 13:29
Т.е. нужно логическое условие да или нет
   azernot
 
24 - 13.10.17 - 13:30
(22) Вот скажи
НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) 

Это да или нет?
   spiller26
 
25 - 13.10.17 - 13:30
ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
    ПоступлениеТоваровУслуг.Дата КАК Дата
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ГДЕ
    ВЫБОР
            КОГДА &ТолькоАктуальные = ИСТИНА
                ТОГДА ПоступлениеТоваровУслуг.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            ИНАЧЕ ИСТИНА
        КОНЕЦ
   Алекс25501
 
26 - 13.10.17 - 13:30
если там пустая дата - то ДА !
   Алекс25501
 
27 - 13.10.17 - 13:31
У Меня в запросе все ок! мне нужно условие на запрос установить !
   azernot
 
28 - 13.10.17 - 13:32
(26) А если там не пустая дата? То нет?

ВЫБОР
КОГДА &ТолькоАктуальные ТОГДА НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) = ЗНАЧЕНИЕ(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
ИНАЧЕ   ЛОЖЬ
КОНЕЦ
   spiller26
 
29 - 13.10.17 - 13:32
(28) Ну как то так
   azernot
 
30 - 13.10.17 - 13:32
Точнее так

ВЫБОР 
КОГДА &ТолькоАктуальные И НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) = ЗНАЧЕНИЕ(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) ТОГДА ИСТИНА
ИНАЧЕ   ЛОЖЬ 
КОНЕЦ
   spiller26
 
31 - 13.10.17 - 13:36
(30) Я бы концовку сделал бы так

ГДЕ
    (ЗаказПокупателяТовары.Ссылка = &НужныйЗаказ
            ИЛИ &НужныйЗаказ = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
                И (ЗаказПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата))
//моё

И ПоступлениеТоваровУслугТовары.Ссылка В (ВЫБРАТЬ ПоступлениеТоваровУслуг.Ссылка
ИЗ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ГДЕ
ВЫБОР
КОГДА &ТолькоАктуальные                 ТОГДА ПоступлениеТоваровУслуг.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ИНАЧЕ ЛОЖЬ КОНЕЦ)
   azernot
 
32 - 13.10.17 - 13:36
А ещё точнее так:

ВЫБОР
КОГДА &ТолькоАктуальные И НЕ НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) = ЗНАЧЕНИЕ(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) ТОГДА Ложь
ИНАЧЕ   Истина
КОНЕЦ

если имеется в виду, что у актуальных документов пустая дата
   spiller26
 
33 - 13.10.17 - 13:37
(32) Ну я так и предпологал
 
 
   azernot
 
34 - 13.10.17 - 13:38
(31) В этом запросе, если &ТолькоАктуальные = Ложь, результат будет пустой.
   Алекс25501
 
35 - 13.10.17 - 13:39
ПИШЕТ ожидается имя датавремя
   spiller26
 
36 - 13.10.17 - 13:40
(34) вместо ЛОЖЬ ставить
НЕ НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслуг.Дата, ДЕНЬ) = ЗНАЧЕНИЕ(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))

и всё будет ок
   spiller26
 
37 - 13.10.17 - 13:41
(35) Убери ЗНАЧЕНИЕ, просто ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
   spiller26
 
38 - 13.10.17 - 13:43
(36) "Поправка на ветер"

//моё 

И ПоступлениеТоваровУслугТовары.Ссылка В (ВЫБРАТЬ ПоступлениеТоваровУслуг.Ссылка 
ИЗ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг 
ГДЕ 
ВЫБОР 
КОГДА &ТолькоАктуальные
ТОГДА 
ПоступлениеТоваровУслуг.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ИНАЧЕ 
НЕ ПоступлениеТоваровУслуг.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КОНЕЦ)
   azernot
 
39 - 13.10.17 - 13:50
В общем, если уж совсем кошерно, то так:

ВЫБОР
КОГДА &ТолькоАктуальные = Истина И НЕ ПоступлениеТоваровУслугТовары.Ссылка.Дата = ДАТАВРЕМЯ(1, 1, 1) ТОГДА Ложь 
ИНАЧЕ Истина 
КОНЕЦ
   Алекс25501
 
40 - 13.10.17 - 14:22
azernot

В общем, если уж совсем кошерно, то так:

ВЫБОР
КОГДА &ТолькоАктуальные = Истина И НЕ ПоступлениеТоваровУслугТовары.Ссылка.Дата = ДАТАВРЕМЯ(1, 1, 1) ТОГДА Ложь
ИНАЧЕ Истина
КОНЕЦ

СПАСИБО!



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