|
v7: Форма обработки из документа | ☑ | ||
---|---|---|---|---|
0
balak05
15.04.14
✎
10:24
|
Здравствуйте. Открываю форму обработки из документа с помощью метода "ОткрытьФорму". Вторым параметром передаю документ. Далее в обработке загружаю в табличную часть этого документа данные из EXCEL. Вопрос в том как теперь "вернуться" к самому документу. Если я делаю из обработки запись документа то он ругается что документ открыт. Как обновить данные документа после изменения ее в обработке?
|
|||
1
Ёпрст
15.04.14
✎
10:31
|
ОткрытьПодбор самое простое, если конечно, обработка не внешняя
|
|||
2
Ёпрст
15.04.14
✎
10:32
|
а так, передавай не ссылку на документ, а контекст открытой формы - через него и строки свои лепи.
|
|||
3
Torquader
15.04.14
✎
10:35
|
(2) Через контекст строки не всегда вставляются - нужно будет только при открытии работать.
А при закрытии форму мы вернёмся в документ. P.S. ещё - форму можно модально открывать. |
|||
4
Vlad_1717
15.04.14
✎
10:35
|
(0) Обработку открывай модально. Это старый прикол семерки.
|
|||
5
balak05
15.04.14
✎
10:43
|
(4) попробовал модально. то же самое
|
|||
6
balak05
15.04.14
✎
10:44
|
(1) обработка не внешняя. но данные загружаются из эксель а не из формы обработки.
|
|||
7
Mikeware
15.04.14
✎
10:45
|
(6)" но данные загружаются из эксель а не из формы обработки" - угу, а рация не на транзисторах, а на бронепоезде....
|
|||
8
balak05
15.04.14
✎
10:59
|
(7) не понял прикола). При этом методе данные должны быть в самой форме, а у меня они в эксель. Или я чего то не понимаю?
|
|||
9
Ёпрст
15.04.14
✎
11:03
|
(8) не понимаешь
|
|||
10
balak05
15.04.14
✎
11:06
|
(9) ну так объясните, если не трудно?
|
|||
11
Ёпрст
15.04.14
✎
11:06
|
открываешь подбор , в форме обоработки при загрузке строк с экселя делаешь Форма.ВыполнитьВыбор(ПараметрыДляСтрокиДокумента)
в документе, в ОбработкаПодбора лепишь строки документа от прилетевших параметров(передавать проще структуру или СЗ) |
|||
12
Ёпрст
15.04.14
✎
11:07
|
Для красоты, можно в форме обработки поместить или ТЗ для предварительного просмотра/правки строк с экселя, или.. другой красивый грид: табличноеПоле, элемент управления йоксель/tabledoc, или грид от Садовникова
|
|||
13
Ёпрст
15.04.14
✎
11:08
|
а можно и не помещать
|
|||
14
balak05
15.04.14
✎
11:21
|
(11) (12) Спасибо вам за пояснение. Но я все равно не понимаю зачем мне подбор? Вот смотрите, я открываю форму обработки (можно было даже в самом документе делать, но в форме обработки пользователь должен указать первую и последнуу строчки для загрузки и столбцы где находятся данные, так как файлы эксель разные). Передаю туда через параметр документ, добавляю строки к самому документу и все получается (проверял отладчиком). Я сейчас застрял на том как сохранить данные документа, сделанные в обработке
|
|||
15
Mikeware
15.04.14
✎
11:26
|
(14) "позовите программиста"©
|
|||
16
balak05
15.04.14
✎
11:27
|
(15) Зачем? я же уже почти все реализовал. Просто подскажите как сохранить данные документа, сделанные обработкой
|
|||
17
Torquader
15.04.14
✎
11:29
|
(14) Так после открытия обработки закрой форму документа - она тебе не нужна, потом откроешь её, когда документ уже будет сформирован - и покажешь пользователю, что получилось.
|
|||
18
balak05
15.04.14
✎
11:36
|
(17) Не поверите). Обработка, пока открыта, не дает переключится на документ. Да и не вариант это для пользователей. Не станут они каждый раз документ закрывать
|
|||
19
dk
15.04.14
✎
11:50
|
(0) 1c++ есть? тогда работай через контекст (2) и не парься
|
|||
20
Mikeware
15.04.14
✎
11:56
|
(19) "Не поможет"©
г.р. ТС посмотри... |
|||
21
Torquader
15.04.14
✎
11:58
|
(18) Можно сделать вообще чудо - передать через параметр в обработку ТЗ или СЗ, а потом его там заполнить и в самом документе по данным этой ТЗ (или СЗ) заполнить форму.
|
|||
22
Ёпрст
15.04.14
✎
12:02
|
(14) см (2) тогда.
|
|||
23
balak05
15.04.14
✎
12:15
|
(21) Это как вариант. Можно попробовать.
|
|||
24
Torquader
15.04.14
✎
12:21
|
(23) В вашем случае, хороший вариант, так как потом можно будет сделать несколько обработок, и из каждой передавать одинаковую таблицу.
|
|||
25
ivsher
15.04.14
✎
12:32
|
Я постоянно использую для обработки документов внешние отчеты. Никаких проблем я не вижу. Все делаете правильно.
ОткрытьФорму("Отчет",КонтекстДокумент,ПутьКОтчету); В сомом отчете доступ к документу получаете через Форма.Параметр. Ну что то типа такого ВнешнийДокумент=Форма.Параметр; Далее просто работаете с обектом ВнешнийДокумент. Заполняйте что вам надо, табличную часть или шапку. Ну я например это делаю в процедуре внешнего отчета ПриЗакрытии(). Только не забудьте в конце добавить ВнешнийДокумент.Форма.Обновить(). Получается после закрытия внешней обработки пользователь видит на экране обновленный документ. Но имейте ввиду он еще не записан, и если пользователь нажмет закрыть и не сохранит, то все изменения пропадут. Ну это как бы все естественно. |
|||
26
Torquader
15.04.14
✎
12:33
|
(25) Так это же хорошо, что не записан - пользователь может заметить, что он загрузил не тот файл, и повторить ещё раз.
|
|||
27
ivsher
15.04.14
✎
12:34
|
Ну да, показываем пользователю что он на делал, и оставляем возможность откатить назад.
|
|||
28
balak05
15.04.14
✎
13:22
|
(25) Делал так:
//Док.Форма.Обновить(); Не работает. Сейчас сделал через таблицу значений, все заработало. |
|||
29
balak05
15.04.14
✎
13:22
|
Спасибо всем кто помогал.
|
|||
30
ivsher
15.04.14
✎
13:50
|
(25)Странно что не работает. У меня таким методом работает без проблем.
|
|||
31
ikea
15.04.14
✎
13:57
|
(31) А работать кто будет?
|
|||
32
ikea
15.04.14
✎
13:58
|
(31) Промазал, относится к (30)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |