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

24.06.23

Разработка - Инструментарий разработчика

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

Скачать исходный код

Наименование Файл Версия Размер
ОтладкаТаблиц
.epf 6,95Kb
158
.epf 2 6,95Kb 158 Скачать бесплатно

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

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

 

24.06.23. Исправлена ошибка при выводе в Excel если в таблице больше 65536 строк. Теперь создаётся 2 и более файлов.

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

отладка таблица запрос временная

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    125056    683    389    

732

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 руб.

06.10.2023    7792    24    6    

42

Infostart УДиФ: Управление данными и формами 1С

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    4295    12    2    

36

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2280 руб.

14.01.2013    178677    1084    0    

862

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99649    239    97    

298

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

Зарплата Учет рабочего времени Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Платные (руб)

Обработка предназначена для заполнения не цикличных график работы для вахтового метода работы и для работы в полевых условиях труда. Вводятся все виды времени вахтового цикла. Её использование позволяет не заполнять индивидуальные графики работы на каждого сотрудника, что сильно снижает трудозатраты на ввод данных. Решение предназначено для ЗУП 3.х; ЕРП 2.х; КА 2.х; ЗКГУ 3.х. Благодаря использованию обычных графиков работы, норму времени можно указать по графику пятидневки.

5400 руб.

18.12.2019    26127    28    6    

28

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18406    6    8    

40

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23863    16    15    

33
Отзывы
25. biimmap 1862 07.06.23 23:10 Сейчас в теме
Коллеги, те кто качает бесплатный файл и не ставит плюсы: ничего нигде не ёкает? Спасибо не учили говорить?
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sapervodichka 6799 01.02.23 23:57 Сейчас в теме
Круто, опубликовал как и обещал +1
kaaasteeen; biimmap; +2 Ответить
2. RustIG 1595 02.02.23 09:36 Сейчас в теме
(0) а зачем выгружать в эксель такое большое кол-во записей? и какое самое большое кол-во записей приходилось выгружать в эксель?
эксель же тоже медленная при работе с большими списками...
4. biimmap 1862 02.02.23 12:20 Сейчас в теме
(2) Я же с ЗУПом работаю. И довольно часто таблицы просматриваю либо от начала до конца, либо через Excel накладываю фильтры.
Мне важно понимать насколько корректные данные попадают в запрос.

Последний кусок кода - эт я пишу нормальный перенос данных из ЗУП 2.5/УПП в ЗУП 3.1. Выгружаю в Excel что получается, в т.ч. сейчас вот заказчику отправил эти таблицы на изучение. Если не порежут финансирование этой задачи, то будет классный инструмент. Там ещё проверка исходных данных будет.
5. RustIG 1595 02.02.23 13:19 Сейчас в теме
(4) а насколько большие таблицы? 100 тыс записей (строк) - такое бывает? или 20 000 строк? или 2 000?
6. biimmap 1862 02.02.23 13:36 Сейчас в теме
(5) В том и дело, что бывают и большие. Но большинство в нормальном диапазоне.

Но т.к. консоль запросов/отчетов в ЗУПе применить крайне затруднительно... А просматривать просто отладчиком стало невозможно, вот и сделал такую поделку. Она решила мою задачу полностью!
3. abasovit 5 02.02.23 12:05 Сейчас в теме
Спасибо за статью
kaaasteeen; biimmap; +2 Ответить
7. biimmap 1862 02.02.23 15:17 Сейчас в теме
Коллеги, сделал обработку бесплатной! Не сразу нашёл как это сделать...

На мой взгляд обработка должна помочь ЗУПерам в отладке, т.к. консоль не подходит. Может и остальным коллегам подойдёт...

Поэтому качаем, не стесняемся! Вместо стартмани принимаю плюсы)
RibD; DeD MustDie; Sejix; zaxsspam; MikhailDr; students; gucci76; vakham; VOA2009; kaaasteeen; dimkor41; katakuna; mvxyz; Redokov; Dariel; Vladimir-R; spyryty-santyum; puzo50; mkolpakov; user768319; mrChOP93; user1904010; RustIG; +23 Ответить
10. mrChOP93 96 03.02.23 07:11 Сейчас в теме
(7)
т.к. консоль не подходит

Я консолью из инфостарт тул кит пользуюсь для этого, она может сохранять итоговый запрос из отладки со всеми данными промежуточных таблиц.
mkolpakov; +1 Ответить
11. biimmap 1862 03.02.23 10:52 Сейчас в теме
(10) Ну вот сравни простоту моего инструмента и навороченность их. и зачем? Так тот ещё и кучу денег стоит)
8. starik-2005 3036 03.02.23 00:18 Сейчас в теме
Эксель умеет открывать XML-таблицы. Делает это быстро и сразу автофильтр вроде как в них устанавливает.
9. biimmap 1862 03.02.23 00:21 Сейчас в теме
(8) Прикольно. а как это должно мне помочь в отладке?
12. binx 167 03.02.23 12:35 Сейчас в теме
Пользуйтесь http://devtool1c.ucoz.ru/ Инструменты разработчика, все что нужно для отладки в одном инструменте.
13. biimmap 1862 03.02.23 12:49 Сейчас в теме
(12) Спасибо, пользуйтесь сами) Прошу не кидать ссылки, от которых запускается много тупой рекламы. ок?
14. binx 167 03.02.23 13:06 Сейчас в теме
(13) друг мой, это не реклама, а дружеский совет, абсолютно бесплатный инструмент.
15. biimmap 1862 03.02.23 13:09 Сейчас в теме
(14) Открываю сайт, запускается лишнее окно с рекламой, по самой ссылке 6 тупых картинок и никакого описания поделки нигде не видно. Вот о чём речь. Поэтому повторю просьбу: не кидай ссылки таких мусорных сайтов.
17. reset2 17 03.02.23 18:15 Сейчас в теме
(15) еще бы в 2023 году жаловаться на рекламу на сайтах...
А инструмент по ссылке действительно стоящий, я бы даже сказал легендарный!!!
Если уж так боишься внешних ссылок, вот тебе ссылка на инфостарт - https://infostart.ru/public/15126/
Xershi; tormozit; gucci76; biimmap; +4 Ответить
18. biimmap 1862 03.02.23 18:20 Сейчас в теме
(17) Теперь понимаю о каком инструменте речь)
16. binx 167 03.02.23 13:18 Сейчас в теме
потому что платформе ucoz бесплатное размещение сайтов, рекламу размещает домен ucoz, а не автор, он на ней не зарабатывает.
19. triviumfan 93 07.02.23 16:53 Сейчас в теме
Обычно пользуюсь этим:
ОбщегоНазначенияУТ.СохранитьТаблицуЗначенийВФайл(ТЗ, ПутьКФайлу);

Зачем велосипед
odinsmot; +1 Ответить
20. biimmap 1862 07.02.23 23:48 Сейчас в теме
(19) Может затем, что УПП и ЗУП это вообще не УТ!? Как думаешь?
21. пользователь 08.02.23 09:30
Сообщение было скрыто модератором.
...
22. пользователь 08.02.23 23:25
Сообщение было скрыто модератором.
...
23. mwoleg 55 10.03.23 16:59 Сейчас в теме
Согласен с triviumfan
в ERP УП2, Модуль "ОбщегоНазначенияУТ" - содержит область "МетодыДляОтладкиИТестирования" в которой собраны весьма полезные функции с подробным описанием каждой

ПоказатьВременнуюТаблицу()
СохранитьТаблицуЗначенийВФайл()
СравнитьТаблицыЗначений()

Ищите решения в БСП и общих модулях разных конфигураций. Скорее всего, все уже придумано.
24. biimmap 1862 10.03.23 20:38 Сейчас в теме
(23) Найди в ЗУПе этот замечательный модуль!
25. biimmap 1862 07.06.23 23:10 Сейчас в теме
Коллеги, те кто качает бесплатный файл и не ставит плюсы: ничего нигде не ёкает? Спасибо не учили говорить?
Оставьте свое сообщение