Группа: Основатель
Сообщений: 13981
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Привет!
Есть документ. Опущу детали и сформулирую цель так: в обработке проведения этого документа мне нужно создать программно ещё один документ (с этим вопросов нету) и открыть его. Как, собственно, открыть с сервера программно созданный объект?
Дополнительные свойства только на сервере или толстом клиенте. Создаем временное хранилище, проводим документ, во временное хранилище возвращаем ссылку и уже на клиенте делаем Ссылка.ОткрытьЗначение() .
Эт я почему раньше злой был? Потому, что у меня снегопата не было!
Да, на клиенте ПередЗаписью создаем временное хранилище, вызываем серверную процедуру, в доп свойства записываем адресс хранилища, при проведении в хранилище записываем ссылку, массив ссылок и на клиенте после записи считываем данные из временного хранилища.
Эт я почему раньше злой был? Потому, что у меня снегопата не было!
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник. ЗиУП
1. Была похожая задача в обычном интерфейсе. Перепроводить документ2 из модуля объекта документа1, который выполнялся на сервере. Необходимо было выполнить в привилегированом модуле, а ссылку в качестве параметра функции передать нельзя - "Ошибка параметра. Передача мутабельного значения не поддерживается". Не знаю, подойдет вам такой способ или нет. В моем случае документ2 всегда уже существовал.
2. Проведение одного документа из модуля другого документа может привести к определенным проблемам. В моей ситуации это приводило к конфликтам блокировок и как следствие некоторые Документы2 не соответствовал Документу1 (ради чего это все собственно и затевалось). Если бы делал эту задачу сейчас - вместо синхронизации одинаковых реквизитов Документа1 и Документа2 - вынес бы эти реквизиты в регистр сведений, общий для Документа1 и Документа2.
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(pumbaE @ 03.09.12, 10:06)
Да, на клиенте ПередЗаписью создаем временное хранилище, вызываем серверную процедуру, в доп свойства записываем адресс хранилища, при проведении в хранилище записываем ссылку, массив ссылок и на клиенте после записи считываем данные из временного хранилища.
+1
Цитата(Vofka @ 03.09.12, 10:09)
А если документ будет проводиться не из формы документа, а из формы списка?
Значит в форме списка прописать тоже самое. Или сообразить универсальную процедуру в общем модуле.
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Основатель
Сообщений: 13981
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Цитата(logist @ 03.09.12, 12:21)
Я бы просто запретил проводить документы в форме
Это же не наш метод
Цитата(alex040269 @ 03.09.12, 13:18)
по логике должны вызываться или нет события, определенные в самой форме
Ну так формы то самой нету, в которой эти события определены. Ну т.е. в событии формы документа ПередЗаписью, как писали выше, надо данные в хранилище поместить, а потом извлечь и что-то с ними сделать. Но в форме списка нету событий не ПередЗаписью не ПослеЗаписи. Соответственно вопрос стоит в том, как вернуть адрес хранища с сервера на клиент?
И вопрос
Цитата
Да, кстати, а как же мне в форме заполнить ДополнительныеСвойства, если у меня там объекта еще нету?
глупый и никто не отвечает или же никто не знает ответа?
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!