|
запрос свежих документов | ☑ | ||
---|---|---|---|---|
0
PiotrLoginov
25.04.13
✎
17:32
|
Набросал вот так:
Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиента.Ссылка, | ЗаказКлиентаДополнительныеРеквизиты.НомерСтроки |ИЗ | Документ.ЗаказКлиента КАК ЗаказКлиента | ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.ДополнительныеРеквизиты КАК ЗаказКлиентаДополнительныеРеквизиты | ПО (ЗаказКлиентаДополнительныеРеквизиты.Ссылка = ЗаказКлиента.Ссылка) |ГДЕ | ЗаказКлиента.Дата >= ДОБАВИТЬКДАТЕ(&ТекДата, ДЕНЬ, -7) | И ЗаказКлиента.Проведен = ЛОЖЬ"; При попытке выполнить конфигуратор зависает. Консоль запросов пишет Ошибки: -------------------------------------------------------------------------------- 25.04.2013 17:31:56 Ошибка СУБД: Ошибка SQL: Поле не найдено 'T4.IDRRef' по причине: Ошибка SQL: Поле не найдено 'T4.IDRRef' Что делаю не так? Заранее благодарен неописуемо. |
|||
1
Нуф-Нуф
25.04.13
✎
17:34
|
имхо твоя база медленно накрывается медной звездой
|
|||
2
zak555
25.04.13
✎
17:35
|
что за запрос такой ?
|
|||
3
PiotrLoginov
25.04.13
✎
17:57
|
(1) ТиИ проблем не выявляют
(2) Ну вообще изначально задача получить выборку свежих документов |
|||
4
drcrasher
25.04.13
✎
17:59
|
выпили полное соединение и работай только с Документ.ЗаказКлиента.ДополнительныеРеквизиты
|
|||
5
DrHiHi
25.04.13
✎
18:00
|
(0) почитай немного о соединении ;)) может поможет ;))
|
|||
6
PiotrLoginov
25.04.13
✎
18:06
|
Да Бог с ними пока,с дополнительными реквизитами. Уже убрал. Я документы за последнюю неделю вообще правильно получаю?
|
|||
7
PiotrLoginov
25.04.13
✎
18:16
|
Упростил:
Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиента.Ссылка |ИЗ | Документ.ЗаказКлиента КАК ЗаказКлиента |ГДЕ | ЗаказКлиента.Дата >= &ТекДата | И ЗаказКлиента.Проведен = ЛОЖЬ"; Запрос.УстановитьПараметр("ТекДата", ТекущаяДата()); В итоге результат запроса пуст. Хотя непроведенные документы за сегодня точно есть. |
|||
8
zak555
25.04.13
✎
18:20
|
(7) херовый запрос
|
|||
9
serega2671
25.04.13
✎
18:22
|
может не ТекущаяДата()?
|
|||
10
serega2671
25.04.13
✎
18:26
|
НачалоДня(ТекущаяДата()) хотя бы
|
|||
11
PiotrLoginov
25.04.13
✎
18:27
|
(8) Поправь если не трудно
|
|||
12
PiotrLoginov
25.04.13
✎
18:30
|
(10) Помогло. СП читал. Нигде не сказано, что ТекущаяДата() само по себе не работает... Спасибо за подсказку. А как правильно получить последние семь дней ?
|
|||
13
PiotrLoginov
25.04.13
✎
18:32
|
(10) Кажется начинаю догадываться. Текущая дата - мало. Нужно было дать запросу дату и время
|
|||
14
PiotrLoginov
25.04.13
✎
18:34
|
Супер. И ДОБАВИТЬКДАТЕ заработало. Вопрос закрыт
|
|||
15
Rie
25.04.13
✎
18:35
|
Почему-то мне кажется, что сообщения об ошибках в (0) к ТекущаяДата() не имеют ни малейшего отношения. Зато имеют отношение к (1).
|
|||
16
serega2671
25.04.13
✎
18:39
|
(13) "Текущая дата - мало" --- ТекущаяДата() - МНОГО=))
|
|||
17
PiotrLoginov
25.04.13
✎
18:40
|
(15) Ну ... как знать. База - файловый вариант. 6 гигов. Сто лет не сжимавшася. Помеченных на удаление элементов тьма. Плюс пользователи там, плюс обмен недоделанный...
(16) :) |
|||
18
PiotrLoginov
25.04.13
✎
18:41
|
Про пользователей к тому, что есть товарищи, способные наворотить делов.
|
|||
19
Rie
25.04.13
✎
18:43
|
(17) IDRRef - так называется поле, в котором хранится Ссылка. Если оно не найдено - становится немного нервно.
|
|||
20
PiotrLoginov
25.04.13
✎
18:49
|
(19) Да Вы что... Сейчас еще раз попробовал, но уже на рабочей базе - та же ошибка при попытке получить запросом табличную часть ДополнительныеРеквизиты. Но там ведь не у всех этих документов есть строки в этой ТЧ. Где-то заполнено, где-то - нет
|
|||
21
Umga2002
25.04.13
✎
18:52
|
Э-Эх семерочники!
|
|||
22
palpetrovich
25.04.13
✎
18:55
|
(20) а так не судьба?
ВЫБРАТЬ ЗаказКлиентаДополнительныеРеквизиты.Ссылка, ЗаказКлиентаДополнительныеРеквизиты.НомерСтроки ИЗ Документ.ЗаказКлиента.ДополнительныеРеквизиты КАК ЗаказКлиентаДополнительныеРеквизиты |
|||
23
palpetrovich
25.04.13
✎
18:57
|
+22 зачем какие-то соединения здесь? ...у табчасти тоже есть ссылка есичё :)
|
|||
24
PiotrLoginov
25.04.13
✎
18:58
|
(22) Понятно ) Ларчик просто открывался. Сейчас попробую... А то уже "становилось немного нервно", ибо попытка получить ТЧ доп. реквизитов документа, где строка точно есть, также привела к ошибке IDRRef
|
|||
25
Rie
25.04.13
✎
18:58
|
(20) У тебя ПОЛНОЕ СОЕДИНЕНИЕ? Вот где не заполнена ТЧ - становится весело.
|
|||
26
PiotrLoginov
25.04.13
✎
18:59
|
(23) Да мне на самом деле сама ТЧ не нужна. Я примерялся к ней потому, что планировал далее взяться за выборку документов, не имеющих строк в ТЧ Дополнительные реквизиты.
|
|||
27
PiotrLoginov
25.04.13
✎
19:01
|
(25) Рассуждал так: Мне нужны ВСЕ документы - как имеющие строки в этой ТЧ, так и не имеющие. А затем я посмотрю, как мне отсеять те, где доп. реквизиты заполнены. Ну и плюс хотелось глянуть в запросе на ВСЕ строки ТЧ. Для наглядности. Поэтому полное соединение. Не пинайте )
|
|||
28
Rie
25.04.13
✎
19:03
|
(27) Ну, для этого достаточно было левого соединения. Однако если соединение - левое (правое) или полное, то надо бы предвидеть, что в нём и NULL может встретиться.
|
|||
29
PiotrLoginov
25.04.13
✎
19:05
|
Вот-вот, проверка на NULL наверное и поможет мне получить доки, в которых нет строк ТЧ ДополнительныеРеквизиты. Правда, я еще не докумекал, как это можно будет сделать
|
|||
30
Rie
25.04.13
✎
19:08
|
(29)
ВЫБРАТЬ ЗаказКлиента.Ссылка ИЗ Документ.ЗаказКлиента КАК ЗаказКлиента ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.ДополнительныеРеквизиты КАК ЗаказКлиентаДополнительныеРеквизиты ПО ЗаказКлиентаДополнительныеРеквизиты.Ссылка = ЗаказКлиента.Ссылка ГДЕ ЗаказКлиентаДополнительныеРеквизиты.Ссылка ЕСТЬ NULL выдаст те, у кого дополнительных реквизитов нет. |
|||
31
PiotrLoginov
25.04.13
✎
19:11
|
(30) Сегодня просто праздник какой-то ) Спасибо.
|
|||
32
palpetrovich
26.04.13
✎
10:06
|
(30) хм, если
ЗаказКлиентаДополнительныеРеквизиты.Ссылка = ЗаказКлиента.Ссылка и ЗаказКлиентаДополнительныеРеквизиты.Ссылка ЕСТЬ NULL тогда ЗаказКлиента.Ссылка ЕСТЬ NULL ...че-т не то кажись ;) |
|||
33
Rie
26.04.13
✎
13:14
|
(30) С хренов ли? ЗаказКлиента.Ссылка - вполне себе не NULL.
А вот ЗаказКлиентаДополнительныеРеквизиты.Ссылка - может быть NULL, поскольку ЛЕВОЕ СОЕДИНЕНИЕ. |
|||
34
GANR
26.04.13
✎
13:18
|
Банальная ошибка - слишком много записей, соответствующих условию соединения ПОЛНОЕ СОЕДИНЕНИЕ. У самих из-за подобной ерунды сервак падал при попытке провести самопальный документ "Закрытие месяца".
|
|||
35
GANR
26.04.13
✎
13:20
|
Хм, а ТИИ пробовали?
|
|||
36
GANR
26.04.13
✎
13:27
|
Вероятная причина - полю IDRRef (Ссылка, то есть) во многих документах почему-то было присвоено о д и н а к о в о е (возможно, пустое) значение.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |