Имя: Пароль:
1C
1С v8
Получение типа параметра на клиенте
0 vasko
 
27.09.19
12:23
Подскажите как на клиенте из параметра с типом ДокументСсылка.ИмяДокумента получить строку вида: "ДокументСсылка.ИмяДокумента". Если через ТипЗнч(Параметр) то возвращает синоним имени типа в таком виде: "Реализация товаров и услуг".
1 Ботаник Гарден Меран
 
27.09.19
12:47
СтрЗаменить(XMLТипЗнч(Параметр), "DocumentRef", "ДокументСсылка")
2 Ботаник Гарден Меран
 
27.09.19
12:48
СтрЗаменить(XMLТипЗнч(Параметр).ИмяТипа, "DocumentRef", "ДокументСсылка")
3 vasko
 
27.09.19
12:54
а в тонком клиенте?
4 Ботаник Гарден Меран
 
27.09.19
13:27
пФабрика = Новый ФабрикаXDTO();
пТип = ТипЗнч(Параметр);
ДанныеXML = Новый ЗаписьXML;
ДанныеXML.УстановитьСтроку();
пСериализаторXDTO = Новый СериализаторXDTO(пФабрика);
пСериализаторXDTO.ЗаписатьXML(ДанныеXML, пТип);
пСтрока = ДанныеXML.Закрыть());

И там в конец строки будет DocumentRef и наименование типа.
5 vasko
 
27.09.19
14:53
(4) что то сильно мудрено
6 palsergeich
 
27.09.19
14:59
Тип знч в строковом режиме выводит синоним объета
7 palsergeich
 
27.09.19
15:01
Делай неконтекстный серверный вызов и кеш
8 Ботаник Гарден Меран
 
27.09.19
15:14
(5)
Если типов немного, можно на сервере заполнить какую-нибудь коллекцию {Тип,СтрокаНаименования} и на клиенте искать по типу.
9 vasko
 
27.09.19
15:48
(8) сейчас так и работает, пытаюсь сделать универсальный механизм, чтобы при добавлении новых документов работало с наименьшими исправлениями.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс