ПРОДАЖА И ВНЕДРЕНИЕ 1С

по всей России

+7 (495) 223-32-11

Заказать обратный звонок

8 (800) 775-90-01

Бесплатно по России

Получить

Скорую 1С помощь

Получить

Проконсультироваться
со специалистом 1С

Консультироваться

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

Код 1C v 8.х
 Процедура УдалениеПустыхЗначенийПараметровСКДВВидеСписка(ЭтотОбъект, СхемаКомпоновкиДанных)
      

Параметры = СхемаКомпоновкиДанных.Параметры;
Для Каждого Параметр Из Параметры Цикл
Если Параметр.ДоступенСписокЗначений = Истина Тогда
ПараметрДанных = ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.
НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(Параметр.Имя));

СпЗначениеПараметра = ПараметрДанных.Значение;
Для Индекс=0 По СпЗначениеПараметра.Количество()-1 Цикл
Если Индекс > СпЗначениеПараметра.Количество()-1 Тогда
Прервать;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(СпЗначениеПараметра[Индекс].Значение) Тогда
СпЗначениеПараметра.Удалить(Индекс);
Индекс = Индекс - 1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;

КонецПроцедуры

Ченыш

Информация взята с сайта http://helpf.pro


Заказать обратный звонок

Позвонить
Отправлено! В самое ближайшее время наш менеджер свяжется с Вами.