|
v7: Не работает отчет | ☑ | ||
---|---|---|---|---|
0
balak05
14.11.13
✎
09:34
|
Здравствуйте. У одного пользователя не открывается отчет. У остальных он работает. Скопировал базу, дал пользователю админские права, попытался отладчиком пройтись, и отчет ОТКРЫЛСЯ. Зашел под этим пользователем в режиме предприятия - и отчет снова не открывается. Может кто нибудь сталкивался с подобным? Ошибка, которую выдает 1с при открытии:
Если ТЗОтбор.НайтиЗначение(ТипОбъекта, СтрокаТЗОтбор, "ТипОбъекта") = 0 Тогда {Глобальный модуль(4810)}: Неверный идентификатор колонки! |
|||
1
Джордж1
14.11.13
✎
09:36
|
Подозреваю что ТЗОтбор восстанавливается из настроек - и там такой колонки нет
|
|||
2
balak05
14.11.13
✎
09:39
|
(1) Как же тогда у других пользователей он есть? И если через отладчик заходишь он появляется?
|
|||
3
Chum
14.11.13
✎
09:42
|
(0) есть права на открытие внешних обработок у пользователя?
|
|||
4
balak05
14.11.13
✎
09:45
|
(3) дал админские права на копии чтобы отладчиком проверить можно было. Обработка не внешняя
|
|||
5
Ёпрст
14.11.13
✎
09:47
|
(2) цдали сохраненные настройки пользователя - усё откроется.
|
|||
6
Ёпрст
14.11.13
✎
09:47
|
*удали
|
|||
7
Стрелок
14.11.13
✎
09:48
|
код приоткрытии покажи
|
|||
8
Стрелок
14.11.13
✎
09:49
|
подозревая что у этого юзера есть ещё отчет где сохраняется ТЗОтбор, но без это колонки. или ещё проще - тзотбор для этого юзера отсутствует в сохраненных. автор глянь - есть ли привязка этого пользователя к его личному каталогу в списке пользователей
|
|||
9
balak05
14.11.13
✎
09:53
|
(7) Процедура ПриОткрытии() //предопределенная
Перем Тип, Длина, Точность; Если глПроверкаРаботыМодуля("я_ШаблонОтчета") = 0 Тогда СтатусВозврата(0); Возврат; КонецЕсли; Если Выход = 1 Тогда Сообщить("Нет прав на использование отчета <" + ЗаголовокОтчета + ">"); СтатусВозврата(0); Возврат; КонецЕсли; Если ПустоеЗначение(ТипОбъекта) = 1 Тогда Предупреждение("Данный отчет не может вызываться самостоятельно!",5); СтатусВозврата(0); Возврат; КонецЕсли; ТипОбъекта = СокрЛП(СтрЗаменить(ТипОбъекта,">","")); Если Найти(ТипОбъекта, ".") > 0 Тогда КонтТип = Лев(ТипОбъекта, Найти(ТипОбъекта, ".") - 1); КонтВид = Сред(ТипОбъекта, Найти(ТипОбъекта, ".") + 1); Иначе КонтТип = ТипОбъекта; КонтВид = ""; КонецЕсли; ЗаполнитьСписокНастроек(); СоздатьТаблицуУровнейОтчетов(); Форма.ИспользоватьЗакладки(1); Если ABCАнализ = 1 Тогда ИмяСлоя = "ABCАнализ"; Иначе ИмяСлоя = "БезФункций"; Если КонтТип = "Регистр" Тогда Если Метаданные.Регистр(КонтВид).ТипРегистра="Остатки" Тогда ИмяСлоя = "СФункциями"; КонецЕсли; КонецЕсли; ИмяСлоя = "Реквизиты, " + ИмяСлоя; КонецЕсли; Форма.Закладки.ДобавитьЗначение("Основной, Общий, " + ИмяСлоя, "Основная"); Форма.Закладки.ДобавитьЗначение("Основной, Фильтр", "Множественный фильтр"); Форма.ИспользоватьСлой(Форма.Закладки.ПолучитьЗначение(1), 2); Форма.Закладки.ТекущаяСтрока(1); Форма.Заголовок(ЗаголовокОтчета); ПервоначальныеНастройки(); // Инициализируем реквизиты одиночного отбора Если ТипЗначенияСтр(ТЗОдиночныйОтбор) <> "ТаблицаЗначений" Тогда ТЗОдиночныйОтбор = СоздатьОбъект("ТаблицаЗначений"); КонецЕсли; ТЗОдиночныйОтбор.ВыбратьСтроки(); Пока ТЗОдиночныйОтбор.ПолучитьСтроку() = 1 Цикл Если ТЗОдиночныйОтбор.НомерСтроки > 6 Тогда Прервать; КонецЕсли; Форма.ПолучитьАтрибут("тРеквизит" + ТЗОдиночныйОтбор.НомерСтроки).Заголовок(ТЗОдиночныйОтбор.РеквизитСиноним + ":"); глПолучитьТипРеквизита(ТипОбъекта, ТЗОдиночныйОтбор.Реквизит, Тип, Длина, Точность); Форма.ПолучитьАтрибут("ВыбРеквизит" + ТЗОдиночныйОтбор.НомерСтроки).НазначитьТип(Тип, Длина, Точность); КонецЦикла; Для Ном = ТЗОдиночныйОтбор.КоличествоСтрок()+1 По 6 Цикл Форма.ПолучитьАтрибут("тРеквизит" + Ном).Заголовок(""); КонецЦикла; ОбработкаВидимости(); //+ Если глФлагРасшифровки = 1 Тогда Обновить = глОбновить; // 1-Обновить, 2-Настройка ДатаНач = глРасшифровка.Получить("ДатаНач"); ДатаКон = глРасшифровка.Получить("ДатаКон"); ПоказыватьДинамику = глРасшифровка.Получить("ПоказыватьДинамику"); СписокНастроек.ТекущаяСтрока(глРасшифровка.Получить("СписокНастроек")); глРасшифровка.Получить("СписокГруппировок").Выгрузить(СписокГруппировок); СписокРазверткиПоГоризонтали.ТекущаяСтрока(глРасшифровка.Получить("СписокРазверткиПоГоризонтали")); глРасшифровка.Получить("СписокПоказателей1").Выгрузить(СписокПоказателей1); глРасшифровка.Получить("СписокПоказателей2").Выгрузить(СписокПоказателей2); глРасшифровка.Получить("СписокФункций").Выгрузить(СписокФункций); ПриВыбореИзСпискаРазверток(); СписокВидовДиаграмм.ТекущаяСтрока(глРасшифровка.Получить("СписокВидовДиаграмм")); СписокОбъектовАнализа.ТекущаяСтрока(глРасшифровка.Получить("СписокОбъектовАнализа")); СписокПоказателейABC.ТекущаяСтрока(глРасшифровка.Получить("СписокПоказателейABC")); ВозрастанияУбывания.ТекущаяСтрока(глРасшифровка.Получить("ВозрастанияУбывания")); ПроцентОбъектов = глРасшифровка.Получить("ПроцентОбъектов"); ПроцентСумм = глРасшифровка.Получить("ПроцентСумм"); ПроцентСуммB = глРасшифровка.Получить("ПроцентСуммB"); ПроцентСуммC = глРасшифровка.Получить("ПроцентСуммC"); СпособАнализа = глРасшифровка.Получить("СпособАнализа"); ПоказыватьГруппы = глРасшифровка.Получить("ПоказыватьГруппы"); ПриВыбореДиаграммы(); ВыбРеквизит1 = глРасшифровка.Получить("ВыбРеквизит1"); ВыбРеквизит2 = глРасшифровка.Получить("ВыбРеквизит2"); ВыбРеквизит3 = глРасшифровка.Получить("ВыбРеквизит3"); ВыбРеквизит4 = глРасшифровка.Получить("ВыбРеквизит4"); ВыбРеквизит5 = глРасшифровка.Получить("ВыбРеквизит5"); ВыбРеквизит6 = глРасшифровка.Получить("ВыбРеквизит6"); глРасшифровка.Получить("ТаблицаЗначений").Выгрузить(ТаблицаЗначений); ФормироватьСводнуюТаблицу = глРасшифровка.Получить("ФормироватьСводнуюТаблицу"); ИмяОтбора = глРасшифровка.Получить("ИмяОтбора"); Форма.ИмяОтбора.Заголовок(ИмяОтбора); глСохранитьЗначениеТекущегоФильтраВТЗ(ТипОбъекта, ТаблицаЗначений, ИмяОтбора, ДатаНач, ДатаКон); Форма.УсловияОтбора.Заголовок(глВернутьУсловияОтбораИзТЗ(ТаблицаЗначений)); ТаблицаЗначений.ВидимостьКолонки("Реквизит", 0,); ИспользоватьСложныйОтбор(); Если Обновить <> 0 Тогда Таб = глТаблица; КонецЕсли; Если Обновить <> 2 Тогда Сформировать(); СтатусВозврата(0); Возврат; КонецЕсли; Иначе Обновить = 0; КонецЕсли; //- КонецПроцедуры //ПриОткрытии |
|||
10
balak05
14.11.13
✎
09:53
|
(8) Есть
|
|||
11
balak05
14.11.13
✎
09:55
|
(5) Пробовал уже. Когда из отладчика зашел, удалил. Потом захожу через предприятие - опять эта же ошибка.
|
|||
12
Стрелок
14.11.13
✎
09:57
|
а вот нехер пользоваться непонятными "супермегауниверсальными" отчетами. видел я такие. черт ногу сломит.
что такое "Выход"? что такое "типОбъекта"? |
|||
13
Стрелок
14.11.13
✎
09:58
|
не увидел в ПриОткрытии "ТЗОтбор"
|
|||
14
Ёпрст
14.11.13
✎
10:00
|
Сыми галку с ТЗ на форме - сохранять при сохранениии настроек.
|
|||
15
osa1C
14.11.13
✎
10:02
|
(13) от сюда скорее всего тянется ЗаполнитьСписокНастроек()
|
|||
16
Стрелок
14.11.13
✎
10:02
|
(15) гадать будем?
|
|||
17
Стрелок
14.11.13
✎
10:02
|
пока непонятно что это вообще за ТЗ - на форме? переменная локальная, переменная глобальная?
|
|||
18
VladZ
14.11.13
✎
10:02
|
(9) Смысл идеи понятен. Реализация кривая.
(0) "дал пользователю админские права" - где дал? Скорей всего, права ограничены в функции глПроверкаРаботыМодуля("я_ШаблонОтчета"). См. функцию, и давай пользователю все нужные права. |
|||
19
balak05
14.11.13
✎
10:20
|
(12) Все в наследство досталось. старый программист работал 12 лет, потом свалила в банк, теперь сижу разгребаю. Самое главное до этого вообще в 7 не работал
|
|||
20
balak05
14.11.13
✎
10:24
|
(18) в конфигураторе. Пользователи- права и интерфейс.
|
|||
21
Стрелок
14.11.13
✎
10:25
|
(19) нет слов..... и куда тогда лезть?
|
|||
22
balak05
14.11.13
✎
10:28
|
(21) А что делать? Поставили задачу - выполняй
|
|||
23
Стрелок
14.11.13
✎
10:29
|
самое простое - заведи нового юзера с такими точно правами как у остальных (у которых работает)
|
|||
24
balak05
14.11.13
✎
10:38
|
(23) И потом манагер меня "съест" ). Ладно, спасибо за помощь, буду дальше разбираться
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |