Каталог решений - Выбор месяца в качестве периода в отчете СКД с использованием формы

Выбор месяца в качестве периода в отчете СКД с использованием формы

Выбор месяца в качестве периода в отчете СКД с использованием формы

В наличии

В представленном примере выбирается период «месяц» в качестве даты отчета. Используется общий модуль ЗарплатаКадрыКлиент и общая форма ВыборПериода. Работает в типовых конфигурациях БП 3, ЗУП 3, ЕРП, УХ.

Категория:

Описание

Стояла задача — выбрать в качестве периода отчета — месяц.

Ни день, ни период "с — по". Именно месяц, без вариантов.

Пришлось подсмотреть как это сделано в документах начисления зарплаты — на форме документа есть выбор месяца. Принято решение задействовать этот механизм.

Приступим.

Создаём внешний отчёт, сделаем в нём реквизит МесяцНачисленияДата с типом "Дата":

Создаём форму отчета, делаем её основной.

Создаём реквизит формы "МесяцНачисленияСтрокой" с типом строка 50 символов, заголовок "Месяц" переносим его на форму:

Переходим в свойства нашего перенесенного на форму поля и добавляем кнопки:

А так же События:

В модуле формы описываем эти события:

&НаКлиенте
Процедура МесяцНачисленияСтрокойПриИзменении(Элемент)
	ЗарплатаКадрыКлиент.ВводМесяцаПриИзменении(ЭтаФорма, "Отчет.МесяцНачисленияДата", "МесяцНачисленияСтрокой", Модифицированность);    
КонецПроцедуры

&НаКлиенте
Процедура МесяцНачисленияСтрокойНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
	ЗарплатаКадрыКлиент.ВводМесяцаНачалоВыбора(ЭтаФорма, ЭтаФорма, "Отчет.МесяцНачисленияДата", "МесяцНачисленияСтрокой", , );  
КонецПроцедуры

&НаКлиенте
Процедура МесяцНачисленияСтрокойРегулирование(Элемент, Направление, СтандартнаяОбработка)
	ЗарплатаКадрыКлиент.ВводМесяцаРегулирование(ЭтаФорма, "Отчет.МесяцНачисленияДата", "МесяцНачисленияСтрокой", Направление, Модифицированность); 
КонецПроцедуры

&НаКлиенте
Процедура МесяцНачисленияСтрокойАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	ЗарплатаКадрыКлиент.ВводМесяцаАвтоПодборТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);   
КонецПроцедуры

&НаКлиенте
Процедура МесяцНачисленияСтрокойОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	ЗарплатаКадрыКлиент.ВводМесяцаОкончаниеВводаТекста(Текст, ДанныеВыбора, СтандартнаяОбработка);          
КонецПроцедуры

В моём отчете СКД для указания даты используется параметр ДатаНачала, поэтому установим этот параметр в модуле объекта — создаем в нём процедуру ПриКомпоновкеРезультата():

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

Теперь открываем схему компоновки данных и используем этот параметр как угодно. 

Пример:

Результат:

Прикрепляю файл с примером, если кому будет нужно.

has been added to your cart:
Оформление заказа