СКД: расшифровка данных по всей строке

0. 11 20.12.16 10:56 Сейчас в теме
Что, если для выполнения каких-нибудь действий нужна расшифровка по всей строке, да еще с учетом группировок.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Alien_job 182 20.12.16 13:17 Сейчас в теме
Имхо, так делать не надо - такой подход блокирует возможность пользовательской настройки отчета. А еще пользователи захотят увидеть в отчете что они изменили и нужно будет редактировать ячейки ТабличногоДокумента, в общем нужно рисовать форму с табличной частью и не парить мозг "исследованиями"

Тут писал то же что и у вас вроде http://infostart.ru/public/383839/
после этого тот отчет сильно оброс требованиями, и выполнять их неудобно т.к. это отчет. Для тех кто всё равно будет есть кактус:

Можно создать макеты полей отчета и указать им в ПараметрРасшифровки всё что нужно (в том числе имя ячейки чтоб потом менять значение в ней). Так стабильнее


	Расшифровка = ТабличныйДокумент.ПолучитьОбласть(ИмяЯчейки).ТекущаяОбласть.Расшифровка;
	Поле = ДанныеРасшифровки.Элементы[Расшифровка];
	КоллекцияПолейРасшифровки = ПрочитатьПараметрыРасшифровки(Поле.ПолучитьПоля());

	ПолеПараметра = КоллекцияПолейРасшифровки.Найти(ИмяПараметра);
	
	Если ПолеПараметра <> Неопределено Тогда
		Результат.Вставить(ИмяПараметра, ПолеПараметра.Значение);
		Возврат Истина;
	КонецЕсли;

Показать
Прикрепленные файлы:
2. info_AlexS 11 20.12.16 14:53 Сейчас в теме
(1)
такой подход блокирует возможность пользовательской настройки отчет

Такой подход наоборот не блокирует возможность пользовательской настройки отчета. Поясните что именно? А вот если "рисовать форму с табличной частью и не парить мозг исследованиями", то точно никакой пользовательской настройки не будет.
Странно что я не увидел вашу статью, хотя заголовок почти такой же)
С макетами я не очень разобрался, но попробую. Спасибо!

3. Alien_job 182 20.12.16 15:11 Сейчас в теме
(2)Если пользователь начнет скрывать ненужные ему колонки и группировки на которые завязано заполнение справочника то нужных данных в расшифровке не станет. Если он поменяет группировки местами и вы будете обрабатывать расшифровку более "верхнего" элемента, то нужных данных в расшифровке не будет. Поэтому вместе с отчетом нужно передавать пользователю инструкцию - здесь трогай, сюда не нажимай.
4. rus128 2 21.12.16 13:48 Сейчас в теме
Заметил опечатку ("неободимые") и ошибку (в русском языке нет слова "ни чего").
5. fomix 29 26.10.17 12:40 Сейчас в теме
Почитал весь этот бред и вот вам верное решение: http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=631983&threadtype=0.
Читаем тут: "В скд есть закладка Макеты. Создаете макеты для нужных полей - в свойствах указываете параметр расшифровки, а в параметрах макета (левая нижняя тч) присваиваете параметру расшифровки выражение - имя поля, содержащее ссылку на документ.". Там и пример есть!
6. sokir 2 06.06.18 14:47 Сейчас в теме
(5) Это самое не верное и трудоемкое решение.
Не мог не написать, что бы никто не дай бог в макеты не полез.
То что предлагает автор - очень громоздкое. Описывать что надо делать не буду, т.к. просто полно примеров.
7. Alien_job 182 06.06.18 18:32 Сейчас в теме
(6) Это самый не верный и бессодержательный комментарий в этой теме.
Не мог не написать, чтобы никто не дай бог не полез искать "полно примеров" неизвестно чего.
Комментарий выше - ошибочен. Указывать на ошибки не буду, т.к. автор не потрудился предложить решение.
user602678_maxipunchik; +1 Ответить
8. sokir 2 06.06.18 20:48 Сейчас в теме
Я конечно не люблю когда отвечают гугли, но я сам в прошлом месяце находил полно примеров расшифровок на любой вкус.
Смысла давать ссылки, тем более на другие ресурсы (наверняка запрещено правилами) я не вижу - они живые.
И да - с учет всей строки, и да - с учетом всех группировок.

И мой ответ больше касался ответа по макету.
А по решению просто реально очень много не нужного кода - поэтому не рекомендую для других.
Я скопипастил заметно меньше.
Без обид.
9. Strady 31.01.22 18:41 Сейчас в теме
Спасибо за идею. Правда чтобы получать значения всех группировок мне пришлось поправить:
В процедуре ПолучитьРасшифровкуВГруппировках заменить строку
Индекс = Число(МассивРодителейЭлементаРасшифровки[0].Идентификатор) - 1;
на строку
Индекс = Число(ЭлементРасшифровки.Идентификатор)-1;
AnimusKsy; +1 Ответить
Оставьте свое сообщение
Вакансии
Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Автор новостей об 1С, налогах и бухучете на INFOSTART.RU
Санкт-Петербург
По совместительству

Программист 1С
Екатеринбург
зарплата от 50 000 руб.
По совместительству

Ведущий разработчик 1С (техлид внутреннего учета)
Новосибирск
зарплата от 230 000 руб.
Полный день

Программист 1С
Рязань
зарплата от 150 000 руб. до 250 000 руб.
Полный день