| 
    
        
     
     | 
    
  | 
Не хватает памяти при выводе в табличный документ | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        ssserg    
     19.04.13 
            ✎
    16:14 
 | 
         
        Добрый день всем.
  
        При попытке формирования одного самописного отчета за большой период выходит ошибка "Недостаточно памяти". Стал разбирать в скд наборы данных в консоли запросов. Запрос набора данных отрабатывал как надо, но когда я попытался вывести результат запроса в табличный документ, ну то есть клацаешь правой кнопкой по окну вывода консоли и "вывести список", то оно мне опять выдало ту же ошибку про нехватку памяти. Тут нужно каким то образом вручную выводить результаты запроса небольшими кусками, посоветуйте способы как этой сделать?  | 
|||
| 
    1
    
        ДенисЧ    
     19.04.13 
            ✎
    16:16 
 | 
         
        Разбивай на отдельные периоды и выводи в разные табличные документы     
         | 
|||
| 
    2
    
        butterbean    
     19.04.13 
            ✎
    16:16 
 | 
         
        записывай сразу в экселевский файл, например     
         | 
|||
| 
    3
    
        Fragster    
     гуру 
    19.04.13 
            ✎
    16:17 
 | 
         
        расшифровку по максимуму убрать, группировок поменьше, особенно за колонки     
         | 
|||
| 
    4
    
        ssserg    
     19.04.13 
            ✎
    16:21 
 | 
         
        (1) (2)
  
        Не вариант.  | 
|||
| 
    5
    
        ssserg    
     19.04.13 
            ✎
    16:23 
 | 
         
        (3) Всё что есть резать нельзя, тем более что причина не в отчете, а в способе вывода в табличный документ.     
         | 
|||
| 
    6
    
        Fragster    
     гуру 
    19.04.13 
            ✎
    16:23 
 | 
         
        что в "расшифровку по максимуму убрать" не подходит?     
         | 
|||
| 
    7
    
        ssserg    
     19.04.13 
            ✎
    16:25 
 | 
         
        (6) не подходит.     
         | 
|||
| 
    8
    
        Мохнатое рыло    
     19.04.13 
            ✎
    17:26 
 | 
         
        (7) Ну добавь памяти и купи Сервер 64 бит ;)     
         | 
|||
| 
    9
    
        ssserg    
     19.04.13 
            ✎
    17:40 
 | 
         
        (8) Интересует как это можно сделать программно ;)     
         | 
|||
| 
    10
    
        Maxus43    
     19.04.13 
            ✎
    17:42 
 | 
         
        (4) сформируй отчет на нормальной машине, на серваке какомнить, а не на ноуте для просмотра фильмов     
         | 
|||
| 
    11
    
        ssserg    
     19.04.13 
            ✎
    17:48 
 | 
         
        (10) Память не причем, в процессах она не засирается даже до половины. Пробовал формировать отчет на сервере о 16гб - та же фигня.     
         | 
|||
| 
    12
    
        H A D G E H O G s    
     19.04.13 
            ✎
    17:49 
 | 
         
        (10) Ахереть.     
         | 
|||
| 
    13
    
        Fragster    
     гуру 
    19.04.13 
            ✎
    17:49 
 | 
         
        (11) ты хоть понял, что значи "убрать расшифровку"?     
         | 
|||
| 
    14
    
        H A D G E H O G s    
     19.04.13 
            ✎
    17:50 
 | 
         
        (11) ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент.Вывести (DataCompositionResultSpreadsheetDocumentOutputProcessor.Output)
  
        ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент (DataCompositionResultSpreadsheetDocumentOutputProcessor) Вывести (Output) Синтаксис: Вывести(<ПроцессорКомпоновки>, <ВозможностьПрерыванияПользователем>) Параметры: <ПроцессорКомпоновки> (обязательный) Тип: ПроцессорКомпоновкиДанных. Процессор компоновки данных, из которого будут получаться элементы результата. <ВозможностьПрерыванияПользователем> (необязательный) Тип: Булево. Указывает, может ли пользователь прервать вывод при помощи комбинации клавиш Ctrl+Break. Значение по умолчанию: Истина Возвращаемое значение: Тип: ТабличныйДокумент. Описание: Выводит весь результат в объект. При этом автоматически исполняется метод НачатьВывод, перебираются все элементы процессора компоновки и выводятся в результат. После чего исполняется метод ЗакончитьВывод, результат которого возвращается данным методом. Доступность: Сервер, толстый клиент, внешнее соединение.  | 
|||
| 
    15
    
        H A D G E H O G s    
     19.04.13 
            ✎
    17:51 
 | 
         
        Доступность:
  
        Сервер Запилить это на сервере, и сервер 64-х битный, либо перезагружать перед выводом и пробовать.  | 
|||
| 
    16
    
        ssserg    
     19.04.13 
            ✎
    17:55 
 | 
         
        (13) Каким же образом можно убрать из _результата запроса_ 
  
        в _консоли запросов_ расшифровку которой там и так нет? Данных так много, что убирание расшифровки в СКД тут погоды не сделает.  | 
|||
| 
    17
    
        Fragster    
     гуру 
    19.04.13 
            ✎
    17:59 
 | 
         
        а сколько данных?     
         | 
|||
| 
    18
    
        Maxus43    
     19.04.13 
            ✎
    18:01 
 | 
         
        (12) чегойто ругаешся, а?     
         | 
|||
| 
    19
    
        ssserg    
     19.04.13 
            ✎
    18:02 
 | 
         
        (14) Так вот, каким образом получить доступ к этим самым элементам при выводе. То есть нужно часть данных из элементов процессора компоновки вывести в табличный документ - пауза(как то вызывать принудительное прерывание) - затем другую часть и.т.д.     
         | 
|||
| 
    20
    
        H A D G E H O G s    
     19.04.13 
            ✎
    18:04 
 | 
         
        (18) Мы обсудим это через час, за кружечкой пива.     
         | 
|||
| 
    21
    
        Fragster    
     гуру 
    19.04.13 
            ✎
    18:07 
 | 
         
        дарю, я сегодня добрый....
  
        ПроцессорВывода.НачатьВывод(); Пока Истина Цикл ОбработкаПрерыванияПользователя(); ЭлементРезультата = ПроцессорКомпоновки.Следующий(); Если ЭлементРезультата = Неопределено Тогда Прервать; КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); КонецЦикла; ПроцессорВывода.ЗакончитьВывод();  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |