Имя: Пароль:
1C
1С v8
УПП Настройки отчета "Товары на складах"
, ,
0 laby1
 
25.01.17
12:44
Здравствуйте!

Есть в УПП (в интерфейсе управления закупками. Меню Запасы-товары на складах. Там в отчете выбираю дв щелчк. Выбор поля- документ движения - новое окно снова "Товары на складах") отчет "Товары на складах". В нем не получается почему-то изменить настройки, чтоб в следующий раз оно открывалось с этими настройками. На одних компьютерах одни настройки, на других другие. Почему так непонятно... Где он вообще находится этот отчет? В конфигурации не нахожу...
1 Джинн
 
25.01.17
12:53
(0) Настройки, естественно индивидуальные, под каждого пользователя. Специальное право дает возможность открывать настройки других пользователей. А администратор имеет возможность копировать настройки одних пользователей другим. Это работает для всех отчетов на построителе. Есть часть отчетов на СКД, где несколько геморройнее. Но данный отчет на построителе.
2 laby1
 
25.01.17
12:57
(1) Я не знаю, на чем данный отчет, потому как не могу его найти открыть в конфигураторе :(
3 laby1
 
25.01.17
12:58
(1) А как мне поправить настройки этого отчета у другого пользователя?
4 Джинн
 
25.01.17
12:59
Регистр сведений "сохраненные настройки"
5 laby1
 
25.01.17
13:30
непонятно ...
6 laby1
 
25.01.17
13:34
Почему эти настройки не загружаются при открытии отчета?
7 ДемонМаксвелла
 
25.01.17
13:35
(2) ключевое слово - "Ведомость..."
8 Гипервизор
 
25.01.17
13:35
ВедомостьТоварыНаСкладах
9 laby1
 
25.01.17
13:47
(8) Это я уже нашел, спасибо. Но не пойму с настройками - почему у меня обе галочки стоят, а при открытии не применяется
10 Джинн
 
25.01.17
13:47
(5) Разбирайтесь.
(6) Использовать при открытии.
11 laby1
 
25.01.17
13:55
Ну ... отчет формируется так:

// Процедура формирования отчета
//
Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт
    
    // Перед формирование отчета можно установить необходимые параметры универсального отчета.
    
    УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент,,, ЭтотОбъект);

КонецПроцедуры // СформироватьОтчет()
12 Джинн
 
25.01.17
14:02
(11) Коллега, ну нельзя же быть таким ленивым! Все вам разжуй!
Курите
УниверсальныйОтчет.ФормаПриОткрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
13 laby1
 
25.01.17
14:11
(12) Да чёто тугой или тупой ... Уже раскуриваю ...
14 Джинн
 
25.01.17
14:16
(13) Тупой - это когда не вкуривает. А когда не хочет искать, то ленивый :)
15 laby1
 
25.01.17
14:20
Вот сюда не заходит:

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


Потому что во Объект.мВосстанавливатьНастройкиПриОткрытии=ЛОЖЬ

Процедура ОбработкаРасшифровкиУниверсальногоОтчета(Расшифровка, Отчет, ДополнительныеПараметры = Неопределено) Экспорт
    
    Если ТипЗнч(Расшифровка) = Тип("Структура") Тогда
        
...        УниверсальныйОтчетРасшифровка.мВосстанавливатьНастройкиПриОткрытии = Ложь;
...
    Иначе
        
        ОткрытьЗначение(Расшифровка);
        
    КонецЕсли;
    
КонецПроцедуры // ОбработкаРасшифровкиУниверсальногоОтчета()

Что какой вывод?
16 Джинн
 
25.01.17
14:25
(15) Вывод такой, что в коде необходимо найти мВосстанавливатьНастройкиПриОткрытии = Истина; или мВосстанавливатьНастройкиПриОткрытии = Ложь;
17 laby1
 
25.01.17
14:35
(16) Так нашел же
18 laby1
 
25.01.17
14:36
(16) Выше там код
19 laby1
 
25.01.17
14:39
то есть нижний
20 Джинн
 
25.01.17
14:41
(17) Вы нашли использование, а не присваивание.
21 laby1
 
25.01.17
15:15
В общем со с проблемой я разобрался - сохранение настроек во втором отчете не сохраняется потому, что оно потом перетирается первым
22 laby1
 
25.01.17
15:16
то есть надо настройки изменить в первом отчете
23 Джинн
 
25.01.17
15:17
(22) Т.е. таки ставит мВосстанавливатьНастройкиПриОткрытии = Ложь; :)
24 laby1
 
25.01.17
15:19
(23) Наверна, щас гляну )
25 laby1
 
25.01.17
15:34
(23) По всей видимости там где я писал (15) - создается и открывается УниверсальныйОтчетРасшифровка и для него в ложь устанавливается
26 laby1
 
25.01.17
15:35
Всё, теперь всё понятно, спасибо! :-)
27 Джинн
 
25.01.17
15:36
(25) Угу. Причем, насколько помню, при создании нового отчета из формы старого :) Но мне уже склероз положен по возрасту - могу в деталях ошибиться.
28 laby1
 
25.01.17
16:01
(27) Нет, одна форма.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший