Расширение не работает отладка

Отладка расширения конфигурации

Задолбался, не могу уловить суть с каким бубном запуститься, чтоб отладчик видел расширение.
Суть такова: добавил в расширение форму документа, в форме добавил кнопку открывающую форму обработки (из расширения). В режиме предприятия все работает, но при попытке отладки — при открытии формы дока либо просит закрыть расширение в конфигураторе (закрыть/стартануть/открыть — толку нет, отладчик не цепляет), либо не ругается, но и в отладчике по точке останова не тормазится. При том, что не всегда и иногда тормазится. Не могу уловить систему.. Как правильно запустить отладку?

Добавлено через 18 минут
Вроде разобрался.

Добавлено через 3 минуты
При первом запуске и открытии расширенной формы происходит «регистрация» расширения, (тоже что и через «все функции» — «стандартные» — «управление расширениями» — «загрузить» [сохраненную из конфигуратора .cfe]).
В обоих случаях надо закрыть и снова запустить 1сПредприятие — вроде все нормально отлаживается и «тормазится».

Влияние расширения конфигурации на скорость загрузки конфигурации
Платформа 1С:Предприятие 8.3 (8.3.11.2867) Конфигурация УправлениеТорговымПредприятиемДляУкраины.

Можно ли удалять после установки расширения папку установщика расширения
Надо было установить расширение, сделал папку на хостинге(tmp) и скопировал файлзилой туда.

Как добавить расширения к файлу без расширения?
Помогите не знаю куда писать. Делаю конвертер изображения на Visual Studio vb . Суть в чем — есть.

Расширения.
Как изменить расширения видео на Windows7 ?

Расширения
Подскажите пожалуйста как указать несколько типов расширения для кнопки обзор Вот вид .

Методы расширения
Доброго времени суток. Пожалуйста,посоветуйте справочник или что-то наподобие учебника по методам.

Источник

Расширения конфигурации 1С : Как подключить отладку

В типовых конфигурациях на основе библиотеки стандартных подсистем (БСП) при отладке расширений встречается вот такое страшное сообщение “При выполнении операции над расширением возникла ошибка”:

Оно возникает если в конфигураторе открыто наше расширение и лечится только закрытием окна расширения.

Для того, чтобы подключить отладку в расширении следует использовать ключ командной строки – “РежимОтладки”

Это упрощает отладку кода. В частности:

  • Все длительные операции выполняются сразу, без запуска фонового задания;
  • При разработке расширений конфигурации, возможен запуск с установленными расширениями конфигурации, которые в данный момент открыты в конфигураторе (при условии, что версия конфигурации и версии расширений не менялись).

Для того чтобы его установить:

  • Запустить предприятия с ключом командной строки – ” /C РежимОтладки “
  • В режиме конфигуратора установить параметр запуска:
    Сервис -> Параметры -> Запуск 1С:Предприятия -> Параметр запуска: ввести строку
Читайте также:  Не работает чувствительность ввода дискорд

При первом подключении расширения или при изменении в версии расширения или поставщика, отладка может не подключится с таким же сообщением.

Для того, чтобы исправить эту ситуацию можно попробовать следующие действия:

1. В конфигураторе закрыть это расширение
2. Запустить конфигурацию в режиме предприятие и открыть форму, связанную с расширением
3. Открыть расширение в конфигураторе
4. Перезапустить отладку.

Источник

Отладка с использованием расширений

Не так давно столкнулся с задачей, для решения которой стандартного функционала отладки оказалось недостаточно.

Некорректно формировалась печатная форма отчета, и нужно было понять, на каком этапе происходит «порча» макета.

Макет отчета хранился в ХЗ (Хранилище значений), среди множества других. Вызов в отладчике Макет.Записать(«C:/temp/1.mxl») ожидаемо сообщил, что я обращаюсь к процедуре как к функции, и ничего у меня не получится. Можно было бы написать обработку, которая получала бы макет так же, как это делает оригинальная процедура отчета, но для этого пришлось бы перелопатить эту процедуру, выделяя нужный код, а кроме того, результат был бы «на один раз», т.е. для следующей аналогичной задачи пришлось бы все делать с начала. Можно было бы снять конфигурацию с поддержки, внести в код изменения, которые выполняли бы требуемые действия. Но зачем? Есть куда более удобный и гораздо менее затратный по времени прием.

  1. Создаем новое расширение. Настройки значения не имеют, но я по привычке снимаю флаги «Безопасный режим» и «Защита от опасных действий».
  2. В расширении добавляем новый Общий модуль, в котором создаем экспортную функцию, которая в качестве параметров принимает Таблицу, которую требуется сохранить, и путь, по которому это нужно сделать:
  • После сохранения конфигурации и перезапуска отладки ловим момент, когда алгоритм получил нужный нам макет, после чего в Табло пишем вызов нашей функции: НашОбщийМодуль.СохранитьТабличныйДокументВФайл(Макет, «C:/temp/1.mxl»).
  • В нужной папке получаем сохраненный макет, который можно открыть и проверить, что же в действительности хранится в нашем ХЗ.
  • В моем случае дальнейшая отладка не понадобилась, т.к. проблема была именно в хранимом макете.

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

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

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

    Читайте также:  Как понять что фистула не работает

    Источник

    Не работает отладка серверных процедур в одной из баз на сервере приложений.

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

    Сервер приложений перезапускал.
    Базу из сервера приложений удалял и добавлял снова.
    Базу из списка баз стартера удалял и добавлял снова.
    Восстановить эту копию из SQL бэкапа рабочей базы пробовал.
    На другом сервере добавить проблемную базу пробовал.
    Ничего не помогло.

    Где стоит ещё покопать?

    (1) В параметрах отладки стоит «Отладка по протоколу TCP/IP». Как и на всех других базах. В «Предметах отладки» видит и клиента и сервер, подключается нормально. Выглядит окно так же, как и на других базах, где отладка работает нормально.
    (2) Не стоят. На других базах тоже не стоят. Попробовал поставить — не помогает.
    (3) Базу на сервер приложений удалял и добавлял снова. Надеюсь это почистило кэши, касающиеся её. Глобально кэши сервера приложений не чистил — ещё надо время найти, пользователей выгонять.
    (5) Предметы отладки видит. Окно с предметами отладки выглядит так же, как и на других базах.
    (6) О! Похоже близко от проблемы. Если запустить базу из конфигуратора в режиме отладки, потом отключиться от сервера в предметах отладки и подключиться снова, отладка начинает работать. В этом запуске. Снова запускаешь отладку — и опять приходится переподключаться в серверу.

    Значит вопрос перефразируется так: какого чёрта неправильно отладка подключается к серверу и куда попробовать потыкать пальцами, что бы она подключалась сразу сама правильно, не требуя ручного отключить/подключить в предметах отладки?

    Вопрос больше теоретический. Что бы самому понимать, если что куда лезть. Это сейчас база всего лишь одна из нескольких разработческих баз, с большой вероятностью проблема исчезнет, если её совсем убить и сделать новую с ДРУГИМ ИМЕНЕМ. Но понять-то хочется.

    Источник

    Не работает отладка 1С

    Разберем основные случаи когда и почему не работает отладка 1С.

    1. В списке предметов отладки не видны серверные сеансы

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

    2. В списке предметов отладки не видны ни клиентские ни серверные сеансы.

    Еще одной причиной отсутствия предметов отладки в списке является то, что предметы отладки находится не на том компьютере где запущен отладчик 1С. Актуально как для серверных так и для клиентских сеансов. Для решения проблемы обычно достаточно указать имя удаленного компьютера для поиска предметов отладки и обновить список.

    Читайте также:  Не работает видеокарта как исправить

    Если и после этого список пустой, то нужно вбить вместо имени IP-адрес удалённого компьютера. В случае если это помогло, то рекомендуется прописать привязки имен и IP-адресов компьютеров в файле hosts. Если и это не помогло то необходимо проверить настройку фаервола, разрешены ли на сервере 1С (или удаленном клиенте) входящие соединения с компьютера где запущен отладчик на порты 1560-1591.

    3. В списке предметов отладки не видны клиентские сеансы.

    Причина как правил в том, что не разрешена отладка клиентского приложения. Для разрешения отладки клиентского сеанса достаточно в настройках программы в режиме 1С Предприятие указать в параметре «Отладка в текущем сеансе» — Разрешена TCP/IP.

    4. Предмет отладки виден в конфигураторе и подключается, но точка останова все равно не срабатывает на строке кода.

    Данная проблема актуальна при отладке по протоколу TCP. Причина в том что отладчик не может принимать входящие соединение из-за того что брандмауер или фаервол блокируют сетевое взаимодействие между отладчиком и предметом отладки. Тут нужно понимать, что отладчик не только устанавливает исходящее соединение с предметом отладки, но также должен иметь возможность принимать входящее соединение. Проблема решается отключением фаервола на компьютере где запущен отладчик либо открытием входящих соединений на портах 1560-1591 для исполняемого файла 1cv8.exe.

    5. Программный код выполняется в сеансе фонового задания.

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

    6. Программный код выполняется в сеансе web-сервиса или http-сервиса.

    Как правило сеанс подключения к web-сервису http-сервису существует непродолжительное время и вручную подключиться к нему проблематично. Здесь так же достаточно включить автоматическое подключение к таким сеансам и отладчик сам будет находить и подключать предметы отладки, ваша задача только поставить точку останова в коде.

    Подводим итоги

    Как видим основные причины неработающей отладки 1С легко решаются. Пожалуй самой трудно-диагностируемой проблемой является работающий в сети фаервол, который может блокировать соединения между отладчиком и предметом отладки. В самом простом случае достаточно открыть порты для подключения как описано выше. В более сложном случае, когда отладчик и предмет отладки разделены NAT, может потребоваться проброс портов. Самый крайний случай когда из-за политик безопасности прямое сетевой взаимодействие по протоколу TCP между отладчиком и предметом отладки не возможно, следует рассмотреть вариант отладки по протоколу HTTP.

    Напоследок стоит отметить, что как правило отладка производиться на тестовом сервере 1С, который запускается на портах отличных от типового диапазона 1560-1561. Поэтому, все изложенное выше в части номеров портов, следует рассматривать в контексте ваших реально используемых диапазонов портов.

    Источник

    Оцените статью