Отладка в Infostart Toolkit

12.01.24

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

Недостатки

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

 

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

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

Параметры:

 

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

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

 

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

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

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

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

См.также:

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

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

См. также

SALE! 20%

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

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

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

13000 10400 руб.

02.09.2020    122171    670    389    

714

SALE! 25%

Infostart PrintWizard

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

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

18000 15300 руб.

06.10.2023    7294    21    6    

39

SALE! 20%

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

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

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

10000 8000 руб.

10.11.2023    3541    11    1    

34

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177753    1073    0    

849

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

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

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

5000 руб.

07.02.2018    99347    239    97    

296

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

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

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

3000 руб.

27.08.2019    18116    6    8    

39

1С HTML Шаблоны / HTML Templates

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

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28110    3    10    

15

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

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

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

2400 руб.

24.09.2019    23604    15    15    

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

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

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

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

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

P. S. А 30-символьные имена модулей от 1С - это вообще издевательство над читателями кода.
jobkostya1c_ERP; +1 Ответить
13. PLAstic 295 09.11.20 11:20 Сейчас в теме
(12) Вы можете считать это издевательством, но это стандарт от 1С, которого придерживаются почти все. Подумайте, если в команде разработчиков предприятия есть человек, который пишет по своим уникальным стандартам, что лучше сделать руководству команды? Правильно, уволить и найти того, кто придерживается стандартов.
Вы либо ещё слишком молоды в работе с 1С, либо не работали в командах. Если первое, рекомендую пытаться работать по стандартам 1С.
14. It-developer 24 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 1448 09.11.20 16:58 Сейчас в теме
(3) Коллега, Давайте к конструктиву перейдем.

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

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

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

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