поменять значения реквизитов в строке ТЗ #523487


#0 by ice777
на первый взгляд, делать нечего.. ищется изъящное решение. неизъящных я могу и сам ) задача: имеется таблицаЗначений. в каждой строке надо поменять значения нескольких реквизитов местами. например было: сч1=33 сч2=44 надо сделать сч1=44 сч2=33
#1 by Dem1urg
А если больше 2-х?
#2 by НЕА123
СП: КолонкаТаблицыЗначений (ValueTableColumn) Имя (Name) Использование: Чтение и запись. ?
#3 by ice777
в том то и дело, что вообще переменное количество. известны только имена реквизитов строки ТЗ. тупо выгрузить значения строки.. писанины много )
#4 by luckyluke
Изящно..., могу предложить банально:
#5 by ice777
надо только в текущей строке. строки рассматриваются каждая по отдельности на предмет, нужно ли вообще переставлять.
#6 by luckyluke
+ а я походу не понял чего надо...
#7 by ice777
могут быть не цифры )
#8 by ice777
ваще бред написалл )
#9 by ice777
был бы метод у строки ТЗ, чтоб выгрузить ее.. не было бы и проблемы.
#10 by ice777
неужели создавать аналог ТЗ с пустой единственной строкой и гонять все через нее.. ойее.
#11 by luns
таблицу в запрос и обратные псевдонимы полей
#12 by НЕА123
не понятно. куда выгрузить? ЗаполнитьЗначенияСвойств(СтруктураСИменамиКолонок, ТекСтрТЗ) ?
#13 by ice777
прям изъящно. Проще ТЗ.скопировать и далее как я в описал. заполнитьзначениясвойств и т.д
#14 by luckyluke
блин ниче не пойму чего ты хочешь... есть Структура, если ЗаполнитьЗначенияСвойст... Проблема в чем создать структуру? СтруктураСтроки = Новый Структура; Для Каждого Колонка Из Тз.Колонки Цикл Или я опять не так понял?
#15 by ice777
не во что выгрузить
#16 by luns
ты видать не понял. в моем варианте все сделает сервер одним запросом. в твоем это будет цикл на клиенте.
#17 by ice777
уже ближе. ты предложил выгружать в структуру. но кода много..
#18 by ice777
клиент все равно только толстый. цель - уменьшить писанину, а не оптимизация.
#19 by НЕА123
автор. может того... пора завязывать на сегодня с работой?
#20 by NcSteel
#21 by luns
примерно:
#22 by NcSteel
Бритва Окама по тебе плачет.
#23 by luckyluke
жесть... а чем 20 хуже?
#24 by luns
в ответ
#25 by luckyluke
я хз кто такая бритва Окама... но тоже думаю что она плачет...
#26 by luckyluke
где ты в цикл увидел?
#27 by NcSteel
В херня, лучще переименовать колонку , чем гонять ТЗ на сервер и обратно.
#28 by luns
+24 вопрос был не прос смену имен колонок, а про замену значений. в процесе смены может оказаться, что значения надо менять в зависимости от условий и т.п. так что в ответ, но не на вопрос в
#29 by ice777
да я тебя понял, понял. длинно.
#30 by ice777
про строки речь, и не про все!
#31 by NcSteel
Телепат? Вопрос задан четко . Даже если надо менять значения в ТЗ, то лучше на клиенте это сделать , чем на сервер гонять!
#32 by luns
умник. ты решение сначала дай.
#33 by ice777
серпом по яйцам не надо драться. идеи есть?
#34 by NcSteel
Не советую для данной задачи использовать временные таблицы . Оперативная память быстрее будет.
#35 by luns
, как видишь в да ;) это называется опыт.
#36 by NcSteel
Задача из решение в Если есть доп условия, то прошу озвучить.
#37 by NcSteel
Временные таблицы для использования этой задачи зло.
#38 by ice777
доп условие в поенять в ТЗ значения в пределах строк, отобранных по определенному условию. а не значения в колонках местами, как в
#39 by ice777
сча выродим изящный многостраничный код )
#39 by NcSteel
НайтиСтроки и цикл, работать будет быстрее чем гонять ТЗ на сервер.
#41 by luckyluke
Он хочет перебрать строки, и если выполняется условие для элемента строки, то поменять его... я так понял... только он не хочет описывать условие для каждого поля строки, а хочет как то сделать это "изящно", но в отрыве от конкретных данных и в каких случаях он хочет менять не понятно чего надо...
#42 by ice777
забиваем на сервер. Клиент - только толстый!
#43 by NcSteel
Какая разница. При использовании временных таблиц будет ТЗ бежать на сервер и создавать физически там таблицу. Которая отожрет памяти и сеть захломит.
#44 by luns
это сработает только с простыми сравнениями на "равно" а так бывает редко.
#45 by ice777
ладно, упрощаю. условия, по которому я определяю, что надо изменить строку, это мое дело. вот вам строка из ТЗ. как поменять значения реквизитов? и поменьше кода при этом.
#46 by ice777
+ *поменять значения реквизитов местами
#47 by PVV65
Сдвинуть (Move) Синтаксис: Сдвинуть(<Строка>, <Смещение>) Параметры: <Строка> (обязательный) Тип: Число, СтрокаТаблицыЗначений. Индекс строки, которую нужно переместить, или сама строка. <Смещение> (обязательный) Тип: Число. Количество строк, на которое необходимо переместить строку. Положительное значение означает, что строка будет передвинута ближе к концу таблицы значений (вниз), отрицательное - ближе к началу (вверх). Описание: Сдвигает строку на указанное количество позиций. Пример:
#48 by NcSteel
Ну если нужно произвольную шнягу , то построитель отчета.
#49 by ice777
известны только имена. индексы находить - лишний код.
#50 by NcSteel
ПоменятьЗначениеРеквизитов
#51 by PVV65
тьфу
#52 by ice777
сча проверимм )
#53 by ice777
это что-то самописное. нет в 82 такого!
#54 by luns
не про то речь. чтобы обойтись без запроса и отобрать из тз строки по определенным условиям, например методом НайтиСтроки нужно будет использовать лишь простые сравнения. либо в цикле строки перебирать все и сравнивать. решение предложеное в позволяет использовать условия любой сложности и не загромождает код (чуть запрос поправить). что касаемо сети и сервера, ну как правило у сервера памяти поболя будет, так что при любых раскладах он быстрее управиться.
#55 by NcSteel
Только не забудь описать эту процедуру.
#56 by NcSteel
Ошибаешся . ТЗ уже сидит в памяти , так что уже изначально быстрее.
#57 by NcSteel
Чем тебе Построитель не устраивает, без запроса.
#58 by ice777
написать не вопрос. тоже хочется и в ней поменьше букв ;)
#59 by ice777
и сколько кода будет? например.
#60 by NcSteel
Все зависит от количества колонок.
#61 by luns
в принципе его можно использовать. но кода будет больше. он будет сложенее для понимания чем запрос. ну и практика подсказывает что потом легче запрос править чем код. так как задача описанная в довольно странная (какая то видать ошибка в методологии) то очевидно что менять будут и не раз. поэтому чем меньше кода, тем лучше.
#62 by NcSteel
Меньше код это быдло стремление.
#63 by luns
ну ну.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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