Расшифровка табличного документа, сформированного СКД

Публикация № 639758

Разработка - Практика программирования

Функция делает постобработку табличного документа, чтобы можно было открыть поля ссылочного типа, не имея данных расшифровки (например, после сохранения в mxl)

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

Чтобы победить эту проблему, необходимо заменить значение расшифровки в ячейках табличного документа просто на объекты ссылочного типа

Процедура ОбработатьРасшифровкиОтчетаНаСКД(ТабДок, ДанныеРасшифровки)
	
	Если ТабДок.ШиринаТаблицы * ТабДок.ВысотаТаблицы > 10000 Тогда
		Ответ = Вопрос("You are about to save document " + ТабДок.ШиринаТаблицы + " x " + ТабДок.ВысотаТаблицы + " in dimensions.
		|This will take at least " + Цел(ТабДок.ШиринаТаблицы * ТабДок.ВысотаТаблицы/700) + " sec. Are you sure?", РежимДиалогаВопрос.ДаНет,,, Метаданные().Синоним);
		Если Ответ = КодВозвратаДиалога.Нет Тогда
			Возврат
		КонецЕсли;
	КонецЕсли;
	
	Состояние("Окучиваем табличный документ...");
	ПрошлоВремени = ТекущаяДата();
	
	ТипВсеСсылкиСправочники = Справочники.ТипВсеСсылки();
	ТипВсеСсылкиДокументы = Документы.ТипВсеСсылки();
	
	КэшНужныхТипов = Новый Соответствие;
	Для Каждого Тип Из ТипВсеСсылкиСправочники.Типы() Цикл
		КэшНужныхТипов.Вставить(Тип, Истина);
	КонецЦикла;
	
	Для Каждого Тип Из ТипВсеСсылкиДокументы.Типы() Цикл
		КэшНужныхТипов.Вставить(Тип, Истина);
	КонецЦикла;
	
	Для Row = 1 По ТабДок.ВысотаТаблицы Цикл
		Для Col = 1 По ТабДок.ШиринаТаблицы Цикл
			
			Ячейка = ТабДок.Область(Row, Col);
			
			Если ТипЗнч(Ячейка.Расшифровка) <> Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
				Продолжить;
			КонецЕсли;
			
			// Так же из данных расшифровки возьмем ссылку на номенклатуру
			//МассивПолейРасшифровки = ТиповыеОтчеты.ПолучитьМассивПолейРасшифровки(Ячейка.Расшифровка, ДанныеРасшифровки);
			ЭлементРасшифровки = ДанныеРасшифровкиКонсоли.Элементы[Ячейка.Расшифровка];
			Если ЭлементРасшифровки.ОсновноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда
				МассивПолейРасшифровки = ЭлементРасшифровки.ПолучитьПоля();
				Для Каждого ЭлементМассива Из МассивПолейРасшифровки Цикл
					
					ТипЗначения = ТипЗнч(ЭлементМассива.Значение);
					
					Если ТипЗнч(ЭлементМассива) = Тип("ЗначениеПоляРасшифровкиКомпоновкиДанных")
						И (КэшНужныхТипов.Получить(ТипЗначения) = Истина)
						И	 ЭлементМассива.Иерархия = Ложь Тогда
						
						Ячейка.Расшифровка = ЭлементМассива.Значение;
						Прервать;
						
					КонецЕсли;
				КонецЦикла;
			КонецЕсли;
			
			ОбработкаПрерыванияПользователя();
			
		КонецЦикла;
	КонецЦикла;
	
	ПрошлоВремени = ТекущаяДата()-ПрошлоВремени;
	Сообщить("Затрачено времени на выполнение процесса: "+Формат('00010101'+ПрошлоВремени,"ДЛФ=T; ДП=0")+" сек");
	
КонецПроцедуры

После того как расшифровка табличного документа будет доработана, его можно будет сохранить в формате mxl и впоследствии открыть в этой же базе, при этом сохранится возможность открывать объекты ссылочного типа.

Про расшифровку табличного документа на сайте ИТС

В качестве примера доработанная Консоль отчетов СКД+ (обычное приложение).

Скачать файлы

Наименование Файл Версия Размер
Консоль отчетов СКД+
.erf 55,05Kb
27.06.17
7
.erf 55,05Kb 7 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. the1 410 29.06.17 10:57 Сейчас в теме
Тогда уж
Состояние("Spuding spreadsheet document...");
=)
А вообще, неплохо бы добавить очистку ячеек от элементов расшифровки типа ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать и т.п.
2. SITR-utyos 1276 29.06.17 19:48 Сейчас в теме
(1) Дельная мысль, спасибо. Доработаем
3. Aurius 30.06.17 12:08 Сейчас в теме
Спасибо, интересно. Возьму на заметку.
4. chipolini 05.09.18 11:07 Сейчас в теме
Делал печатную форму документа используя СКД. Расшифровка выдавала цифры. Эта процедура решила проблему. Спасибо.
5. serpanik 03.12.19 15:21 Сейчас в теме
Именно этот вопрос сейчас и интересовал. Пытаюсь вернуть на мобильную платформу с помощью HTTP-сервиса табличный документ и вместо расшифровки были цифры. Спасибо автору.
Вот как бы вообще отключить в табличном документе все реакции, кроме как открытие/закрытие группировок? (СтандартнаяОбработка в Ложь изменял, не получилось добиться результата)
Оставьте свое сообщение

См. также

СКД: красивые надписи в заголовках колонок

Отчеты и формы Программист Архив с данными v8 v8::СКД УПП1 Россия Windows Абонемент ($m) Практика программирования Работа с интерфейсом

Необходимо немного исправить вывод надписей в заголовках колонок, сделать более читаемый вариант. Как это сделать?

2 стартмани

27.02.2020    2849    1    wowik    32       

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

Получение курса валюты за период с помощью СКД

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::СКД 1cv8.cf Россия Windows Абонемент ($m) Практика программирования

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

1 стартмани

04.02.2020    687    Kawa_neko    2       

Отчет на СКД с выводом остатков по всем датам периода для УТ 10.3 (обычные формы)

Отчеты и формы Программист Пользователь Внешний отчет (ert,erf) v8::СКД УТ10 Россия УУ Windows Абонемент ($m) Практика программирования

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

1 стартмани

23.12.2019    1005    jump0    0       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Программное добавление параметров редактирования СКД

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования

В данной публикации приводится пример программного добавления параметров редактирования для поля выборки в СКД.

1 стартмани

25.11.2019    3098    1    Isonic    7       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Расчет сложных итогов СКД

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf ОС Абонемент ($m) Практика программирования

Малоизвестный прием для расчета итогов в отчетах на СКД.

1 стартмани

05.08.2019    9505    10    masterkio    9       

Вам нравятся запросы в 1С?

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::Запросы 1cv8.cf Абонемент ($m) Практика программирования Разработка

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    13512    4    m-rv    86       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Многоуровневая нумерация в отчете СКД (программный вывод)

Статья Программист Внешний отчет (ert,erf) v8::СКД 1cv8.cf Абонемент ($m) Практика программирования

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

1 стартмани

01.07.2019    4489    6    lmnlmn    7       

Иерархическая нумерация в отчете СКД с помощью макета поля

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Разработка

Представляю Вашему вниманию вариант решения задачи нумерации строк иерархического отчета на СКД.

1 стартмани

28.06.2019    4586    4    Isonic    14       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Простые примеры сложных отчетов на СКД

Статья Программист Архив с данными v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования

Подписи в отчете. Особенности соединения наборов: как соединить несоединяемое. Остатки на дату и обороты по месяцам в одном отчете. Курс валюты на каждую дату без группировок и соединений в запросе. Отчет с произвольными колонками и с произвольной последовательностью. "Неадекватный отчет".

1 стартмани

12.06.2019    19525    17    Hatson    22       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Поле "Отбор" в управляемой форме используя СКД

Отчеты и формы Программист Внешняя обработка (ert,epf) v8::УФ v8::СКД 1cv8.cf Абонемент ($m) Работа с интерфейсом Практика программирования Разработка

Пример, который осуществляет отбор ссылок при помощи СКД, макет компоновки создается программно.

1 стартмани

17.05.2019    4458    3    artms    0       

Вывод вариантов СКД в таблицы на управляемой форме

Статья Программист Внешняя обработка (ert,epf) v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом

Задача стояла такая: есть 2 различных запроса, результаты которых выгружаются на форму обработки в таблицы значений (далее ТЗ) и программно "соприкасаются" между собой определенным образом (как именно- в рамках данной статьи неважно). Нюанс в том, что запросы должны иметь свой компоновщик настроек и могут интерактивно на форме изменяться пользователем. На оригинальность публикации не претендую - изначально в рамках поставленной задачи пытался найти что-то подобное (уже готовый шаблон) на инфостарте, возможно "плохо искал" ;)

05.04.2019    6663    2    artkor    1       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Как в СКД по щелчку на какой-либо ячейке в отчете получить значение другой ячейки

Статья Программист Стажер Архив с данными v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Разработка

Задача: по щелчку на ячейке в определенной колонке в таблице отчета нужно получить значение ячейки из другой колонки в этой же строке и передать его в другой отчет (т.е. сделать расшифровку значения другим отчетом).

1 стартмани

27.03.2019    9649    12    ellavs    11       

Безопасная работа с транзакциями во встроенном языке

Статья Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    21108    9    tormozit    44       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

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

Инструменты и обработки Программист Архив с данными v8 v8::СКД 1cv8.cf Россия Абонемент ($m) Инструментарий разработчика Практика программирования

Разрабатывалась на 1С:Зарплата и управление персоналом в кредитных организациях, редакция 3.1 (3.1.5.407), поэтому использует типовой отчет Состояние штатного расписания, но технология работает для любой конфигурации. Пример внешней обработки с вызовом типового отчета на СКД "Состояние штатного расписания" и передачей ему настроек, изменения имен колонок после выполнения на имена указанные в "Пользовательских полях" или "заголовках" и вывода результата в таблицу значений.

1 стартмани

21.03.2019    3418    8    pavel_pss    0       

Пример использования СКД и данных расшифровки на мобильной платформе

Статья Программист Внешняя обработка (ert,epf) v8 v8::Mobile v8::СКД 1cv8.cf Россия Android Абонемент ($m) Практика программирования Разработка

СКД в мобильном приложении и меню действий на основе данных расшифровки (отчет, совместимый с мобильной платформой 8.3.13.45).

1 стартмани

12.03.2019    3413    2    majoram    0       

Сдача регламентированной отчетности из программ 1С Промо

Сдача регламентированной отчетности из программ "1С" во все контролирующие органы без выгрузок и загрузок в другие программы. Для групп компаний действуют специальные предложения.

от 1500 руб.

Вывод характеристик и их значений в динамический список

Инструменты и обработки Программист Архив с данными v8::УФ v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Разработка

Если в запросе динамического списка используется конструкция {ХАРАКТЕРИСТИКИ ...}, то как вывести на форму колонки с характеристиками?

1 стартмани

22.02.2019    3314    kasper076    3       

Сквозной рейтинг по иерархии в отчете на СКД

Статья Программист Архив с данными v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Разработка

Сквозная нумерация (рейтинг) по группам и элементам справочника в отчете СКД согласно убыванию количества/суммы и т.д.

1 стартмани

07.02.2019    3991    MaxxiMiliSan    2       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Особенность встроенной функции Представление() в СКД [поход на грабли]

Статья Программист Внешний отчет (ert,erf) v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Адаптация типовых решений

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

1 стартмани

15.01.2019    6658    Dementor    5       

Модуль, реализующий хранение настроек отчетов СКД в типовом регистре "Сохраненные настройки"

Инструменты и обработки Программист Архив с данными v8 v8::СКД КА1 БП2.0 ЗУП2.5 УТ10 БП1.6 Абонемент ($m) Практика программирования

Модуль, обеспечивающий хранение настроек отчетов на СКД в типовом регистре "Сохраненные настройки", присутствующем в конфигурациях УПП 1.2, 1.3, УТ 10.3, БП 2.0 и т.д.

1 стартмани

12.01.2019    4109    lunjio    0       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

Отладка сложных отчетов на СКД

Отчеты и формы Программист Расширение (cfe) v8 v8::СКД 1cv8.cf Россия Абонемент ($m) Практика программирования

Расширение для отладки сложных отчетов на СКД (в т.ч. для собираемых программно "на лету") и быстрого перехода к отладке таких отчетов в консоли запросов и отчетов на СКД.

1 стартмани

28.12.2018    18670    69    maxx    58       

Шаблон кросс-таблицы с иерархией на СКД

Отчеты и формы Программист Внешний отчет (ert,erf) v8::БУ v8::СКД БП3.0 Россия Абонемент ($m) Инструментарий разработчика Практика программирования

Шаблон для быстрой реализации отчета кросс-таблицы с иерархией и жестко заданной структурой вывода с использованием СКД.

1 стартмани

22.12.2018    6276    6    wizard.ilmir02    3       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

СКД. Сортировка

Статья Программист Внешний отчет (ert,erf) v8::СКД 1cv8.cf Россия Абонемент ($m) Практика программирования

Показана реализация сортировки по двойному щелчку на заголовке колонки отчета и отображение направления сортировки в заголовках колонок.

1 стартмани

03.12.2018    6834    5    slimper    21       

Объединение нескольких печатных форм в один табличный документ

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования

Простое решение, как объединить табличные документы с различной шириной колонок в один и чтобы ничего не разъехалось.

1 стартмани

17.11.2018    8803    5    echo77    4