|   |   | 
| 
 | Как в запросе исключить <Объект не найден> | ☑ | ||
|---|---|---|---|---|
| 0
    
        Max1986 11.05.12✎ 17:17 | 
        Прошу совета в таком вопросе.
  Есть распределенная база. Есть регистр сведений и там есть параметры из другой базы вида <Объект не найден>. ак нам в запросе исключить эти элементы? Типа использовать подобие или еще что? Я пока нашел только один выход - ВНУТРЕННЕЕ СОЕДИНЕНИЕ с со значениями этого реквизита Регистра. Соответственно объекты <Объект не найден> не попадут. Есть ли другой вариант? | |||
| 1
    
        Deniskind 11.05.12✎ 17:25 | 
        Попробуйте в ГДЕ указать ПолеРегистраСведений ЕСТЬ NULL
  или ПолеРегистраСведений.Представление ЕСТЬ NULL | |||
| 2
    
        Deniskind 11.05.12✎ 17:25 | 
        Точнее наоборот :)
  НЕ ЕСТЬ NULL | |||
| 3
    
        Max1986 11.05.12✎ 17:26 | 
        (1)он не NULL а <Объект не найден>     | |||
| 4
    
        Max1986 11.05.12✎ 17:26 | 
        (2)не пройдет     | |||
| 5
    
        Кокос 11.05.12✎ 17:27 | 
        РАЗРЕШЕННЫЕ
  правда помоему только в корневых объектах выборки помоему. на реквизитах не сработает :) | |||
| 6
    
        mikecool 11.05.12✎ 17:27 | 
        (0) исправить ситуацию не предлагать?     | |||
| 7
    
        Кокос 11.05.12✎ 17:29 | 
        (6) согласен. такой ситуации в корне быть не должно. значит у него и в журналах и в списках все это торчит.     | |||
| 8
    
        sapphire 11.05.12✎ 17:29 | 
        (0) Ну и правильно. В чем вопрос-то?     | |||
| 9
    
        Deniskind 11.05.12✎ 17:30 | 
        (3) Рискну предположить, что представление <Объект не найден> будет, все таки, NULL     | |||
| 10
    
        mikecool 11.05.12✎ 17:31 | 
        (9) нет, неправильно     | |||
| 11
    
        mikecool 11.05.12✎ 17:31 | 
        +10 есть ссылка, но нет объекта, значение - строка(36)     | |||
| 12
    
        Fragster гуру 11.05.12✎ 17:32 | 
        Где Реквизит.Ссылка Есть не NULL     | |||
| 13
    
        Fragster гуру 11.05.12✎ 17:32 | 
        Где Таблица.Реквизит.Ссылка Есть не NULL     | |||
| 14
    
        ДемонМаксвелла 11.05.12✎ 17:33 | 
        все реквизиты у <Объект не найден> будут NULL     | |||
| 15
    
        ДемонМаксвелла 11.05.12✎ 17:34 | 
        (12) +1     | |||
| 16
    
        Max1986 11.05.12✎ 17:37 | 
        Короче, быстрее и правильнее оказалось вариант сделанный мной - со ВНУТРЕННИМ СОЕДИНЕНИЕМ     | |||
| 17
    
        Deniskind 11.05.12✎ 17:39 | 
        Проверил:
  ВЫБРАТЬ РегистрСведений1.Справочник1, РегистрСведений1.Ресурс1 ИЗ РегистрСведений.РегистрСведений1 КАК РегистрСведений1 ГДЕ НЕ (Справочник1.Представление ЕСТЬ NULL) Вот эта штука выбирает все строки регистра, у которых в измерении нет <Объект не найден> | |||
| 18
    
        sapphire 11.05.12✎ 17:40 | 
        (16) И?
  Это же очевидно. Если ссылка на реквизит битая, т.е. поле заполнено неким значением и не есть NULL, но отсутствует в целевой таблице. | |||
| 19
    
        sapphire 11.05.12✎ 17:40 | 
        (17) Неявное внутреннее соединение.     | |||
| 20
    
        Deniskind 11.05.12✎ 17:41 | 
        (19) Согласен     | |||
| 21
    
        ИС-2 11.05.12✎ 17:41 | 
        я делаю по наименованию или коду. 
  Пр Не оБъек.Код = "" | |||
| 22
    
        ДемонМаксвелла 11.05.12✎ 17:52 | 
        (21) иногда лучше молчать     | |||
| 23
    
        sapphire 11.05.12✎ 17:54 | 
        (21) Тоже самое что и в (17) см (19).     | |||
| 24
    
        sapphire 11.05.12✎ 17:55 | 
        (22) Да ладно, пусть высказывается. Только зачем? Ради флуда?
  В (0) ТС всё правильно делает. ТОлько сама тема неясно за каким организована. | |||
| 25
    
        Wern 11.05.12✎ 17:59 | 
        Неявное соединение лучше явного, улучшается читаемость кода.     | |||
| 26
    
        sapphire 11.05.12✎ 18:08 | 
        (25) Автор, убей себя об стену.     | |||
| 27
    
        Reset 11.05.12✎ 18:14 | 
        (26) Сам убейся, он прав [в данном конкретном случае].
  (23) то же самое, да да, кроме того что (21) грубо нерабочее. | |||
| 28
    
        Necessitudo 11.05.12✎ 18:33 | 
        (26) +1
  Я не пойму - у автора именно битые ссылки или просто рлс работает? | |||
| 29
    
        sapphire 11.05.12✎ 18:35 | 
        (28) Да из обмена к нему хлам приехал.     | |||
| 30
    
        sapphire 11.05.12✎ 18:37 | 
        (27) Никоим образом он не прав. Неявные соединения это ... чаще всего дикая беда.
  Например, есть регистр накопления с кучей регистраторов. Как думаешь к чему приведет код Регистратор.{чего-то там}? | |||
| 31
    
        Immortal 11.05.12✎ 21:11 | 
        вопрос больше в постановке задачи, чем в решении.
  правила формирования и миграции записей известны, фильтры в РИБ тоже. таким образом, определение записей с пустым регистратором особого труда не составляет. | |||
| 32
    
        sapphire 11.05.12✎ 23:31 | 
        (31) Ничего нового. Ответ очевиден     | |||
| 33
    
        Immortal 12.05.12✎ 00:00 | 
        (32)не понимаю, к чему это относится, объясни     | |||
| 34
    
        qwerty09 12.05.12✎ 00:24 | 
        (17) как вариант, но в выборку будут попадать незаполненные значения полей составного типа...самым правильным вариантом будет:
  ГДЕ Объект.РеквизитОбъекта ЕСТЬ NULL И Объект <> &ПустаяСсылкаНаОбъект или ГДЕ Объект.РеквизитОбъекта ЕСТЬ NULL И Объект <> Неопределено | |||
| 35
    
        sapphire 12.05.12✎ 00:40 | 
        (34) В обмене  и запросах поля составного типа = зло, ИМХо.     | |||
| 36
    
        Wern 12.05.12✎ 02:29 | 
        (35) Конечно зло, если не умеешь их готовить. По-мне лучше научится один раз и потом пользоваться, чем избегать постоянно.     | |||
| 37
    
        sapphire 12.05.12✎ 02:32 | 
        (36) А тут далеко вообще не все умеют что-либо готовить.     | |||
| 38
    
        Мимохожий Однако 12.05.12✎ 07:34 | 
        (0)Код показывай     | |||
| 39
    
        Reset 12.05.12✎ 09:48 | 
        (30) Говорить любишь, думать нет.
  Если поле не составное - нафиг не нужно явное соединение, достаточно обращения через точку [для данного конкретного, обозначенного в сабже случая]. Если поле составное и содержит пустую ссылку (неизвестного типа) - куда ты будешь соединять явно? Куда-нибудь? Таки придется делать все соединения вручную. Опять же нафиг не нужный лишний текст. Повторюсь, (25) в значительной степени прав В ДАННОМ КОНКРЕТНОМ СЛУЧАЕ (капс для неумеющих читать с первого раза). ".Ссылка" в разы читабельней чем куча неужных соединений. В данной, блин, конректной, задаче. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |