К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Вопрос по работе с ТаблицейЗначенией

Гость
0 - 12.05.2012 - 10:02
Извеняюсь за нубовопрос, но сталкнулся с задачей и не могу найти красивого решения, хотя интуитивно думаю что оно должно быть... Может кто подскажет...
Задача такая. Есть большая таблица (ТЗ1), необходимо ее отработать по частям (то есть допустим по 1000 строк.) И результат собрать в новой таблице ТЗ2. Знаю что странная идея, но можно ли в данном случаи обойтись без циклов перебора построчного?

Я знаю что можно обходя циклом ТЗ1 формировать по 1000 строк вспомогательную таблицу, отработать получив результат и его обойдя циклом добавить в ТЗ2.

Должны же быть методы которые позволят это более правильно сделать. Например выбрать из ТЗ строки с X по Y?



1 - 12.05.2012 - 10:09
Заполнить(<?>,,,);
Синтаксис:
Заполнить(<Знач>,<НачСтрока>,<КонСтрока>,<Колонки> )
Назначение:
Заполнить соответствующие ячейки таблицы значений переданным значением.
Параметры:
<Знач> - значение одиночное или список значений или таблица значений.
<НачСтрока> - необязательный параметр. Номер начальной строки, с которой надо начинать заполнение. Значение по умолчанию 1.
<КонСтрока> - необязательный параметр. Номер последней строки, по которую надо заполнять. Если не указана, то до последней.
<Колонки> - необязательный параметр. Номера или идентификаторы колонок, которые надо заполнять. Если параметр не задан, то заполняются все
2 - 12.05.2012 - 10:27
Перепутав в (1) первый и последний параметр - 1Ску вышибает в аут сразу.. мгновенно...
Гость
3 - 12.05.2012 - 10:28
Это в 8 такой метод? Если да то как им пользоваться? У ТаблицыЗначений такого метода не увидел в синтаксис помошнике... Буду признателен за пример...
Uho
4 - 12.05.2012 - 10:43
Где ты написал, что это 8?

Скопировать()

Только не нужна тебе ТЗ вообще
Гость
5 - 12.05.2012 - 11:05
я просто раздел выбрал v8... Но согласен отметить надо было отметить...

Не могу понять как мне с помощью Скопировать в результате в Новой таблице получить строки например с 1000 по 2000? Я так понимаю отбором ограничить только можно но там же только на равенство вроде? Напишите пример плз. Буду очень признателен
Uho
6 - 12.05.2012 - 11:38
ты не ответил на главный вопрос - зачем?
99%, что ТЗ вообще не нужна
Гость
7 - 12.05.2012 - 11:45
Есть мысль что из-за этого будет выигрыш во времени. (Хотя в теории этого не должно быть). Просто обработка Таблицы в 400 000 идет несколько часов, а в 40 000 5-7 минут. Хотим проверить будет ли быстрее если частями отработать большую таблицу. В обработке очень наверченый запрос суть которого не передать... Начальство не успокоится пока не проверим эту теорию, а несколько построчных циклов для формирования минитаблиц - это левое время которое хочу отсечь.
Гость
8 - 12.05.2012 - 11:48
судя по тому что сильно меняется время, идёт поиск по таблице. может просто проиндексировать нужное поле?
Гость
9 - 12.05.2012 - 11:48
+8 код покажи
Uho
10 - 12.05.2012 - 11:50
"Большая таблица" то как то получается. Смотреть надо в сторону ее формирования...


Цитата:
Сообщение от MiniMuk23 Посмотреть сообщение
Просто обработка Таблицы в 400 000 идет несколько часов, а в 40 000 5-7 минут.
имхается мне, что в коде грубейшая ошибка (типа цикла в цикле)
Гость
11 - 12.05.2012 - 11:57
Код показать проблемотично, но идею с Поиском в таблице проверю обязательно. Спс за совет.

Но мы удалились от темы :) Я так понимаю нет возможности разбить таблицу на части по количеству строк?
Гость
12 - 13.05.2012 - 11:51
розроботчег, блин!
вместо удаления гланд через Ж, лучше покажи свой код.
Где-то кривизна там у тебя, причём похоже очень грубая.
Возможно, у тебя в ТЗ есть клолнка с типом ссылка на справочник или на документ (например, "Док"), и в цикле по строкам ты используешь эту ссылку для разыменования:
а = СтрокаТЗ.Док.КакойТоРеквизитДокумента;
Гость
13 - 13.05.2012 - 12:02
Что в ТЗ в 40 000 строк можно обрабатывать 5 минут? Я уж молчу про несколько часов пусть и 400 000 строк. Видимо проблема все-таки в проблемОтичном коде. Искать надо в уонсерватории
14 - 13.05.2012 - 23:13
(13) йо, браз! а что может при загрузке их иксемеля часами грузить...? как написано - так и работает... иногда проще подождать 5-7 минут три раза в меясц, чем портатить полдня и более на переписывание.. и не факт что переписанное будет лучше
Гость
15 - 14.05.2012 - 04:37
(14)Не подменяй понятия. При работе с XML - именно XML и есть узкое место, а не ТЗ
Гость
16 - 14.05.2012 - 06:56
формировать сразу правильную тз не предлагали исчо?
Гость
17 - 14.05.2012 - 07:50
Узкое место нашел, скорость улучшил. За подсказки всем спасибо, но ради любопытства успокоиться не могу. Неужели в 1с8 нет нормальных команд:
1)Выбрать из ТЗ часть строк не по отбору определенного значения, а тупо по количеству строк
2) Как к одной таблице дописать строки из другой таблицы такой же структуры.
Неужели только пакетными запросами курочить?
Гость
18 - 14.05.2012 - 07:53
(17) за работу с ТЗ в восьмерке ...
ЗЫ бить будут
Гость
19 - 14.05.2012 - 08:44
форум есть форум :) Тыкнуть в то, что не оптимально все готовы (хотя и сами знаем, что не совсем оптимально), а по делу ни одного комментария.
Гость
20 - 14.05.2012 - 08:55
(19) Задача такая. Есть большая таблица (ТЗ1) (цоперайт)
ЗЫ ничо нигде никак ? чо тут подсказывать та
Гость
21 - 14.05.2012 - 09:03
19-MiniMuk23 > Любишь выходы через жопу? Твое суверенное право. Мы люди гуманные...
Код у него... секретный очень. :D
Гость
22 - 14.05.2012 - 09:17
21-VZ > Мне тоже иногда бывает стыдно код показывать...
Гость
23 - 14.05.2012 - 10:14
а шо, запросы отменили ?
Гость
24 - 14.05.2012 - 10:16
почему это "ломать", нормальный запрос - нормальный результат, без ломки
25 - 22.05.2012 - 18:49
(22) а мну - нет. работает и работает. манагера устраивает. зачем тратить полдня-день-два, чтобы поднять удобство-производительность юзера на 0.2%...? конечно, если делать СОВСЕМ УЖЕ НЕЧЕГО...
Гость
26 - 22.05.2012 - 22:07
интересно, что автору мешает ПЕРЕД обработкой ТЗ проверить сколько строк и сделать цикл по индексу с разбиением по интервалам???? мне минут 5...


К списку вопросов






Copyright ©, Все права защищены