|   |   | 
| 
 | Как в СКД проверить в отборе что возвращен пустой массив? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Гений 1С гуру 27.06.22✎ 07:54 | 
        Использую вычисляемое выражение через функцию общего модуля.
 Функция возращает массив. Как отобрать только те строки, где массив пустой? Значение не заполнено не прокатывает. | |||
| 1
    
        Ryzeman 27.06.22✎ 07:57 | 
        У тебя результат функции идёт в параметр или в поле? Если в поле, то как у тебя массив отображается?..     | |||
| 2
    
        Мимохожий Однако 27.06.22✎ 07:57 | 
        [ак отобрать только те строки, где массив пустой?] Расшифруй, как это должно выглядеть     | |||
| 3
    
        Гений 1С гуру 27.06.22✎ 08:00 | 
        (1) идет в ресурс по функции (Максимум). Отображается штатно списком.
 по сути для каждого товара идет список неких свойств. Этот список выдает функция. Нужно найти те товары, где вообще свойств нет. | |||
| 4
    
        Гений 1С гуру 27.06.22✎ 08:01 | 
        т.е. типо так:
 квас А,Б,В пиво А,Б водка Вот нужно отобрать водку, а там пустой массив. Я добавил еще одну функцию, которая возвращает неопределено, если массив пустой, так вроде должно работать. Других способов идентифицировать пустой массив нет? | |||
| 5
    
        Мимохожий Однако 27.06.22✎ 08:03 | 
        (4) Если массив пустой, то у него количество()=0. Но если тип значения массив     | |||
| 6
    
        Гений 1С гуру 27.06.22✎ 08:04 | 
        (5) спасибо КЭП но вопрос не об этом.     | |||
| 7
    
        Ryzeman 27.06.22✎ 08:09 | 
        Попробуй представление с пустой строкой сранвить я ХЗ     | |||
| 8
    
        Мимохожий Однако 27.06.22✎ 09:39 | 
        (6) "Кто ж тебя поймёт, если ты ничего не говоришь". Я задал вопрос, ты не ответил. А последний комментарий выглядит хамовато. ИМХО.     | |||
| 9
    
        Fedor-1971 27.06.22✎ 10:29 | 
        (0) Так сразу и заполни в поле ВнешняяФункция.Количество()
 потом добавишь отбор Поле = 0 | |||
| 10
    
        mikecool 27.06.22✎ 11:31 | 
        а может надо воспользоваться закладкой характеристики?     | |||
| 11
    
        kittystark 27.06.22✎ 12:05 | 
        пальцем в небо, программно:
 КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение = новый Массив не? или в режиме пользователя отбор: "ТвоеПоле" "содержит" <пустота> | |||
| 12
    
        kittystark 27.06.22✎ 12:06 | 
        или даже отбор "ТвоеПоле" "Не заполнено"     | |||
| 13
    
        SleepyHead гуру 27.06.22✎ 12:11 | 
        (0) В СКД есть функция ЗначениеЗаполнено(). Не вполне уверен, что она работает с массивами именно в СКД, но, наверное, стоит попробовать. 
 Ну или в отборе поставить условие типа "Заполнено" на твое поле, которое ты вычисляешь и в котором массив. | |||
| 14
    
        Гений 1С гуру 27.06.22✎ 12:14 | 
        (8) хамовато, потому что лучше промолчать, чем говорить банальности. Как ты количество в массиве на стороне СКД проверять собрался?     | |||
| 15
    
        kittystark 27.06.22✎ 12:17 | 
        еще идея:
 завести свой параметр, в котором выражение возвращает из глоб.модуля пустой массив в отборе поле сравнивать с параметром | |||
| 16
    
        Гений 1С гуру 27.06.22✎ 12:19 | 
        (15) я уже в принципе, решил, обернув функцию и возвращая неопределено вместо пустого массива. Вопрос скорее на будущее, задротский такой. ;-)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |