Имя: Пароль:
1C
1С v8
ВидДокумента в запросе через COM
, , ,
0 LenaAt
 
18.05.18
15:38
Обращаюсь к регистру накопления в запросе, выполняющимся через COM. Как в таком запросе получить вид регистратора?
1 azernot
 
18.05.18
15:40
В каком виде "вид регистратора" вы хотите получить? Строкой типа "ДокументСсылка.ПриходнаяНакладная"?
2 olegves
 
18.05.18
15:41
(0) ТипЗначения(Ссылка на твой документ)
3 LenaAt
 
18.05.18
15:46
(2) ТИПЗНАЧЕНИЯ(Регистратор) КАК ВидДокумента

возвращает просто COM объект без каких - либо свойств
4 LenaAt
 
18.05.18
15:46
(1) в любом виде, который позволит мне идентифицировать вид документа

можно и строкой
5 hhhh
 
18.05.18
15:49
(4) так там всё com-объекты. Вы дальне после запроса с ними правильно обращайтесь и всё получится.
6 azernot
 
18.05.18
15:49
(4) Выбор Когда Регистратор Ссылка Документ.ПриходнаяНакладная Тогда "ДокументСсылка.ПриходнаяНакладная"
Когда Регистратор Ссылка Документ.РасходнаяНакладная Тогда "ДокументСсылка.РасходнаяНакладная"
...
Конец  КАК ВидДокумента
:)
7 buhalter
 
18.05.18
15:54
Как вариант Регистратор.Метаданные().ПолноеИмя(), Регистратор.Метаданные().Имя не подойдет?
8 LenaAt
 
18.05.18
15:55
(5) Вот что у меня в отладчике...

https://hostingkartinok.com/show-image.php?id=e89a7e6a39c14916dc7285d4c2f0e64f

И тривиальные типы передаются не как COM объекты
9 LenaAt
 
18.05.18
15:56
(6) Это как последний вариант, если не найду никакого другого решения
10 LenaAt
 
18.05.18
15:59
(7) Нет, ошибка выполнения запроса
11 buhalter
 
18.05.18
16:00
(10) Не в запросе. В обходе выборки в цикле. Выборка.Регистратор.Метаданные().Имя
12 buhalter
 
18.05.18
16:09
Если в запросе, тогда только как в (6)
13 olegves
 
18.05.18
16:12
(3) а в выборке используй COM.String(поле с типом документа) - и будет тебе строка представления
14 olegves
 
18.05.18
16:18
фотка понравилась
15 LenaAt
 
21.05.18
18:45
(13) спасибо
16 Serginio1
 
21.05.18
19:07
17 Tateossian
 
21.05.18
19:44
ЗапросКом = КлиентФормированияОтчета.NewObject("Запрос");
    ЗапросКом.Текст = "ВЫБРАТЬ ПЕРВЫЕ 100 *, ПРЕДСТАВЛЕНИЕ(ТИПЗНАЧЕНИЯ(Регистратор)) Дескрипшн ИЗ РегистрНакопления.ПартииТоваровНаСкладах";
    Выборка = ЗапросКом.Выполнить().Выбрать();

В поле дескрипшн будет представление строковое типа документа.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший