Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 13:13
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Логика в запросе  (Прочитано 7309 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sinsinmin

  • ***
  • Сообщений: 116
  • РЕПУТАЦИЯ: 9
  • КПД: 8%
  • Регистрация: 2010-08-11
  • Сайт: 
|ГДЕ
| (Формовка.Дата МЕЖДУ &НачальнаяДата И &КонечнаяДата
| И ФормовкаНомерноеЛитье.Отливка = &Отливка) И [color=yellow]((НЕ ЗаявкиНаГодноеНомерноеЛитьеСрезПервых.Регистратор.Дата ЕСТЬ NULL) И                      |ОтгрузкиНомерноеЛитьеСрезПервых.Регистратор.Дата ЕСТЬ NULL))[/color] ИЛИ [color=green](Не ОтгрузкиНомерноеЛитьеСрезПервых.Регистратор.Дата Есть NULL)[/color]

Каким образом можно совместить эти два разных условия. По отдельности жёлтое и зелёное условия работают. А вместе, описанным образом, выполнение запроса виснет на долгий срок. 


Оффлайн Sinsinmin

  • ***
  • Сообщений: 116
  • РЕПУТАЦИЯ: 9
  • КПД: 8%
  • Регистрация: 2010-08-11
  • Сайт: 
Re: Логика в запросе
« Ответ #1: 18 Мар 2011, 09:51 »
Что то неудачно отформатировал. Щас ещё раз попробую

Оффлайн Sinsinmin

  • ***
  • Сообщений: 116
  • РЕПУТАЦИЯ: 9
  • КПД: 8%
  • Регистрация: 2010-08-11
  • Сайт: 
Re: Логика в запросе
« Ответ #2: 18 Мар 2011, 09:52 »
|ГДЕ
| (Формовка.Дата МЕЖДУ &НачальнаяДата И &КонечнаяДата
| И ФормовкаНомерноеЛитье.Отливка = &Отливка) И
|[color=yellow]((НЕ ЗаявкиНаГодноеНомерноеЛитьеСрезПервых.Регистратор.Дата ЕСТЬ NULL) И                     
|ОтгрузкиНомерноеЛитьеСрезПервых.Регистратор.Дата ЕСТЬ NULL))[/color]
|ИЛИ [color=green](Не ОтгрузкиНомерноеЛитьеСрезПервых.Регистратор.Дата Есть NULL)[/color]

Каким образом можно совместить эти два разных условия. По отдельности жёлтое и зелёное условия работают. А вместе, описанным образом, выполнение запроса виснет на долгий срок. 

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Re: Логика в запросе
« Ответ #3: 18 Мар 2011, 10:31 »
Ну во-первых, зачем проверять
НЕ ЗаявкиНаГодноеНомерноеЛитьеСрезПервых.Регистратор.Дата ЕСТЬ NULL
Если нет Даты, то нет и регистратора. Можно регистратора проверять на NULL:
НЕ ЗаявкиНаГодноеНомерноеЛитьеСрезПервых.Регистратор ЕСТЬ NULL

Попробуйте подправить, возможно, быстрее работать будет.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Sinsinmin

  • ***
  • Сообщений: 116
  • РЕПУТАЦИЯ: 9
  • КПД: 8%
  • Регистрация: 2010-08-11
  • Сайт: 
Re: Логика в запросе
« Ответ #4: 18 Мар 2011, 10:49 »
Ошибку понял в запросе, но вот как её исправить. Дело в том что второе условие не связывается с основным. И запрос выбирает всё что попадает под второе условие (Не ОтгрузкиНомерноеЛитьеСрезПервых.Регистратор.Дата Есть NULL). Обязательно ли нужно ещё раз переписывать начальное условие или можно как то по другому?

Оффлайн ***Vjacheslav***

  • ***
  • Сообщений: 156
  • РЕПУТАЦИЯ: 35
  • КПД: 22%
  • Регистрация: 2010-08-16
  • Сайт: 
  • Профессия: Программист 1С
Re: Логика в запросе
« Ответ #5: 18 Мар 2011, 11:00 »
|ГДЕ
|    (Формовка.Дата МЕЖДУ &НачальнаяДата И &КонечнаяДата
|    И ФормовкаНомерноеЛитье.Отливка = &Отливка) И
|(((НЕ ЗаявкиНаГодноеНомерноеЛитьеСрезПервых.Регистратор.Дата ЕСТЬ NULL) И                     
|ОтгрузкиНомерноеЛитьеСрезПервых.Регистратор.Дата ЕСТЬ NULL))
|ИЛИ (Не ОтгрузкиНомерноеЛитьеСрезПервых.Регистратор.Дата Есть NULL))
 пробуй так

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Re: Логика в запросе
« Ответ #6: 18 Мар 2011, 11:27 »
Я же правильно понимаю, первые два условия должны всегда выполняться,
потом проверяются (3-е и 4-е) или 5-е

Тогда так:
|    (Формовка.Дата МЕЖДУ &НачальнаяДата И &КонечнаяДата
|    И ФормовкаНомерноеЛитье.Отливка = &Отливка) И
| ((НЕ ЗаявкиНаГодноеНомерноеЛитьеСрезПервых.Регистратор ЕСТЬ NULL) И                      
| ОтгрузкиНомерноеЛитьеСрезПервых.Регистратор ЕСТЬ NULL)
| ИЛИ (Не ОтгрузкиНомерноеЛитьеСрезПервых.Регистратор Есть NULL))
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн ***Vjacheslav***

  • ***
  • Сообщений: 156
  • РЕПУТАЦИЯ: 35
  • КПД: 22%
  • Регистрация: 2010-08-16
  • Сайт: 
  • Профессия: Программист 1С
Re: Логика в запросе
« Ответ #7: 18 Мар 2011, 11:35 »
у меня тоже самое написано только скобок лишних побольше:)

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Re: Логика в запросе
« Ответ #8: 18 Мар 2011, 11:42 »
***Vjacheslav***, а найдите еще 3 отличия  B)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Sinsinmin

  • ***
  • Сообщений: 116
  • РЕПУТАЦИЯ: 9
  • КПД: 8%
  • Регистрация: 2010-08-11
  • Сайт: 
Re: Логика в запросе
« Ответ #9: 18 Мар 2011, 12:18 »
Так не получится. Условие с помощью фильтров. Поэтому оно может быть само по себе. И тогда начальная третья кавычка будет без закрывающей. В общем пришлось каждый раз добавлять основное условие.


Теги:
 

Получить номер недели в месяце в запросе [номер недели]

Автор MuI_I_IkaРаздел Алгоритмы

Ответов: 0
Просмотров: 4153
Последний ответ 15 Июл 2015, 18:24
от MuI_I_Ika
РС "СостояниеОСОрганизаций" в запросе

Автор ILLUMIРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1122
Последний ответ 07 Янв 2015, 05:33
от ILLUMI
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

Автор dollРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2127
Последний ответ 01 Янв 2017, 20:27
от Геннадий ОбьГЭС
"Поле не найдено" в запросе, но оно есть.

Автор ferrari314Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2690
Последний ответ 27 Окт 2015, 10:29
от vitasw
Временная таблица во вложенном запросе+Группировка VS Таблица значений + Свернуть

Автор TsaigerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 595
Последний ответ 14 Июл 2017, 23:10
от Tsaiger

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
55 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

  • Точка Гостей: 263
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal