Имя: Пароль:
1C
1С v8
Проблема с вызова отчета конкретным Пользователем
0 AndrewMuzik
 
10.10.13
07:43
Очередной раз прошу помощи, может кто сталкивался с похожей проблемой.
1С 8.2.15.310
УПП 1.3.38.2
База уже не Типовая, много доработок.

Есть документы "Разнарядка". И есть отчет "Анализ по разнарядке". Данный отчет пользователь может вызвать или из документа, или из журнала документов по нажатию кнопки.

Код кнопки:
Процедура ДействияФормыКнАнализ(Кнопка)
    Если ЭлементыФормы.ДокументСписок.ТекущиеДанные = Неопределено Тогда
    Возврат;
    КонецЕсли;
    ФормаАнализа = Отчеты.АнализРазнарядки.ПолучитьФорму(); //Тут получаем Форму Отчета
    ФормаАнализа.ЭлементыФормы.ДокументАнализа.Значение = ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка; //Присваиваем реквизиту на форме отчета значение.
    ФормаАнализа.Открыть(); //Открывается форма и выполняется обработка значений
КонецПроцедуры

Код реагирующий на все это, но уже в Отчете:

Процедура ПриОткрытии()
    ДействияФормыДействиеСформировать("");
КонецПроцедуры

Процедура ДействияФормыДействиеСформировать(Кнопка)
    ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
    СформироватьОтчетПоАнализу(ТабДок, ДокументАнализа);        
КонецПроцедуры

ФормаАнализа.ЭлементыФормы.ДокументАнализа.Значение (из документа или из журнала) присваивается ссылка на текущий документ.

Теперь непосредственно к проблеме.
Всего один пользователь в базе когда Жмет на "КнАнализ" получает отчет всегда по одному и тому же документу.
Отладчик показывает что "ФормаАнализа.ЭлементыФормы.ДокументАнализа.Значение" = Текущему документу, а вот "ДокументАнализа" уже равен другому. Т.е. получается что данные меняются между ФормаАнализа.Открыть() и ПриОткрытии(), как бы в Воздухе!?

Наблюдение: Если из документа нажать "КнАнализ", то в открывшемся отчете значение в отчете (поле ДокументАнализа) будет не правильный документ. Если ещё раз нажать на "КнАнализ" то в уже открытом отчете значение изменится на правльный документ.

Дальше сужаем круг.

Берем пользователя с такими же правами - проблема не проявляется.
Копируем проблемного пользователя - проблема не проявляется.

В доп. правах нет ничего, отличающего пользователя от других. Так же в самом отчете нет настроек, которые могли бы быть сохранены для конкретного пользователя.

И тут я понял, что меня накрыло :) Люди, добрые, помогите!
1 Defender aka LINN
 
10.10.13
07:53
(0) ФормаАнализа.ЭлементыФормы.ДокументАнализа.Значение - тебе за количество букв платят, как я понимаю?
З.Ы. Пользователь настройку сохранил, это же очевидно. А программизд даже не задумался о таком варианте, это тоже ясно
2 AndrewMuzik
 
10.10.13
08:04
(1) Не думал, что буквы для кого-то могут быть лишними :) Лучше избыточная информация, чем её недостаток.

З.ы. Вот я тупень! :))) Настройку и не додумался удалить... Стыдно, очень стыдно. :)

Как говорится, виноват исправлюсь! ))
3 Defender aka LINN
 
10.10.13
08:13
(2) Ну, если я вижу ФормаАнализа.ЭлементыФормы.ДокументАнализа.Значение вместо ФормаАнализа.ДокументАнализа - у начинаются подозрения
4 Rie
 
10.10.13
08:14
(2) Недостаткаа информации не будет, даже если не будет лишних букв.
А почему пишешь в реквизит _формы_, а не в реквизит _отчёта_?
5 AndrewMuzik
 
10.10.13
08:16
(4) У отчета нет реквизита.
Отчет написан не мной, не могу ответить на вопрос: Почему.
6 vde69
 
модератор
10.10.13
08:16
скорее всего включен режим сохранения данных, и ескд их сама кушает.

для проверки выполниете очистку сохраненых значений, или снимите галочку "сохранять значения"
7 AndrewMuzik
 
10.10.13
08:20
(6) Да. В (2) я так и сделал. Спасибо!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший