Имя: Пароль:
1C
 
Получение ссылки на объект из формы
,
0 YuriEV
 
03.06.19
16:23
Добрый день. Подскажите пожалуйста, возникла необходимость присвоить ссылку на форме.

Объясню немного задачу, при определенных действиях в 1С создается форма документа и заполняется, но не открывается, назовем её форма "А". У пользователя есть выбор либо открыть это форму, либо открыть другую форму(Форму "Б"), причем при открытии формы "Б", необходимо получить документ Формы "А" и записать его =))) Либо вообще ни чего не делать и не создавать оба объекта. Понимаю что лучше наверно создавать объекты.... но код был написан не мной, изменять там кучу всего не охота (может конечно придется).

И вот вопрос: на форме "А" Есть такое поле "объект" типа "ДанныеФормыСтруктура", а там есть поле ссылка. Можно как то ему присвоить ссылку или нет? все мне известные методы не работают: ПолучитьСсылкуНового(), ПолучитьСсылку(), УстановитьСсылкуНового(), пишет что метод не найден...... Где то читал что форма и объект разные данные и тд... если есть где то полезная информация, буду рад почитать!

И пока писал это,задумался.... а можно как то создать новый объект и все заполненные параметры с формы "А" передать ему?
1 hhhh
 
03.06.19
16:27
(0) вы на сервере пробуйте, на клиенте не надо
2 YuriEV
 
03.06.19
16:28
(1) Ну конечно, я с клиента вызываю серверную процедуру и там пытался присвоить ссылку....но почему то не выходит
3 dezss
 
03.06.19
16:29
Так пусть сразу создается и форма "Б" и заполняется вместе с формой "А". Фигли мелочиться, если там и так какое-то...э...варенье)))
4 YuriEV
 
03.06.19
16:33
(3) Суть в том что если открывать форму "Б", форма "А" уже не нужна, его нужно просто зарегистрировать как факт, то -есть записать.
5 dezss
 
03.06.19
16:37
(4) Записываются не формы. Записываются данные из нее.
Можешь записать данные формы "А", а потом открыть форму "Б", передав в нее в "Параметры" Новый Структура(Ключ, <твоя_ссылка_на_объект>).
6 YuriEV
 
03.06.19
16:43
(5) Эти две формы ни как не взаимосвязаны. Просто форма "А" создается всегда, но не всегда она нужна, при открытии формы "Б", она не открывется у пользователя, просто должна записать документ, типо для статистики.

А как можно записать данные формы "А", программно?
7 YuriEV
 
03.06.19
16:47
(6) Если не понятно в чем суть, могу расписать поподробнее с документами и конкретными случаями.
8 dezss
 
03.06.19
16:50
(7) Расписывай. Пока нифига не понятно.
9 hhhh
 
03.06.19
16:50
(7) просто тогда работайте с документом. Если форма не нужна выкиньте ее нахрен.
10 YuriEV
 
03.06.19
17:01
(8) Это работа с телефонией и документом "Событие" в 1С УНФ. Купили обработку "Панель телефонии", там при каждом звонке создается именно форма события( форма "А") не знаю почему решили именно так. Пытаюсь дописать задачу уже под нас. после завершения звонка у пользователя есть выбор сразу запланировать себе следующее событие по данному контрагенту(то-есть открыть форму "Б"). Тогда при этом нам необходимо записать текущий разговор "Событие", как факт звонка. и открыть запланированное событие для заполнения. И фот находясь на форму выбора я имею только Форму "А" как родителя данной формы и как её записать как документ не понимаю....
11 dezss
 
03.06.19
17:06
(10) Форма "А" - это форма документа?
Из того же самого места, где открывалась форма "А", после закрытия формы "А" открываем, при необходимости, форму "Б", в нее можно передать параметры.
И еще раз. Записывается не форма, записывается документ. А форма - это просто отображение документа (справочника, чего-нибудь еще).
12 YuriEV
 
03.06.19
17:21
(11) Да это форма документа.
Так вот и вопрос, можно ли имея программно только форму, получить и записать документ?
13 hhhh
 
03.06.19
17:30
(12) Док = РеквизитФормыВЗначение("Объект");
Док.Записать();
14 YuriEV
 
03.06.19
17:54
(13) Все разобрался, всем огромное спасибо.
На самом деле "тупо" но сработало)))) Я просто в форме вызвал метод записать() и создался объект, и ссылка, и форма сохранилась)))

ЭтаФорма.ВладелецФормы.Записать();
Независимо от того, куда вы едете — это в гору и против ветра!