|
Как в отчете сделать отбор по конкретному элементу справочника? Ø (Фрэнки 14.06.2021 09:50) | ☑ | ||
---|---|---|---|---|
0
Psixovanniyyy
14.06.21
✎
09:46
|
Здравствуйте УТ 10.4 Версия платформы 8.3, Отчет ведомость по денежным средствам (Универсальный Отчёт)
Модуль Обьекта(Отчета) #Если Клиент Тогда //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ НАЧАЛЬНОЙ НАСТРОЙКИ ОТЧЕТА // Процедура установки начальных настроек отчета по метаданным регистра накопления // Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт // Настройка общих параметров универсального отчета // Содержит название отчета, которое будет выводиться в шапке. // Тип: Строка. // Пример: // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета"; УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним); // Содержит признак необходимости отображения надписи и поля выбора раздела учета в форме настройки. // Тип: Булево. // Значение по умолчанию: Истина. // Пример: // УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь; УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь; // Содержит имя регистра, по метаданным которого будет выполняться заполнение настроек отчета. // Тип: Строка. // Пример: // УниверсальныйОтчет.ИмяРегистра = "ТоварыНаСкладах"; УниверсальныйОтчет.ИмяРегистра = "ДенежныеСредства"; // Содержит признак необходимости вывода отрицательных значений показателей красным цветом. // Тип: Булево. // Значение по умолчанию: Ложь. // Пример: // УниверсальныйОтчет.ОтрицательноеКрасным = Истина; // Содержит признак необходимости вывода в отчет общих итогов. // Тип: Булево. // Значение по умолчанию: Истина. // Пример: // УниверсальныйОтчет.ВыводитьОбщиеИтоги = Ложь; // Содержит признак необходимости вывода детальных записей в отчет. // Тип: Булево. // Значение по умолчанию: Ложь. // Пример: // УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина; // Содержит признак необходимости отображения флага использования свойств и категорий в форме настройки. // Тип: Булево. // Значение по умолчанию: Истина. // Пример: // УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Ложь; УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Истина; // Содержит признак использования свойств и категорий при заполнении настроек отчета. // Тип: Булево. // Значение по умолчанию: Ложь. // Пример: // УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = Истина; // Содержит признак использования простой формы настроек отчета без группировок колонок. // Тип: Булево. // Значение по умолчанию: Ложь. // Пример: // УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = Истина; // Дополнительные параметры, переданные из отчета, вызвавшего расшифровку. // Информация, передаваемая в переменной ДополнительныеПараметры, может быть использована // для реализации специфичных для данного отчета параметрических настроек. //УниверсальныйОтчет.ДобавитьПолеГруппировка("Организация", "БанковскийСчетКасса", "Владелец", "Организация"); УниверсальныйОтчет.ДобавитьПолеГруппировка("ВалютаДенежныхСредств", "БанковскийСчетКасса", "ВалютаДенежныхСредств", "Валюта счета (кассы)"); // Заполнение начальных настроек универсального отчета УниверсальныйОтчет.УстановитьНачальныеНастройки(Истина); УниверсальныйОтчет.ДобавитьПоказатель("СуммаНачальныйОстаток", "Начальный остаток", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма в валюте счета (кассы)"); УниверсальныйОтчет.ДобавитьПоказатель("СуммаПриход", "Приход", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма в валюте счета (кассы)"); УниверсальныйОтчет.ДобавитьПоказатель("СуммаРасход", "Расход", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма в валюте счета (кассы)"); УниверсальныйОтчет.ДобавитьПоказатель("СуммаКонечныйОстаток", "Конечный остаток", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма в валюте счета (кассы)"); УниверсальныйОтчет.ДобавитьПоказатель("СуммаОборот", "Оборот", Ложь, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма в валюте счета (кассы)"); ВалютаУпр = глЗначениеПеременной("ВалютаУправленческогоУчета").Наименование; УниверсальныйОтчет.ДобавитьПоказатель("СуммаУпрНачальныйОстаток", "Начальный остаток", Истина, "ЧЦ=15; ЧДЦ=2", "СуммаУпр", "Сумма в " + ВалютаУпр); УниверсальныйОтчет.ДобавитьПоказатель("СуммаУпрПриход", "Приход", Истина, "ЧЦ=15; ЧДЦ=2", "СуммаУпр", "Сумма в " + ВалютаУпр); УниверсальныйОтчет.ДобавитьПоказатель("СуммаУпрРасход", "Расход", Истина, "ЧЦ=15; ЧДЦ=2", "СуммаУпр", "Сумма в " + ВалютаУпр); УниверсальныйОтчет.ДобавитьПоказатель("СуммаУпрКонечныйОстаток", "Конечный остаток", Истина, "ЧЦ=15; ЧДЦ=2", "СуммаУпр", "Сумма в " + ВалютаУпр); УниверсальныйОтчет.ДобавитьПоказатель("СуммаУпрОборот", "Оборот", Ложь, "ЧЦ=15; ЧДЦ=2", "СуммаУпр", "Сумма в " + ВалютаУпр); // Добавление предопределенных группировок строк отчета. // Необходимо вызывать для каждой добавляемой группировки строки. // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("БанковскийСчетКасса"); // Добавление предопределенных группировок колонок отчета. // Необходимо вызывать для каждой добавляемой группировки колонки. // УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>); // Добавление предопределенных отборов отчета. // Необходимо вызывать для каждого добавляемого отбора. // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>); УниверсальныйОтчет.ДобавитьОтбор("БанковскийСчетКасса"); УниверсальныйОтчет.ДобавитьОтбор("ВидДенежныхСредств"); УниверсальныйОтчет.ДобавитьОтбор("ВалютаДенежныхСредств"); УниверсальныйОтчет.ДобавитьОтбор("Организация"); // Добавление предопределенных полей порядка отчета. // Необходимо вызывать для каждого добавляемого поля порядка. // УниверсальныйОтчет.ДобавитьПорядок(<ПутьКДанным>); // Установка связи подчиненных и родительских полей // УниверсальныйОтчет.УстановитьСвязьПолей(<ПутьКДанным>, <ПутьКДаннымРодитель>); // Установка связи полей и измерений // УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения(<ИмяПоля>, <ИмяИзмерения>); // Добавление дополнительных полей // Необходимо вызывать для каждого добавляемого дополнительного поля. // УниверсальныйОтчет.ДобавитьДополнительноеПоле(<ПутьКДанным>, <Размещение>, <Положение>); УниверсальныйОтчет.ДобавитьДополнительноеПоле("ВалютаДенежныхСредств"); УниверсальныйОтчет.ДобавитьДополнительноеПоле("ВидДенежныхСредств"); КонецПроцедуры // УстановитьНачальныеНастройки() //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ОТЧЕТА // Процедура формирования отчета // Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт // Перед формирование отчета можно установить необходимые параметры универсального отчета УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент); КонецПроцедуры // СформироватьОтчет() //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ // Процедура обработки расшифровки // Процедура ОбработкаРасшифровки(Расшифровка, Объект) Экспорт // Дополнительные параметры в расшифровывающий отчет можно передать // посредством инициализации переменной "ДополнительныеПараметры". ДополнительныеПараметры = Неопределено; УниверсальныйОтчет.ОбработкаРасшифровкиУниверсальногоОтчета(Расшифровка, Объект, ДополнительныеПараметры); КонецПроцедуры // ОбработкаРасшифровки() // Формирует структуру для сохранения настроек отчета // Процедура СформироватьСтруктуруДляСохраненияНастроек(СтруктураСНастройками) Экспорт УниверсальныйОтчет.СформироватьСтруктуруДляСохраненияНастроек(СтруктураСНастройками); КонецПроцедуры // СформироватьСтруктуруДляСохраненияНастроек() // Заполняет настройки отчета из структуры сохраненных настроек // Функция ВосстановитьНастройкиИзСтруктуры(СтруктураСНастройками) Экспорт Возврат УниверсальныйОтчет.ВосстановитьНастройкиИзСтруктуры(СтруктураСНастройками, ЭтотОбъект); КонецФункции // ВосстановитьНастройкиИзСтруктуры() // Содержит значение используемого режима ввода периода. // Тип: Число. // Возможные значения: 0 - произвольный период, 1 - на дату, 2 - неделя, 3 - декада, 4 - месяц, 5 - квартал, 6 - полугодие, 7 - год // Значение по умолчанию: 0 // Пример: // УниверсальныйОтчет.мРежимВводаПериода = 1; #КонецЕсли МОДУЛЬ ФОРМЫ //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ // Обновляет таблицу отчета // Процедура ОбновитьОтчет() Экспорт СформироватьОтчет(ЭлементыФормы.ПолеТабличногоДокументаРезультат); КонецПроцедуры // ОбновитьОтчет() //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ // Процедура - обработчик события при открытии формы // Процедура ПриОткрытии() УниверсальныйОтчет.мДействиеПолеВводаВидСравненияПриИзменении = Новый Действие("ПолеВводаВидСравненияПриИзменении"); УниверсальныйОтчет.мДействиеПолеВводаЗначениеПриИзменении = Новый Действие("ПолеВводаЗначениеПриИзменении"); УниверсальныйОтчет.мДействиеКоманднаяПанельФормыПечать = Новый Действие("КоманднаяПанельФормыПечать"); УниверсальныйОтчет.ФормаПриОткрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма); КонецПроцедуры // ПриОткрытии() // Процедура - обработчик события при закрытии формы // Процедура ПриЗакрытии() УниверсальныйОтчет.ФормаПриЗакрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма); КонецПроцедуры // ПриЗакрытии() //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ НАЖАТИЯ КНОПОК КОМАНДНОЙ ПАНЕЛИ // Процедура - обработчик нажатия кнопки "Печать" // Процедура КоманднаяПанельФормыПечать(Кнопка) УниверсальныйОтчет.ФормаПечать(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма); КонецПроцедуры // КоманднаяПанельФормыПечать() // Процедура - обработчик нажатия кнопки "Сформировать" // Процедура КоманднаяПанельФормыСформировать(Кнопка) ОбновитьОтчет(); КонецПроцедуры // КоманднаяПанельФормыСформировать() // Процедура - обработчик нажатия кнопки "Настройка" // Процедура КоманднаяПанельФормыНастройка(Кнопка) УниверсальныйОтчет.ФормаНастройка(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма, ЭлементыФормы.ПолеТабличногоДокументаРезультат); КонецПроцедуры // КоманднаяПанельФормыНастройка() // Процедура - обработчик нажатия кнопки "НовыйОтчет" // Процедура КоманднаяПанельФормыНовыйОтчет(Кнопка) // Дополнительные параметры в расшифровывающий отчет можно передать // посредством инициализации переменной "ДополнительныеПараметры". ДополнительныеПараметры = Неопределено; УниверсальныйОтчет.ФормаНовыйОтчет(УниверсальныйОтчет, ЭтотОбъект, ДополнительныеПараметры); КонецПроцедуры // КоманднаяПанельФормыНовыйОтчет() // Процедура - обработчик нажатия кнопки "БыстрыеОтборы" // Процедура КоманднаяПанельФормыБыстрыеОтборы(Кнопка) УниверсальныйОтчет.УправлениеОтображениемЭлементовФормы(УниверсальныйОтчет, ЭтаФорма, Кнопка.Имя); УниверсальныйОтчет.УправлениеПанельюБыстрыеОтборы(УниверсальныйОтчет, ЭтаФорма); КонецПроцедуры // КоманднаяПанельФормыБыстрыеОтборы() // Процедура - обработчик нажатия кнопки "ЗаголовокОтчета" // Процедура КоманднаяПанельФормыЗаголовокОтчета(Кнопка) УниверсальныйОтчет.УправлениеОтображениемЭлементовФормы(УниверсальныйОтчет, ЭтаФорма, Кнопка.Имя); УниверсальныйОтчет.УправлениеОтображениемЗаголовка(УниверсальныйОтчет, ЭлементыФормы.ПолеТабличногоДокументаРезультат); КонецПроцедуры // КоманднаяПанельФормыЗаголовокОтчета() // Процедура - обработчик нажатия кнопки "ВосстановитьНастройку" // Процедура КоманднаяПанельФормыВосстановитьНастройку(Кнопка) УниверсальныйОтчет.ВосстановитьНастройки(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма); КонецПроцедуры // КоманднаяПанельФормыДействиеВосстановитьЗначения() // Процедура - обработчик нажатия кнопки "СохранитьНастройку" // Процедура КоманднаяПанельФормыСохранитьНастройку(Кнопка) УниверсальныйОтчет.СохранитьНастройки(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма); КонецПроцедуры // КоманднаяПанельФормыДействиеСохранитьЗначения() //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ // Процедура - обработчик нажатия кнопки "КнопкаНастройкаПериода" // Процедура КнопкаНастройкаПериодаНажатие(Элемент) УниверсальныйОтчет.ФормаНастройкаПериода(УниверсальныйОтчет); КонецПроцедуры // КнопкаНастройкаПериодаНажатие() // Процедура - обработчик нажатия кнопки "КнопкаМинусПериод" // Процедура КнопкаМинусПериодНажатие(Элемент) УниверсальныйОтчет.ФормаМинусПериод(УниверсальныйОтчет); КонецПроцедуры // КнопкаМинусПериодНажатие() // Процедура - обработчик нажатия кнопки "КнопкаПлюсПериод" // Процедура КнопкаПлюсПериодНажатие(Элемент) УниверсальныйОтчет.ФормаПлюсПериод(УниверсальныйОтчет); КонецПроцедуры // КнопкаПлюсПериодНажатие() // Процедура - обработчик события "Обработка расшифровки" поля табличного документа "ПолеТабличногоДокументаРезультат" // Процедура ПолеТабличногоДокументаРезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ОбработкаРасшифровки(Расшифровка, ОтчетОбъект); КонецПроцедуры // ПолеТабличногоДокументаРезультатОбработкаРасшифровки() // Процедура - обработчик события "При изменении" поля ввода "ПолеВводаВидСравнения" // Процедура ПолеВводаВидСравненияПриИзменении(Элемент) УниверсальныйОтчет.ВидСравненияПриИзменении(Элемент, ЭтаФорма); КонецПроцедуры // ПолеВводаВидСравненияПриИзменении() // Процедура - обработчик события "При изменении" полей ввода "Значение", "ЗначениеС", "ЗначениеПо" // Процедура ПолеВводаЗначениеПриИзменении(Элемент) УниверсальныйОтчет.ЗначениеПриИзменении(Элемент, ЭтаФорма); КонецПроцедуры // ПолеВводаВидСравненияПриИзменении() https://ibb.co/PQkK3MD https://ibb.co/CtfBPdF https://ibb.co/YfbLtCs Нужно сделать у Роли отбор по определенному складу (всегда) чтобы он не мог изменять его и нужно сделать период с НачМесяца по умолчанию что бы он ранее даты отчета не мог выбрать, Прошу помочь |
|||
1
Фрэнки
14.06.21
✎
09:50
|
создай тему нормально. Топик пост кратко. Простыня кода или в отдельно посте сразу за первым или в выложи куда-то и дай ссылку. Если будешь выкладывать, то можешь даже свой вариант отчета выложить.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |