Имя: Пароль:
1C
 
Установка параметра отбора при открытии отчета
,
0 falselight
 
09.12.17
11:02
УТ 11.1.
Справочник номенклатура.
При открытии элемента номенклатуры, слева расположены команды.
При нажатии на команду "Движение товаров организаций" открывается
отчет ВедомостьПоТоварамОрганизаций с установленным периодом
текущий месяц. Необходимо убрать установить период за все время.
Подскажите где это правильно сделать?
1 yzimin
 
09.12.17
11:24
(0) в вариантах отчета
2 falselight
 
09.12.17
12:32
Сделал вот так, но когда отчет формируется там все равно дата что задана в настройках СКД. Почему она не поменялась? Я же её сменил?

Процедура ПриОткрытии(Отказ)
    ВедомостьПоТоварамОрганизаций.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0].Значение.ДатаНачала    = '2001.01.01';
    ВедомостьПоТоварамОрганизаций.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0].Значение.ДатаОкончания = КонецДня(ТекущаяДата());
КонецПроцедуры
3 falselight
 
09.12.17
12:35
У этого отчета СКД ВедомостьПоТоварамОрганизаций в составе конфигурации несколько вариантов. Может нужно как то задавать (2) определенному варианту?
4 Borteg
 
09.12.17
12:42
(3) эти даты после события при открытии уже 2 раза перезатерлись, при восстановлении варианта отчета и при загрузке пользовательских настроек
5 Borteg
 
09.12.17
12:42
(3) тебе надо установить пользовательские настройки в событии перед восстановление пользовательских настроек
6 falselight
 
09.12.17
13:05
(5) Добавил в процедуре общего модуля ОтчетыСервер

Процедура УстановитьСтандартныеНастройки(Форма, ИмяРеквизитаФормы, ИмяОтчета, ИмяВариантаНастроек, Отбор) Экспорт

    ОтчетОбъект.СхемаКомпоновкиДанных.ВариантыНастроек[ИмяВариантаНастроек].Настройки.ПараметрыДанных.Элементы[0].Значение.ДатаНачала    = '2001.01.01';
    ОтчетОбъект.СхемаКомпоновкиДанных.ВариантыНастроек[ИмяВариантаНастроек].Настройки.ПараметрыДанных.Элементы[0].Значение.ДатаОкончания = КонецДня(ТекущаяДата());



Вы про другое какое то место говорили?
7 Lexey_
 
09.12.17
13:20
(6) если нужно "установить период за все время", то почему ты с 2001 года устанавливаешь?
8 Borteg
 
09.12.17
13:22
(6) не подойдет, эти настройки перезатрутся при наложении пользовательских настроек, у формы отчета должнно быть событие перед загрузкой пользоватескльих настроек
вот эти пользовательские настройки и надо править
9 falselight
 
09.12.17
16:16
(7) Ну вроде как этот период захватывает все время
так на вскидку подсказали, я и выставил, выправить не долго
важно понять где правильно ставить.
А то я подозреваю не установились ли (6) настройки периода всех отчетов???
(8) Дело в том что у отчета нет формы, это просто типовой СКД отчет. Форма есть у команды, которая привязана к справочнику номенклатуры. В ней тогда искать событие ПерезЗагрузкойПользовательскихНастроек() ? Я вроде смотрел не увидел такого, вот и начал искать далее, наткнулся на (6).
10 falselight
 
09.12.17
16:19
(9+)  это не форма команды, а форма справочника номенклатура
11 falselight
 
09.12.17
16:23
(8) Подскажите пожалуйста, а где отлавливать это волшебное событие?
12 falselight
 
09.12.17
16:29
Да (6) ставит такой период сейчас везде.
Как бы только для одного варианта одного отчета это задать?!
13 falselight
 
09.12.17
16:57
в модуле отчета ВедомостьПоТоварамОрганизаций задал

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СегментыСервер.ВключитьОтборПоСегментуНоменклатурыВСКД(КомпоновщикНастроек);    
    
    Параметр = НастройкаПараметра("УчитыватьПередачиЗапасовДругихОрганизаций");
    Параметр.Использование = Истина;
    // 2017_12_09 ->
    КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение.ДатаНачала    = '2017.01.01';
    КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение.ДатаОкончания = КонецДня(ТекущаяДата());
    // <-
КонецПроцедуры


стало работать только на этот отчет, это правильно?
только сейчас будет работать на него везде так!!!
как задать что бы работало только на нужный вариант отчета и только при открытии из справочника номенклатура????
14 vicof
 
10.12.17
12:02
Программирование методом тыка
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший