|
Как бэ по-оптимальней сделать? | ☑ | ||
---|---|---|---|---|
0
samozvanec
14.11.12
✎
16:11
|
Есть таблица, в ней все типы - строка. Нужно ее перекинуть в типизированную таблицу. Среди колонок - 8 ссылочных, друг с другом не особо пересекаются(реквизитами друг друга не являются). Примем вариант получать запросом каждую колонку в цикле обхода строк за максимальный бред. Как бы сделать красиво?
|
|||
1
ХочуСказать
14.11.12
✎
16:12
|
разовая операция?
делай как хочешь лишь бы работало |
|||
2
Reset
14.11.12
✎
16:12
|
в ней все типы - строка
Среди колонок - 8 ссылочных вот это не понял |
|||
3
Reset
14.11.12
✎
16:13
|
хотя вообще почти ничего не понял :)
устал к вечеру видимо |
|||
4
samozvanec
14.11.12
✎
16:16
|
(2) таблица, в которую нужно перекинуть - типизированная. Другими словами надо считать строковые данные из одной таблицы в другую, потом буду обрабатывать
(1) операция не разовая, реестр будет составляться за год, каждый год |
|||
5
ssh2012
14.11.12
✎
16:16
|
Если в обоих таблицах число и порядок строк совпдают, то ЗагрузитьКолонку(<Массив>, <Колонка>)
|
|||
6
samozvanec
14.11.12
✎
16:18
|
(5) вторая пустая.
|
|||
7
samozvanec
14.11.12
✎
16:19
|
мне надо со строковых данных получить нормальную, удобоваримую табличную часть документа
|
|||
8
ssh2012
14.11.12
✎
16:19
|
Посмотри метод, подходит он для твоей задачи или нет
ТаблицаЗначений (ValueTable) ЗагрузитьКолонку (LoadColumn) Синтаксис: ЗагрузитьКолонку(<Массив>, <Колонка>) Параметры: <Массив> (обязательный) Тип: Массив. Массив значений, который выступает в качестве источника данных для колонки. <Колонка> (обязательный) Тип: Число, Строка, КолонкаТаблицыЗначений. Колонка, в которую будут загружены значения из массива. В качестве значения параметра может выступать индекс колонки, имя колонки, сама колонка. Описание: Загружает колонку таблицы значений из массива значений. Примечание: Значения из массива загружаются в колонку в порядке индексов. |
|||
9
Reset
14.11.12
✎
16:20
|
Все равно не понимаю. Почему не подходит цикл?
Для каждогоС Строка из Первая цикл ЗаполнитьЗначенияСв-в(Вторая.Добавить(),Строка); |
|||
10
ssh2012
14.11.12
✎
16:21
|
+(8) массив для загрузки можно получить ВыгрузитьКолонку(<Колонка>)
|
|||
11
Reset
14.11.12
✎
16:21
|
(8) Вторая пустая
|
|||
12
ssh2012
14.11.12
✎
16:22
|
(11) да, тогда это не подходит
|
|||
13
samozvanec
14.11.12
✎
16:22
|
(8) вот представь колонку:
Утюг Вафли Конфеты Башмаки Люстры тип колонки - строка надо перекинуть эту колонку в другую таблицу, но строковые данные заменить на ссылочные |
|||
14
Reset
14.11.12
✎
16:22
|
А, я понял. В типизованной не строковые типы, а, в том числе, ссылочные, которые нужно получать из строковых, напр, поиском по реквизитам?
|
|||
15
samozvanec
14.11.12
✎
16:22
|
таких колонок в реестре 8, реестр составляется за год - хочу сократить время обработки
|
|||
16
samozvanec
14.11.12
✎
16:23
|
(14) именно так, речь идет о ссылочных типах
|
|||
17
ssh2012
14.11.12
✎
16:23
|
(15) имхо - изобретать не нужно ничего, делай в лоб, цикл
|
|||
18
Reset
14.11.12
✎
16:24
|
или (17) - запрос в цикле :) если разово то (1).
Или всю таблицу 1 в запрос и соединять с данными |
|||
19
samozvanec
14.11.12
✎
16:25
|
(17) вероятность, что так и сделаю, велика. вот думаю, вдруг еще варианты есть.
|
|||
20
samozvanec
14.11.12
✎
16:26
|
(18) а вот и первый интересный вариант)
|
|||
21
Лефмихалыч
14.11.12
✎
16:26
|
(0) ты явно пытаешься нам что-то сказать...
|
|||
22
samozvanec
14.11.12
✎
16:28
|
(21) я явно пытаюсь у вас что-то узнать...
(18) насколько резво соединение по равенству строк? |
|||
23
ssh2012
14.11.12
✎
16:28
|
(20) учти, чтобы таб поместить в запрос, колонки должны быть типизированы:) (указана длина строки)
|
|||
24
samozvanec
14.11.12
✎
16:29
|
(23) не самая большая проблема
так-то по ссылке получается тоже самое соединение по равенству строк... Не так ли? |
|||
25
Reset
14.11.12
✎
16:32
|
(22) Если сравнивается строка, со, скажем, кодом справочника - очень резво. Если поле не индексировано, медленней, но все равно на порядки быстрее чем то же самое, но в каждой строке дергаться туда-сюда с сервера на клиент
|
|||
26
Reset
14.11.12
✎
16:32
|
кроме того, в запросе есть плюшка в виде оператора Подобно
|
|||
27
samozvanec
14.11.12
✎
16:33
|
(26) в условии связи нету...
|
|||
28
Reset
14.11.12
✎
16:33
|
Есть
|
|||
29
Reset
14.11.12
✎
16:34
|
или гоню по вечер? ща
|
|||
30
ssh2012
14.11.12
✎
16:34
|
(24) Идея была такая в (18) левое соединение .... по Номенклатура.Наименование = ТвояТаб.Колонка1
|
|||
31
Reset
14.11.12
✎
16:35
|
есть, не гоню
|
|||
32
samozvanec
14.11.12
✎
16:35
|
ну да, я понял. Идея отличная, минус пока один - заданная длина строки. А сокрЛП в запросе нет...
|
|||
33
samozvanec
14.11.12
✎
16:35
|
Как есть? я же только что смотрел
|
|||
34
Reset
14.11.12
✎
16:36
|
(33) можно использовать "произвольное"(или как там оно в конструкторе называется) выражение
|
|||
35
samozvanec
14.11.12
✎
16:38
|
оппа, это его из списка выбрать нельзя, а писать можно
|
|||
36
samozvanec
14.11.12
✎
16:39
|
(34) я думаю, на этом можно остановиться, спасибо большое!
|
|||
37
Axel2009
14.11.12
✎
16:43
|
(0) если в колонках в виде строки хранится ГУИД как ссылка на справочник, то зачем получать запросом какието данные?
получаешь ссылку по гуид и вот тебе уже ссылка в таблице значений |
|||
38
samozvanec
14.11.12
✎
16:46
|
(37) не ГУИД, наименование
|
|||
39
hhhh
14.11.12
✎
17:28
|
(32) просто там указываешь переменная длина строки, а не фиксированная, и сокрлп не нужен
|
|||
40
Fragster
гуру
14.11.12
✎
17:32
|
Если там строками УИДы, то вот:
Для СтрИсходная Из ТаблицаИсходная Цикл Стр = ТаблицаРезультат.Добавить(); Стр.Колонка1 = XMLЗначение(ТипЗнч(Стр.Колонка1), СтрИсходная.Колонка1); Стр.Колонка2 = XMLЗначение(ТипЗнч(Стр.Колонка2), СтрИсходная.Колонка2); Стр.Колонка3 = XMLЗначение(ТипЗнч(Стр.Колонка3), СтрИсходная.Колонка3); Стр.Колонка4 = XMLЗначение(ТипЗнч(Стр.Колонка4), СтрИсходная.Колонка4); КонецЦикла; |
|||
41
Азазелло
14.11.12
✎
17:41
|
(0) запросом уже предлагали?
|
|||
42
Fragster
гуру
14.11.12
✎
17:43
|
Для каждого, естесственно
|
|||
43
Азазелло
14.11.12
✎
17:44
|
поместить исх. таблицу во временну таблицу запроса, потом выборку по ней и левыми джойнами по наименованиям догнать до ссылок
|
|||
44
samozvanec
15.11.12
✎
10:41
|
(43) да да, на том и порешили
встал, кстати, еще один интересный вопрос. Как бы не описывать колонки в запросе? |
|||
45
samozvanec
15.11.12
✎
12:16
|
(39) вам отдельное спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |