Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Май 2019, 18:51
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Отчет СКД: расшифровка элемента, который отсутствует на форме. Как?  (Прочитано 115 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн PSP

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2017-04-19
  • Сайт: 
  • Профессия: Ученик 1С
После отработки запроса на форму выводится Номенклатура. В доступных полях есть связанная с номенклатурой спецификация. Но на форму я её не хочу выносить, так как она будет занимать много места, а отчет и так широкий, будет трудно с ним работать. Хочется, чтобы в расшифровке для номенклатуры был пункт "Открыть спецификацию", при нажатии на который открывалась бы привязанная к номенклатуре спецификация. Как это сделать?
Если шутки не доходят, почта не виновата.


Оффлайн LexaK

  • *****
  • Сообщений: 1654
  • РЕПУТАЦИЯ: 471
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
посмотрите на форме отчета есть событие расшифровка

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

лкКоллекцияПолей = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля();
Если лкКоллекцияПолей.Количество() > 0 Тогда

СтандартнаяОбработка = Ложь;
лкВыбранноеДействие = Неопределено;
лкОбработчик = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));

//***** Формирование списка доступных действий
лкОснДействия = Новый Массив();
лкОснДействия.Добавить(ДействиеобработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
лкОснДействия.Добавить(ДействиеобработкиРасшифровкиКомпоновкиДанных.Отфильтровать);

//здесь можете добавить свои действия
лкДопДействия = Новый СписокЗначений();
//лкДопДействия.Добавить("Открыть","Открыть");
//лкДопДействия.Добавить("Отфильтровать","Отфильтровать");

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

лкНовыйОтчет = ВнешниеОтчеты.Создать(ЭтотОбъект.ИспользуемоеИмяФайла);
лкНоваяФорма = лкНовыйОтчет.ПолучитьФорму("ФормаОтчета");
лкНоваяФорма.ВосстанавливатьЗначенияПриОткрытии = ложь;
лкНоваяФорма.ДанныеРасшифровки = ЭтаФорма.ДанныеРасшифровки;
лкНоваяФорма.Открыть();
лкНоваяФорма.УстановитьВариантыНастроек();
лкНоваяФорма.СменаВариантаНастройки(Настройки,КомпоновщикНастроек.ПолучитьНастройки());

ЗаполнитьЗначенияСвойств(лкНовыйОтчет,ЭтотОбъект);

Если лкВыбранноеДействие = ДействиеобработкиРасшифровкиКомпоновкиДанных.Отфильтровать Тогда

ЭлементОтбора = лкНоваяФорма.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(лкКоллекцияПолей[0].Поле);
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = лкКоллекцияПолей[0].Значение;

КонецЕсли;

лкНоваяФорма.СформироватьОтчет(Ложь);

КонецЕсли;

КонецПроцедуры
Помогло? - Нажми СПАСИБО!!!
                       :)


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
35 Сообщений
wise wise
33 Сообщений
AIFrame AIFrame
32 Сообщений
alexandr_ll
31 Сообщений
DmitriyF DmitriyF
13 Сообщений
SGIRG SGIRG
12 Сообщений
Shohana
11 Сообщений
vova-1c@xaker.ru
11 Сообщений
kiksi
10 Сообщений
Мария112689
10 Сообщений

* Кто онлайн

  • Точка Гостей: 309
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal