Имя: Пароль:
1C
1С v8
Дополнительные реквизиты и сведения элементов справочника
0 vikki
 
21.07.16
11:11
У справочника Контрагенты создаю дополнительное сведение "Ликвидирован, признан банкротом". Мне нужно отобрать сальдо по счету только тех контрагентов, у которых этот признак "ложь". Если он "ложь", то соответственно записи в регистре сведений отсутствуют. Как правильно построить выборку?
1 Lexey_
 
21.07.16
11:22
(0) левое соединение, условие ЕСТЬ NULL
2 aleks_default
 
21.07.16
11:29
(1)
Вернее так
ГДЕ
IsNull(ЗначениеСвойства,Ложь) = Ложь
3 Aleksey
 
21.07.16
11:30
"Если он "ложь", то соответственно записи в регистре сведений отсутствуют. "

Кто тебе сказал?
Т.е. если я поставлю галочку сохраню, а потом удалю её то у меня записи не будет?
4 vikki
 
21.07.16
11:41
(3) если я ставлю истину, тогда появляется запись в регистре, ставлю ложь, записи нет
5 vikki
 
21.07.16
11:41
(2) сейчас попробую, но боюсь, что это не null
6 vikki
 
21.07.16
11:43
(2) не прокатило(((
7 vikki
 
21.07.16
11:44
вот ОСВ по счету, если в отборе поставить вид сравнения "не заполнено", то она все отбирает...как такое в выборке сделать?
8 aleks_default
 
21.07.16
11:46
(6)ЛЕВОЕ СОЕДИНЕНИЕ
9 vikki
 
21.07.16
11:46
выход конечно есть, можно сделать не булево, а доп.значения "да" и "нет", но тогда нужно это "нет" проставить во всех контрагентах, либо обработку отдельно писать, чтобы проставила...((((
10 aleks_default
 
21.07.16
11:48
(9)не пори чепухи
запрос в студию.
11 xxTANATORxx
 
21.07.16
11:49
(0)на СКД есть закладка характеристики, настрой и будет тебе счастье
(1)+
12 vikki
 
21.07.16
11:58
(10) "ВЫБРАТЬ
|    Контрагенты.Ссылка КАК Ссылка
|ИЗ
|    Справочник.Контрагенты КАК Контрагенты
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|        ПО Контрагенты.Ссылка = ДополнительныеСведения.Объект
|ГДЕ
|    ДополнительныеСведения.Свойство = &СвойствоК
|    И ЕСТЬNULL(ДополнительныеСведения.Значение, ЛОЖЬ) = ЛОЖЬ
13 vikki
 
21.07.16
11:58
(10) в истину поставить - отбирает правильно записи с признаком, а вот у кого не стоит - ничего
14 aleks_default
 
21.07.16
12:05
ДополнительныеСведения.Свойство = &СвойствоК
в условие соединения перенеси
15 hhhh
 
21.07.16
12:18
(13) да, с

|ГДЕ
|    ДополнительныеСведения.Свойство = &СвойствоК

ты очень сильно приколол.
16 vikki
 
21.07.16
12:23
(14)  aleks_default , Спасибо!
Я только не пойму, почему так сделано, что записи пустые при значении ложь? Нет смысла хранить?
17 aleks_default
 
21.07.16
12:29
см (3)
может быть три состояния записи
галку не устанавливали  - запись в регистре отсутствует
галку установили  - запись создалась, значение - истина
галку установили, а потом сняли  - запись создалась, значение - ложь.
18 hhhh
 
21.07.16
12:31
(16) это на твое уже усмотрение. Например, ты добавил свойство свое в номенклатуру. Чтобы оно появилось равно ложь, ты должен обойти 100 000 элементов справочника Номенклатура и для каждой записать это свойство = Ложь.
19 aleks_default
 
21.07.16
12:33
(16) Это у тебя на форме просто пустой флажок отображается когда ты добавляешь свойство. Но записи в регистр создаются только когда ты меняешь значение этого флажка и записываешь элемент справочника. До этого момента их просто нет.
20 vikki
 
21.07.16
12:59
(19) так я записи регистра смотрела...может форма обновилась вовремя после изменения значения, потому и не увидела...но проверила же два раза((((
21 vikki
 
21.07.16
13:00
(20) * не вовремя
Основная теорема систематики: Новые системы плодят новые проблемы.