|
Неверный тип значения |
☑ |
0
bUbA
17.05.13
✎
13:41
|
В процедуре
Номенклатура.Очистить();
ПостроительЗапроса = Новый ПостроительЗапроса;
ПостроительЗапроса.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ
|{ГДЕ
| Номенклатура.Ссылка}";
Если НЕ ГруппаНоменклатура.Пустая() Тогда
флОтборПоНоменклатуре = Истина;
Иначе
флОтборПоНоменклатуре = Ложь;
КонецЕсли;
Если флОтборПоНоменклатуре Тогда
Отбор = ПостроительЗапроса.Отбор.Добавить("Ссылка");
Отбор.Использование = Истина;
Отбор.ВидСравнения = ВидСравнения.ВИерархии;
Отбор.Значение = Номенклатура;
КонецЕсли;
Запрос = ПостроительЗапроса.ПолучитьЗапрос();
Выборка = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
На строке Отбор.Значение = Номенклатура; ругается на неверный тип значения - Ошибка при установке значения атрибута контекста (Значение). В чём может быть дело? Номенклатура - это ТЧ документа
|
|
1
Defender aka LINN
17.05.13
✎
13:43
|
"Номенклатура - это ТЧ документа"
|
|
2
johnny17
17.05.13
✎
13:43
|
Значение должно быть списком значений...
|
|
3
Defender aka LINN
17.05.13
✎
13:44
|
(2) У тебя уже вечер пятницы?
|
|
4
johnny17
17.05.13
✎
13:44
|
(3) Угу... хихикаю помаленьку ))
|
|
5
Maxus43
17.05.13
✎
13:47
|
дак ТЧ то пустая, у тебя выше Номенклатура.Очистить();
а если бы была не пустая, тогда Отбор.Значение = Номенклатура.выгрузить("СсылкаНаНоменклатуру");
|
|
6
johnny17
17.05.13
✎
13:47
|
А если уж по делу, то к (2) Если Номенклатура - это ТЧ, то тогда Отбор.Значение = Номенклатура.ВыгрузитьКолонку("Номенклатура");
Вот только смысл, если в начале Номенклатура.Очистить() ???
|
|
7
johnny17
17.05.13
✎
13:48
|
(5) ))
|
|
8
bUbA
17.05.13
✎
14:04
|
(6) теперь пишет Ошибка при вызове метода контекста (ВыгрузитьКолонку), Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции)
|
|
9
Defender aka LINN
17.05.13
✎
14:05
|
(6) Ащета вид сравнения "ВИерархии", а не "ВСпискеПоИерархии".
|
|
10
bUbA
17.05.13
✎
15:46
|
Сделал так
Запрос = ПостроительЗапроса.ПолучитьЗапрос();
ТЗ = Запрос.Выполнить().Выгрузить();
ОбойтиСтроки1(ТЗ, Номенклатура);
КонецПроцедуры
Процедура ОбойтиСтроки1(ТЗ, Номенклатура)
Для Каждого стрТЗ Из ТЗ Цикл
ТЧ = Номенклатура.Добавить();
ЗаполнитьЗначенияСвойств(ТЧ,стрТЗ);
КонецЦикла;
КонецПроцедуры
но теперь появляются пустые строки, как их заполнить?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший