Как вставить в фильтр СКД список значений?

1. daemonia 28.09.17 15:06 Сейчас в теме
Имеется отчет на СКД. В нем есть поле номенклатура. В Номенклатуре есть стандартный для базы (Ут 11.1) реквизит Артикул - обычная строка. Нужно чтобы пользователь мог снять отчет по заданному списку артикулов. Добавил в Отбор: Номенклатура.Артикул, В списке. При открытии отчета, захожу в настройки, расширенные. Там Открываю значение, нажимаю Вставить из буфера обмена и ошибка - Значение не является значением объектного типа (ПолноеИмя). Причем не важно, что в буфере из Экселя данные или прочто цифра 1. Подскажите куда копать или какой то альтернативны вариант.
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Korolev 49 28.09.17 15:10 Сейчас в теме
1) А если отбор делать не через точку?
2) Попробовать вынести отбор в параметр с галкой "доступен список значений"
+
3. user623969_dusa 28.09.17 15:19 Сейчас в теме
полное имя это строка неограниченной длины по таким отбор невозможен следует выбирать артикул а не всю таблицу номенклатура с ее полями - копай в этом направлении
+
4. protexprotex 114 28.09.17 15:20 Сейчас в теме
Добрый день. Сделайте через набор данных ОБЪЕКТ, а не через набор данных ЗАПРОС. Через набор данных объект - там сможете сформировать свой запрос, установить свои отборы в запросе и вернуть СКД свою таблицу.
Процедура ПолучитьВнешниеИсточникиДанных(ВнешниеНаборыДанных)

	ПолучитьТаблицу(ВнешниеНаборыДанных);

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

Процедура ПолучитьТаблицу(ВнешниеНаборыДанных)
	Перем ТекстЗапроса;
	Перем ТаблицаРезультат;
	
	Если ЗначениеЗаполнено(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение) Тогда
		НачалоПериода	= КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение;
	Иначе 
		НачалоПериода	= НачалоМесяца(ТекущаяДата());
	КонецЕсли;
	
	Если ЗначениеЗаполнено(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода").Значение) Тогда
		КонецПериода	= КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода").Значение;
	Иначе 
		КонецПериода	= НачалоМесяца(ТекущаяДата());
	КонецЕсли;
	
	Запрос 				= Новый Запрос;	
	
	// -----------------------------------------------------	
	ТаблицаРезультат	= НеОпределено;
	// -----------------------------------------------------	
ТекстЗапроса		= "ВЫБРАТЬ и т.д."


		Запрос				= Новый Запрос;
		Запрос.Текст		= ТекстЗапроса;
		Запрос.УстановитьПараметр("НачПериода", НачалоПериода);
		Запрос.УстановитьПараметр("КонПериода", КонецПериода);
		Запрос.УстановитьПараметр("МОЙСПИСОКЗНАЧЕНИЙ", СписокЗначений);
		
ТаблицаРезультат	= Запрос.Выполнить().Выгрузить();
ВнешниеНаборыДанных.Вставить("МойНаборДанных", ТаблицаРезультат);
КонецПроцедуры
Показать
+
5. protexprotex 114 28.09.17 15:24 Сейчас в теме
Ну и
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт
	
	ВнешниеНаборыДанных = Новый Структура;
	
	ПолучитьВнешниеИсточникиДанных(ВнешниеНаборыДанных);
	
	СтандартнаяОбработка = ложь;
	
	КомпоновщикМакета =  Новый КомпоновщикМакетаКомпоновкиДанных;
	Настройки = КомпоновщикНастроек.Настройки;
	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки,ДанныеРасшифровки);
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных,ДанныеРасшифровки);
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	
КонецПроцедуры
Показать
+
6. necropunk 9 28.09.17 15:31 Сейчас в теме
Вам нужно примерно так?
+
7. daemonia 28.09.17 15:44 Сейчас в теме
(6) Да, только мне не нужны там поиски по коду или наименованию, просто список из текстовых строк.
+
8. necropunk 9 28.09.17 15:51 Сейчас в теме
(7) Ну так сделайте по аналогии, указав тип строка.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот