Отладка в Infostart Toolkit

12.01.24

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

Отладка запросов, схем компоновки данных, просмотр содержимого менеджера временных таблиц.

Отладка запросов, схем компоновки данных

Под отладкой здесь имеется ввиду получение данных запросов, СКД из конфигуратора в момент отладки в продукте Infostart Toolkit (только управляемые формы).

В управляемых формах нельзя открыть форму в контексте сервера, но можно получить данные и сохранить - я называю это отложенной отладкой

Подход классический - ставим точку останова перед Запрос.Выполнить, где данные объекта уже заполнены (для СКД ПроцессорКомпоновки.Инициализировать).

 

Данные сохраняются с помощью встроенных экспортных функций:

Функция ИТК.Отл - Сохраняет данные в настройки

Параметры:
  • Объект  - Запрос, СхемаКомпоновкиДанных, ПостроительЗапроса, ПостроительОтчета, ДинамическийСписок, МакетКомпоновкиДанных - Объект
  • Имя  - Строка - Имя настройки
  • НастройкиКомпоновкиДанных - НастройкиКомпоновкиДанных - Настройки СКД (необязательный)
  • ВнешниеНаборыДанных - Структура - Внешние наборы данных (необязательный)
  • НастройкиКомпоновкиДанных и ВнешниеНаборыДанных используются только для СКД

Функция ИТК.ОтлВФайл - Сохраняет данные в файл

Параметры:
  • Объект  - Запрос, СхемаКомпоновкиДанных, ПостроительЗапроса, ПостроительОтчета, ДинамическийСписок, МакетКомпоновкиДанных - Объект
  • Путь  - Строка - Путь в который сохраняется файл (обязательный)
  • Имя  - Строка - Имя файл
  • НастройкиКомпоновкиДанных - НастройкиКомпоновкиДанных - Настройки СКД (необязательный)
  • ВнешниеНаборыДанных - Структура - Внешние наборы данных (необязательный)
  • НастройкиКомпоновкиДанных и ВнешниеНаборыДанных используются только для СКД

---------------------------------------------------------------------------------------------------------------------

Имя передавать не обязательно, тогда оно определяется автоматически в зависимости от выбранного объекта

В случае успеха возвращается строка "Сохранено успешно", при ошибке - текст ошибки

 
 Конструктор строки отладки

Далее открываем данные в консоли разработчика в последних используемых файлах, настройках

Считываются все данные: текст запроса, значения параметров, данные таблиц МВТ, внешние источники СКД

Оптимизирована работа с таблицами значений с большим количеством данных

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

Однако есть случаи, когда сохранение в настройки не работает:

  • Запись производится в транзакции которая отменена. Например, разбор ошибки при проведении документа - если документ не проводится транзакция отменяется и сохранение в настройки тоже. Для облегчения определения подобных ситуаций, если сохранение производится в активной транзакции, результатом функции является "Сохранено успешно (В ТРАНЗАКЦИИ)".
  • Временные таблицы содержат поля (выбираемые в запросе) типа: ОписаниеТипов, МоментВремени
  • Открыта консоль, в этом случае пункт в меню не появится сразу. Необходимо переоткрыть консоль. 

 

Получение данных отладки через буфер обмена

С версии 1.9 доступна, отладка через буфер обмена. Может понадобится, когда нужно отладить запрос, выполнение которого происходит в транзакции, а доступ к файлам на сервере в клиент-серверном варианте работы отсутствует (в этом случае сохранение данных отладки в файлы и в настройки не подходит).

Для использования новых возможностей в режиме отладки нужно выполнить функцию БСП  ОбщегоНазначения.ЗапросВСтрокуXML(Запрос) и сохранить результат в буфер обмена.

Недостатки

  • Работает только в конфигурациях с БСП
  • Не поддерживается получение содержимого временных таблиц

 

Просмотр менеджера временных таблиц в конфигураторе

Функция ИТК.МВТ(Объект, ВключатьПустые) - Собирает временные таблицы в структуру для удобства просмотра

Параметры:

 

  • Объект  - Запрос, МенеджерВременныхТаблиц
  • ВключатьПустые  - Булево (по умолчанию Истина)
  • В случае успеха возвращает структуру с содержимым таблиц, при ошибке - строка (например: "Недопустимый тип объекта, принимаются Запрос или МенеджерВременныхТаблиц")

Результат, обратите внимание, что количество строк в ТЗ добавляется в ключ структуры

 

Функции для клиентского режима

С версии 2.0 добавлены функции для отключения обработчиков ожидания

ОтключитьОбработчик(Форма, ИмяОбработчика)
ОтключитьГлобальныйОбработчик(ИмяОбработчика)

в случае успеха возвращается Истина
 

См.также:

Отладка запроса с содержимым временных таблиц (управляемые формы) 

Отладка Консоль Запрос Конфигуратор МВТ СКД Infostart Toolkit Инструменты Разработчик Программист

См. также

SALE! 15%

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

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

10000 руб.

02.09.2020    159389    872    399    

861

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    7764    55    22    

66

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

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

9360 руб.

17.05.2024    23430    68    45    

117

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10412    36    20    

61

SALE! 15%

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

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

22200 19980 руб.

06.10.2023    15395    35    7    

70

SALE! 35%

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

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

4800 3120 руб.

14.01.2013    187970    1138    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17301    6    32    

42

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

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7694    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. zqzq 25 06.11.20 08:46 Сейчас в теме
Однако есть случаи, когда сохранение в настройки не работает - если запись производится в транзакции которая отменена
По идее, если через фоновое задание сохранять, можно обойти эту проблему.
Evg-Lylyk; +1 Ответить
2. Evg-Lylyk 4841 06.11.20 08:48 Сейчас в теме
(1) Хорошая идея, спасибо
3. PLAstic 296 06.11.20 14:50 Сейчас в теме
Ребят, увольте, пожалуйста, разработчика этого... э... продукта.
Или ему слишком лень, или он просто не знаком со стандартами разработки от 1С. Руки у него отсохнут дать нормальные названия переменным/процедурам/функциям?

ИТК
Отл
ОтлВФайл
МВТ

Доржи столько слов хороших говорил про ваши разработки и разработчиков и тут так облажаться... Это же не колхоз "Красный лапоть", это ж инфостарт...

https://its.1c.ru/db/v8std#content:647:hdoc
uribur; zaic; Kaval88; qwinter; +4 12 Ответить
9. triviumfan 97 07.11.20 00:46 Сейчас в теме
(3) Что-то есть в твоих словах, отчасти соглашусь, что имена процедур "так себе".
Но мог бы поуважительней. Взрослые же люди.
vladimir.salihvanov; ValentinGushchin; Evg-Lylyk; +3 Ответить
11. SeiOkami 3515 08.11.20 18:19 Сейчас в теме
(3) глупости какие
этот продукт имеет назначение быстро и удобно юзать в отладке
короткие названия просто необходимы для этого

или вы будете в отладке вбивать что-то вроде:
МенеджерОтладкиИмениБориса.СтруктураИзМенеджераВременныхТаблицЗапроса()
odinsmot; Созинов; Good_Smile; jobkostya1c_ERP; tormozit; Светлый ум; nekit_rdx; curdate; Evg-Lylyk; vardeg; +10 Ответить
12. sashocq 193 09.11.20 11:16 Сейчас в теме
(3) Вы ни разу не сталкивались с ограничением кол-ва символов на переменную в отладчике? Я сталкивался.

P. S. А 30-символьные имена модулей от 1С - это вообще издевательство над читателями кода.
jobkostya1c_ERP; +1 Ответить
13. PLAstic 296 09.11.20 11:20 Сейчас в теме
(12) Вы можете считать это издевательством, но это стандарт от 1С, которого придерживаются почти все. Подумайте, если в команде разработчиков предприятия есть человек, который пишет по своим уникальным стандартам, что лучше сделать руководству команды? Правильно, уволить и найти того, кто придерживается стандартов.
Вы либо ещё слишком молоды в работе с 1С, либо не работали в командах. Если первое, рекомендую пытаться работать по стандартам 1С.
14. It-developer 26 09.11.20 16:47 Сейчас в теме
(13) Представьте модуль 30-символов, затем имя функции 30 символов и еще 3-5 параметров с огромными именами. Теперь нам ЭТО надо где-то вызвать. Получаем огромный многострочный вызов одной(!) функции. Стандарты это хорошо, но в 1с они неправильные - их надо пересмотреть. Есть такая книжка Clean Code - эти стандарты лучше, чем стандарты 1с
Altez50; nekit_rdx; 7OH; sashocq; artbear; +5 Ответить
16. teller 23.11.20 07:05 Сейчас в теме
(13)
уволить и найти того, кто придерживается стандартов.
Вы либо ещё слишком молоды в работе с 1С,

а вы сталкивались с unix , там cp,rm,ln ...
а C видели - *ptr++
может наоборот - автор постарше вас:)))
15. artbear 1563 09.11.20 16:58 Сейчас в теме
(3) Коллега, Давайте к конструктиву перейдем.

Критиковать очень легко без предложений на исправление (

Лучше предложите подходящие наименования вместо упомянутых и совместно обсудим

ИТК
Отл
ОтлВФайл
МВТ
tolyan_ekb; +1 Ответить
4. Evg-Lylyk 4841 06.11.20 14:57 Сейчас в теме
(3) Это сделано для удобства набора и запоминания это же нужно будет набирать в отладке
ИТК - Это префикс всего расширения.
Вам удобнее будет набирать ИТК_ОтладкаЗапросов.Отладить() !?
jobkostya1c_ERP; artbear; ubnkfl; Andrefan; +4 Ответить
5. PLAstic 296 06.11.20 15:15 Сейчас в теме
(4) Да, конечно, мне удобнее писать на русском легко читаемом языке, чем догадываться спустя неделю, что означает "Отл". Отлов, отличие, отливайс... Загляните всё же в стандарт от 1С. Они там не стесняются давать наименования длиннее 7 символов.
8. ubnkfl 06.11.20 16:57 Сейчас в теме
(4) я считаю, что коллега выступает не по теме. Подобной отладкой пользуюсь много лет в ИР, поэтому понятно, зачем имена процедур сделаны такие короткие - в табло нет никакого автоввода.
tormozit; JohnyDeath; zqzq; Evg-Lylyk; cleaner_it; +5 Ответить
6. Evg-Lylyk 4841 06.11.20 15:17 Сейчас в теме
(5) Стандарты соблюдаем еще раз почитаем. Ваша точка зрения понятна, постараемся учесть.
7. Andrefan 06.11.20 16:24 Сейчас в теме
(3) Именование переменных и написание кода по стандартам от вендора никто конечно не отменял, но из-за этих правил в типовых много конструкций, которые приходится помещать в один экран (опять же по стандартам) с помощью множественного переноса строк, что очень портит читаемость. Код должен быть не только "по правилам" но и компактен по горизонтали для удобного восприятия.
Пользователь этих инструментов применяет их чтобы разбирать какие-то проблемы, тестировать и отлаживать, поэтому сокращение "Отл" в первую очередь ассоциируется именно с отладкой кода а не с отловом, отливом и прочим.
Евгений, Ваш код, префиксация и прочие правила именования очень хороши и удобны, не стоит ничего менять.
odinsmot; nekit_rdx; curdate; unichkin; sashocq; artbear; It-developer; Areal; Evg-Lylyk; ubnkfl; +10 Ответить
10. Yashazz 4790 07.11.20 19:52 Сейчас в теме
Евгений, не слушайте их. Стандарты эти, во-первых, не особо практичны (а в данном случае просто вредны); во-вторых, 1С их сама нифига не соблюдает (только когда вдруг вспоминают резко об этом, и то криво), а в третьих, они меняются.
В конкретно случае вашего инструмента - всё сделано правильно, и плевать на любые стандарты. Польза и отдача важнее.

Хотя, имхо, костыльный такой инструмент выходит. Есть в нём, вот правда, нечто "колхозное". Запоминать, потом выводить... Именем инфостарта хотелось бы называть более красивый и продвинутый инструмент. А это довольно банальное такое решение, уж простите.
Altez50; Светлый ум; Kostt; artbear; It-developer; +5 Ответить
17. rozer 311 17.03.23 17:27 Сейчас в теме
не могу отладить - в ИР нет проблем
пишет ошибку
пробовал и через "настройки" и "буфер" (тут вообще теряет ВТ)
Прикрепленные файлы:
акт.mcr
18. Evg-Lylyk 4841 17.03.23 18:17 Сейчас в теме
(17) Ок, нужно время разобраться
19. maxis33 45 18.08.23 15:53 Сейчас в теме
Кстати про "ИТК".
После установки Infostart Toolkit перестал работать один из древних отчетов, еще портированных с 7.7. Оказалось, что в отчете использовалась переменная "итк", и добавление в системе общего модуля с таким же названием сделало отчет неработоспособным.
Переменную пришлось переименовать, но случай интересный..
Evg-Lylyk; +1 Ответить
20. Evg-Lylyk 4841 21.08.23 09:08 Сейчас в теме
(19) Да... Вот почему лучше не использовать короткие имена
21. user1274184 18.07.24 13:14 Сейчас в теме
Воспользовался вашим гайдом, огромное спасибо! Получил запрос, в нем 15 таблиц. При выполнении все временные таблицы в Результате получают названия Запрос N1 ... Запрос N15. Можно как-нибудь настроить, чтобы таблицы в Результате получали наименования как временные таблицы в запросе?
Оставьте свое сообщение