Открыть отчет по проблемам из списка. Открывает форму отчета при двойном нажатии на ячейку таблицы формы списка с картинкой,
// Открывает форму отчета при двойном нажатии на ячейку таблицы формы списка с картинкой,
// сигнализирующей о наличии проблем с выделенным объектом.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - Управляемая форма проблемного объекта.
// ИмяСписка - Строка - Имя целевого динамического списка как реквизита формы.
// Поле - ПолеФормы - Колонка в которой располагается картинка,
// сигнализирующая о наличии проблем.
// СтандартнаяОбработка - Булево - В данный параметр передается признак выполнения
// стандартной (системной) обработки события.
// ДополнительныеПараметры - Структура, Неопределено - Содержит дополнительные свойства в случае
// необходимости их использования.
//
// Пример:
// КонтрольВеденияУчетаКлиент.ОткрытьОтчетПоПроблемамИзСписка(ЭтотОбъект, "Список", Поле, СтандартнаяОбработка);
//
Процедура ОткрытьОтчетПоПроблемамИзСписка(Форма, ИмяСписка, Поле, СтандартнаяОбработка, ДополнительныеПараметры = Неопределено) Экспорт
ИмяПроцедуры = "КонтрольВеденияУчетаКлиент.ОткрытьОтчетПоПроблемамИзСписка";
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(ИмяПроцедуры, "Форма", Форма, Тип("ФормаКлиентскогоПриложения"));
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(ИмяПроцедуры, "ИмяСписка", ИмяСписка, Тип("Строка"));
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(ИмяПроцедуры, "Поле", Поле, Тип("ПолеФормы"));
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(ИмяПроцедуры, "СтандартнаяОбработка", СтандартнаяОбработка, Тип("Булево"));
Если ДополнительныеПараметры <> Неопределено Тогда
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(ИмяПроцедуры, "ДополнительныеПараметры", ДополнительныеПараметры, Тип("Структура"));
КонецЕсли;
ДополнительныеСвойства = Форма[ИмяСписка].КомпоновщикНастроек.Настройки.ДополнительныеСвойства;
Если Не (ДополнительныеСвойства.Свойство("КолонкаИндикатора")
И ДополнительныеСвойства.Свойство("ВидОбъектаМетаданных")
И ДополнительныеСвойства.Свойство("ИмяОбъектаМетаданных")
И ДополнительныеСвойства.Свойство("ИмяСписка")) Тогда
СтандартнаяОбработка = Истина;
Иначе
ТаблицаФормы = Форма.Элементы.Найти(ДополнительныеСвойства.ИмяСписка);
Если Поле.Имя <> ДополнительныеСвойства.КолонкаИндикатора Тогда
СтандартнаяОбработка = Истина;
Иначе
СтандартнаяОбработка = Ложь;
ДанныеКонтекста = Новый Структура;
ДанныеКонтекста.Вставить("ВыделенныеСтроки", ТаблицаФормы.ВыделенныеСтроки);
ДанныеКонтекста.Вставить("ВидОбъектаМетаданных", ДополнительныеСвойства.ВидОбъектаМетаданных);
ДанныеКонтекста.Вставить("ИмяОбъектаМетаданных", ДополнительныеСвойства.ИмяОбъектаМетаданных);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ДанныеКонтекста", ДанныеКонтекста);
ОткрытьФорму("Отчет.РезультатыПроверкиУчета.Форма", ПараметрыФормы);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОткрытьОтчетПоПроблемамИзОбработкиОбновления (БСП)
ОткрытьОтчетПоПроблемамОбъекта (БСП)
ОткрытьИнструкциюПоТипичнымПроблемамПриРаботеСПрограммами (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)