Имя: Пароль:
1C
 
Как сделать в отчете период только по одному дню
0 Наташа1997
 
27.04.16
09:47
Доброго утра всем.
Скажите, пожалуйста, как в типовой конфигурации (Розница 2.1) сделать, чтобы определенный пользователь мог формировать отчет "Продажи" только на сегодняшний день (а у других чтоб все было, как обычно)?
1 Наташа1997
 
27.04.16
11:12
Определение пользователя программно я уже сделала, подскажите теперь, как программно задать периодом сегодняшний день, чтобы его нельзя было изменить?
2 catena
 
27.04.16
11:26
(1)Перед началом формирования устанавливай нужный период и все. Пусть хоть завыбирается.
3 Наташа1997
 
27.04.16
12:12
У меня проблема именно с тем как программно задать начало и конец периода.. я пробую так:

    КомпоновщикНастроек = Отчет.КомпоновщикНастроек;
    ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
    ПараметрСКД.Использование = Истина;
    ПараметрСКД.Значение = ТекущаяДата();
    
    ПараметрСКД2 = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
    ПараметрСКД2.Использование = Истина;
    ПараметрСКД2.Значение = ТекущаяДата();

В итоге никаких изменений не происходит :(
4 FIXXXL
 
27.04.16
12:13
началоДня и конецДня используй
5 Наташа1997
 
27.04.16
12:20
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
КонецПроцедуры

&НаСервере
Функция ПроверитьПользователя() Экспорт
    Если ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию("Товаровед")
    Тогда Возврат Истина;
Иначе Возврат Ложь;
    КонецЕсли;
КонецФункции

&НаСервере
Процедура Периодс() Экспорт
    КомпоновщикНастроек = Отчет.КомпоновщикНастроек;
    ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
    ПараметрСКД.Использование = Истина;
    ПараметрСКД.Значение = НачалоДня(ТекущаяДата());
    
    ПараметрСКД2 = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
    ПараметрСКД2.Использование = Истина;
    ПараметрСКД2.Значение = КонецДня(ТекущаяДата());
    
    Сообщить(ПараметрСКД.Значение);
    Сообщить(ПараметрСКД2.Значение);
    Сообщить(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода"));
    
КонецПроцедуры
                
    
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Если ПроверитьПользователя() = Истина
        Тогда Периодс();
        КомпоновщикНастроек = Отчет.КомпоновщикНастроек;
ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрСКД.Использование = Истина;
ПараметрСКД.Значение = НачалоДня(ТекущаяДата());
ПараметрСКД2 = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ПараметрСКД2.Использование = Истина;
ПараметрСКД2.Значение = КонецДня(ТекущаяДата());


    КонецЕсли;                      
КонецПроцедуры
6 Наташа1997
 
27.04.16
12:20
Попробовала, ничего не изменилось: дата в форме отчета остается такой же
7 AllJoke
 
27.04.16
12:21
Дата НЕ = ДатаВремя.
Вроемя небось на отчете не показывается.
8 Наташа1997
 
27.04.16
12:25
Да, время на отчете не показывается
9 FIXXXL
 
27.04.16
12:28
(6) ну как оно там у тебя на форму выведено, отсюда не видно
10 Наташа1997
 
27.04.16
12:32
https://yadi.sk/i/Ng49jfYerKqme вот скриншотик
11 Fragster
 
гуру
27.04.16
12:32
если управляемые формы и параметры доступны в пользовательских настройках, то и менять надо в пользовательских настройках
12 Fragster
 
гуру
27.04.16
12:33
и менять, судя по всему, надо период, а не нач и кон даты
13 singlych
 
27.04.16
12:33
(0) Устанавливай параметр Период. Конец и начало небось рассчитываются от него.

типа
МойПериод = Новый СтандартныйПериод;
МойПериод.Вариант = ВариантСтандартногоПериода.Сегодня;

его пихай в СКД
14 Наташа1997
 
27.04.16
12:33
А как это сделать в пользовательских настройках?
Независимо от того, куда вы едете — это в гору и против ветра!