//Вариант 1
ДокументОбъект = РеквизитФормыВЗначение("Объект"); //создает объект Х типа Док.... с данными из формы.
ДокументОбъект.Действие(); // выполняет методы объекта
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); // данные из объекта Х переписывает данные в форму.
// вариант 2
ДокументОбъект = Объект.ссылка.получитьОбъект(); // Мы получаем объект уже с данными, значит объект уже существует (нафига мы его создавали ещё один в варианте 1?)
ДокументОбъект.Действие();
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); // Тут нужен метод типа обновить данные на экране, но я такого увидел.
получается так.
вариант 1. (он из учебника 1с)
У нас есть объект типа ДОК-Х форма которого на экране, мы создаем ещё один объект типа ДОК-Х выполняем его метод который меняет данные, и данные записываем в первый объект который уже был.
вопрос в том почему сразу не выполнить метод объекта и не обновить данные на экране?
Вариант 1 не создает объект, он просто преобразует данные формы в объект, с которым можно работать.
Вариант 2 вытягивает данные именно из базы и пофиг, что делалось в этот момент на форме, эти изменения сотрутся.
по варианту второму понял... я просто не учел, что после сохранения появляется объект в базе... а проверял на уже записанном документе.
не создает объект, он просто преобразует данные формы в объект, с которым можно работать.
не понятно...
Объекта не было он появляется? или он был?
Я нажимаю кнопку создать документ, на экране появляется форма, а объекта не существует до записи в базу? а если существует почему методы его не доступны?
З.Ы. блин почему в паскале все так просто и понятно.....
(2) Объект есть, но не в базе, а пока в памяти. Просто из формы напрямую к нему обратиться нельзя (потому что форма по сути этот самый объект, показанный в виде "графического представления"), отсюда и необходимость использовать РеквизитФормыВЗначение для обращения к методам объекта.
(2) "ссылка" это указатель на "объект", что бы изменить объект его нужно получить.
Что бы использовать методы объекта не обязательно иметь объект в базе, ты обращаешься "создаешь" что бы использовать его методы
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший