|
Передать ДокументОбъект на сервер для проведения | ☑ | ||
---|---|---|---|---|
0
zzerro
26.09.14
✎
09:11
|
На форме документа есть кнопка, которая открывает обработку, которая в свою очередь формирует пакет документов на основании открытого документа. Есть необходимость перенести проведение сгенерированных документов в привилигированный общий модуль, но вот возникает проблема в том, что и текущий документ, из формы которого открыта обработка нужно тоже провести.
В общем есть необходимость передать объект документа на сервер. Пробовал так: В обработке: МассивДокументов.Добавить(Новый Структура("Документ",ПоместитьВоВременноеХранилище(ОбъектРТУ,Новый УникальныйИдентификатор))); где ОбъектРТУ - это ДокументОбъект (т.е. это объект открытого документа) В общем модуле: Для каждого ПараметрыПроведения из МассивДокументов Цикл Если ТипЗнч(ПараметрыПроведения.Документ) = Тип("Строка") Тогда Если ЭтоАдресВременногоХранилища(ПараметрыПроведения.Документ) Тогда ДокОбъект = ПолучитьИзВременногоХранилища(ПараметрыПроведения.Документ); При этом адрес во временном хранилище верный, однако объект из этого адреса не получен, тип значения = Неопределено. Почему так или как можно это обойти? |
|||
1
ДенисЧ
26.09.14
✎
09:14
|
ссылку передавай
|
|||
2
zzerro
26.09.14
✎
09:16
|
Используется Обычное приложение, толстый клиент, обычные формы, платформа 8.2.17
(1) Ссылку не хорошо, т.к. открыта форма документа и получится, что в открытой форме один экземпляр объекта, а проводить будем другой экземпляр объекта, т.е. по сути другой объект. В итоге будет рассогласование данных. |
|||
3
Defender aka LINN
26.09.14
✎
09:25
|
(2) Перечитай после проведения. Тоже мне проблема
|
|||
4
SeiOkami
26.09.14
✎
09:33
|
(2), первое, что в голову пришло. Можно данные текущего открытого документа запихнуть в структуру, а ту уже передать (или поместить во временное хранилище). А в модуле уже сделать ЗаполнитьЗначенияСвойств() и провести документ.
|
|||
5
SeiOkami
26.09.14
✎
09:33
|
(3), потеряются данные введённые пользователем, насколько я понял
|
|||
6
SeiOkami
26.09.14
✎
09:36
|
+
1. При вызове обработки сохраняются изменения в тек. документе 2. форма документа закрывается 3. происходит выполнение обработки и перепроведение нашего документа 4. открывается форма нашего уже проведенного документа |
|||
7
Maxus43
26.09.14
✎
09:39
|
(5) подписку обычно делают, и ничо не потеряется
|
|||
8
Maxus43
26.09.14
✎
09:40
|
(6) и где тут "не могу передать ссылку т.к. открыта форма"?
|
|||
9
SeiOkami
26.09.14
✎
09:42
|
(7), у тебя открыта форма документа. Ты на нём что-то поменял. Нажал кнопку обработки, которая где-то там в модуле по ссылке получила объект нашего документа и провела. А затем данные на форме перечитались. И все наши изменения потеряны
|
|||
10
SeiOkami
26.09.14
✎
09:43
|
(8), какой-то странный вопрос. Не понял к чему он.
|
|||
11
zzerro
26.09.14
✎
09:45
|
Не понял, как перечитать данные формы?
|
|||
12
Maxus43
26.09.14
✎
09:45
|
(9)(10) я понял, не ты автор то))
|
|||
13
Fedor-1971
26.09.14
✎
09:49
|
(2) Запиши тек.состояние документа перед вызовом формы обработки и передай ей ссылку на текущий документ и всех делов.
|
|||
14
Maxus43
26.09.14
✎
09:49
|
(11) что мешает сохранить документ и уже потом передать ссылку, чтоб "ничего не потерять"?
|
|||
15
Kalambur
26.09.14
✎
09:52
|
(0) "но вот возникает проблема в том, что и текущий документ, из формы которого открыта обработка нужно тоже провести"
где логика? проводи сначала потом формируется пакет, а если юзер закроет форму, тогда что? |
|||
16
zzerro
26.09.14
✎
10:13
|
(15) Важна последовательность проведения документов. И текущий документ из которого формируется пакет не первый в списке.
Перед формированием пакета документ конечно записывается, но в обработке у него дополнительные реквизиты заполняются. В общем все равно получается, что объект который в форме и полученный по ссылке могут отличаться. |
|||
17
zzerro
26.09.14
✎
10:15
|
В общем получается, что т.к. объект не передается на сервер даже через ПоместитьВоВременноеХранилище(), придется передавать ссылку и потом открывать форму заново.
|
|||
18
vde69
26.09.14
✎
10:15
|
(0) зачем документ перепроводить? можно тупо движения записать и все...
|
|||
19
zzerro
26.09.14
✎
10:16
|
(18) Ну уж нет, спасибо... делать свою обработку проведения у РТиУ в УПП мне как то не хочется.
|
|||
20
zzerro
26.09.14
✎
10:17
|
(18) К тому же он не перепроводится, а просто проводится, из непроведенного состояния.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |