Доп. реквизиты

1. АннаШ 130 22.05.26 15:01 Сейчас в теме
Добрый день!
Документооборот 2.1.11.5
Простой запрос:
ВЫБРАТЬ
	ВнутренниеДокументы.Ссылка КАК Ссылка,
	ВнутренниеДокументы.ДатаСоздания КАК ДатаСоздания,
	ВнутренниеДокументы.ВидДокумента КАК ВидДокумента
ИЗ
	Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
ГДЕ
	ВнутренниеДокументы.ВидДокумента = &ВидДокумента
	И ВнутренниеДокументы.ПометкаУдаления = ЛОЖЬ
	И ВнутренниеДокументы.ДатаСоздания МЕЖДУ &ДатаНачала И &ДатаОкончания
	И ВнутренниеДокументы.Сумма >= 100000
	И (ВнутренниеДокументы.ДополнительныеРеквизиты.Свойство = &Свойство
	И НЕ ВнутренниеДокументы.ДополнительныеРеквизиты.Значение = ИСТИНА)

УПОРЯДОЧИТЬ ПО
	ДатаСоздания
Показать


Доп. свойство имеет тип булево.
Проверяю (выполнить), а выбирает горстку док-ов.
Почему-то очень во многих заданного свойства нет.
Где накосячила?
Спасибо.
По теме из базы знаний
Найденные решения
4. Anchoret 69 22.05.26 15:11 Сейчас в теме
Запрос редактировал в тексте, поэтому могут быть ошибки, но суть, примерно, такая

ВЫБРАТЬ
    ВнутренниеДокументы.Ссылка КАК Ссылка,
    ВнутренниеДокументы.ДатаСоздания КАК ДатаСоздания,
    ВнутренниеДокументы.ВидДокумента КАК ВидДокумента
ИЗ
    Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты Как ДополнительныеРеквизиты
ПО ВнутренниеДокументы.Ссылка = ДополнительныеРеквизиты.Ссылка
И ДополнительныеРеквизиты.Свойство = &Свойство
ГДЕ
    ВнутренниеДокументы.ВидДокумента = &ВидДокумента
    И ВнутренниеДокументы.ПометкаУдаления = ЛОЖЬ
    И ВнутренниеДокументы.ДатаСоздания МЕЖДУ &ДатаНачала И &ДатаОкончания
    И ВнутренниеДокументы.Сумма >= 100000
    И НЕ ЕСТЬNULL(ДополнительныеРеквизиты.Значение, ЛОЖЬ) = ИСТИНА)

УПОРЯДОЧИТЬ ПО
    ДатаСоздания
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 84 22.05.26 15:05 Сейчас в теме
(1) Нужно запрос к ТЧ "ДополнительныеРеквизиты" делать, а не к самому объекту.
Если нет свойства в ТЧ, то это нормальная ситуация.
АннаШ; +1 Ответить
3. Sashares 33 22.05.26 15:07 Сейчас в теме
(1) Выбери те, где Истина, а потом ссылка не в выбранных.
Если значение Ложь, свойство может не храниться.
АннаШ; vv2; +2 Ответить
27. dehro 14 26.05.26 13:04 Сейчас в теме
(1) Всегда пишу "... СОЕДИНЕНИЕ" вместо обращения через две точки.
Иначе потом на трезвую голову можно запутаться.
4. Anchoret 69 22.05.26 15:11 Сейчас в теме
Запрос редактировал в тексте, поэтому могут быть ошибки, но суть, примерно, такая

ВЫБРАТЬ
    ВнутренниеДокументы.Ссылка КАК Ссылка,
    ВнутренниеДокументы.ДатаСоздания КАК ДатаСоздания,
    ВнутренниеДокументы.ВидДокумента КАК ВидДокумента
ИЗ
    Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты Как ДополнительныеРеквизиты
ПО ВнутренниеДокументы.Ссылка = ДополнительныеРеквизиты.Ссылка
И ДополнительныеРеквизиты.Свойство = &Свойство
ГДЕ
    ВнутренниеДокументы.ВидДокумента = &ВидДокумента
    И ВнутренниеДокументы.ПометкаУдаления = ЛОЖЬ
    И ВнутренниеДокументы.ДатаСоздания МЕЖДУ &ДатаНачала И &ДатаОкончания
    И ВнутренниеДокументы.Сумма >= 100000
    И НЕ ЕСТЬNULL(ДополнительныеРеквизиты.Значение, ЛОЖЬ) = ИСТИНА)

УПОРЯДОЧИТЬ ПО
    ДатаСоздания
Показать
7. Avatarzorro 74 25.05.26 02:44 Сейчас в теме
(4) а зачем делать соединение? НАпрямую из таблицы доп реквизитов вытаскивать, а вид документа брать через точку. Платформа сама прислюнявит неявное соединение
8. Sashares 33 25.05.26 12:15 Сейчас в теме
(7) Потому что записи может не быть.
Иначе запрос ТС в шапке работал бы.
Anchoret; user_2194807; +2 Ответить
9. Avatarzorro 74 26.05.26 04:49 Сейчас в теме
(8) так логично же. Делать проверку на нулл и значение по умолчанию. Если записи нет, то нет и значения. Оно именно так работает
10. user_2194807 26.05.26 09:12 Сейчас в теме
(9)
проверку на нулл
NULL есть только в соединении. Попробуй найти NULL в запросе из одной таблицы, покажи нам класс.
Anchoret; Sashares; +2 Ответить
11. starik-2005 3272 26.05.26 10:43 Сейчас в теме
(10)
Попробуй найти NULL в запросе из одной таблицы
А из нуля слабо?
SELECT  NULL
)))
12. spacecraft 26.05.26 10:45 Сейчас в теме
13. starik-2005 3272 26.05.26 10:47 Сейчас в теме
(12)
таблица
SELECT    NULL FROM    TABLE < --- таблица
          /|\
           |
           |
       NULL
14. spacecraft 26.05.26 10:50 Сейчас в теме
(13) идею оценил, но null не из таблицы.
15. starik-2005 3272 26.05.26 10:51 Сейчас в теме
(14) Ну тебе не угодишь )))
Попробуй найти NULL в запросе из одной таблицы, покажи нам класс.
16. spacecraft 26.05.26 10:57 Сейчас в теме
(15) изначально "а зачем делать соединение? НАпрямую из таблицы доп реквизитов вытаскивать".
А если нет записей в таблице, то и null твоим запросом не получить.
17. starik-2005 3272 26.05.26 10:58 Сейчас в теме
(16) Я вот тут задумался. Если мы перестанем писать на инфостартах, то тут вообще скоро писать перестанут. Сколько сейчас сообщений в день на форуме? 100? А сколько было 10 лет назад? Вангую смерть форума в течение года. Так что найди себе хорошее занятие по душе - время еще есть.
18. spacecraft 26.05.26 11:00 Сейчас в теме
(17) спасибо за заботу )
19. Sashares 33 26.05.26 11:06 Сейчас в теме
(17)
Вангую смерть форума в течение года.

Это до ядерной войны или после? Какие предсказания по ней?
20. starik-2005 3272 26.05.26 11:10 Сейчас в теме
(19) Да ИС и без всякой войны загнется, если не считать войну с ИИ, который убил стековерфлоу.
ЗЫ: не удивлюсь, если владелец ресурса уже все понял и продал данные форума гигачату и яндыксу как практически размеченный датасет. Есть же тут кнопка "это ответ". Ну или 1Су, хотя половина этого 1Су и принадлежит. Но в 1С, имха, до сих пор до конца не понимают, как учить модели.
22. Sashares 33 26.05.26 11:18 Сейчас в теме
(20) По ИС ладно, мне про войну для себя, планировать задачи на осень или не стоит))
25. starik-2005 3272 26.05.26 11:36 Сейчас в теме
(22)
про войну для себя
Сейчас во всем мире войн пять-шесть идет - можешь сгонять.
21. SlavaKron 26.05.26 11:17 Сейчас в теме
(10)
Попробуй найти NULL в запросе из одной таблицы
Из виртуальных таблиц не в счёт?
24. user_2194807 26.05.26 11:30 Сейчас в теме
29. Avatarzorro 74 27.05.26 02:25 Сейчас в теме
(10) можно в жесткую значение в колонку Null прописать.

а так получаешь список доп реквизитов и к нему слюнявишь если тебе они прям в явном виде нужны
5. АннаШ 130 22.05.26 15:42 Сейчас в теме
Огромное СПАСИБО всем неравнодушным!
6. Avatarzorro 74 25.05.26 02:43 Сейчас в теме
доп реквизит появляется в табличной части есть его значение было задано. Если не задано, то его может не быть. Более того, оно может быть задано, а потом очищено. Тогда значение в таблице может как стать пустым, так и вовсе пропасть
23. user_2194807 26.05.26 11:24 Сейчас в теме
(6)
Тогда значение в таблице может как стать пустым
Но не NULL
28. Avatarzorro 74 27.05.26 02:21 Сейчас в теме
(23) имелось ввиду не это.
короче в таблице доп реквизитов есть колонки "свойство" и "значение". Свойсвто - это доп реквизит, значение - его значение.

Изначально таблица пустая, хоть у тебя 100500 доп реквизитов у объекта назначено.

Когда ты добавляешь значение на форме оно идет в таблицу. Заполнил 1 доп реквизит из 100500 - в таблице 1 строка со значением этого доп реквизита. Записал. Потом очистил значение. Тут 2 варианта я наблюдал:
1) в таблице останется 1 строка, колонка "свойство" будет заполнена, а "значение" пустая
2) строка в таблице тупо удалится.

Так вот. если ты будешь слюнявить таблицу в запросе, то отсутствие строки даст null.
К примеры ты получаешь список доп реквизитов и слюнявишь сюда их значения. В таком случае все пустые записи будут Null если строк с такими свойствами не будет (вариант 2), но будут пустыми если строки с такими свойствами есть и не заполнены (вариант 1).

В случае просто доставания из таблицы значений которые есть, то остальные считаются пустыми. Изи
30. comptr 57 27.05.26 07:58 Сейчас в теме
(28) Если значение доп. реквизита совпадает с пустым значением типа доп. реквизита, то строка этого доп. реквизита удаляется из табличной части. Предположу, что случай 1 возникает, когда тип доп. реквизита составной и значение там, например, пустая строка, а не Неопределено. Если вернуться в вопросу ТС, то для типа Булево возможен только случай 2.
31. АннаШ 130 27.05.26 09:05 Сейчас в теме
Ну, вы, блин, даёте... ©
СПАСИБО всем неравнодушным.
А этот "нюанс 1С" - 0<>NULL<>Неопределено - переживет нас (я так думаю).
32. Avatarzorro 74 28.05.26 02:08 Сейчас в теме
(31) это не нюанс, а абсолютно логичная шляпа.

гденить в с++ или джаве 0 <> NULL <> Undefined
Прикрепленные файлы:
26. Sashares 33 26.05.26 12:34 Сейчас в теме
(25) удобно, да, такой выбор
Для отправки сообщения требуется регистрация/авторизация

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот