Имя: Пароль:
1C
1С v8
Доступ к объекту документа из произвольной формы документа
0 mishkerdon
 
14.07.14
05:34
В общем есть документ с основной формой и произвольной формой. В произвольной форме создал реквизит "МойОбъект" с типом ДокументОбъект. Из основной формы вызываю произвольную, и пытаюсь очистить реквизиты документа.
Форму инициализирую через ПолучитьФорму, пытаюсь присвоить реквизиту "МойОбъект" значение "Объект" основной формы, но тут ругается "Нельзя изменять поле, содержащее объект данных формы".
Как можно получить доступ для очистки реквизитов?
1 Рэйв
 
14.07.14
06:22
Присваивай ЭтотОбъект при открытии из формы владельца.
2 mishkerdon
 
14.07.14
06:42
(1) как присваивать?
3 Wobland
 
14.07.14
06:46
продам оператор присваивания. приведи друга и получи второй оператор в подарок
4 mishkerdon
 
14.07.14
06:54
(3) почему у Вас такая неприязнь к моим вопросам? Не можете объяснить по причине лени или по причине незнания??
ЭтотОбъект в контексте управляемой формы возвращает управляемую форму, и передавать ее в качестве реквизита другой форме нельзя.
Легко сказать "Присваивай что-то". Подсказали бы хоть в какую сторону копать.
5 Wobland
 
14.07.14
07:02
(4) настроение хорошее
6 Wobland
 
14.07.14
07:03
+(5) а вопрос идиотский
7 Рэйв
 
14.07.14
07:03
(4)Так это УФ?:) Что ж ты, скромник такой, умалчиваешь самое интересное?:-)
8 Рэйв
 
14.07.14
07:04
(4)А теперь раскажи нафехуа тебе менять текущий объект в совершенно левой форме, конгда у тебя уже есть форма, где ты его уже меняешь?
9 mishkerdon
 
14.07.14
07:06
(8) форма не левая, она произвольная форма этого документа.
Надо модально вывести окно очистки заполнения табличной части с дополнительными параметрами, которым не место в основной форме документа.
10 Wobland
 
14.07.14
07:07
(9) про форму подбора слыхал?
11 Любопытная
 
14.07.14
07:08
(9) можно не тащить туда весь объект, а передать только данные , которые нужно обработать в качестве параметров. Ну и при возвращении в основную форму поменять данные на то, что получил в произвольной.
12 Wobland
 
14.07.14
07:10
(11) фотка классная. только воздуха много ;)
13 mishkerdon
 
14.07.14
07:10
(11) да такая идея была, но там не один реквизит и не одна табличная часть. Видимо придется пока таким образом делать костыль.
Насчет объекта - удалось передать Объект через параметры формы, но при изменении реквизитов в произвольной форме почему-то данные в документе не меняются...
14 Рэйв
 
14.07.14
07:12
(13)Объект на форме - это вообще не объект в обшем понимании.Это специальная структура с полями реального объекта базы, его представление. Так что только параметрами с данными можно выернуться, напрямую передать объект не получится, имхо
15 Любопытная
 
14.07.14
07:13
(13) ну вот ты передал параметром объект в произвольную форму. Чего-то там поменял. Ты его потом вернул в основную форму? В основной все тот же объект до изменений, она не в курсе, что кто-то там параллельно что-то с объектом делает. Да и вообще, нехорошо это - как-то из-за спины получается)
16 Рэйв
 
14.07.14
07:20
(0)А с другой стороны - что мешает тебе сделать нормальную форму документа, а не произвольную и построить ее так как надо тебе?
17 Рэйв
 
14.07.14
07:20
+(16)Тогда все решится очень просто. объект будет редактироваться паралельно в обеих формах без особых усилий с твоей стороны
18 mishkerdon
 
14.07.14
07:58
Спасибо за ответы, попробую :)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший