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

Автор Тема: Расшифровка в отчете на СКД, который вызывается из формы справочника(управляемые формы)  (Прочитано 4113 раз)

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

Оффлайн anna_vs

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-25
  • Сайт: 
  • Профессия: Программист 1С
Из справочника "Номенклатура"  формируется отчет на СКД "Закупки", в котором отражаются документы поступления указанного товара.Он вызывается из формы "Закупки" справочника "Номенклатура".Необходимо , чтобы было стандартно увидеть докумнет поступления из отчета, дважды кликнув по полю отчета.Но появляются только номера полей.
Вот код вызова отчета из этой формы:
 
&НаСервере
Процедура СформироватьОтчет(ИмяОтчета, ИмяВариантаНастроек = "ПоНоменклатуреКонтекст")
   
   Если Не ПравоДоступа("Использование", Метаданные.Отчеты[ИмяОтчета]) Тогда
       Возврат;
   КонецЕсли;
   
   // Загрузить настройки отчета из схемы компоновки.
   ОтчетОбъект = РеквизитФормыВЗначение(ИмяОтчета);
   АдресСхемы  = ПоместитьВоВременноеХранилище(ОтчетОбъект.СхемаКомпоновкиДанных, УникальныйИдентификатор);
   
   ОтчетОбъект.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы));
   ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетОбъект.СхемаКомпоновкиДанных.ВариантыНастроек[ИмяВариантаНастроек].Настройки);
   
   // Добавить отбор по номенклатуре.
   ЭлементОтбора = ОтчетОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   
   ЭлементОтбора.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Номенклатура");
   ЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
   ЭлементОтбора.ПравоеЗначение = ОтборНоменклатура;
   ЭлементОтбора.Использование  = Истина;
   
   // Вывести отчет.
   ОтчетОбъект.СкомпоноватьРезультат(ТаблицаРезультатаОтчета(ИмяОтчета));
   
КонецПроцедуры
 
Вот код формирования отчета из модуля отчета:
....
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   ДанныеРасшифровки=Новый ДанныеРасшифровкиКомпоновкиДанных;//Добавлено
   ДанныеРасшифровки.Настройки=КомпоновщикНастроек.ПолучитьНастройки();//Добавлено
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);

   Для Каждого ТекМакет Из МакетКомпоновки.Макеты Цикл

       Если ТипЗнч(ТекМакет.Макет) <> Тип("МакетОбластиКомпоновкиДанных") Тогда
           Продолжить;
       КонецЕсли;

       Для Каждого СтрокаТаблицыКомпоновки Из ТекМакет.Макет Цикл
           Для Каждого ЯчейкаТаблицыОбластиКомпоновки Из СтрокаТаблицыКомпоновки.Ячейки Цикл
               Для Каждого Элемент Из ЯчейкаТаблицыОбластиКомпоновки.Элементы Цикл
                   Если МассивЗаголовковРесурсов.Найти(Элемент.Значение) <> Неопределено Тогда

                       Параметр = ЯчейкаТаблицыОбластиКомпоновки.Оформление.Элементы.Найти(Новый ПараметрКомпоновкиДанных("ГоризонтальноеПоложение"));
                       Параметр.Значение = ГоризонтальноеПоложение.Центр;
                       Параметр.Использование = Истина;

                   КонецЕсли;
               КонецЦикла;
           КонецЦикла;
       КонецЦикла;

   КонецЦикла;

   //Создадим и инициализируем процессор компоновки
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);

   //Создадим и инициализируем процессор вывода результата
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

   //Обозначим начало вывода
   ПроцессорВывода.НачатьВывод();
....
 
При двойном нажатии на поля отчета появляется только поле с цифрой.Как настроить расшифровку?


Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Как процедура называется в модуле отчета?
У отчета форма есть?
На форме отчета по идее должен быть реквизит "ДанныеРасшифровки".

Оффлайн anna_vs

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-25
  • Сайт: 
  • Профессия: Программист 1С
Процедура в модуле отчета - "ПриКомпоновкеРезультата".
У формы отчета есть реквизит "ДанныеРасшифровки", но отчет вызывается из формы справочника, и расшифровка должна происходить там, а там нет такого реквизита.Как его можно передать из формы отчета в форму справочника?

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Процедура в модуле отчета - "ПриКомпоновкеРезультата".
Какие параметры у этой процедуры?

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

Оффлайн anna_vs

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-25
  • Сайт: 
  • Профессия: Программист 1С
ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
Уже пробовала добавлять новый реквизит - всё равно при расшифровке выдаются только цифры.

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Из кода непонятно вызывается полноценная форма отчета или отчет возвращает только табличный документ.
???

Оффлайн anna_vs

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-25
  • Сайт: 
  • Профессия: Программист 1С
Как посмотреть что возвращает отчет? При проверке в отладчике в форму отчета не заглядывается.Событие "ОбработкаРасшифровки" возникает в форме справочника.

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
ОтчетОбъект.<Имя отчета> (ReportObject.<Имя отчета>)
СкомпоноватьРезультат (ComposeResult)
Синтаксис:

СкомпоноватьРезультат(<Результат>, <ИнформацияРасшифровки>)
Параметры:

<Результат> (обязательный)

Тип: ТабличныйДокумент.
Табличный документ, в который будет выводиться результат.
<ИнформацияРасшифровки> (необязательный)

Переменная, в которую будет записана информация расшифровки.
Если не указано - расшифровка заполняться не будет.

Оффлайн anna_vs

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-25
  • Сайт: 
  • Профессия: Программист 1С
Перем ИнформацияРасшифровки
...
&НаСервере
Процедура ОбновитьОтчет(ИмяОтчета)
   
   ТаблицаРезультатаОтчета = ТаблицаРезультатаОтчета(ИмяОтчета);
   ТаблицаРезультатаОтчета.Очистить();
   
   ОтчетОбъект = РеквизитФормыВЗначение(ИмяОтчета);
   ОтчетОбъект.СкомпоноватьРезультат(ТаблицаРезультатаОтчета,ИнформацияРасшифровки);
   
КонецПроцедуры


Это вызов отчета из формы справочника. В расшифровке - те же цифры.Как правильно использовать переменную "ИнформацияРасшифровки"?

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
По идее, это не переменная это реквизит формы и что самое печальное обработку расшифровки вы должны писать сами. В форме отчета у формы настраивается вывод результата и где храниться данные расшифровки. В произвольной форме этих свойств нет.
Ну и как бы... до сих пор мучает вопрос: почему просто не открывать полноценный отчет с предустановками? а не так как вы сейчас тяните только результат СКД. на свою форму.


Теги:
 

Как вызвать "Анализ субконто" из справочника "Контрагенты"

Автор EnigManРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 5885
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3549
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

Автор kaf_infoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 151
Последний ответ 10 Май 2017, 20:44
от ilnur75
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

Автор друганРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 1569
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Работа с формой Справочника "Физ.Лица" в ЗУП 2.5

Автор Митя_Просто_МитяРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3418
Последний ответ 15 Дек 2011, 00:04
от Vit1501

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
95 Сообщений
wise wise
76 Сообщений
MuI_I_Ika MuI_I_Ika
56 Сообщений
alex0402
49 Сообщений
Dethmontt Dethmontt
48 Сообщений
ilyay ilyay
29 Сообщений
Сергей Федоров Сергей Федоров
29 Сообщений
ilnur75
25 Сообщений
Дмитрий Медведков Дмитрий Медведков
19 Сообщений
DmitriyF DmitriyF
17 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal