Имя: Пароль:
1C
 
как отладить пошагово общий модуль на стороне сервера?
,
0 Cerera
 
17.12.19
18:27
Нашел код, на котором нужно поставить точку остановки чтобы отдалить его. Ставлю точку остановки, запускаю 1с в режиме отладчика, запускаю в режиме 1с-предприятие нужную обработку и ничего не вышло - процедура работает и не останавливается.
Основная конфигурация ОбщийМодуль.Б_ОбменССайтомСервер.Модуль(3782, 21)

СообщитьПодробно("Паша, мы здесь!", ОсновныеПараметры);      -
вот эту строчку вставил и на ней точку останова - она появляется в режиме 1с предприятия.
Но как мне пошагово пройтись по тем строчкам кода, что в модуле процедуры "ВыполнитьОбмен"
?
или это невозможно?

База файловая.
1 Волшебник
 
17.12.19
18:34
База файловая, модуль сервера...
2 Cerera
 
17.12.19
18:40
(1)я так понимаю это не работает? это УТ11. но всё находится в файле в едином 1Cv8.1CD - пытаюсь вернуться в 1с на уровне разработчика но столкнулся с непонятным делом - как это отлаживать. Не может ведь быть такого, чтобы некоторые модули невозможно было отладить?
или нужно для серверной части запускать отдельно отладчик?
3 DTX 4th
 
17.12.19
18:41
В 1С не хватает ключевого слова debugger; как в js.
Иногда приходится с бубном танцевать, чтобы отладчик подцепился.

Фоновое задание? Автоматически подключаться к фоновым заданиям надо
4 Сияющий в темноте
 
17.12.19
18:42
там еще и внешняя обработка из справочника через временный файл может создаваться.
5 DTX 4th
 
17.12.19
18:49
(4) Кстати, да
Недавно обновили платформу, и Файл-Открыть переместился в дальние дали..
Чтобы каждый раз мышкой не елозить, написал обработку, которая открывает мою обработку. Всё было круто до тех пор, пока я не осознал, что открываемую обработку отлаживать просто так не получится..
Печаль
6 Cerera
 
17.12.19
18:52
(3)ну тут нажимаешь кнопку "Выполнить обмен" и после разных манипуляций и обработчиков ожидания  выполняется этот модуль. Неужели нельзя его отладить просто так из IDE ?
7 DTX 4th
 
17.12.19
18:59
(6) Обмен выполняется в фоне
http://professia1c.ru/reglamentnyie-zadaniya/otladka-fonovyih-zadaniy/
8 Cerera
 
17.12.19
19:01
(7)открыл сайт! правильно я понял - смогу отлаживать фоновые задания теперь благодаря той галочке?
9 Cyberhawk
 
17.12.19
19:03
Переходи на ХТТП-отладку - там нет глюков, как в ТСР
10 DTX 4th
 
17.12.19
19:04
(9) А какие глюки в TCP?
Обычно фаервол мешает в большинстве случаев.
Или там можно отлаживать случаи из (4) (5)?
11 Cyberhawk
 
17.12.19
19:06
(10) "Файрвол мешает" - это не глюк. Следующий.
12 Cerera
 
17.12.19
19:07
(9)(10)поясните пожалуйста чего я не понимаю? это то, что вы предлагаете возможно сделать на локальном компьютере с файловой 1с ?
13 DTX 4th
 
17.12.19
19:10
(11) Поэтому я и спросил, какие глюки в TCP

(12) См (7)
14 ildary
 
17.12.19
19:54
(5) я для такого случая написал короткий скрипт, который открывает последнюю обработку из истории в меню файл, посылая нажатия клавиш в программу. Могу поделиться - при отладке внешних обработок очень выручает.
15 Vladal
 
17.12.19
21:15
(14) Фльт - энтер - 1 0 энтер
16 Vladal
 
17.12.19
21:16
*Альт - Энтер - 1 - Энтер

не работает в последней платформе 1.3.15.
17 ildary
 
18.12.19
06:15
(15) мой скрипт работает и на 15 версии, и для него надо нажать только Ctrl+9
18 Cyberhawk
 
18.12.19
13:17
(13) Не работает точка останова с первого раза / не работает отладка пока не переподключишься к предмету отладки - лидеры по частоте
19 DTX 4th
 
18.12.19
20:36
(14) >Могу поделиться
Было бы здорово (:
20 DTX 4th
 
20.12.19
17:12
(17) Так что за Ctrl+9?)
21 Сияющий в темноте
 
20.12.19
18:43
горячая клааиша на сценарий,видимо.
22 ildary
 
20.12.19
22:55
(20) можно свою прикрутить (я от балды взял, чтобы в конфигураторе не занято было):


Dim $Ver1C = "8.3.15" ; "8.3.15" и "8.3.14" (включая ниже)

#AutoIt3Wrapper_icon=1c.ico

Dim $Keys       = "^9" ;  Ctrl + 9
Dim $PauseSize = 90 ; пауза между действиями
Dim $WinClass  = "[CLASS:V8TopLevelFrameSDI]"

Dim $StrAbout = "Открывает в 1С последний файл из истории файлов, активация - Ctrl + 9 (не Numpad)"

_Main()

Func _Main()

    Opt("TrayMenuMode",1 + 2)   ; Hide default tray menu items & items will not automatically check/uncheck when clicked

    TraySetClick(8) ; only show the menu when right clicking

    $TrayAboutItem = TrayCreateItem("О программе")
;~     $TrayPauseItem = TrayCreateItem("Пауза")
    TrayCreateItem("")
    $TrayExitItem  = TrayCreateItem("Выход")

    TraySetToolTip($StrAbout)

    HotKeySet($Keys, "RunLastERF")

    While True ; Main Loop

        $msg = TrayGetMsg()

        Select
        Case $msg = 0

            Sleep(500)
            ContinueLoop

        Case $msg = $TrayAboutItem
            Msgbox(64, "О программе", $StrAbout)
        Case $msg = $TrayExitItem
            ExitLoop
        EndSelect

    WEnd

EndFunc

Func RunLastERF()

   $hWnd = WinWait($WinClass)
   If Not $hWnd Then

      ConsoleWrite("No 1C Window" & @CRLF)
      Return

   EndIf

   WinActivate($hWnd)
   If Not WinActive($hWnd) Then

      ConsoleWrite("No Active 1C Window" & @CRLF)
      Return

   EndIf

   If _WinAPI_GetKeyboardLayout($hWnd) <> "00000419" Then ; раскладка не русская - переключим

      Send ("{ALTDOWN}{LSHIFT}")
      Send ("{ALTUP}")

   EndIf

   Send("{ALT}")
   Sleep($PauseSize)

   Send("{DOWN}")
   Sleep($PauseSize)

   If $Ver1C = "8.3.15" Then
      Send("{ф}")
   Else
      Send("{RIGHT}")
   EndIf

   Sleep($PauseSize)

   Send("1")

EndFunc

Func _WinAPI_GetKeyboardLayout($hWnd)

    Local $Ret = DllCall('user32.dll', 'long', 'GetWindowThreadProcessId', 'hwnd', $hWnd, 'ptr', 0)

    If (@error) Or ($Ret[0] = 0) Then
        Return SetError(1, 0, 0)
    EndIf

    $Ret = DllCall('user32.dll', 'long', 'GetKeyboardLayout', 'long', $Ret[0])

    If (@error) Or ($Ret[0] = 0) Then
        Return SetError(1, 0, 0)
    EndIf

    Return '0000' & Hex($Ret[0], 4)

EndFunc
23 DTX 4th
 
21.12.19
00:36
(22) Серьёзный подход)
Спасибо
Независимо от того, куда вы едете — это в гору и против ветра!