Как скопировать таблицу значений #761117


#0 by GreatOne
Вот такой незамысловатый код очищает обе ТЗ. На выходе ТаблицаДанныхВрем  и ТаблицаДанныхОбъекта  пустые. Что я не так делаю?
#1 by GreatOne
По идее мне нужны типизированные колонки в новой ТЗ. Думал так получится, и очень удивился.
#2 by ukolabrother
а что ты хочешь получить?
#3 by AllJoke
вникни в код внимательно.
#4 by ДенисЧ
ВыгрузитьКолонки не подойдёт?
#5 by AllJoke
ты возвращаешь очищенную ТЗ
#6 by ukolabrother
Синтаксис: СкопироватьКолонки(<Колонки>) Параметры: Тип: Строка. Список колонок для копирования в формате: "Колонка1, Колонка2...". Если список не задан, то будут скопированы все колонки. Возвращаемое значение: Тип: ТаблицаЗначений. Описание: Создает таблицу значений с заданным списком колонок. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: Содержимое колонок не копируется.
#7 by AllJoke
#8 by GreatOne
ага, с этого и начал. Обе очищает. сейчас в попробую. В принципе думал, но там колонок туева хуча. Сейчас циклом пробегусь
#9 by Господин ПЖ
пятница-рукож.пница...
#10 by Jonny_Khomich
ну ты очистил у объекта табличную часть. не удивительно.
#11 by DDwe
А раз обе чистые, то скорее "ТаблицаДанныхОбъекта" на входе пустая.
#12 by ukolabrother
да вы не поняли что он хочет. Он хочет получить таблицу из построителя и сделать КОПИЮ СТРУКТУРЫ этой таблицы, то есть колонки только, пустую копию. Надеюсь я то правильно понял. Только вот он нарукож.опил так, что страшно.
#13 by User_Agronom
Параметры. При описании процедуры указывается список формальных параметров. Каждый параметр является локальным по отношению к описываемой процедуре, к нему можно обращаться только в пределах данной процедуры (в нашем примере х, у, z — формальные параметры). Фактические параметры — это параметры, которые передаются процедуре при обращении к ней (а, b, с — фактические параметры). Число и тип формальных и фактических параметров должны совпадать с точностью до их следования. Параметры-значения. Другими словами, передача параметров по значению. Копия фактического параметра становится значением соответствующего формального параметра. Внутри процедуры можно производить любые действия с данным формальным параметром (допустимые для его типа), но эти изменения никак не отражаются на значении фактического параметра, то есть каким он был до вызова процедуры, то таким же и останется после завершения ее работы (х, у — параметры-значения). Параметры-переменные. Другими словами, передача параметров по ссылке. Это те формальные параметры, перед которыми стоит идентификатор var. Передается адрес фактического параметра (обязательно переменной), после этого формальный параметр становится его синонимом. Любые операции с формальным параметром выполняются непосредственно над фактическим параметром.
#14 by GreatOne
ага сделал как в 6 - сработало) Ой да ладно, я типовую обработку "Групповое соитие с докумаентами с спр." меняю, там вообще 4 раза на каждом итераторе типа объекта эти таблицы в цикле копируются. Хочу в запрос с объединением
#15 by GreatOne
+ у нас по 60к доков в неделю, обработка тупит страшно
#16 by Timon1405
Это такое недоООП. кодом "ТЗ2 = ТЗ1;" вы копируете только указатель на таблицу. и знач тут вообще не причем.
#17 by Локи-13
а работает ли ЗНАЧ с объектами? вот вопрос
#18 by Jonny_Khomich
Вообще так лучше не делать. Но вот так попробуй: Функция СкопироватьТЗ(ЗНАЧ ТЗ1, ТЗ2)
#19 by GreatOne
просто приму это как есть, хоть и не очень понимаю, почему так
#20 by ukolabrother
так вы создали просто ссылку на таблицу, а не ее копию. Копия делается вот так ТЗ2 = ТЗ1.Скопировать;
#21 by GreatOne
В любом случае, вопреки ожиданиям, замена на объединение временных таблиц в запросе не дало прироста скорости...
#22 by ukolabrother
очень пятнично, вы это оптимизацией тут так занимаетесь? Это прекрасно
#23 by Гёдза
Сколько лет у тебя стажа ты говоришь?
#24 by GreatOne
не поверите, начал это делать, поначитавшись постов на мисте от сереневеньких полосочек, что объединение работает быстрее.
#25 by ptiz
За 20 постов еще никто не говорил, что ЗНАЧ для параметра с типом "таблица значений" - бессмысленно?
#26 by Локи-13
см
#27 by ptiz
Ну я и говорю - ответа не было. Это ж азбука.
#28 by Поpyчик-4
За 20 постов еще никто не говорил, что ЗНАЧ для параметров имеет смысл только для примитивных типов данных?
#29 by ObjectRelationModel
не совсем так: Процедура Чтото(Знач ТЗ1, ТЗ2) ТЗ1 - оставит старое значение
#30 by los_hooliganos
Ладно кто подскажет, почему сравнение 2х ОДИНАКОВЫХ списков значений возвращает ложь? сз1= сз2 вернет Ложь
#31 by Поpyчик-4
Потому что сравнивать через операторы имеет смысл только для примтивных и ссылочных типов.
#32 by GreatOne
Нашел даже на ИТС кстати, судя по статье, сравниваются не значения, а экземпляры
#33 by Поpyчик-4
И вообще девушка на фотке в футболке не комильфо. Сними её.
#34 by Лефмихалыч
ТЗ1 = ТЗ2.Скопировать;
#35 by los_hooliganos
СписокЗначений в 1С и есть ссылочная переменная. Сравнивается 2 ссылки на область памяти. И они не равны.
#36 by ObjectRelationModel
потому что переменные хранят только указатели на объекты (слово "ссылка" в 1С уже занята под другое) выделены две области памяти, естественно указатели (адреса) у них отличаются собственно указатели и "виноваты" в поведении параметров ЗНАЧ
#37 by los_hooliganos
сз1= сз2 вернет Истину
#38 by Поpyчик-4
Пипец. Учи матчасть, инженер знаний со стажем в 7 лет.
#39 by los_hooliganos
Какую еще мат часть?
#40 by Лефмихалыч
вы под словом "ссылочный" разное понимаете
#41 by palpetrovich
более того тоже вернет истину :)
#42 by Drac0
Про культ карго слышал?
#43 by Рэйв
ТЗ2=ТЗ1.Скопировать уже предлагали?
#44 by Timon1405
у списка тоже есть отдельный метод Скопировать Даешь ООП срач!
#45 by zak555
всё просто ТаблицаДанныхВрем = ОбщегоНазначенияКлиентСервер.СкопироватьРекурсивно(ТаблицаДанныхОбъекта)
#46 by palpetrovich
упс, а что там в СкопироватьРекурсивно?
#47 by zak555
#48 by palpetrovich
тю, а где тут Рекурсивно? :)
#49 by zak555
#50 by zak555
#51 by Лефмихалыч
горшочек, не вари
#52 by palpetrovich
ааа, вон оно чё :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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