Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: А в чём отличие? зачем НайтиДокумент?

v7: А в чём отличие? зачем НайтиДокумент?
Я
   Peltik
 
04.04.19 - 09:17
Пример 1
Док43 = СоздатьОбъект("Документ");
Док43 = Оп.Документ;
Док43.СделатьНеПроведенным();


Пример 2
Док43 = СоздатьОбъект("Документ");
Док43.НайтиДокумент(Оп.Документ);
Док43.СделатьНеПроведенным();


И в первом и во втором варианте дебагер на третьей строке значение Док43 показывает одно и то же, но только вот в первом варианте ругается "Не выбран документ!", а во втором случае отрабатывает так как и задумывалось. Ну а тут собственно и сабж.
 
 
   Волшебник
 
1 - 04.04.19 - 09:19
так в 7.7 были реализованы ДокументСсылка и ДокументОбъект
   VladZ
 
2 - 04.04.19 - 09:20
Отличие вот тут:

Док43 = СоздатьОбъект("Документ");
Док43 = Оп.Документ;

В первой строке ты создаешь объект. Во второй строке ты этой же переменной присваиваешь значение Оп.Документ.  В таком случае смысла в строке Док43 = СоздатьОбъект("Документ"); нет никакого.
   Garykom
 
3 - 04.04.19 - 09:24
(1) Кстати раздельные ДокументСсылка и ДокументОбъект это на самом деле недоработка разработчиков платформы 1С.

Не смогли сделать единый объект-ссылка и чтобы оно работало шустро без тормозов и глюков.
Хотя во множестве реализаций ORM/JPA это из коробки.
   Peltik
 
4 - 04.04.19 - 09:30
(1) Т.е. в первом варианте, это получилась ссылка на объект и соответственно распроведение не сработало его можно только читать, а во втором это уже непосредственно объект и его уже можно вертеть, я правильно понял?

Они б хотя бы в дебагере как-то их отличали, а то не поймешь, что откуда что растёт :(
   Волшебник
 
5 - 04.04.19 - 09:32
(3) А зачем ты МНЕ об этом говоришь? Скажи им.
   Волшебник
 
6 - 04.04.19 - 09:33
(4) Поставь уже восьмёрку. Там это реализовано.
   VladZ
 
7 - 04.04.19 - 09:34
(4) Эта платформа была написана еще во времена царя Гороха... Ты слишком многого от нее хочешь.
   Peltik
 
8 - 04.04.19 - 09:35
(6) Я знаю, что в восьмерке это реализовано, но я погряз в этом по самое нехочу :(
   Волшебник
 
9 - 04.04.19 - 09:35
(8) Ты сам выбираешь свою судьбу.
   Peltik
 
10 - 04.04.19 - 09:36
(7) конфига с тех же времен и пилится, и никто ничего менять не собирается :(
   VladZ
 
11 - 04.04.19 - 09:36
(10) Переходи на 8.x
   Peltik
 
12 - 04.04.19 - 09:37
(11) конфига уже 15 лет пилится, дождусь 16-тилетия, и отпущую ее в мир :)
   VladZ
 
13 - 04.04.19 - 09:38
(12) 16 - не круглая дата. Жди 20.
   Garykom
 
14 - 04.04.19 - 09:40
(5) Интересно почему авторы книг о 1С 7.7 или 1С 8.Х никогда об этом не упоминают.
   Peltik
 
15 - 04.04.19 - 09:41
(13) совершеннолетие, и я буду не в ответе за нее, пусть сама развивается
   Волшебник
 
16 - 04.04.19 - 09:44
(14) Попробуй напиши свою платформу, где ссылки и объекты будут одинаково быстро работать. И не надо ссылаться на ORM/JPA. Там нет табличных частей документов, нет регистров.
   Garykom
 
17 - 04.04.19 - 09:47
(16) Да ТЧ и регистров нигде кроме 1С не видел.
Точнее нечто вроде есть в NoSQL но это уже другое.
   vladko
 
18 - 04.04.19 - 09:49
(4) всё правильно понял. в 1м случае, говоря 8чным языком, у тебя ДокументСсылка, во втором ДокументОбъект. Только в 7.7 это неявно видно.
   Peltik
 
19 - 04.04.19 - 10:46
(1) (18) спс, теперь все понятно
   1Сергей
 
20 - 04.04.19 - 10:49
(0) первый вариант можешь сократить до
Док43 = Оп.Документ;
Док43.СделатьНеПроведенным();
   Ёпрст
 
21 - 04.04.19 - 11:01
(0)
Первый вариант не рабочий, если что.
   Ёпрст
 
22 - 04.04.19 - 11:02
(20) не выбран документ - будет ошибка ибо СделатьНеПроведенным - можно использовать только для объектов, созданных функцией СоздатьОбъект.
   Ёпрст
 
23 - 04.04.19 - 11:04
(4) да
   1Сергей
 
24 - 04.04.19 - 11:04
(22) ну, если там ссылка, то первый вариант (0) вообще не сработает
   Peltik
 
25 - 04.04.19 - 11:23
(24) так он и не работает, там же русским по белому написано
   Провинциальный 1сник
 
26 - 04.04.19 - 11:26
Проблема в том, что в семерке явно не разделены понятия "объект" и "ссылка".
   Злопчинский
 
27 - 04.04.19 - 23:00
(26) а какие проблемы по этому поводу?
   Провинциальный 1сник
 
28 - 05.04.19 - 06:49
(27) Люди не сразу понимают, как с этим правильно работать. И возникают вопросы типа сабжа.


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