Имя: Пароль:
1C
1С v8
v8: Открыть ДокументОбъект в форме своей обработки
0 wraithik
 
27.01.12
14:47
Есть обработка.
Две формы, первая выводит список заказов клиента в табличный документ и при двойном клике по заказу должна отдать ДокументОбъект.Заказ второй форме, которая с ним что-то нахимичит и вернет обратно.
У второй форму есть реквезит Заказ типа ДокументОбъект.

В расшифровке пытаюсь вызвать ЗаказСсылка.ПолучитьОбъект() естьественно получаю по рукам, т.к. ан клиента такое сделать нельзя.

Как выкручиваться?
1 aleks-id
 
27.01.12
14:48
через реквизит обработки например
2 Mort
 
27.01.12
14:49
На первой форме у тебя список ссылок. Какой ещё объект она "ожидает" от второй формы? Обработка просто что-то делает с доком? Тогда просто передавай ссылку.
3 wraithik
 
27.01.12
14:53
На первой форме ссылки.
Вторая форма - это упрощенный редактор заказа, в том числе и нового, на которого ссылки нет.

Когда пользователь тыкает по заказу, он должен попасть во вторую форму, там его отредактировать и вернуть первой форме ДокументОбъект.
4 wraithik
 
27.01.12
14:56
Фрм = ПолучитьФорму("Обработка.РМОператорАвтомойки.Форма.РедакторЗаказа");
ЗаказОбъект = Расшифровка.ПолучитьОбъект();
Фрм.Заказ = ЗаказОбъект;
Фрм.ОткрытьМодально();
5 Mort
 
27.01.12
14:56
(3) Что сделает первая форма с "ДокументОбъект" ?
6 Mort
 
27.01.12
14:57
+(5) Ну, когда получит его отредактированным обратно.
7 wraithik
 
27.01.12
15:03
(5)
проверяет валидность, записывает или шлет лесом.
Если ты хочешь свести все к передаче ссылки, мне это не подходит, т.к. сперва первая форма инициализирует заказ (если он новый), а потом отдает второй форме.
8 wraithik
 
27.01.12
15:09
Как все это провернуть в модуле второй формы мне ясно.
Сделать процедуру которая на серверной стороне сделает ЗанчениеВРеквизитьФорму("Заказ",ЗаказОбъект).
Но как донести до нее ЗаказОбъект я не понимаю :(
9 aleks-id
 
27.01.12
15:10
>>как донести до нее ЗаказОбъект я не понимаю
я тебе еще в (1) сказал
10 Mort
 
27.01.12
15:11
(7) Ну можешь делать как хочешь, а я бы сделал так:

Если конфа нетиповая:

Вместо второй формы обработки, сделал бы специальную неосновную форму заказа (кстати ). Из первой бы открывалась эта форма документа принимая в параметры ключ (для существующих заказов) и значения заполнения (для новых). Соответственно эта специальная форма и проводила бы доп. проверки при записи, в отличие от основной.

Если типовая, то всё таки юзать вторую форму обработки, только создание объекта по переданной ссылке и параметры заполнения нужно самому обработать в при создании на сервере.
11 wraithik
 
27.01.12
15:16
(1)
Как?
Не фига не понимаю :(
12 wraithik
 
27.01.12
15:16
(10)
Конфа типовая, с доработками.
Хочется заодно разобраться с задачей.
13 aleks-id
 
27.01.12
15:23
(11) добавь в обработку реквизит - Заказ с типом ДокументСсылка.Заказ
а дальше обращайся к нему через Объект.Заказ
ВСЕ!
14 wraithik
 
27.01.12
15:33
(13)
Мне не нужна ссылка!
У меня может не быть ссылки.
Когда я делаю Документы.ЗаказыКлиента.СоздатьДокумент() у меня ссылки нет, а я должен отдать этот объект другой форме.
15 Mort
 
27.01.12
15:39
(14) Ты (10) не читал? Или сразу отбросил?
16 wraithik
 
27.01.12
16:11
(14)
Читал.
Это выход, но я так не хочу.

Просто ссылку я могу передать непосредственно в форму, а объект не могу (не получается). Хочется чтобы получилось.