Копирование ТЗ в другую ТЗ. Связь на века? :) #687454


#0 by Полька
Это опять я. Просто интересно :) ТЗ.Очистить; Почему при этом очищаются обе таблицы? Они что, связаны между собой?
#1 by zak555
делать надо так ТЗ = ТЗ1.Скопировать;
#2 by zak555
это не обе, а одна таблица, к которой можно обращаться через две переменные
#3 by Ненавижу 1С
это не копирование объектов, это копирование ссылки на один и тот же объект есть же Скопировать
#4 by XLife
не угадал... ТЗ = ТЗ1.СкопироватьКолонки;
#5 by Полька
ясно
#6 by zak555
она хотела скопировать универсальную коллекцию, а ты предлагаешь скопировать только структуру
#7 by zak555
думаю, что нет
#8 by XLife
а тз.очистить; тогда зачем?
#9 by zak555
#10 by zak555
для теста, чтобы понять, как это работает =)
#11 by Ненавижу 1С
результат будет тот же
#12 by НеБорисНуралиев
Эх молодежь! Не застали чудесной поры кодирования на Си... Не знают про указатели и переменные в памяти.
#13 by Полька
хотела скопировать структуру :)
#14 by wPa
вот и пришло время в ИТ тех, кто никогда не передавал указатели )
#15 by zak555
почему ?*
#16 by Ненавижу 1С
потому что (знач ТЗ) тут не прокатит ТЗ все равно ссылка
#17 by zak555
???
#18 by Холодильник
сериализация
#19 by zak555
Знач      Необязательное ключевое слово, которое указывает на то, что следующий за ним параметр передается по значению, т.е. изменение значения формального параметра при выполнении процедуры никак не повлияет на фактический параметр, переданный при вызове процедуры. Если это ключевое слово не указано, то параметр процедуры передается по ссылке, то есть изменение внутри процедуры значения формального параметра приведет к изменению значения соответствующего фактического параметра.
#20 by mikecool
ТЗ накласть на Знач
#21 by mikecool
+20 как и СЗ
#22 by mikecool
проверь
#23 by mikecool
я с этим столкнулся лет 5 назад вроде...
#24 by zak555
и на массив на все универсальные коллекции значений ?
#25 by Classic
Не совсем
#27 by Classic
Процедура Проц(ЗНАЧ ТЗ) Будут разные результаты
#28 by mikecool
какие?
#29 by smaharbA
в первом переданная тз не изменится
#30 by zak555
выдержу приведи, а то с этого компа у менят доступа
#31 by Classic
Процедура Проц(ЗНАЧ ТЗ) КонецПроцедуры Проверяй
#32 by zak555
1 0
#33 by ASU_Diamond
если бы для ТЗ это работало, то какой бы результат твоей программы был? у тебя выходит что внутри процедуры изменяется параметр, но это не влияет на фактический, значит ничего не измениться в месте вызова процедуры
#34 by zak555
ты же явно в процедуре создаёшь локальный объект
#35 by Classic
Это работает для ТЗ. Просто надо понимать, что переменная ТЗ хранит не таблицу значений, а ссылку на набор значений
#36 by Classic
Это параметр процедуры
#37 by zak555
который ты переобозначаешь
#38 by Classic
Что значит "переобозначаешь"? Я его меняю
#39 by Classic
Ладно, давай по-другому
#40 by Classic
Процедура Проц(ЗНАЧ ТЗ, ТЗ1) КонецПроцедуры
#41 by zak555
Процедура Проц(ЗНАЧ ТЗ)
#42 by mikecool
а блин, я не с этим сталкивался ))) вот с чем Процедура ДваДва(Знач ТЗ) результаты 2 2 Три Четыре 2 2 Три Четыре
#43 by Classic
Я просто показал, что не совсем пофиг на ЗНАЧ :)
#44 by zak555
должно быть 0 0
#45 by Classic
У тебя странные представления про локальность переменных :)
#46 by Classic
А сколько выдает?
#47 by banco
прочитали бы уже статью на ИТС Разница для всех типов при передаче параметра процедуры или функции по ссылке или по значению проявляется в присвоении фактическому параметру процедуры или функции нового значения. Вызов свойств и методов контекста фактического параметра, если таковые имеются, влияет на формальный параметр независимо от того, передается ли он по ссылке или по значению.
#48 by Classic
Для этого ИТС читать не надо. передача по ссылке и по значению есть в любом языке. Правда как правило по умолчанию значение, а не ссылка, как в 1С
#49 by Ненавижу 1С
Знач означает, что значение переменной ТЗ (а это ССЫЛКА на объект, а не сам объект) не вернется из процедуры но сам то объект изменен! и не важно чему стала потом равняться ссылка
#50 by zak555
тупанул
#51 by ilkoder
если я передам по значению ссылку на элемент справочника - оно мне что, новый элемент справочника сделает? это будет тот же самый элемент справочника
#52 by sapphire
Нет, просто дура.
#53 by rozer76
+ открыл для себя недавно такое "Знач блокирует возврат параметра из другого контекста" см. - 12 пост
#54 by К_Дач
не совсем понятно, а можно пример? Если я передам в процедуру Проц(Знач ТЗ) таблицу значений и попытаюсь переопределить ее - ничего не выйдет, это нам уже Classic продемонстрировал. А что с остальными типами? Другие коллекции значений, а простые типы?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С