При открытии отчета, написанного на СКД(при этом не создавая формы), задать условие для параметра. Чтобы при открытии дата всегда вставала - начало дня.

1. userAn 07.10.19 10:41 Сейчас в теме
Помогите пожалуйста. Есть отчет СКД. как сделать, чтобы при открытии отчета дата всегда вставала "начало этого дня". Если поменять дату на и закрыть отчет, он запоминает последнюю дату и при открытии снова выдает ее. Кто-нибудь сталкивался с данной проблемой? Пожалуйста помогите.
Вариант - создать форму отчета и в ней все прописать - отпадает. Пробовала так уже.
Прикрепленные файлы:
Найденные решения
3. razars 13 07.10.19 11:05 Сейчас в теме
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ПараметрДанных = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
	ПараметрПользовательскойНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки);
	ПараметрПользовательскойНастройки.Значение = НачалоДня(ТекущаяДата());
КонецПроцедуры


Тут пример, если параметр называется "Период"
Valerianich; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. dhurricane 07.10.19 11:04 Сейчас в теме
(1) В схеме компоновки данных можно в качестве значения параметра указать стандартную дату - начало этого дня.
Прикрепленные файлы:
4. razars 13 07.10.19 11:07 Сейчас в теме
(2) Это значение по умолчанию. Оно устанавливается, только если нет пользовательских настроек. То есть только при первом открытии отчета определенным пользователем.
7. userAn 07.10.19 11:53 Сейчас в теме
(4) Это тоже все понятно, а можно как нибудь обойти это. И при последующем открытии формы он не запоминал пользовательские настрой, а ставил дату по умолчанию, которую я задала. Тобишь "Начало этого дня", при этом не создавая форму?
6. userAn 07.10.19 11:50 Сейчас в теме
(2) Это понятно, так и задано, но если пользователь поменяет дату, а потом закроет форму и откроет ее заново, то дата будет та, которая была поставлена пользователем.
10. dhurricane 07.10.19 12:39 Сейчас в теме
(6) Уточните, пожалуйста, чем в таком случае обусловлено включение периода в пользовательские настройки?
13. userAn 07.10.19 13:01 Сейчас в теме
(10) Чтобы он мог менять дату, но при открытии формы дата всегда вставала (Начало этого дня).
3. razars 13 07.10.19 11:05 Сейчас в теме
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ПараметрДанных = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
	ПараметрПользовательскойНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки);
	ПараметрПользовательскойНастройки.Значение = НачалоДня(ТекущаяДата());
КонецПроцедуры


Тут пример, если параметр называется "Период"
Valerianich; +1 Ответить
5. userAn 07.10.19 11:48 Сейчас в теме
(3) Этот код актуален, если есть форма. А у меня ее нет. Можно это как то в схеме компоновке данных прописать или же в модуле объекта?
Прикрепленные файлы:
8. razars 13 07.10.19 12:01 Сейчас в теме
(5)ПриКомпановкеРезультата можно конечно, но вам нужно именно при открытии. Вы же не хотите, чтобы пользователь выбирал период, а при нажатии на "сформировать" его настройка слетала? Создайте форму отчета (это делается нажатием двух кнопок), иначе не получится.
11. userAn 07.10.19 12:57 Сейчас в теме
(8) В этом и был вопрос. Можно ли это сделать без создания формы, я думала, что может все таки есть другие пути обхода, но все таки нет((
Очень, очень жаль. А так я все это уже делала(я про форму).
15. dhurricane 07.10.19 13:15 Сейчас в теме
(11) По тегам темы не совсем понятно, какая у Вас конфигурация. Но если используется не совсем древняя БСП, то есть возможность перехватить некоторые события формы отчет без добавления собственной. Для решения Вашей задачи в модуле объекта отчета добавьте следующий код:

Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
	
	Настройки.События.ПриЗагрузкеПользовательскихНастроекНаСервере = Истина;
	
КонецПроцедуры

Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Форма, НовыеПользовательскиеНастройкиКД) Экспорт
   
	НастройкиКД = Форма.Отчет.КомпоновщикНастроек.Настройки;
	ПользовательскиеНастройкиКД = Форма.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки;
	
	ПараметрДанных = НастройкиКД.ПараметрыДанных.Элементы.Найти("Период");
	ПараметрПользовательскойНастройки = ПользовательскиеНастройкиКД.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки);
	ПараметрПользовательскойНастройки.Значение = НачалоДня(ТекущаяДата());
	
КонецПроцедуры
Показать
Spacer; Sardukar; marku; xa1ter; dfgdsfgsdfg2011; user1299321; user1302499; user666919_budulau; Matveev_VS; echo77; razars; +11 Ответить
16. Matveev_VS 159 14.08.20 12:37 Сейчас в теме
17. AngV 15 18.08.21 12:27 Сейчас в теме
9. razars 13 07.10.19 12:04 Сейчас в теме
(5)Но если вам всё-таки нужно, чтобы всегда-всегда был заданный параметр, то сделайте проще: На закладке "Параметры" Заполните "Выражение" и установите флаг "Ограничение доступности".
Прикрепленные файлы:
12. userAn 07.10.19 12:58 Сейчас в теме
(9) Этот вариант не подходит, потому у пользователя должна быть возможность менять дату.
14. userAn 07.10.19 13:02 Сейчас в теме
(9)Но все равно спасибо за потраченное время, буду делать. Если найду какой нибудь путь обхода, напишу,если будет интересно))
18. user1548617 07.09.21 14:11 Сейчас в теме
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день