Имя: Пароль:
1C
 
Как модифицировать документ на сервере,не записывая открыть его на клиенте.Уф.
0 budnik
 
05.09.17
14:15
Есть управляемая форма с реквизитом документ , надо на сервере его поправить и не записывая открыть на клиенте .Реально ?
1 1dvd
 
05.09.17
14:16
почему именно на сервере?
2 budnik
 
05.09.17
14:18
сложная метод заполнения , в обычном было написано , моно конечно и на клиент все притащить.
3 dezss
 
05.09.17
14:25
лучше перетащи все на клиент...
Если б это было в форме этого документа, то не было бы проблем, а так проблема в том, что ты будешь открывать его форму, но в ней будут те данные, которые сохранены в базе.

Можно, конечно, открыть его форму, а потом уже править реквизиты этой формы, но взлетит ли, не знаю...к тому же, надо будет эту процедуру изменения переносить в модуль формы...
4 DrShad
 
05.09.17
14:26
реально
это типовая внешняя обработка заполнения объекта
5 D3O
 
05.09.17
14:43
РеквизитФормыВЗначение()
ЗначениВРеквизитФормы()
6 RomaH
 
naïve
05.09.17
15:12
(5) а может все-таки "Прочитать()"
7 D3O
 
05.09.17
15:19
(6) если док. открыт на клиенте и нам надо какие-то глобальные подвижки в нем произвести с уходом на сервер, то объект формы переделать в полноценный объект, изменить его на сервере и потом "перезаполнить" форму новыми данными - вот так и делается.
8 Fedor-1971
 
05.09.17
15:47
(0) вот, ничего не понятно. Есть форма (чего?) на ней реквизит Документ - стандартное отображение тип документа + № и дата
Так что нужно сделать?
Если тебе нужно просто открыть документ и исправить его на сервере, то ОткрытьФорму("...", параметры) в параметры передай ключ сохранённого документа и признак, например, "НадоСильноИсправить" и в ПриСозданииНаСервере поймай сей признак так:
Если Параметры.Свойство("НадоСильноИсправить") тогда
  Тут исправляй всё что тебе нужно
КонецЕсли;

(5) это что-бы сервер не скучал?
(6) читается записанная информация
(7) Обманываешь, сделай контекстный вызов и измененяй через Объект данные, потом они с сервера приедут наКлиент автоматически.
9 D3O
 
05.09.17
16:24
(8) обманываю. если есть код, заполнения документа на основании, то проще всего его вызвать для объекта. а это можно сделать преобразовав данные формы в объект и потом в обратную сторону после обработки. так?
10 Fedor-1971
 
05.09.17
17:13
(9) Не совсем. Если заполнять объект созданный программно, то очень козырно работает Заполнить(..), а Форму объекта изменять/заполнять через заполнение на основании и для этого преобразовывать её в Объект и назад большого смысла нет - она уже заполнена данными из Объекта. (Пожалуй единственное исключение, когда нужно заполнить форму на основании двух разных объектов, например, из оплаты взять Контрагента и сумму, а из накладной состав товаров)
То что широко практиковалось в ОФ - вытащить функционал в модуль Объекта и потом дёргать его из формы, в УФ не приветствуется, а программеры всё равно пытаются приспособить старый опыт в новых условиях (сложно людям перестраиваться).

А ТС собрался нечто изменить основательно и не записать, а что собственно хотел сделать не уточнил, как и то откуда он собрался получить не записанные данные. На мой взгляд, очень похоже на то, что ТС хочет получить результат работы экспортной функции из открытой формы в другой открытой форме
11 D3O
 
05.09.17
17:23
(10) в УФ тоже востребовано. Код в модуле объекта есть, и например изменяется основание (реквизит документа). тут или код совсем переписывать и менять его расположение или - погонять реквизит туда-сюда. кстати пара новых методов появились совсем недавно и именно под УФ нацеленные.
12 Fedor-1971
 
05.09.17
17:34
(11) Это да, но не гонять же Форма-Объект и назад из-за изменения значения некритичного реквизита, потому что, код для объекта уже есть.
Развиваются УФ. что-то новое появляется, и ещё далеко не вечер.
13 dumb851
 
05.09.17
17:38
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
14 Franchiser
 
гуру
05.09.17
17:44
реально, передавай форму в качестве параметра
15 mikeA
 
05.09.17
20:19
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.