Как закрыть таб док при повторном вызове отчета? #720950


#0 by Soul771
Доброго дня. При проведении документа вызываю отчет, результат формируется в табличный документ. Все хорошо, только каждый раз при проведении документа появляется новый табличный документ, т.е. предыдущий результат не закрывается. Подскажите, пожалуйста, как сделать, чтобы при обращении к отчету закрывался предыдущий его результат, и уже потом формировался новый? код сейчас такой: в модуле документа, откуда вызываю отчет: в самом отчете в "ПриПовторномОткрытии" : поехали- это процедура, где, собственно, и происходит выбор данных и вывод в ТабДок.
#1 by ДенисЧ
А ты этот ТабДок сохрани куда-нибудь...
#2 by Defender aka LINN
А ты никогда не обращал внимания, что в 1С 8.х отчеты делаются несколько более иначе по-другому?
#3 by PR
Так закрывай отчет
#4 by Ёпрст
ну храни ссылку на открытую форму в глоб переменной, и проверяй - если открыта - закрыть.. усё.
#5 by ДенисЧ
+ а потом немного почитай СП про методы табличного документа...
#6 by Soul771
- тогда он будет открываться вне 1С?.. Нужно, чтобы инфа маячила у менеджеров перед глазами, т.е. чтобы в самой 1С-ке висело окошко, от которого нельзя легко избавиться)
#7 by Ёпрст
или в параметрах сеанса запоминай.. или еще хде
#8 by ДенисЧ
#9 by Defender aka LINN
О_о
#10 by Soul771
- можно чуток поподробнее, в чем я накосячила?)) опыта пока мало, если что, это для УТ 10.3
#11 by PR
Что за бред? Там нужно среди существующих форм искать как-то.
#12 by Легат
Фотку прикрепи. и будет тебе счастье)
#13 by Soul771
Ребята, спасибо всем большое, что откликнулись! Ёпрст, а можно пример, если не сложно..С параметрами сеанса или как сохранить ссылку на открытую форму...
#14 by Defender aka LINN
Ну так открой любой отчет и посмотри
#15 by Ёпрст
в каком месте бред ? Запомнил ссылку на открытую форму в переменной при первом проведении и привет, при следующем проведении , глядишь в переменную - если в переменной ссылка на форму, то закрываешь её и всё по новой..
#16 by Ёпрст
ФормаОтчета  свою сохраняй.. потом можешь проверить, открыта ли она или нет.
#17 by Ёпрст
если.. табдок не на форме отчета, то запоминай ссылку на открытый моксель, и его закрывай потом.
#18 by Soul771
Ёпрст, ТабДок не на форме отчета, отдельным документом открывается. Пробую....
#19 by trad
можно и не закрывать. очищать и использовать повторно
#20 by Ёпрст
запоминай ссылку на ТабДок тогда ну да, как в типовых клюшках сделано
#21 by Soul771
не пойму, как вытащить ссылку на ТабДок...... Попробовала объявить глобальную переменную ОткрытаДоставка, и после формирования ТабДок присвоить ей значение истина.. Перед формированием вот такое условие: Не работает... И вроде понимаю, что строка ТабДок = Новый ТабличныйДокумент; в любом случае нужна, это же объявление типа.... Где хранится в базе результат ТабДок, после того, как он уже сформирован?..Как к нему обратиться?..
#22 by Ёпрст
дальше проверяешь, что в ОткрытаДоставка , если там табличный документ, то закрыть его или очистить, ежели там дырка от бублика, то создать новый табличный документ
#23 by bolobol
Сделай уже обработку с формой с табдоком. Демоническое обновление и одна форма по-любому. Будь мужиком уже!
#24 by Ёпрст
вообще-то это она.. и врят ли согласится на смену пола
#25 by Soul771
чувствую себя такой блондинистой блондинкой :-(  когда уже мой скилл станет хоть чуток выше лузера.... после формирования отчета пишу перед формированием: дальше работаю с ТабДок... 1С-ка матерится, что не видит объекта, и залазит в ветку а =ОткрытаДоставка.ПолучитьОбъект; когда еще не было ни одного запуска..... не кидайтесь помидорками, пожалуйста....
#26 by Soul771
- я на форму еще ни разу не выводила таб док, попробую, но хочется сначала понять вариант, который предлагает Ёпрст
#27 by Ёпрст
#28 by Soul771
не понимаю, ну почему не работает....... "Значение не является значением объектного типа (Очистить)"... появляется при первом запуске, еще до момента формирования отчета в первый раз.... Может быть, я не туда затолкала ОткрытаДоставка?..Я ее засунула в МодульОбычногоПриложения.... Первый раз вызываю отчет из этого модуля, из процедуры ПриНачалеРаботыСистемы, далее из обработки проведения документа.
#29 by Ёпрст
смотри, что у тебя в ОткрытаДоставка в отладчике и какого оно типа. Нам отсюда не видно, где ты е1ё присваиваешь
#30 by Ёпрст
ну и это, лучше в параметры сеанса пихать, имхо
#31 by Soul771
О, чудо произошло!! Вот что осталось в итоге: В обработку проведения добавила еще строку чтобы оставался только сам таб док. Огромное спасибо всем, особенно Ёпрст, за терпение и помощь!!!! :-) Буду изучать новые няшки)))) Подскажите еще, пожалуйста, можно ли этот табдок как-то закрепить где-нибудь сбоку, чтобы он не прятался под другими окнами, и защитить от закрытия?
#32 by Ёпрст
табдок врят ли, а вот саму форму можно прикрепить.. а в ней уже - табдок на форме будет
#33 by Soul771
Ёпрст, спасибо, буду пробовать)
#34 by trad
я не спец по 8x, но разве всякие окошки открывать в обработке проведения стало правильным? есть же всякие "форменные" события, типа Перед/ПослеЗаписи
#35 by bolobol
а я не зануда, но даже если взлетело, то без фотки - всё равно упадёт...
#36 by Soul771
Trad, я не знаю, правильно или нет. А как это может помешать проведению?..
#37 by Soul771
Trad, я могу только предположить, что при проведении таблица БД блокируется, т.е. пока один документ проводится, другие пользователи не смогут работать с той таблицей, куда идет запись, а вызов отчета из обработки проведения замедлит процесс проведения?....Так ли это?..
#38 by trad
ну да, ненужное замедление проведения, которое блокирует, конечно далеко не всю бд, но все равно что-то.кроме того, как 'красиво' будет выглядеть программное перепроведение таких документов, если вдруг понадобится таковоеда и вообще, кмк, всякие интерактивные штуки должны работать там где форма, а не объектно предупреждаю, что я не знаток феншуя по 8х
#39 by Soul771
Trad, спасибо большое! Про "танцующие картинки" при групповом перепроведении я не подумала)) Кодик переезжает в "ПослеЗаписи"))
#40 by Soul771
Поместила в "ПриЗаписи" в модуле объекта..
#41 by bolobol
ПриЗаписи в модуле Объекта - та же хрень, что и в ПриПроведении. Вам же про интерактивный контекст намекают!
#42 by bolobol
Понятно, что из журнала проведение и его перепроведение не вызовут открытие отчёта, но, зато и проверок всяких меньше. Вслепую провёл - слепым к отчёту и остался)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям