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

03.04.25

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

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

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Бесплатно
ОтладкаТаблиц
.epf 6,95Kb ver:2
181 Скачать бесплатно

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

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

 

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. Шаблон кода

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

Проверено на следующих конфигурациях и релизах:

  • Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.18.521

Вступайте в нашу телеграмм-группу Инфостарт

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

См. также

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

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

15500 руб.

02.09.2020    212299    1159    413    

1048

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    40149    219    113    

207

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

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

16000 руб.

10.11.2023    18728    78    39    

92

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    26387    67    30    

96

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9500 руб.

17.05.2024    37475    134    55    

176

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше.<br/> Далее в публикации:<br/> MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    3562    6    10    

14

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    3637    7    0    

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

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

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

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

Поэтому качаем, не стесняемся! Вместо стартмани принимаю плюсы)
ulyss2sz; sergiz; 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; +25 Ответить
10. mrChOP93 99 03.02.23 07:11 Сейчас в теме
(7)
т.к. консоль не подходит

Я консолью из инфостарт тул кит пользуюсь для этого, она может сохранять итоговый запрос из отладки со всеми данными промежуточных таблиц.
mkolpakov; +1 Ответить
11. biimmap 2076 03.02.23 10:52 Сейчас в теме
(10) Ну вот сравни простоту моего инструмента и навороченность их. и зачем? Так тот ещё и кучу денег стоит)
8. starik-2005 3188 03.02.23 00:18 Сейчас в теме
Эксель умеет открывать XML-таблицы. Делает это быстро и сразу автофильтр вроде как в них устанавливает.
9. biimmap 2076 03.02.23 00:21 Сейчас в теме
(8) Прикольно. а как это должно мне помочь в отладке?
12. binx 176 03.02.23 12:35 Сейчас в теме
Пользуйтесь http://devtool1c.ucoz.ru/ Инструменты разработчика, все что нужно для отладки в одном инструменте.
13. biimmap 2076 03.02.23 12:49 Сейчас в теме
(12) Спасибо, пользуйтесь сами) Прошу не кидать ссылки, от которых запускается много тупой рекламы. ок?
14. binx 176 03.02.23 13:06 Сейчас в теме
(13) друг мой, это не реклама, а дружеский совет, абсолютно бесплатный инструмент.
15. biimmap 2076 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 2076 03.02.23 18:20 Сейчас в теме
(17) Теперь понимаю о каком инструменте речь)
16. binx 176 03.02.23 13:18 Сейчас в теме
потому что платформе ucoz бесплатное размещение сайтов, рекламу размещает домен ucoz, а не автор, он на ней не зарабатывает.
19. triviumfan 102 07.02.23 16:53 Сейчас в теме
Обычно пользуюсь этим:
ОбщегоНазначенияУТ.СохранитьТаблицуЗначенийВФайл(ТЗ, ПутьКФайлу);

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

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

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