Вход | Регистрация
 

СКД: праметр - список значений с пустым значением

СКД: праметр  - список значений с пустым значением
Я
   Ченыч
 
12.07.10 - 13:14
Нашёл такие грабли - когда делаешь параметр списком значений, СКД зачем-то сама в этот список вставляет строку с пустым значением.
Я этот параметр передаю в запрос, и если тип параметра является иерархическим справочником, это пустое значение похоже отбирает любого родителя в иерархии, и как следствие, все значения справочника. Кстати, такой же косяк можно увидеть в отборах, если сделать вид сравнения "в группе из списка" и в список добавить строку с пустым значением.
А так как юзер тупо заполняет этот список подбором, то ему по фигу, что там какие-то пустые значения. Объяснять, что пустых значения в списке надо удалять - бесполезно. Виноват-то программист!
Нашёл, как это лечить, может кому-то пригодится.

Процедура УдалениеПустыхЗначенийПараметровСКДВВидеСписка(ЭтотОбъект, СхемаКомпоновкиДанных, КомпоновщикНастроек) Экспорт
   
   Параметры = СхемаКомпоновкиДанных.Параметры;
   Для Каждого Параметр Из Параметры Цикл
       Если Параметр.ДоступенСписокЗначений = Истина Тогда
           ПараметрДанных = ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(Параметр.Имя));
           СписокЗначениеПараметра = ПараметрДанных.Значение;
           Для Индекс=0 По СписокЗначениеПараметра.Количество()-1 Цикл  
               Если Индекс > СписокЗначениеПараметра.Количество()-1 Тогда
                   Прервать;
               КонецЕсли;
               Если ЗначениеНеЗаполнено(СписокЗначениеПараметра[Индекс].Значение) Тогда
                   СписокЗначениеПараметра.Удалить(Индекс);
                   Индекс = Индекс - 1;
               КонецЕсли;
           КонецЦикла;
       КонецЕсли;
   КонецЦикла;    

КонецПроцедуры
 
 
   Брутт
 
1 - 12.07.10 - 13:16
Тему надо бы в 1Сv8, а не в v7.
   also
 
2 - 12.07.10 - 13:20
Если не сложно добавь сюда http://1cskd.ru/
   also
 
3 - 12.07.10 - 13:36
Только пару небольших замечаний:
- ЗначениеНеЗаполнено вроде в 8.0 было..Сейчас только ЗначениеЗаполнено;
- Зачем параметр КомпановщикНастроек если он не используется?
   Ченыч
 
4 - 12.07.10 - 14:20
Сорри, это моё первое сообщение, случайно засунул в v7. Спасибо, что переместили.
ЗначениеНеЗаполнено() - это собственная функция, обратная ЗначениеЗаполнено() :)
КомпоновщикНастроек действительно не нужен, я ведь к нему обращаюсь как ЭтотОбъект.КомпоновщикНастроек, спасибо за замечание.
   also
 
5 - 12.07.10 - 14:21
(4) Так что на счет (2)?
   Ченыч
 
6 - 12.07.10 - 15:47
(5) Неохота регистрироваться. Разрешаю разместить копипаст с ссылкой сюда.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.