#0
by eeyore
Создаю ТЗ: ТЗ.Колонки.Добавить("СуммаЗатратНаВесПродукции", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2))); Заполняю ее в обработке - получаю ~200 000 записей Далее стоит задача свернуть ее, по такому правилу: После сворачивания - в таблице остается в 2 раза меньше записей, НО 1с сворачивает ее 1 час. Как решить вопрос со скоростью?
#5
by GedKo
а может в обработке не добавлять строки, а искать по нужным критериям уже созданные строки и изменять значения?
#10
by eeyore
- в принципе вариант, я об этом думал, только это значительно усложняет наглядность кодо - т.е. я формирую не одну таблицу для нескольких расчетов, которую затем группирую под каждый вид расчета, а создаю отдельную таблицу для каждого расчета. Мне такой вариант не очень импонирует, но если лучше решения не найдется то придется идти по этому пути.
#11
by НЕА123
колонки, которые не участвуют в свернутой таблице нужны? если нет то и не добавлять, если нужны, то типизировать все.
#12
by eeyore
- идею понравилась, а как из 1с 8.0 напрямую с sql работать? Можешь ссылку дать или пример кода?
#15
by eeyore
- c xBase попробую, не понял второй части, а именно как "через ОЛЕДБ запросом свернуть"?
#16
by Живой Ископаемый
2 Записать таблицу с 200 т строк в Хбэйс, а ту которую тебе нужно - получить не сворачиванием и скл-запросм через ОЛЕДБ с уже нужными тебе группировками
#17
by НЕА123
интересно, а сколько отрабатывает после заполнения без свертки ТЗ = Неопределено; не пробовал?
#18
by eeyore
- все колонки нужны - т.к. по этой таблице строятся еще такие итоги но тут получается мало(~200)записей и такаое сворачиваение работает быстро - 20сек. Я не понял какой смысл типизировать колонки которые в сворачивании не учавствуют - они же все равно выбрасываются из таблица по теории?
#20
by НЕА123
освобождение памяти при удалении. например, если тип число, ссылка на объект БД - ниче не проверяется. если СЗ, ТЗ - тоды да. если не типизировано - всегда смотрит что там. в 77 эффект типизации был огромный.
#25
by vde69
у меня похожая шняга на 7.7 реализована поэтапным сворачиванием, обьясню: обработка тянет данные из навижена по куче счетов, после каждого запроса и добавления полей в ТЗ я сворачиваю всю ТЗ, но это только в том случае если итоговая таблица будет не очень большая, в моем случае свертка 1 ляма строк до 50тыс идет примерно 3 минуты
#26
by eeyore
- а как в моем случаем можно сделать поэтапное сворачивание? если у меня на 200 000 исходных записей приходится 100 000 конечных? т.е. в среднем одинаковые записи всего в 2х экземлярах. Если бы их было много, то тогда еще понятно.
#29
by Злопчинский
Организовать заполнение тз таким образом (порядок исходной выборки данных) чтобы добавить запись в конец, а потом к ней суммировать...
#30
by 73
Попробуй построителем. Вот идея: ТЗ.Колонки.Добавить("Примечание", Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки));
#32
by eeyore
- не представляю как это возможно - выборки из запроса нет, тз заполняется на внутреннем языке путем сложного распределения себестоимости используемых в производстве материалов на конечную продукцию.
#33
by eeyore
- типизировал все колонки, которые участвуют в сворачивании, лишнии удалил. Это ничего не дало вообще, как он час сворачивал так и сворачивает.
#34
by eeyore
ТЗ.Колонки.Добавить("КоличествоПродукции", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3))); ТЗ.Колонки.Добавить("СуммаЗатратНаВесПродукции", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2))); ТЗ.Колонки.Добавить("КоличествоМатериалаНаВесПродукции", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
#35
by eeyore
- спасибо - то что нужно! Запрос за 7 секунд отрабатывает! И еще за 80 секунд я этот запрос преобразовываю в ТЗ.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как быстро очистить 1с 7.7. (dbf)от данных документов и регистров?
- Таблицу значений выгрузить в таблицу печатной формы
- Как таблицу Excel передать в таблицу значений?
- Как быстро выгрузить таблицу значений в дерево значений?
- Как быстро найти строку в ТЗ по нескольким колонкам?
- А можно в таблицу значений записать другую таблицу значений?
- Быстро "выгрузить" дерево значений в таблицу значений
- Как таблицу значений значений превратить во временную таблицу SQL ?
- Как убрать значки свернуть, свернуть в окно и крестик верхнем правом углу 1С 7.7
- v8: ТЗ как свернуть таблицу с колонками из переменных?
- Нет в документе сверху значка свернуть и свернуть в окно
- v8: Как таблицу значений выгрузить на управляемую форму в таблицу значений?
В этой группе 1С
- Поиск по реквизиту справочника без значащих нулей
- Как оприходовать сервер + ПО к нему
- PDF - как сформировать макет
- Проблема отрицательного исчисленного НДФЛ
- Материальная помощь при смерти родственника
- Не отображаются итоги в подвале ТП
- формат даты в линуксы
- УПП количество дней компенсации отпуска при увольнении
- СКД: Соединение наборов данных - не выводится null
- Построитель отчета - вложенные запросы
- v7: Префикс к расчетному счету
- обороты вирт таблица
- Книга продаж: Счет фактура на аванс - не отображается номер в книге.
- Несколько владельцев у одного элемента справочника.
- Таблица остатков одной номенклатуры на разные даты
- Зафиксировать строки Excel.Application
- Не заполняются субконто
- УПП Как списать брак? Есть только списание по инвентаризации.
- Настройка ПКО для табличной части документа
- Программная установка прав доступа!