Як з'ясувалося не всі 1С-розробники в курсі, що виконувати налагодження можна і при запуску конфігурації в режимі web-клієнта. Адже як воно буває, в товстому і тонкому клієнті все працює нормально, а при роботі через браузер починають з'являтися різного роду підводні камені.

Якщо такі проблеми виявилися, то кращий спосіб їх позбутися - пройтися по коду отладчиком. Правда тут є один нюанс. Після публікації додатка на web-сервері, в вікні «Підключення налагодження» не відображається сеанс, відкритий з веб-клієнта.

Мій приятель зіткнувся з подібною проблемою і був упевнений, що налагодження при роботі в режимі веб-клієнта в «1С: Підприємство» в принципі неможлива. Але ж насправді це помилки. Виконувати налагодження можна стандартними засобами.

Як виконати налагодження в режимі веб-клієнта

Насамперед виконуємо публікацію на веб-сервері (я для розробки використовую Apache). Наступним кроком запускаємо браузер і вбиваємо url для доступу до бази:

Http: // localhost / ІмяПублікацііНаСервере? Debug

Http: // localhost / test? Debug

Якщо все вказали правильно, то потрапите на стартову форму своєї конфігурації. Вводите логін / пароль, а потім повертаєтеся в конфігуратор. У головному меню вибираєте пункт «Налагодження» -\u003e «Підключення» і вибираєте предмет налагодження «Веб-клієнт». Далі процес налагодження виконуєте в звичайному режимі.

А можна і по-іншому

Це далеко не єдиний спосіб виконувати налагодження веб-клієнта. Вказати параметри для відладчика можна:

  • У вікні публікації ІБ на веб-сервері. Дивимося групу «Налагодження». Там необхідно встановити прапорець і вказати адресу відладчика: http: // localhost / demo? Debug & debuggerurl \u003d 127.0.0.1
  • Шляхом внесення змін до файл vrd. За фактом ви робите те ж саме в вікні публікації.
  • Якщо не працює

    Перший спосіб у мене працює завжди. Ось при вказівці URL в вікні публікації рішення часто виникали містичні дивацтва. Конфігуратор періодично відмовлявся знаходити предмет налагодження. Вирішити проблему допомагав перезапуск веб-сервера. У підсумку частіше я користуюся першим способом.

    Ах, так, трохи не забув. якщо ви працюєте в клієнт-серверному режимі, то переконаєтеся, що сервер « 1с Підприємство»Запущений в отладочном режимі (застосовується ключ debug).

    налагодження 1С - дуже потужний і функціональний механізм платформи 1С 8.3, що дозволяє швидко знайти помилки в програмному коді (в інших мовах програмування це називається «дебаг», від англійського «debug»).

    Нижче розглянемо основні методи використання механізму налагодження у вигляді практичної інструкції на конкретному прикладі.

    Увага! Якщо Ви використовуєте клієнт-серверний режим роботи (на сервері), Вам необхідно.

    Найпростіший спосіб запустити налагодження в 1С - відкрити 1С в режимі і з нього запустити режим налагодження в потрібному режимі роботи (тонкому / товстому, керованому / звичайному):

    Налагодження фонових завдань 1С

    Для того щоб мати можливість налагодження фонових завдань, необхідно зайти в меню «Налагодження - Підключення». У вікні, натиснути кнопку «Автоматичне підключення»:

    У цьому вікні Ви можете встановити відповідний прапор.

    Крім фонових завдань, в даному вікні Ви можете включити налагодження зовнішніх з'єднань, http і.

    Установка точки зупинки (брейкпойнта)

    Другим етапом при налагодженні є установка точки зупинки (в інших мовах програмування - брейкпойнт).

    Для прикладу я вибрав для налагодження обробник «При зміні» на формі документа:

    Для того щоб встановити точку зупину, необхідно знайти потрібний програмний код і натиснути двічі на поле, зліва від поля введення коду (або натиснути кнопку F9):

    Щоб побачити список всіх встановлених, необхідно зайти в меню Налагодження - Список точок зупину (alt + F9):

    Отримайте 267 відеоуроків по 1С безкоштовно:

    Точка зупину 1С з умовою (синя)

    Крім звичайної точки зупину в 1С є ще один вид точок зупину - з умовою. Графічно така точка відображається синім кольором. Така точка зупинки дуже корисна, коли потрібно відловити якусь певну ітерацію при обході в циклі. Налагодження включиться в той момент, коли виконається певна умова.

    Наприклад, зупинимо цикл на рядку з номером 25:

    Неактивна точка зупинки (сіра)

    Сіра точка зупинки означає, що вона не активна, система не буде зупинятися на такій точці. Вдіяти не активної її можна, натиснувши спеціальну кнопку на панелі «Відключити точку зупину» (shift + ctrl + F9):

    Точка зупину помилково

    Система може зупинитися по викликаної помилку, для цього необхідно в меню Налагодження - Зупинка помилково встановити відповідний прапор:

    Також зупинка помилково має функціонал, аналогічний точці зупинки з умовою, - вона дозволяє відфільтрувати виключення з певним текстом помилки.

    Покрокове переміщення по програмному коду 1С

    Після установки точки зупину необхідно ініціювати виконання потрібного програмного коду, щоб система увійшла в покрокове виконання коду. Відображення стрілки свідчить про запуск режиму покрокового виконання коду:

    Для того щоб зробити крок до наступного рядка, необхідно натиснути кнопку «F11" (Зробити крок в).

    Якщо Ви покроково проходьте по рядках програмного коду і на рядку присутній процедура або функція, то Ви «провалитеся» всередину цієї процедури (або функції).

    Щоб не «провалюватися», досить замість F11 (Зробити крок в) виконувати перехід по рядках кнопкою F10 (Зробити крок через), ця кнопка дозволяє переступати через процедури в програмному коді.

    Щоб перейти з поточного положення курсору до потрібного, минаючи проміжні рядки коду, необхідно встановити курсор на потрібному рядку і натиснути shift + F10 (Йти до курсора).

    Аналіз значень в режимі налагодження 1С

    Подивитися значення певних значень можна різними способами:

    Відображення значення при наведенні курсору

    При наведенні на змінну система «підсвічує» значення змінної:

    Використання «Обчислити вираз» або «Табло»

    • форму обчислити вираз можна викликати за допомогою контекстного меню або натискання швидких клавіш - (Shift + F9), або меню (Налагодження - Обчислити вираз).
    • табло викликається за допомогою швидких клавіш Ctrl + Alt + W або з меню (Налагодження - Табло).

    Ці два методи аналізу дуже схожі, основні відмінності в інтерфейсі. Табло зручніше використовувати для групи показників, вирази - для одиночних.

    Використовувати ці методи дуже просто. Досить ввести в табло ім'я потрібної змінної. Великий плюс довільних обчислень - Ви можете додати в вираз свої дані.

    наприклад:

    Дуже корисно використовувати обчислення виразу і виконати запит, вивантажити в таблицю значень і подивитися її.

    Як дізнатися звідки викликана процедура в налагодженні - Стек викликів

    Дуже часто потрібно зрозуміти, звідки була викликана та чи інша процедура або функція і з якими параметрами. Для цього в 1С передбачена спеціальна функція - «Стек викликів». Для запуску Стека викликів необхідно натиснути гарячі клавіші - Ctrl + Alt + C або через меню (Налагодження - Стек викликів).

    За допомогою нього Ви можете детально дізнатися, звідки була викликана процедура і з якими параметрами:

    Якщо Вас цікавить оцінка продуктивності при налагодженні -.

    Дивіться також оглядове відео з налагодження в 1С:

    Використовувати режим налагодження в 1С необхідно при проектуванні і тестуванні типових і самостійно розроблених конфігурацій будь-якої складності. Даний механізм допомагає розробникам не тільки усунути виявлені помилки, але і передбачити багато вузькі місця до запуску системи в експлуатацію. Щоб використовувати всі можливості цього режиму платформи 1С: Підприємство 8.3, треба не тільки включити його, а й знати призначення його основних інструментів.

    Функція переходу в режим налагодження на сервері 1С

    Якщо ви працюєте в клієнт-серверному варіанті, то треба, щоб користуватися всіма функціями відладчика 1С, пройти процедуру включення налагодження на сервері. Вона не займає багато часу і не вимагає великих знань, але акуратним бути все-таки доведеться, адже процес торкнеться зміна реєстру на сервері.

    Включити налагодження в 1С ви зможете за наступним алгоритмом:

    • Перейдіть на сервер 1С і відкрийте реєстр через функцію «Виконати» з меню «Пуск». Також можна скористатися одночасним натисканням клавіш Windows і R на клавіатурі. Введіть команду відкриття регістра - «regedit»;
    • У вікні, в дереві зліва пройдіть по шляху: «HKEY_LOCAL_MACHINE», «SYSTEM», «ControlSet001», «services», «1C: Enterprise 8.3 Server Agent»;
    • Виділивши нижній пункт, в правій частині знаходимо реквізит з ім'ям «ImagePath» і міняємо його за допомогою контекстного меню. Щоб підключити налагодження на сервері, до існуючого шляху додаємо рядок «-debug»;
    • Залишилося лише перезапустити агент сервера 1С і можна використовувати режим налагодження на сервері.

    Щоб запустити налагодження через клієнтську програму, заходимо в 1С в режимі конфігуратора і вибираємо в меню «Налагодження» потрібний режим. Більшість сучасних конфігурацій працюють в режимі тонкого клієнта, відповідно, і налагоджувати працездатність краще в даному виді клієнта. Якщо у вашій конфігурації використовуються різні види клієнтів, то для більшого спокою протестувати функціонал можна у всіх режимах. У момент запуску режиму налагодження 1С відкриває режим «Підприємство».


    Як тільки запуск 1С в режимі налагодження стався, ви побачите практично аналогічне вікно програми. Єдина відмінність буде знизу - 1С показує статистику по кількостей викликів на сірому тлі. Але якщо ви перейдіть в цей момент в конфігуратор, то помітите, що верхня панель змінилася. З'явилися нові кнопки, за допомогою яких ви і будете керувати режимом налагодження.

    Щоб отримати максимум користі від налагодження серверних процедур, потрібно знати основні можливості цього режиму, їх призначення та способи застосування. Звичайно, неможливо все зрозуміти на теоретичному рівні, але коли ви ознайомитеся з основами, то на практиці вам буде набагато легше. До того ж, більшість особливостей налагодження використовується рідко, тому глибокі знання цього механізму можуть стати в нагоді тільки через кілька років роботи.

    Серед тих можливостей режиму відладки «Підприємства», якими розробники 1С користуються регулярно, можна виділити наступні:

    • Точки зупинки;
    • Покрокова налагодження коду;
    • Перегляд значень;
    • Стек викликів.

    Функції налагодження 1С

    Основна можливість налагодження полягає в тому, щоб при роботі в режимі Підприємства 1С запустити налагодження і перевірити, як відпрацьовує код. Для цього розробники 1С встановлюють точку зупину на рядку алгоритму. Щоб це зробити, необхідно виділити мишкою рядок і натиснути кнопку із зображенням червоного кола. Також ви можете клацнути двічі на смузі зліва від тексту модуля або скористатися «гарячою» клавішею F9.

    Щоб побачити встановлені точки зупинки, скористайтеся меню «Налагодження». Там ви зможете прибрати всі точки, відключити їх, додати нову і ознайомитися з «гарячими» клавішами. Також в цьому меню можна встановити точку зупину з умовою (у вигляді синього кола). Вона стане в нагоді в ситуаціях, коли вам потрібно перевіряти код при виконанні умови, що вам доведеться прописати при установці точки.


    Ще один корисний механізм з цього меню - «Зупинка помилково», що дозволяє зупинятися лише в неприпустимих ситуаціях. Після зупинки ви потрапляєте в конфігуратор і можете використовувати інші можливості налагодження. Наприклад, переміщатися по рядках коду за допомогою спеціальних клавіш, описаних в меню «Налагодження», де зверху виведені більш популярні функції. Різниця між F10 і F11 полягає в тому, що в першому випадку ви будете потрапляти під вкладені функції і процедури.


    Серверна налагодження в 1С гарна ще й тим, що ви можете подивитися значення змінних після виконання кожного рядка коду. Найпростіший варіант - просто навести курсор миші, і 1С висвітить значення в випливаючим вікні. Але в платформі, в меню «Налагодження», вбудовані ще два інструменти:

    • При виклику відкривається вікно, в якому можна перетягнути змінні, виділивши їх подвійним натисканням в коді. У вікні показується їх значення і тип протягом усього налагодження - можна стежити за зміною в процесі виконання алгоритму;

    • Механізм для ситуацій, коли розробник хоче змоделювати, які дані він може отримати на поточний хід алгоритму. Дозволяє писати будь-які вирази і показує їх значення.


    Іноді організатори повинні дізнатися послідовність виклику процедур в алгоритмі. Для цього їм знадобиться механізм стека викликів з меню «Налагодження». При його виклику відкривається вікно, в якому ви можете побачити, з якої процедури була викликана та, де знаходиться курсор налагодження.


    Знати і застосовувати всі ці інструменти важливо для проведення тестів, перед тим як перенести свої доробки на робочу базу. Перерахованого вище набору механізмів більш ніж достатньо для успішної продуктивної роботи розробника в 1С. Але також важливо стежити за новим функціоналом, так як налагодження на сервері 1С 8.3 через кілька років може придбати нові можливості.

    Вітаємо всіх читачів порталу сайт, в цій статті ми поговоримо про точки зупину в 1С, а точніше про їх некоректну роботу в певних версіях платформи 1С.

    В кінці травня 2015 року побачила світ нова платформа 1С 8.3.6.2014. При роботі з даною платформою у багатьох програмістів виникли проблемні ситуації. Зокрема, належним чином не працювали точки зупину в конфігураторі при налагодженні програми. Як виявилося, проблеми були помічені при налагодження зовнішніх обробок, за допомогою обробки «Тестування зовнішніх друкованих форм».

    Давайте спочатку розберемо принцип роботи обробки «Тестування зовнішніх друкованих форм». За допомогою даної обробки ми вказували нашу зовнішню обробку (зовнішня друкована форма наприклад) (1), і потім відкривали цю ж друковану форму в коніфгураторе і ставили точки зупину, після цього запускали підприємство під налагодженням. При натисканні на кнопку (2) запускалася саме наша зовнішня друкована форма, а не згенерувала системою за замовчуванням в каталозі tmp, В результаті спрацьовувала точка зупинки в нашій обробці відкритої в конфігураторі. Все працювало як належить. Але це було раніше ... Якщо ми виконаємо ці дії в платформі 1С 8.3.6.2014 то точки зупину у зовнішній обробці спрацьовує не будуть! Як з'ясувалося дана ситуація виникала бо платформа 1С 8.3.6.2014 завантажувала зовнішню обробку в оперативну пам'ять, В той час як молодші версії платформи зберігали її в тимчасовий файл, який розташовувався в каталозі тимчасових файлів 1С заданих за замовчуванням.

    Рішення проблеми з точками зупинки в зовнішніх обробках на платформі 1С 8.3.6.2014

    На жаль, на поточний момент, вирішити проблему з точками зупинки в зовнішніх обробках на платформі 1С 8.3.6.2014 не вдалося. Вся справа в тому, що дана версія платформи зберігає обробку в оперативній пам'яті, а відладчик туди не потрапляє, тому що ми не можемо відкрити обробку в конфігураторі і поставити точку зупину. Будемо сподіватися, що фахівці з фірми 1С уможливлять захід у оперативну пам'ять отладчиком, або придумають альтернативні методи налагодження.

    Фактично модуль складається з функцій і процедур. Це рядки програми, об'єднані назвою. Усередині однієї функції може бути викликана інша, в тому числі що знаходиться в іншому модулі.

    Програма пишеться в режимі Конфігуратора 1С. Програма виконується в режимі Підприємства 1С.

    А як виконується програма?

    Як виконується програма?

    По-перше, при першому зверненні до модуля, виконуються рядки програми, розташовані в самому кінці модуля, не включені у функцію або процедуру (якщо такі є).

    По-друге, повинен відбутися виклик функції або процедури. Це може бути зроблено при виконанні якого-небудь іншого модуля. Якщо це модуль форми або модуль об'єкта - то в модулі є обробники. Обробники - це такі функції, які викликаються платформою 1С автоматично при виникненні певної події. Наприклад «при відкритті форми» виконується відповідний обробник (якщо він був призначений).

    Коли з'являється необхідність виконати функцію - платформа починає її виконання з першого рядка програми всередині функції і йде послідовно вниз до кінця функції, рядок за рядком.

    Виняток - якщо викликана інша функція, тоді платформа переходить до виконання неї і тільки потім повертається назад, звідки прийшла.

    Що таке налагодження 1С?

    Коли програма пишеться - програміст може тільки припустити як вона повинна працювати. Коли вона починає працювати по-справжньому, користувач вводить в поля форми якісь дані, починають діяти певні умови і налаштування і програма раптово може почати працювати не зовсім так, як припускав програміст.

    При цьому цікаві конкретні рішення, прийняті програмою, результати порівняння в умовах «Якщо» і так далі.

    Для цих цілей використовується налагодження 1С. Її загальна ідея полягає в тому, що програміст може поставити крапку зупинки на потрібному рядку програми і програма зупинить виконання на ній - на паузу. У цей час можна подивитися які значення прийняли змінні та інші параметри.

    Програміст може натиснути кнопку в отладчике 1С і програма продовжить своє виконання, але не цілком, а тільки на одну сходинку. І далі знову стане на паузу.

    Таким чином можна відловлювати проблемні місця програми.

    Запуск налагодження 1С

    Так як програма пишеться (і перебуває) в конфігураторі, а виконується в режимі Підприємства, то для використання налагодження 1С потрібно мати 1 конфигуратор і 1 налагоджувати режим Підприємства:

    • запущеними
    • пов'язаними.

    Режим Підприємства можна відразу запустити з налагодженням 1С. Для цього в конфігураторі можна використовувати відповідну кнопку як на картинці.

    Або використовувати меню Налагодження / Почати налагодження або Налагодження / Початок налагодження / Вибрати варіант клієнта 1С.

    Якщо ж у Вас вже є запущена 1С в режимі Підприємство і Ви хочете підключитися до неї, потрібно зробити наступні дії:
    1) В клієнті 1С в режимі Підприємство в меню Сервіс / Параметри на закладці «Службові» встановіть галочку «Налагодження в поточному сеансу дозволена»

    2) В конфигураторе виберіть пункт меню Налагодження / Підключення
    3) У вікні, виділіть курсором потрібний клієнт і натисніть кнопку Підключитися.

    Точка зупину 1С (брейкпоінт)

    Після того, як Ви пов'язали конфигуратор і запущений клієнт налагодженням 1С (тобто «підключилися отладчиком 1С») - всі дії програм з модулів цього клієнта виконуються під контролем цього конфігуратора.

    Щоб почати дивитися як відбувається виконання - необхідно встановити в потрібно місці точку зупину (брейкпоінт).

    Для цього необхідно відкрити той модуль, який Ви хочете налагоджувати. Далі знайти необхідну процедуру. Точку зупину можна встановити наступним чином:

    • Клацнути лівою кнопкою миші на сіру смугу зліва від текстів модулів
    • натиснути F9
    • Вибрати пункт меню Налагодження / Точка зупину.

    В результаті з'явиться червоний кружок, як на картинці. Це і є точка зупинки. Як тільки програма, що виконується в режимі Підприємство, дійде до цього рядка, вона перестане виконуватися і зупиниться на паузу.

    Коли це сталося (програма зупинилася на паузу) - на сходинці, на якій зараз «перебуває виконання» буде стояти жовта стрілка.

    Щоб переглянути значення змінної в цей момент - виділіть курсором необхідну змінну і натисніть Shift + F9.

    Щоб виконати один рядок (тобто перейти на наступний рядок) - натисніть відповідну кнопку як на зображенні або виберіть пункт з меню Налагодження 1С.

    Точка зупину з умовою

    Крім звичайної точки зупину, можна встановити таку, яка буде спрацьовувати тільки якщо виконується умова, вказане в ній. Вона називається «Точка зупину з умовою» - див. Однойменний пункт в меню Налагодження 1С.

    Наприклад, в програмі є цикл, який повторюється безліч разів. Ми можемо поставити крапку зупинки, яка спрацює на певному повторенні циклу ( «ітерації циклу»).

    Точка зупину помилково

    Для подібних цілей є точка зупинки, яка спрацьовує коли при роботі «в отладчике 1С» відбувається будь-яка помилка або помилки певного виду.

    Зверніть увагу, що така точка зупинки відловлює навіть ті помилки, які відбуваються в.