Получение значения расшифровки и значений вышестоящих группировок расшифровки в отчете СКД

20.07.16

Разработка - СКД

Ниже приводится небольшой кусок кода, позволяющий получить значение расшифровки и значения всех вышестоящих группировок расшифровки в отчете построенном на СКД при использовании обычных форм. Имя поля и значение просто выводится пользователю в сообщении. Соответственно, вы можете вставить свой алгоритм вместо вывода сообщений. Реализовано с помощью рекурсивного вызова процедуры, получающей значения вышестоящей группировки.

В форме для поля "Результат" определим для события "ОбработкаРасшифровки" процедуру "РезультатОбработкиРасшифровки". И, соответствено, тело процедуры будет следующим:

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
 
    //Значение текущего поля     
    Поле = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0];
    Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение);
    
    //Значения всех вышестоящих группировок     
    ВывестиЗначениеГруппировки(Расшифровка);

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

Где процедура "ВывестиЗначениеГруппировки" имеет следующее содержание:

Процедура ВывестиЗначениеГруппировки(ТекРасшифровка)
	
	МассивРодителей = ДанныеРасшифровки.Элементы[ТекРасшифровка].ПолучитьРодителей();
	Для СчРодителей = 1 По МассивРодителей.Количество() Цикл
	
		ПолеРодитель = МассивРодителей[СчРодителей-1];
		Если Число(ПолеРодитель.Идентификатор) > 0 Тогда
			
			//Получим текущее поле
			Если ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
			   МассивПолей = ПолеРодитель.ПолучитьПоля();
			ИначеЕсли ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
			   МассивПолей = ПолеРодитель.ПолучитьРодителей()[0].ПолучитьПоля();
			КонецЕсли; 
			   
			Для СчПолей = 1 По МассивПолей.Количество() Цикл
				
				Поле = МассивПолей[СчПолей-1];
			
				//Выведем значения текущей расшифровки
				Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение);
				
				//Рекурсивный вызов процедуры. 
				РасшифровкиВыше = ПолеРодитель.ПолучитьРодителей()[0].Идентификатор;
				ВывестиЗначениеГруппировки(РасшифровкиВыше);
				
			КонецЦикла;	
			
		КонецЕсли;		
	КонецЦикла;
	
КонецПроцедуры

Пример работы данных процедур можно посмотреть здесь  

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 руб.

02.09.2020    119925    656    389    

701

Генератор схемы компоновки данных (СКД), написание кода схемы программно

Инструментарий разработчика СКД Платформа 1С v8.3 Конфигурации 1cv8 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

По выбранной схеме компоновки данных генерирует программный код, который генерирует СКД, аналогичную исходной схеме. Есть дополнительные инструменты для просмотра дерева схемы, сравнение исходной схемы и полученной по коду, а также сравнение изменений в сгенерированном коде для исходной схемы и для измененной.

3 стартмани

05.02.2024    3890    24    obmailok    17    

63

Набор-объект для СКД по тексту или запросу

Запросы СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    1964    2    Yashazz    0    

29

СКД на JavaScript в 1С

СКД WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Долгое время поддерживаю web-портал, в котором появилась необходимость создавать отчеты. Просмотрев различные фреймворки на js, я решил сделать свое решение, которое позволяло бы быстро разрабатывать и добавлять новые отчеты на web-портал.

2 стартмани

11.12.2023    8029    20    John_d    25    

122

Использование менеджера временных таблиц в СКД

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Рассмотрим еще не получивший широкого распространения способ работы с внешними данным в СКД. В процессе обсуждения работы с СКД выяснилось, что многие не знакомы со способом помещения туда временной таблицы, полученной предварительно. Статья будет полезна разработчикам, знакомым с программным созданием СКД.

05.12.2023    4528    PROSTO-1C    13    

61

Модель СКД

Инструментарий разработчика СКД Платформа 1С v8.3 Система компоновки данных Абонемент ($m)

DSL для работы с СКД.

1 стартмани

15.11.2023    5710    15    kalyaka    5    

85

Пользовательские настройки отчетов 1С. Часть 1. Простые и расширенные настройки

СКД Инструкции пользователю Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Простые приемы работы с отчетами на СКД. Что нужно знать пользователю про настройку отчетов, чтобы использовать их на полную катушку.

18.09.2023    6335    accounting_cons    5    

29

Разрыв страницы в СКД. Легко!

СКД Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Когда отчет надо разделить по страницам, это всегда проблема для разработчика. Поскольку в СКД нет стандартных вариантов, как это сделать. Нашел (на свой взгляд) самое простое и оптимальное решение.

01.09.2023    4407    KVIKS    15    

80
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Chernov_Dmitriy 88 12.12.13 11:39 Сейчас в теме
Автор спасибо - после 5 часов поисков твой код подошел. Только немного модифицировал - так как не отрабатывал группировки:
Процедура ВывестиЗначениеГруппировки(ТекРасшифровка)

МассивРодителей = ДанныеРасшифровки.Элементы[ТекРасшифровка].ПолучитьРодителей();
Для Сч = 1 По МассивРодителей.Количество() Цикл

ПолеРодитель = МассивРодителей[Сч-1];
Если ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда

//Выведем значения текущей расшифровки
Поле = ПолеРодитель.ПолучитьПоля()[0];
Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение);

//Рекурсивный вызов процедуры.
РасшифровкиВыше = ПолеРодитель.ПолучитьРодителей()[0].Идентификатор;
ВывестиЗначениеГруппировки(РасшифровкиВыше);
ИначеЕсли ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") тогда
Попытка
Поле = ПолеРодитель.ПолучитьРодителей()[0].ПолучитьПоля()[0] ;
Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение);

//Рекурсивный вызов процедуры.
РасшифровкиВыше = ПолеРодитель.ПолучитьРодителей()[0].Идентификатор;
ВывестиЗначениеГруппировки(РасшифровкиВыше);

Исключение

КонецПопытки;
КонецЕсли;

КонецЦикла;

КонецПроцедуры
2. Tavalik 3348 20.12.13 13:12 Сейчас в теме
Спасибо. В статье исправил и тоже немного оптимизировал :)
3. AndrewVVS 07.02.14 16:26 Сейчас в теме
Поле = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0],
А если ДанныеРасшифровки = Неопределено, тогда будет ошибка...
Нашел: нужно было в типовой процедуре добавить "ДанныеРасшифровки", по умолчанию там Неопределено!

Процедура ОбновитьОтчет() Экспорт

СформироватьОтчет(ЭтаФорма.ЭлементыФормы.Результат, ДанныеРасшифровки, Ложь);

КонецПроцедуры
4. xten 47 22.04.14 13:14 Сейчас в теме
Я правильно понимаю, что это фактически универсальный шаблонный код (если можно так выразиться), который можно в много где использовать )) ?
5. Tavalik 3348 23.04.14 07:14 Сейчас в теме
(4) xten,
Да, конечно. Код будет работать в любом отчете на СКД.
6. katunya88 19 15.05.14 06:12 Сейчас в теме
ты просто супер! то что нужно! спасибо!
7. Cyberhawk 135 27.10.14 18:54 Сейчас в теме
А кто знает, как получать значения ресурса из расшифровки?
VickWood; echo77; +2 Ответить
22. GG_Dots 40 18.02.20 08:43 Сейчас в теме
(7) Привет. Недавно столкнулся с такой задачей. Достаточно поле ресурса описать в макете и указать у него параметр расшифровки с выражением. И тогда программно сможешь получить значение ресурса: www.craft1c.ru
8. ig0rec 17.11.14 13:22 Сейчас в теме
А если родителей несколько на одном уровне ( когда расшифровка и по столбцам и по колонкам), то выберутся только первые группировки, вот мой вариант

Процедура РекурсивноПолучитьРодителей(Элемент, Структура)
	
	Родители = Элемент.ПолучитьРодителей(); 
	Для Каждого Родитель из Родители Цикл
		Если ТипЗнч(Родитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
			Поля = Родитель.ПолучитьПоля();
			Для Каждого Поле из Поля Цикл
				Если Не Поле.Иерархия  Тогда
					Структура.Вставить(Поле.Поле,Поле.Значение);
				КонецЕсли;
			КонецЦикла;
        КонецЕсли;
		РекурсивноПолучитьРодителей(Родитель, Структура)	
	КонецЦикла;
	
КонецПроцедуры
Показать


А использую процедуру так

    
        Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
        Структура = Новый Структура;
	РекурсивноПолучитьРодителей(Данные.Элементы.Получить(Расшифровка), Структура);


но не могу получить значение ресурса, м.б. кто-нибудь подскажет?
9. Tavalik 3348 23.05.15 12:23 Сейчас в теме
(8) ig0rec,

Спасибо за комментарий.
Столкнулся с подобной проблемой. Оптимизировал код в публикации для вывода всех группировочных полей на каждом уровне группировки.
10. Oleg-and-reevich 6 29.01.16 17:15 Сейчас в теме
Автор, огромное спасибо! Просто не представляете, как выручил Ваш код)!
11. rif-nrr 14 16.02.16 23:01 Сейчас в теме
Спасибо за статью! очень выручило
12. Vika260740 14.08.16 10:53 Сейчас в теме
Спасибо за полезный код!
13. TreeDogNight 22 16.02.17 09:56 Сейчас в теме
Доработал ваш код, добавил возможность получения значений полей детальных записей (до этого получалось только значение текущего поля, откуда вызывалась расшифровка):
&НаКлиенте
Функция ПолучитьСтруктуруРасшифровки(Расшифровка)
	
	СтруктураРасшифровки = Новый Структура;	    
	ЗаполнитьСтруктуруПолейРасшифровки(Расшифровка, СтруктураРасшифровки); 
	
	Возврат СтруктураРасшифровки;
	
КонецФункции 

&НаСервере
Процедура ЗаполнитьСтруктуруПолейРасшифровки(Знач Расшифровка, СтруктураПолей, Знач Данные = "")
	
	Если Данные = "" Тогда
		Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
		
		Если ТипЗнч(Данные.Элементы[Расшифровка]) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
			Поля = Данные.Элементы[Расшифровка].ПолучитьПоля();                   
			Для каждого Поле Из Поля Цикл
				СтруктураПолей.Вставить(ПреобразоватьИмяПоляГруппировки(Поле.Поле), Поле.Значение);
			КонецЦикла;
			
			Индекс = Число(Расшифровка);
			Пока Индекс Цикл
				ЭлементРасшифровки = Данные.Элементы[Индекс];
				Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
					Прервать;	
				КонецЕсли;
				
				Индекс = Индекс + 1;
			КонецЦикла;
			
			Индекс = Индекс - 1;
			Пока Индекс Цикл
				ЭлементРасшифровки = Данные.Элементы[Индекс];
				Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
					Поля = ЭлементРасшифровки.ПолучитьПоля();                   
					Для каждого Поле Из Поля Цикл
						Если Не ТипЗнч(Поле.Значение) = Тип("Число") Тогда
							СтруктураПолей.Вставить(ПреобразоватьИмяПоляГруппировки(Поле.Поле), Поле.Значение);
						КонецЕсли; 	
					КонецЦикла;
					
					Индекс = Индекс - 1;
				Иначе 
					Прервать;
				КонецЕсли; 
			КонецЦикла; 
		КонецЕсли;
		
		ЗаполнитьСтруктуруПолейРасшифровки(Данные.Элементы[Расшифровка], СтруктураПолей, Данные);
	Иначе 
		МассивРодителей = Расшифровка.ПолучитьРодителей();
		Для каждого ПолеРодитель из МассивРодителей Цикл
			Если Число(ПолеРодитель.Идентификатор) > 0 Тогда
				Если ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
					МассивПолей = ПолеРодитель.ПолучитьПоля();
				ИначеЕсли ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
					МассивПолей = ПолеРодитель.ПолучитьРодителей()[0].ПолучитьПоля();
				КонецЕсли; 
				
				Для каждого Поле из МассивПолей Цикл
					СтруктураПолей.Вставить(ПреобразоватьИмяПоляГруппировки(Поле.Поле), Поле.Значение);
					
					РасшифровкиВыше = ПолеРодитель.ПолучитьРодителей();
					Для каждого РодительВыше Из РасшифровкиВыше Цикл
						ЗаполнитьСтруктуруПолейРасшифровки(РодительВыше, СтруктураПолей, Данные);              
					КонецЦикла; 
				КонецЦикла;    
			КонецЕсли;        
		КонецЦикла;
	КонецЕсли; 
		
КонецПроцедуры
Показать
16. Westbound 21.11.17 13:49 Сейчас в теме
(13) Забыли вставить функцию ПреобразоватьИмяПоляГруппировки, но это ладно. В любом случае все значения ресурсов возвращаются с Null'ом.
AlexKoso; eeeio; TreeDogNight; +3 Ответить
14. queit 64 13.04.17 07:56 Сейчас в теме
Спасибо за статью. Очень полезная.
Только вот столкнулся с одной проблемкой. Почему-то "Поле.Значение" всегда null, при этом имя поля выводится правильно.
Что это может быть?
eeeio; COMPER; Ignatov_mu; romku; +4 Ответить
19. dmitrii665 22 10.10.19 16:38 Сейчас в теме
(14) Добрый день та же проблема, что то удалось выяснить?
eeeio; COMPER; +2 Ответить
21. COMPER 340 06.11.19 12:17 Сейчас в теме
(19) Тоже самое. Как вылечить?
15. sulfur17 59 23.05.17 22:05 Сейчас в теме
Пытаюсь расшифровку таблицы сделать из строки ВСЕГО и вот в этой строке получается ошибка
МассивПолей = ПолеРодитель.ПолучитьРодителей()[0].ПолучитьПоля();

т.к. ПолучитьРодителей() возвращает пустой массив.
17. kanat1 29 21.02.18 15:03 Сейчас в теме
Спасибо. Очень помогло
18. zsergey_ 4 30.07.18 05:31 Сейчас в теме
20. mars30ob 15.10.19 10:03 Сейчас в теме
Очень помогло, спасибо!
Добавил вывод пути к полю, вариант для УФ
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
	СтандартнаяОбработка = Ложь;
	РезультатОбработкаРасшифровкиНаСервере(Расшифровка);
КонецПроцедуры

&НаСервере
Процедура РезультатОбработкаРасшифровкиНаСервере(Расшифровка)
	ДанныеРасшифровкиНаСервере = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
	ВывестиЗначениеГруппировки(ДанныеРасшифровкиНаСервере, Расшифровка, "");
КонецПроцедуры

&НаСервере
Процедура ВывестиЗначениеГруппировки(ДанныеРасшифровкиНаСервере, ТекРасшифровка, Путь)
    
	МассивРодителей = ДанныеРасшифровкиНаСервере.Элементы[ТекРасшифровка].ПолучитьРодителей();
	Путь = Путь + ".ПолучитьРодителей()";
	Для СчРодителей = 0 По МассивРодителей.Количество()-1 Цикл
		
		ПолеРодитель = МассивРодителей[СчРодителей];
		Если Число(ПолеРодитель.Идентификатор) > 0 Тогда
			
			//Получим текущее поле
			Если ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
				МассивПолей = ПолеРодитель.ПолучитьПоля();
				ЭтоГруппировка = Ложь;
			ИначеЕсли ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
				МассивПолей = ПолеРодитель.ПолучитьРодителей()[0].ПолучитьПоля();
				ЭтоГруппировка = Истина;
			КонецЕсли; 
			
			Для СчПолей = 0 По МассивПолей.Количество()-1 Цикл
				
				Поле = МассивПолей[СчПолей];
				
				//Выведем значения текущей расшифровки
				Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение+", путь = "+Путь+"["+СчРодителей+"]"+?(ЭтоГруппировка,".ПолучитьРодителей()[0].ПолучитьПоля()",".ПолучитьПоля()")+"["+СчПолей+"]");
				
				//Рекурсивный вызов процедуры. 
				РасшифровкиВыше = ПолеРодитель.ПолучитьРодителей()[0].Идентификатор;
				ВывестиЗначениеГруппировки(ДанныеРасшифровкиНаСервере, РасшифровкиВыше, Путь+"["+СчРодителей+"]"+?(ЭтоГруппировка,".ПолучитьРодителей()[0].ПолучитьПоля()",".ПолучитьПоля()")+"["+СчПолей+"]");
				
			КонецЦикла;    
			
		КонецЕсли;        
	КонецЦикла;
	
КонецПроцедуры
Показать


Получается типа: "Поле: Касса, значение: Основная касса, путь = .ПолучитьРодителей()[0].ПолучитьПоля()[1]"
и путь можно использовать для прямого получения поля в коде:

&НаСервере
Процедура РезультатОбработкаРасшифровкиНаСервере(Расшифровка)
	ДанныеРасшифровкиНаСервере = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);

	Попытка
		Касса = ДанныеРасшифровкиНаСервере.Элементы[Расшифровка].ПолучитьРодителей()[0].ПолучитьПоля()[1].Значение;
		//открыть расшифровку по кассе ...
	Исключение
	КонецПопытки;
КонецПроцедуры
Показать


путь, конечно, зависит от группировки, в которой находится выбранная пользователем ячейка. Способ не супер, но работает, когда надо сделать расшифровку только для определенной группировки
dammit666; +1 Ответить
26. user864894 23.11.23 11:11 Сейчас в теме
(20) тоже воспользовался кодом, но исправил ошибку когда рекурсивная процедура доходит до самой верхней группировки и добавил входящий параметр МассивУровней:


  &НаСервере
Процедура РезультатОбработкаРасшифровкиНаСервере(Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)

	ДанныеРасшифровкиОтчета = ПолучитьИзВременногоХранилища(ОтчетДанныеРасшифровки);

	МассивУровней = Новый Массив; //если пустой, то высший уровень - ИТОГО по отчету
	ВывестиЗначениеГруппировки(ДанныеРасшифровкиОтчета,Расшифровка,"",МассивУровней);
	
	Если МассивУровней.Количество() > 0 Тогда
		ДополнительныеПараметры.УровеньГруппировки  	= МассивУровней.Количество();
		ДополнительныеПараметры.ПолеГруппировки 	 	= МассивУровней[0].ПолеГруппировки;
		ДополнительныеПараметры.ЗначениеГруппировки 	= МассивУровней[0].ЗначениеГруппировки;
	Иначе	 
		ДополнительныеПараметры.УровеньГруппировки  	= 0;//итоги по отчету
	КонецЕсли;                                

.......
Показать


&НаСервере
Процедура ВывестиЗначениеГруппировки(ДанныеРасшифровкиНаСервере, ТекРасшифровка, Путь,мМУровней)
    
    МассивРодителей = ДанныеРасшифровкиНаСервере.Элементы[ТекРасшифровка].ПолучитьРодителей();
    Путь = Путь + ".ПолучитьРодителей()";
    Для СчРодителей = 0 По МассивРодителей.Количество()-1 Цикл
        
        ПолеРодитель = МассивРодителей[СчРодителей];
        Если Число(ПолеРодитель.Идентификатор) > 0 Тогда
            
            //Получим текущее поле
            Если ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
                МассивПолей = ПолеРодитель.ПолучитьПоля();
                ЭтоГруппировка = Ложь;
            ИначеЕсли ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
                МассивПолей = ПолеРодитель.ПолучитьРодителей(); 
				Если МассивПолей.Количество() > 0 Тогда
					 МассивПолей = МассивПолей[0].ПолучитьПоля();
                	 ЭтоГруппировка = Истина;
				 Иначе	                     
					 ЭтоГруппировка = Ложь;
				КонецЕсли;	 
            КонецЕсли; 
            
            Для СчПолей = 0 По МассивПолей.Количество()-1 Цикл
                
                Поле = МассивПолей[СчПолей];
                
                //Выведем значения текущей расшифровки
                //Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение+", путь = "+Путь+"["+СчРодителей+"]"+?(ЭтоГруппировка,".ПолучитьРодителей()[0].ПолучитьПоля()",".ПолучитьПоля()")+"["+СчПолей+"]");
				мМУровней.Добавить(Новый Структура("ПолеГруппировки,ЗначениеГруппировки",Поле.Поле,Поле.Значение));
				
                //Рекурсивный вызов процедуры. 
                РасшифровкиВыше = ПолеРодитель.ПолучитьРодителей()[0].Идентификатор;
                ВывестиЗначениеГруппировки(ДанныеРасшифровкиНаСервере, РасшифровкиВыше, Путь+"["+СчРодителей+"]"+?(ЭтоГруппировка,".ПолучитьРодителей()[0].ПолучитьПоля()",".ПолучитьПоля()")+"["+СчПолей+"]",мМУровней);
                
            КонецЦикла;    
            
        КонецЕсли;        
    КонецЦикла;
    
КонецПроцедуры
Показать
23. user640247 03.07.20 17:27 Сейчас в теме
Спасибо большое!!!
это то что надо!
24. delat 30 15.07.20 16:35 Сейчас в теме
25. Неопределено 90 18.12.20 07:56 Сейчас в теме
Переменная ДанныеРасшифровки является строкой и имеет вид "e1cib/tempstorage/ff474301-f927-4908-868e-38d2416a115c?seanceId=71b2f942-a665-4245-b2c1-a07b183269e3".
Оставьте свое сообщение