|
|
|
Как можно сформировать отчет скд с параметрами текущего документа? | ☑ | ||
|---|---|---|---|---|
|
0
kenzori
03.06.25
✎
11:46
|
При формировании отчета нужно передать параметры текущего документа во внешний отчет на скд, и на основе этих параметров должен формироваться отчет, как это можно реализовать, пробую параметры формы передавать и форму открывать, но параметры не заполняются
&НаКлиенте
Процедура СформироватьОтчет(Команда)
Если Не СсылкаНаОбработку() Тогда
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("Ссылка", Объект.Ссылка);
ПараметрыФормы.Вставить("ДатаС", Период);
ПараметрыФормы.Вставить("ДатаПо", Период);
ПараметрыФормы.Вставить("Организация", Объект.Организация);
ПараметрыФормы.Вставить("Подразделение", Объект.Подразделение);
КлючВарианта = ПолучитьКлючВариантаОтчета();
Если КлючВарианта <> Неопределено Тогда
ПараметрыФормы.Вставить("КлючВарианта", КлючВарианта);
КонецЕсли;
ОткрытьФорму("ВнешнийОтчет.ОтчетОРаспределенииИспользованныхДиафрагмНаВыпускВП.Форма", ПараметрыФормы);
КонецПроцедуры
&НаСервере
Функция ПолучитьКлючВариантаОтчета()
СписокВариантов = ХранилищеВариантовОтчетов.ПолучитьСписок("ВнешнийОтчет.ОтчетОРаспределенииИспользованныхДиафрагмНаВыпускВП");
Если СписокВариантов.Количество() = 0 Тогда
Возврат Неопределено;
КонецЕсли;
Возврат СписокВариантов[0].Значение;
КонецФункции
&НаСервере
Функция СсылкаНаОбработку()
ОтчетСсылка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Отчет о распределении использованных диафрагм на выпуск ВП");
Если ОтчетСсылка.Пустая() Тогда
Сообщить("Не удалось найти отчет 'Отчет о распределении использованных диафрагм на выпуск ВП'");
Возврат Ложь;
КонецЕсли;
ДвоичныеДанные = ОтчетСсылка.ХранилищеОбработки.Получить();
АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
ВнешниеОтчеты.Подключить(АдресХранилища, "ОтчетОРаспределенииИспользованныхДиафрагмНаВыпускВП");
Возврат Истина;
КонецФункции |
|||
|
1
mikecool
03.06.25
✎
11:47
|
в ПриКомпоновкеРезультата()
|
|||
|
2
Волшебник
03.06.25
✎
11:49
|
ПараметрыФормы.Вставить("ДатаС", Период);
ПараметрыФормы.Вставить("ДатаПо", Период);
Здесь одно и то же с точностью до секунды? |
|||
|
3
kenzori
03.06.25
✎
11:51
|
(1) создал реквизиты в отчете и параметры устанавливаю или как-то подругому надо?
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Настройки = КомпоновщикНастроек.ПолучитьНастройки(); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ссылка", Ссылка); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДатаС", ДатаС); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Организация", Организация); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Подразделение", Подразделение); КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); КонецПроцедуры |
|||
|
4
kenzori
03.06.25
✎
11:51
|
(2) Мне бы хотя-бы чтоб что-то одно передавалось, но оно не передается
|
|||
|
5
Мультук
гуру
03.06.25
✎
12:01
|
(4)
1) Передаётся, вы просто не там ловите google: 1С Форма Открыть Передать параметры https://infostart.ru/1c/articles/86853/ "Как передаются параметры в управляемых формах" 2) google: 1с открыть отчет с параметрами https://fastcode.im/Templates/7996/otkryt-otchet-skd-s-peredachej-parametrov-i-otborami Не смотрел по ссылке, наверное работает (с) 3) Смотрим в типовые. Там тоже куча решений |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |