Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Изучая 8-ку... (число прочтений - 3009 )
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Изучая 8-ку...
21. Июня 2011 :: 13:37
Печать  
Читаю сейчас книгу по 8-ке, в голове пока каша из-за множества всеразличных типов.
Возник след. вопрос, есть 2 куска кода:

1)
Код
Выбрать все
СпрОбъект = Справочники.Контрагенты.СоздатьЭлемент();
Сообщить(ТипЗнч(СпрОбъект));
 



2)
Код
Выбрать все
Спр = Новый(Тип("СправочникОбъект.Контрагенты"));
Сообщить(ТипЗнч(Спр)); 



1) - стандарный механизм создания нового элемента, я думаю все им и пользуются. Вопрос - почему объект созданный во втором варианте "неполноценный" - с ним ничего нельзя сделать. 1С ругается, что "Элемент не выбран!"
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Изучая 8-ку...
Ответ #1 - 21. Июня 2011 :: 23:01
Печать  
Потому что .СоздатьЭлемент() равнозначно .Новый() в 7.7.

Если .Новый() не сделаешь, то тоже с объектом ничего не сделаешь. Правда ошибки не будет, пока не сделаешь .Записать().
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Изучая 8-ку...
Ответ #2 - 22. Июня 2011 :: 05:13
Печать  
Понял.
А конструкцию №2 можно где-то реально применить?
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Изучая 8-ку...
Ответ #3 - 22. Июня 2011 :: 05:36
Печать  
chessman писал(а) 22. Июня 2011 :: 05:13:
Понял.
А конструкцию №2 можно где-то реально применить?


Разве что, для сравнения с пустой ссылкой - но куда удобнее пользоваться конструкцией Справочник.Контрагенты.Пустая().
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Изучая 8-ку...
Ответ #4 - 22. Июня 2011 :: 06:06
Печать  
Обычно таким способом (типа СоздатьОбъект(ОбъектВТексте) можно, как бы это правильно выразить, "интерактивно/универсально" что-то создавать/получать/устанавливать.

Вот я и подумал, что этот прием, хоть как-то может пригодиться?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Изучая 8-ку...
Ответ #5 - 22. Июня 2011 :: 09:04
Печать  
Можно и так
Справочники.Найти(имяСправочника).СоздатьЭлемент()
или Справочники.Найти(имяСправочника).ПустаяСсылка()
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Изучая 8-ку...
Ответ #6 - 22. Июня 2011 :: 09:09
Печать  
artbear писал(а) 22. Июня 2011 :: 09:04:
Можно и так
Справочники.Найти(имяСправочника).СоздатьЭлемент()
или Справочники.Найти(имяСправочника).ПустаяСсылка()


Улыбка Я пока только на букве 'А'  
  
Наверх
 
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Изучая 8-ку...
Ответ #7 - 06. Июля 2011 :: 08:03
Печать  
chessman писал(а) 21. Июня 2011 :: 13:37:
Код
Выбрать все
Спр = Новый(Тип("СправочникОбъект.Контрагенты"));
Сообщить(ТипЗнч(Спр)); 




А что в этом случае должно создаваться - новый элемент или новая группа?
  
Наверх
ICQ  
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Изучая 8-ку...
Ответ #8 - 06. Июля 2011 :: 10:00
Печать  
Палыч писал(а) 06. Июля 2011 :: 08:03:
А что в этом случае должно создаваться - новый элемент или новая группа?


Вопросом на вопрос - а зачем тогда 1С позволяет выполнять такую конструкцию, для единообразия?
  
Наверх
 
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Изучая 8-ку...
Ответ #9 - 06. Июля 2011 :: 12:42
Печать  
Ну, это надо у разработчиков платформы спрашивать.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать