Вход | Регистрация

1С:Предприятие ::

Метки: 

1c УФ Объекты

Я
   BanchenkoM
 
17.11.17 - 09:45
Немного не понятен один вопрос по объектам.
//Вариант 1

ДокументОбъект = РеквизитФормыВЗначение("Объект");//создает объект Х типа Док.... с данными из формы.

ДокументОбъект.Действие();  // выполняет методы объекта

ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");  // данные из объекта Х переписывает данные в форму.

    
// вариант 2    

ДокументОбъект = Объект.ссылка.получитьОбъект();// Мы получаем объект уже с данными, значит объект уже существует (нафига мы его создавали ещё один в варианте 1?)

ДокументОбъект.Действие();

ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");// Тут нужен метод типа обновить данные на экране, но я такого увидел.


получается так.
вариант 1. (он из учебника 1с)
У нас есть объект типа ДОК-Х форма которого на экране, мы создаем ещё один объект типа ДОК-Х выполняем его метод который меняет данные, и данные записываем в первый объект который уже был.

вопрос в том почему сразу не выполнить метод объекта и не обновить данные на экране?
 
 
   dezss
 
1 - 17.11.17 - 09:50
Вариант 1 не создает объект, он просто преобразует данные формы в объект, с которым можно работать.
Вариант 2 вытягивает данные именно из базы и пофиг, что делалось в этот момент на форме, эти изменения сотрутся.
   BanchenkoM
 
2 - 17.11.17 - 10:38
по варианту второму понял... я просто не учел, что после сохранения появляется объект в базе... а проверял на уже записанном документе.


не создает объект, он просто преобразует данные формы в объект, с которым можно работать.
не понятно...

Объекта не было он появляется? или он был?
Я нажимаю кнопку создать документ, на экране появляется форма, а объекта не существует до записи в базу? а если существует почему методы его не доступны?



З.Ы. блин почему в паскале все так просто и понятно.....
   dezss
 
3 - 17.11.17 - 11:12
(2) Объект есть, но не в базе, а пока в памяти. Просто из формы напрямую к нему обратиться нельзя (потому что форма по сути этот самый объект, показанный в виде "графического представления"), отсюда и необходимость использовать РеквизитФормыВЗначение для обращения к методам объекта.

З.Ы.: просто дело привычки)))
   Ц_У
 
4 - 17.11.17 - 11:13
(2) "ссылка" это указатель на "объект", что бы изменить объект его нужно получить.
Что бы использовать методы объекта не обязательно иметь объект в базе, ты обращаешься "создаешь" что бы использовать его методы
   dezss
 
5 - 17.11.17 - 11:14
(0)"// Тут нужен метод типа обновить данные на экране, но я такого увидел."

Смотри ОбновитьОтображениеДанных в сп.
   BanchenkoM
 
6 - 21.11.17 - 16:13
Спасибо огромное. вроде как ясно....


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует