Имя: Пароль:
1C
1С v8
Отбор документов по незаполненному дополнительному реквизиту
0 snfr1c
 
26.12.12
11:12
Здравствуйте!
1С 8.2 Бухгалтерия 2.0. Помогите пожалуйста сформировать запрос, при котором можно получить список незаполненных дополнительных реквизитов. Например, был создан дополнительный реквизит "Статус". Получить заполненные реквизиты без проблем:
"ВЫБРАТЬ
   Реализация.Дата,
   Реализация.Ссылка,
   Реализация.Контрагент,
   Реализация.СуммаДокумента,
   ЗначенияСвойств.Свойство,
   ЗначенияСвойств.Значение
ИЗ
   (ВЫБРАТЬ
       ЗначенияСвойствОбъектов.Объект КАК Объект,
       ЗначенияСвойствОбъектов.Свойство КАК Свойство,
       ВЫРАЗИТЬ(ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК ЧИСЛО(1, 0)) КАК Значение
   ИЗ
       РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов) КАК ЗначенияСвойств
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           РеализацияТоваровУслуг.Ссылка КАК Ссылка,
           РеализацияТоваровУслуг.Дата КАК Дата,
           РеализацияТоваровУслуг.Проведен КАК Проведен,
           РеализацияТоваровУслуг.Контрагент КАК Контрагент,
           РеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента
       ИЗ
           Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг) КАК Реализация
       ПО ЗначенияСвойств.Объект = Реализация.Ссылка
ГДЕ
   Реализация.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания"
Но к сожалению получить этим запросом незаполненные реквизиты нельзя. Пожалуйста, окажите мне помощь в написания запроса.
1 snfr1c
 
27.12.12
11:43
Попытался решить проблему с использованием характеристик в СКД
вот запрос
ВЫБРАТЬ
   РеализацияТоваровУслуг.Дата КАК Дата,
   РеализацияТоваровУслуг.Ссылка КАК Документ,
   РеализацияТоваровУслуг.Контрагент КАК Контрагент,
   РеализацияТоваровУслуг.СуммаДокумента
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
   РеализацияТоваровУслуг.Проведен = ИСТИНА
   И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

УПОРЯДОЧИТЬ ПО
   Дата
{ХАРАКТЕРИСТИКИ
   ТИП(Документ.РеализацияТоваровУслуг)
   ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
           СвойстваОбъектов.Ссылка,
           СвойстваОбъектов.Наименование,
           СвойстваОбъектов.ТипЗначения
       ИЗ
           ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
       ГДЕ
           СвойстваОбъектов.ПометкаУдаления = ЛОЖЬ)
   ПОЛЕКЛЮЧА Ссылка
   ПОЛЕИМЕНИ Наименование
   ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
   ЗНАЧЕНИЯХАРАКТЕРИСТИК (ВЫБРАТЬ
           ЗначенияСвойствОбъектов.Объект,
           ЗначенияСвойствОбъектов.Свойство,
           ВЫРАЗИТЬ(ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК ЧИСЛО(5, 0)) КАК Значение
       ИЗ
           РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов)
   ПОЛЕОБЪЕКТА Объект
   ПОЛЕВИДА Свойство
   ПОЛЕЗНАЧЕНИЯ Значение }

этим запросом в СКД можно получить или с незаполненным значением или только с заполненным, но, к моему сожалению, совместить условие отбора "незаполненные или значение в списке" пока не получается.
Может кто нибудь сможет в этом помочь?
2 sidalexsandr
 
27.12.12
11:51
(0) Вот пример  (смотри (9)): v8: Как проверить в тексте запроса , что значение заполнено

Проверяет что не пустой реквизит табл части документа (реквизит имеет тип Справочник. ИмяСправочника)
3 hhhh
 
27.12.12
11:55
(2) а какой тип у вашего реквизита статус?
4 GleNET
 
27.12.12
11:59
Используйте в запросе значение Null
5 snfr1c
 
27.12.12
12:01
(3) Тип значение "Число"
(4) Где конкретно? Разве ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК ЧИСЛО(1, 0) - это не то?
6 GleNET
 
27.12.12
13:21
ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0)

Если ЗначенияСвойствОбъектов.Значение = NULL Тогда
  Значение = 0
Инече
  Значение = ЗначенияСвойствОбъектов.Значение
КонецЕсли

Вот что делает эта функция

Попробуйте в условиях написать
ЗначенияСвойствОбъектов.Значение = NULL

или раз вам нужна эта функция то в условиях
ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) = 0
7 cw014
 
27.12.12
13:23
А выборку из ПВХ добавить, религия не позволит?
8 snfr1c
 
28.12.12
11:18
(7) Религия позволяет всё что угодно. Есть варианты кода, при котором, можно выбрать заполненные и незаполненные реквизиты в СКД?
9 snfr1c
 
28.12.12
11:47
В СКД с помощью использования характеристик, как с использованием NULL так и без его использования, в отчет выводятся все значения дополнительного реквизита заполненные и незаполненные. Но при наложении отбора в отчет можно вывести или только заполненные или только незаполненные значения дополнительного реквизита. При наложении совместного отбора не выводится ничего.
10 snfr1c
 
10.01.13
11:34
Вопрос решился. Наложил в СКД отбор "группа ИЛИ"
11 sidalexsandr
 
14.01.13
13:21
(10) Поздравляю.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший