Имя: Пароль:
1C
 
Упр.Формы: КАК из формы док-та открыть доп.форму, с тем же ДокументОбъект ?
0 lim9
 
24.06.15
12:02
уже всяко перепробывал
1 Гёдза
 
24.06.15
12:04
никак. Упр форма устанавливает пессимистическу блокировку на объект
2 lim9
 
24.06.15
12:04
Есть две формы: Форма документа и доп. форма с реквизитом Объект, тип ДокументОбъект как и первая форма, как сделать чтобы можно было менять реквизиты документа во второй  доп.ф орме ?
3 GROOVY
 
24.06.15
12:09
(2)  никак. Упр форма устанавливает пессимистическу блокировку на объект
4 fisher
 
24.06.15
12:10
Думаю, никак. Отрывай доп-форму как подчиненную дополнительную (без основного реквизита) и работай через владельца. А еще лучше - просто возвращай нужные данные в явном виде владельцу и там их обрабатывай.
Лучше скажи, чего сделать хочешь в пользовательских терминах. Сдается мне, фигню какую-то городишь.
5 lim9
 
24.06.15
12:13
(4) - нет, такое тз
6 Fish
 
24.06.15
12:14
(5) Ответь им (1) и (3).
7 lim9
 
24.06.15
12:19
тогда если я в форме док-та поставил обработку оповещения о закрытии той доп.формы, типа:
------------------------
в основной форме документа:

ОткрытьФорму("Документ.Расходы.Форма.ДопФорма",Параметры,,,,,Новый ОписаниеОповещения("ЗакрылиДопФорму",ЭтотОбъект);

----
&НаКлиенте
Процедура ЗакрылиДопФорму(Результат, ДополнительныеПараметры) Экспорт

...
КонецПроцедуры
-------------------------

каким образом мне заполнить параметры в доп.форме и вернуть их назад ??
8 lim9
 
24.06.15
12:26
хелп ми, плиз
9 fisher
 
24.06.15
12:29
(7) Не, не так. Оповещение придется слать явно из дополнительной формы. Проще даже не оповещение, а ОповеститьОВыборе(), куда структурой загнать всё что надо.
А у владельца ловишь в ОбработкаВыбора().
10 GROOVY
 
24.06.15
12:32
(9)  А можно флаг закрытия передать и не мучать все открытые формы оповещениями.
11 fisher
 
24.06.15
12:34
(10) Про флаг закрытия не понял. А ОповеститьОВыборе() - это оповещение владельца, а не всех открытых форм.
12 DmitrO
 
24.06.15
12:54
(1)(3)(4) - не правильный ответ
сценарий (0)+(2) вполне возможен в упр. формах
13 fisher
 
24.06.15
13:02
(12) Я не знаю на самом деле, возможен или нет. Даже думать не хочу. Лучше бы нет. Мысли об этом сценарии меня фрустируют.
14 Fedor-1971
 
24.06.15
13:02
(12) у ТС открыта форма, изменён объект ДокументФорма, записи в БД не было!
Он открывает доп.форму (по умолчанию она заполнится данными из БД, т.е. старыми)
И как предполагается реализовать сценарий?
15 DmitrO
 
24.06.15
13:05
делается это так:
1. доп. форма документа создается с одним условием: нужно чтобы реквизит представляющий данные документа (Объект) не был основным реквизитом формы, тогда при редактировании блокировка вставать не будет.
2. простейший пример использования такой формы (режим открытия у нее: Блокировать владельца):
&НаКлиенте
Процедура КомандаРедактированияЧастиДокумента(Команда)
    ДопФорма = ПолучитьФорму("Документ.Заявка.Форма.ДопФорма", , ЭтотОбъект);
    КопироватьДанныеФормы(Объект, ДопФорма.Объект);
    ДопФорма.ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения("ДопФормаЗакрыта", ЭтотОбъект, ДопФорма);
    ДопФорма.Открыть();
КонецПроцедуры

&НаКлиенте
Процедура ДопФормаЗакрыта(Результат, ОбъектДопФормы) Экспорт
    КопироватьДанныеФормы(ОбъектДопФормы.Объект, Объект);
КонецПроцедуры
16 GROOVY
 
24.06.15
13:07
(15)  Ну так речь про форму объекта, а не про произвольную.
А если форма произвольная, то делай там все что хошь.
17 DmitrO
 
24.06.15
13:10
(16)она и есть форма объекта, она содержит данные объекта и позволяет их редактировать - это именно то, что надо было автору темы :)
18 GROOVY
 
24.06.15
13:13
(17)  Не юли :) Но, может ТС и в правду этого хватит? Но его ТЗ не будет выполнено.
19 DmitrO
 
24.06.15
13:15
(18)я не юлю, я избавляю, "типовых" 1сников от стереотипов :)
20 DmitrO
 
24.06.15
13:17
просто об этом еще не написана ни одна статья на итс
21 lim9
 
24.06.15
13:35
ух ты! ))
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший