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