Каталог решений - Отладка временных таблиц и типа ТаблицаЗначений

Отладка временных таблиц и типа ТаблицаЗначений

Отладка временных таблиц и типа ТаблицаЗначений

В наличии

Установив 21-й релиз платформы, многие столкнулись с проблемами в отладке таблиц. При попытке просмотреть большую таблицу во всех колонках и строках написано «Расчет значения». Через время появляются нормальные значения. Но пока долистаешь до конца, в начале уже опять «Расчет значения». Вывод таблиц в макет стал невозможным.

Категория:

Описание

Обработка написана для обычных форм. Для управляемых форм необходимо лишь учесть, что адрес для сохранения файлов должен быть доступен с сервера!  Обычно это не является проблемой, т.к. есть "расшаренные" папки.

Обработку можно вставить в конфигурацию, можно использовать как внешнюю. 

Обработка не имеет экранной формы!

В модуле объекта (менеджера для управляемых форм) написан программный интерфейс для:

1. Перехвата значения временной таблицы в любой части модуля. Функция "ПолучитьВТ"

2. Вывода значения с типом "ТаблицаЗначений" в макет с сохранением макета в файл (без вывода на экран). Процедура "ВывестиТаблицуВФайл"

3. Вывода временной таблицы в файл. Используются обе вышеописанные функции. Процедура "ВывестиВременнуюТаблицуВФайл"

Для использования программного интерфейса необходимо сначала создать менеджер обработки:

ОтладкаТаблиц = Обработки.ОтладкаТаблиц.Создать(); //Если встроена в конфигурацию
ОтладкаТаблиц = ВнешниеОбработки.Создать(ПутьКФайлуОбработки, Ложь, Ложь); //Для внешних

ТаблицаДляОтладки = ОтладкаТаблиц.ПолучитьВТ(МенеджерВременныхТаблиц, "ВТ_КадровыеДанные", "Сотрудник, Период");
	
ОтладкаТаблиц.ВывестиВременнуюТаблицуВФайл(МенеджерВременныхТаблиц, "ВТ_КадровыеДанные", "Сотрудник, Период");

ОтладкаТаблиц.ВывестиТаблицуВФайл(ТаблицаОткрытыхСтавок, "Имя таблицы");

В параметрах нужно задать Менеджер временных таблиц и Имя временной таблицы. Опционально сортировку.

Для вывода Таблицы значений достаточно передать саму таблицу значений. Опционально вторым параметром можно задать имя таблицы.

Вывод файла происходит через заполнение макета с типом "Табличный документ". Табличный документ через метод Записать() пишется в файл *.xls.

При использовании программного интерфейса стоит учитывать размер таблиц. Вывод в табличный документ и сохранение в файл занимает пару секунд.

Тестировал на размере таблицы 16 000 записей. 

Каталог для сохранения файлов указывается в Модуле объекта. Его необходимо изменить:

КаталогФайлов = "C:\Users\filatovps\Desktop\Филатов\Сохраненные файлы\";

или имя на сервере (необходимо для управляемых форм):

КаталогФайлов = "\\s-dcr-db02.int\ZUP\Сохраненные файлы\";

Имя файла формируется таким образом, чтобы никогда не повториться. Код получения имени файла:

ТекВремя = ТекущаяДатаСеанса();
	
ИмяФайла = ИмяТаблицы + Строка(Год(ТекВремя)) + Строка(Месяц(ТекВремя)) + Строка(День(ТекВремя)) + 
						Строка(Час(ТекВремя)) + Строка(Минута(ТекВремя)) + Строка(Секунда(ТекВремя)) + ".xls";

Тестировалось на релизе платформы 8.3.21.1622. Но значения это не имеет. 

Один из примеров кода, который показывает полезность данной поделки. Есть структура таблиц, её можно полностью сохранить в Excel.

В качестве имени файла используется название таблицы. 

Если СохранитьВExcel Тогда
    Для Каждого ТекТаблица Из СтруктураТаблицСправочников Цикл
        Если ТипЗнч(ТекТаблица.Значение) = Тип("ТаблицаЗначений") Тогда
            ОтладкаТаблиц = Обработки.ОтладкаТаблиц.Создать();
            ОтладкаТаблиц.ВывестиТаблицуВФайл(ТекТаблица.Значение, ТекТаблица.Ключ);
        КонецЕсли;
    КонецЦикла;
КонецЕсли;

ВАЖНО! Если имя таблицы указывается как параметр, то дата и время не добавляются в имени файла. При необходимости Вы можете это изменить.

 

Другие полезные обработки:

Пример работы с файлами odt в клиент-серверной модели работы

Чтение данных из Excel. Шаблон кода

Помощник заполнения графиков при вахтовом методе работы

has been added to your cart:
Оформление заказа