Добавить параметр данных СКД в отчет программно
Всем всех благ!
Не пойму как победить ...
Есть отчет в ЗУП, Табель учета рабочего времени. Подписывает его Руководитель. Программа ставит руководителя предприятия. Нас это не устраивает.
Есть желание вывести на форму отчета параметр для заполнения, кодом его отловить и обработать для вывода на печать.
Просто на форму отчета вынести реквизит нельзя. Т.к. это общая форма для всех отчетов, а сам отчет формируется в модуле объекта отчета.
Было принято решение добавить этот параметр в СКД программно и потом его уже обрабатывать, по аналогии с параметром Ответственный того же отчета.
Параметр допустим называется Руководитель.
В СКД вроде как бы все хорошо добавляется на начальном этапе, но потом все затирается, не пойму где. :(
Рыба используемого кода:
Не пойму как победить ...
Есть отчет в ЗУП, Табель учета рабочего времени. Подписывает его Руководитель. Программа ставит руководителя предприятия. Нас это не устраивает.
Есть желание вывести на форму отчета параметр для заполнения, кодом его отловить и обработать для вывода на печать.
Просто на форму отчета вынести реквизит нельзя. Т.к. это общая форма для всех отчетов, а сам отчет формируется в модуле объекта отчета.
Было принято решение добавить этот параметр в СКД программно и потом его уже обрабатывать, по аналогии с параметром Ответственный того же отчета.
Параметр допустим называется Руководитель.
В СКД вроде как бы все хорошо добавляется на начальном этапе, но потом все затирается, не пойму где. :(
Рыба используемого кода:
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
ПараметрРуководительПодразделения = ОтчетОбъект.СхемаКомпоновкиДанных.Параметры.Добавить();
ПараметрРуководительПодразделения.Имя = "Руководитель2";
ПараметрРуководительПодразделения.Заголовок = "Руководитель2";
ПараметрРуководительПодразделения.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Сотрудники");
ПараметрРуководительПодразделения.ОграничениеИспользования = Ложь;
ПараметрРуководительПодразделения.Значение = Справочники.Сотрудники.ПустаяСсылка();
ПараметрРуководительПодразделения.Использование = ИспользованиеПараметраКомпоновкиданных.Всегда;
ПараметрРуководительПодразделения.ВключатьВДоступныеПоля = Истина;
мПараметрРуководительПодразделения = ОтчетОбъект.СхемаКомпоновкиДанных.ВариантыНастроек.УнифицированнаяФормаТ13.Настройки.ПараметрыДанных.Элементы.Добавить();
мПараметрРуководительПодразделения.Параметр = Новый ПараметрКомпоновкиДанных("Руководитель2");
мПараметрРуководительПодразделения.Использование = Истина;
мПараметрРуководительПодразделения.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;
мПараметрРуководительПодразделения.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор;
мПараметрРуководительПодразделения.Значение = Справочники.Сотрудники.ПустаяСсылка();
Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ОтчетОбъект.СхемаКомпоновкиДанных));
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетОбъект.СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
И нафига козе баян? Если это общая форма, то, предположу, что ЗУП тут 3.х. Также предположу, что параметры, определенные в варианте отчета, прекрасно выводятся в общую форму. Дальше просто: меняете запрос, добавляете параметр, меняете вариант - профит.
(3) Конфигурация на поддержке, хотелось бы обойтись кодом не затрагивая основной запрос.
В принципе параметр добавляется кодом в СКД, в т.ч. в пользовательские настройки. Вот только видимо я куда-то не туда код ставлю, все "перетирается" типовым функционалом.
ЗУП 3.*
В принципе параметр добавляется кодом в СКД, в т.ч. в пользовательские настройки. Вот только видимо я куда-то не туда код ставлю, все "перетирается" типовым функционалом.
ЗУП 3.*
Рыба кода моя.
В модуле объекта отчета формируется отчет (здесь я отловлю новый параметр и заменю заполнение параметра Руководитель макета отчета).
Настройки СКД загружаются в общей форме отчета. :) Настройки пытаюсь подменить в форме отчета. Не взлетает почему то.
В модуле объекта отчета формируется отчет (здесь я отловлю новый параметр и заменю заполнение параметра Руководитель макета отчета).
Настройки СКД загружаются в общей форме отчета. :) Настройки пытаюсь подменить в форме отчета. Не взлетает почему то.
Добавил команду
Появился реквизит на форме, но при открытии настроек пропадает, и при формировании отчета сам параметр пропадает :)
ЭтаФорма.СоздатьЭлементыФормыПользовательскихНастроек(, РежимОтображенияНастроекКомпоновкиДанных.БыстрыйДоступ);
Появился реквизит на форме, но при открытии настроек пропадает, и при формировании отчета сам параметр пропадает :)
(9) Я бы на вашем месте делал бы упор не на изменение макета и не на добавление новых параметров СКД, а на изменение процедуры где эти параметры типового отчета заполняются и привязать допустим руководителя через доп.сведениях к подразделению и если доп.сведения заполнены, то заполнение параметра делать из доп.сведений, если нет, то штатный механизм.
У нас была например задача в подвал в подписанты выводить различных сотрудников ответственных за данное штатное расписание и это были отнюдь не ответсвенные лица орг-ции, соответственно формировали штатку с отбором по подразделению, в подразделение через доп.сведения прикрутили подписантов, в расширении в модули отчета переопределили процедуру вывестиподвал
У нас была например задача в подвал в подписанты выводить различных сотрудников ответственных за данное штатное расписание и это были отнюдь не ответсвенные лица орг-ции, соответственно формировали штатку с отбором по подразделению, в подразделение через доп.сведения прикрутили подписантов, в расширении в модули отчета переопределили процедуру вывестиподвал
В итоге как удалось победить?
Тоже хочется без снятия с поддержки через расширение (не копирую всю СКД) добавить параметр, который в коде потом отрабатывается. Плюс на форме пользователь может редактировать в настройках (кнопка на форме "Настройки").
Пока не удалось добавить.
Тоже хочется без снятия с поддержки через расширение (не копирую всю СКД) добавить параметр, который в коде потом отрабатывается. Плюс на форме пользователь может редактировать в настройках (кнопка на форме "Настройки").
Пока не удалось добавить.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот