|
1c УФ Объекты |
☑ |
0
BanchenkoM
17.11.17
✎
09:45
|
Немного не понятен один вопрос по объектам.
//Вариант 1
ДокументОбъект = РеквизитФормыВЗначение("Объект"); //создает объект Х типа Док.... с данными из формы.
ДокументОбъект.Действие(); // выполняет методы объекта
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); // данные из объекта Х переписывает данные в форму.
// вариант 2
ДокументОбъект = Объект.ссылка.получитьОбъект(); // Мы получаем объект уже с данными, значит объект уже существует (нафига мы его создавали ещё один в варианте 1?)
ДокументОбъект.Действие();
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); // Тут нужен метод типа обновить данные на экране, но я такого увидел.
получается так.
вариант 1. (он из учебника 1с)
У нас есть объект типа ДОК-Х форма которого на экране, мы создаем ещё один объект типа ДОК-Х выполняем его метод который меняет данные, и данные записываем в первый объект который уже был.
вопрос в том почему сразу не выполнить метод объекта и не обновить данные на экране?
|
|
1
dezss
17.11.17
✎
09:50
|
Вариант 1 не создает объект, он просто преобразует данные формы в объект, с которым можно работать.
Вариант 2 вытягивает данные именно из базы и пофиг, что делалось в этот момент на форме, эти изменения сотрутся.
|
|
2
BanchenkoM
17.11.17
✎
10:38
|
по варианту второму понял... я просто не учел, что после сохранения появляется объект в базе... а проверял на уже записанном документе.
не создает объект, он просто преобразует данные формы в объект, с которым можно работать.
не понятно...
Объекта не было он появляется? или он был?
Я нажимаю кнопку создать документ, на экране появляется форма, а объекта не существует до записи в базу? а если существует почему методы его не доступны?
З.Ы. блин почему в паскале все так просто и понятно.....
|
|
3
dezss
17.11.17
✎
11:12
|
(2) Объект есть, но не в базе, а пока в памяти. Просто из формы напрямую к нему обратиться нельзя (потому что форма по сути этот самый объект, показанный в виде "графического представления"), отсюда и необходимость использовать РеквизитФормыВЗначение для обращения к методам объекта.
З.Ы.: просто дело привычки)))
|
|
4
Ц_У
17.11.17
✎
11:13
|
(2) "ссылка" это указатель на "объект", что бы изменить объект его нужно получить.
Что бы использовать методы объекта не обязательно иметь объект в базе, ты обращаешься "создаешь" что бы использовать его методы
|
|
5
dezss
17.11.17
✎
11:14
|
(0)"// Тут нужен метод типа обновить данные на экране, но я такого увидел."
Смотри ОбновитьОтображениеДанных в сп.
|
|
6
BanchenkoM
21.11.17
✎
16:13
|
Спасибо огромное. вроде как ясно....
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший