Имя: Пароль:
1C
1С v8
Никто не сталкивался с получением отборов СКД по COM -соединению?
, ,
0 zorky
 
05.02.19
17:56
ОтборКомпоновщика = КомпоновщикНастроекНастройкиВМС.Настройки.Отбор;

        ВидОбъекта = ОтборКомпоновщика.Элементы.Добавить(СоединениеВМС.NewObject("ОписаниеТипов", "ЭлементОтбораКомпоновкиДанных").Типы().Получить(0));
        ВидОбъекта.ВидСравнения = СоединениеВМС.ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии;
        ВидОбъекта.Использование = Истина;
            // Добавим выбранное поле для вывода в отчет.  
        ВидОбъекта.ЛевоеЗначение =  СоединениеВМС.NewObject("ОписаниеТипов", "ПолеКомпоновкиДанных").Типы().Получить(0);
        ВидОбъекта.ПравоеЗначение = СоединениеВМС.Справочники.усНоменклатура.НайтиПоКоду("00000018354") ;
        

СондинениеВМС - com соединение
Ругается на Левое значение:

Ошибка компоновки макета
Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля "COMОбъект В группе из списка     Эмалированная посуда"

Но это и есть COM обект...сранно
1 zorky
 
05.02.19
17:57
*странно   ))
2 zorky
 
05.02.19
18:00
каким образом задать левое значение с типом "Поле компоновки данных"?(но полученную по COM - соединению?)
3 runoff_runoff
 
05.02.19
18:54
а зачем описание типов?
4 Конструктор1С
 
05.02.19
19:02
ВидОбъекта = ОтборКомпоновщика.Элементы.Добавить(СоединениеВМС.NewObject("Тип", "ЭлементОтбораКомпоновкиДанных"));

может всё-таки как-то так?
5 Конструктор1С
 
05.02.19
19:04
а не, вру
6 DexterMorgan
 
05.02.19
23:14
А зачем отбор через ком? вместо отбора использовать параметр не проще?
7 wowik
 
06.02.19
09:04
СоединениеВМС.ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии - для такого вида в ВидОбъекта.ПравоеЗначение должен быть список значений, а вы передаете просто элемент.
8 zorky
 
06.02.19
09:48
(6) параметр не получится, по моему. Нужен простой отбор ( в группе из списка) каким образом параметр использовать?

(7) нет, это папка, группа элементов (отбор будет В ИЕРАРХИИ)

никто не сталкивался..?
9 zorky
 
06.02.19
09:50
(7) он и для папки должен ведь сработать ? Хорошо попробую заменить на "В Группе". Но ошибка по моему не в этом. Тут дело в том что именно получение отбора СКД по COM, он его не хочет упорно получать..где же ошибка?
10 zorky
 
06.02.19
09:56
(6) Изначально мне нужно получить Вариант отчета по COM (получить пользовательский вариант отчета, загрузить его настройки).
Но вот столкнулся с тем что просто отбор по COM не получается получить, именно Левое значение( "Поле компоновки данных")...
11 zorky
 
06.02.19
10:11
(6) да и ещё почему не параметр,  - мне нужно получить варианты Типового отчета, его настройки  - которые сделал и сохранил пользователь.
12 ProxyInspector
 
06.02.19
10:19
Может это связано с тем, что СОМ работает на сервере, а требуемое тебе значение на сервере не доступно. Разработчики 1С свято верят что программное формирование отчетов - это никому из автоматизаторов ларьков не надо.
13 ProxyInspector
 
06.02.19
10:21
Подобные проблемы возникают когда требуется сделать регламентную рассылку отчетов
14 runoff_runoff
 
06.02.19
10:59
ВидОбъекта = ОтборКомпоновщика.Элементы.Добавить(СоединениеВМС.Тип("ЭлементОтбораКомпоновкиДанных"));
ВидОбъекта.ЛевоеЗначение =  СоединениеВМС.NewObject("ПолеКомпоновкиДанных", "Номенклатура");
15 zorky
 
07.02.19
10:32
(14) ВнешнийОтчет.СравнениеОстатковВМСиУПП.МодульОбъекта(65)}: Метод объекта не обнаружен (Тип)
        ВидОбъекта = ОтборКомпоновщика.Элементы.Добавить(СоединениеВМС.Тип("ЭлементОтбораКомпоновкиДанных"));
16 zorky
 
07.02.19
10:34
(14) попробую элемент отбора добавить как раньше но  с вашим левым значением:

ВидОбъекта = ОтборКомпоновщика.Элементы.Добавить(СоединениеВМС.NewObject("ОписаниеТипов", "ЭлементОтбораКомпоновкиДанных").Типы().Получить(0));
        ВидОбъекта.ВидСравнения = СоединениеВМС.ВидСравненияКомпоновкиДанных.ВИерархии;
        ВидОбъекта.Использование = Истина;
        ВидОбъекта.ЛевоеЗначение =  СоединениеВМС.NewObject("ПолеКомпоновкиДанных", "Номенклатура");
        ВидОбъекта.ПравоеЗначение = СоединениеВМС.Справочники.усНоменклатура.НайтиПоКоду("00000018354") ;