![]() |
![]() |
![]() |
|
Запуск отладки 1с 8.х toypaul, Мультук, X Leshiy, _Batoo, rozer76, shuhard, Гость из Мариуполя, evorle145, Prog_man, Bad_Aleks, oleg_km, Fish, Valdis2007, craxx, dergreche, Гипервизор, mortal, Silgis, Trucker, StanLee, Vstur, АгентБезопаснойНацио, Hawk_1c, php5, dmt, Дмитрий, yurikmellon2, Tefal, Mihenius, vsad420, alexxx961503, bolder, sikuda, ldo6, Волшебник, obs191, Климов Сергей, Tarlich, butterbean, zenik, DimR_71, maxar, nick86, ildary, phabeZ, ptiz, Хряк, elka302, sapravka, delavar, Sneer, VaganovSP, Лирик, denk32, U4Me2, Metman, Lama12, maxab72, TormozIT, Фокусник, vyaz
| ☑ | ||
---|---|---|---|---|
0
Взрыв мозга
09.06.25
✎
17:08
|
Всем добрый вечер!
Прошу знатоков подсказать по запуску отладки. Изначально сервер настроен на работу с отладками. В моем случае при попытке создать новый |
|||
1
Волшебник
09.06.25
✎
17:10
|
-debug
|
|||
2
Взрыв мозга
09.06.25
✎
17:13
|
Прошу прощения. Что-то пошло не так.
Продолжу. В моем случае при попытке создать документ ЗаказПоставщику (УТ11) система после непродолжительной задержки выдает ошибку в окне ошибок, сама форма не открывается. Что я хочу. Я хочу пройти в отладчике путь от нажатия кнопки "Создать новый" (документ) до момента когда вылетает эта ошибка. И вот тут как выясняется целая проблема. Я не могу найти то место, куда поставить точку остановки для начала отладки. То есть я пробовала поставить в форме документа, прямо написала строку типа вычисления выражения и на ней поставила точку - мимо, не останавливается. Пробовала поставить точку останова на процедуре ОбработкаЗапонения и так далее. Нигде, ни на каких точках программа не останавливается. Где я что-то не то делаю? Уже 5-е сутки я танцую танцы с бубнами вокруг этой конфигурации и не могу найти как в нее попасть. |
|||
3
Волшебник
09.06.25
✎
17:14
|
Приведите текст ошибки. Там должен быть номер строки и имя модуля
|
|||
4
Fish
гуру
09.06.25
✎
17:14
|
Поставь галочку "Останавливаться по ошибке"
|
|||
5
Взрыв мозга
09.06.25
✎
17:14
|
Волшебник, это настроено на сервере 1С Предприятия.
(Не понимаю как написать именно ответ конкретному человеку, сорри) |
|||
6
banco
09.06.25
✎
17:17
|
(2) Отладка - Остановка по ошибке
|
|||
7
Взрыв мозга
09.06.25
✎
17:15
|
Fish. галочка стоит
|
|||
8
shuhard
09.06.25
✎
17:15
|
(2) ошибку выложи и опиши, что успела в типовой УТ 11 неизвестного релиза испортить
|
|||
9
Волшебник
09.06.25
✎
17:16
|
(5) цифра в скобках означает номер сообщения
|
|||
10
H A D G E H O G s
09.06.25
✎
17:19
|
Замер производительности соберет трассу кода, ее посмотрите и точку поставите где-нибудь, где затраты времени большие, значит чето прикладное выполняется.
|
|||
11
Взрыв мозга
09.06.25
✎
17:19
|
Волшебник,
сейчас не могу - запустила проверку всех модулей :))) Это надолго. Я вижу где она останавливается, но это не решает проблему, потому что я не вижу каким образом она приходит к этой точке ошибки. То есть что толку, что я увидела что в общем модуле в какой-то процедуре она споткнулась. Я хочу понять откуда в эту процедуру пришли данные, как они сформировались, где потерялось что-то. Поэтому и пытаюсь отладчиком пройти весь этот пусть, чтобы увидеть куда программа ходила и что делала. Ситуация осложняется тем, что я тут вычищаю написанные настройки для конкретного предприятия и пытаюсь их "поженить" с новой типовой конфигурацией. То есть для полного понимания - это уже не типовая, это симбиоз всего чего только можно :))) |
|||
12
Волшебник
09.06.25
✎
17:20
|
(11) см. Стек вызовов
|
|||
13
Взрыв мозга
09.06.25
✎
17:22
|
(8) Да там уже всё что можно испорчено :))) суть вопроса не в этом, а как найти путь хождения 1с по всем дебрям конфигурации.
|
|||
14
Взрыв мозга
09.06.25
✎
17:22
|
(12) Не работает. Пустой он. :(
|
|||
15
Волшебник
09.06.25
✎
17:24
|
(14) Он работает, когда стоит точка останова (см. флаг "Останавливаться по ошибке", о котором говорили выше)
|
|||
16
Взрыв мозга
09.06.25
✎
17:25
|
То есть глобально проблема в том, что я не понимаю в какое место надо поставить точку останова, чтобы весь процесс создания нового документа с момента как я нажала кнопку "Создать новый" пройти вместе с 1С в отладчике.
|
|||
17
Взрыв мозга
09.06.25
✎
20:00
|
(15) Увы, нихрена он не работает :)))
|
|||
18
Волшебник
09.06.25
✎
17:26
|
(16) флаг "Останавливаться по ошибке" остановится на строке с ошибкой. Там будет стек вызовов. Сможете поставить другие точки останова
|
|||
19
Волшебник
09.06.25
✎
17:26
|
(17) Значит Конфигуратор не подключён к предмету отладки.
|
|||
20
shuhard
09.06.25
✎
17:45
|
(16) откуда уверенность, что ошибка программная ?
|
|||
21
Взрыв мозга
09.06.25
✎
17:49
|
(19) Я нашла здесь тему "Отладка. Автоматическое подключение?". Прочитала. Может на сервере что-то не правильно сделано? Вот этот код где надо написать?
<config xmlns="" target="_blank">http://v8.1c.ru/v8/comcntrcfg"> <debugconfig debug="true" debuggerURL="tcp://localhost:1560"/> </config> Эту настройку делали админы серверов, не я. Может им подсказать что-то? З.Ы. Про подключение Конфигуратора к предмету отладки читаю. Спасибо. Может и тут что-то.... |
|||
22
Волшебник
09.06.25
✎
17:55
|
Покажите текст и/или скрин ошибки
|
|||
23
Взрыв мозга
09.06.25
✎
18:07
|
Вот какую ошибку выдает:
Значение не является значением объектного типа (МассивПараметров) {ОбщийМодуль.ВзаиморасчетыСервер.Модуль(16203)}: Результаты = МассивСтруктурПараметровПоРеквизитам(ДополненныеПараметрыМеханизма.МассивПараметров, МассивРеквизитов); {Документ.ЗаказПоставщику.Форма.ФормаДокумента.Форма(3917)}: ВзаиморасчетыСервер.ФормаПриИзмененииРеквизитов(ЭтаФорма, "Товары.ДатаОтгрузки"); {Документ.ЗаказПоставщику.Форма.ФормаДокумента.Форма(36)}: ПоступлениеОднойДатойПриИзмененииСервер(); Но еще раз повторю: дело не в ошибке, а в том как к ней придти. |
|||
24
Garykom
гуру
09.06.25
✎
18:08
|
(23) Поставить галочку Остановка при ошибке
Открыть стек вызовов Поставить точку останова в самом начале Запустить заново и топать по шагам |
|||
25
Волшебник
09.06.25
✎
18:10
|
(21) служба сервера должна быть запущена с ключом -debug
|
|||
26
Взрыв мозга
09.06.25
✎
19:59
|
1С:Предприятие 8.3 (8.3.25.1374)
Конфигурация Управление торговлей, редакция 11 (11.5.8.443) ( http://v8.1c.ru/trade/ ) Copyright © ООО "1С-Софт", 2003-2023. Все права защищены ( http://www.1c.ru ) Но! Это не типовая конфигурация уже, там куча дописок которые идут еще с древних времен и переносятся из конфигурации в конфигурацию. |
|||
27
Взрыв мозга
09.06.25
✎
18:12
|
(24) Галочка "Остановка по ошибке стоит".
При этом стек вызовов пустой. |
|||
28
Взрыв мозга
09.06.25
✎
18:12
|
(24) В самом начале - это где именно? Вот я и пытаюсь найти то самое начало :)
|
|||
29
Взрыв мозга
09.06.25
✎
18:13
|
(25) Администраторы говорят, что запущена с ключом.
|
|||
30
Волшебник
09.06.25
✎
18:16
|
(29) проверьте подключённые предметы отладки: должно быть два - клиент и сервер
|
|||
31
shuhard
09.06.25
✎
18:21
|
(23)[ВзаиморасчетыСервер]
т.е. фоновое задание и УТ 11 запущенная без нужного ключа |
|||
32
Взрыв мозга
09.06.25
✎
18:25
|
(31) Нет, это не фоновое задание, это вызов процедуры из общего модуля "ВзаиморасчетыСервер". То есть при создании нового документа много чего происходит, в том числе вызываются процедуры и функции, описанные в общих модулях.
|
|||
33
Волшебник
09.06.25
✎
21:49
|
Ну чё там? Волнуюсь...
|
|||
34
Взрыв мозга
10.06.25
✎
00:45
|
(33) Вообщем ничего не приводит к результату.
В конфигураторе настроено: Сервис-Параметры Закладка Отладка: - Протокол отладки TCP/IP -Использовать сервер отладки кластера Закладка Запуск 1С:Предприятия – Дополнительно: - Устанавливать режим разрешения отладки (галочка стоит) Отладка-Остановка по ошибке стоит галочка «Останавливаться по ошибке» Отладка – Подключение: при нажатии на кнопку «Автоматическое подключение» в открывающемся окне помечен вариант «Клиентские и внешние соединения на сервере». Далее. В модуле формы документа точка остановки установлена в теле модуля, специально написала строки вывода: Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Мы в форме модуля документа ЗаказПоставщику"; Сообщение.Сообщить(); Не срабатывает ничего. Что еще надо поставить, чтобы эта @@@@(набор непереводимой лексики) начала работать? |
|||
35
Взрыв мозга
10.06.25
✎
01:12
|
Еще сделала следующее.
В конфигураторе в Отладка - Подключение в появившемся окне нашла сервер, на котором установлена 1С, добавила его в окно "подключенные предметы отладки". Но это всё мне стало доступно только после того как я запустила саму отладку, т.е. 1с в режиме отладки. Таким образом в "подключенных предметах отладки" есть 2 строки: 1 с типом сервер, и 2 с типом тонкий клиент. Но ситуацию это никак не спасает. 1С по-прежнему не входит в режим отладки в этом документе. |
|||
36
Взрыв мозга
10.06.25
✎
01:18
|
Однако, в результате моих манипуляций я видимо уже куда-то не туда тыкаю, у меня запустилась отладка формы списка документов ЗаказПоставщику. Сработало всё, что там у этой формы должно сработать в момент ее открытия. Но как только я нажала опять на кнопку ввода нового, то всё, вся отладка прекратилась и система просто опят выдала ошибку.
В целом я понимаю, что дело тут уже в именно в документе. Но что в нем не так? Я написала кучу комментариев типа "мы в такой-то процедуре" (ну за неимением нормальной отладки - вот так извращаюсь. Так вот после вываливания окна с ошибкой, нажимаю кнопку ОК и мне выдаются все мои комментарии до какого-то места где уже была ошибка. Но я разумеется не писала в каждой процедуре сообщения, поэтому мне эти выданные сообщения погоды вообще не делают, это просто попытка увидеть в какие выбранные процедуры она пошла. Короче, я не понимаю что за хрень такая. |
|||
37
Взрыв мозга
10.06.25
✎
01:20
|
И да, стек вызовов по-прежнему нулевой.
|
|||
38
Взрыв мозга
10.06.25
✎
04:04
|
Отчет о результатах :)
После подключения везде где только можно отладки, легче не стало :) Вывод на 4 утра по Мск. :) : Пока выдается ошибка типа как я приводила выше, 1С не дает запускать отладку. Отладка запускается только на работающем без ошибок коде. Это очень забавно. Я в итоге просто для начала закомментировала строки кода, которые вызывали процедуры генерирующие ошибку, 1с прожевала их и форму документа открыла. Но ведь по сути это какая-то полная ерунда. То есть отладчик и создан для того, чтобы можно было идти по шагам и искать где ошибка. Мне не понятна такая логика. Всем спасибо за участие и советы, они мне очень помогли. |
|||
39
craxx
10.06.25
✎
08:57
|
(34) Фонка однозначно.
|
|||
40
Trucker
10.06.25
✎
10:03
|
(34) Надо запустить базу с ключом /С РежимОтладки.
В параметрах конфигуратора можно настроить.
|
|||
41
Волшебник
10.06.25
✎
10:11
|
(40) Это для тех, кто верит в чудеса.
|
|||
42
Мультук
гуру
10.06.25
✎
10:26
|
(23)
Возьмите уже и посмотрите что написано в типовом ЗаказПоставщику Ибо {Документ.ЗаказПоставщику.Форма.ФормаДокумента.Форма(36)}: ПоступлениеОднойДатойПриИзмененииСервер(); 1) 36 строка это (по идее) Процедура ПриСозданииНаСервере(..) ,а там я такого вызова не вижу Да и не нужен он там. 2) Вызов процедуры ПоступлениеОднойДатойПриИзмененииСервер() есть только в событии &НаКлиенте Процедура ПоступлениеОднойДатойПриИзменении(Элемент) P.S. Я смотрю в ERP, но не верю, что такие прямо глобальные отличия от УТ Смотреть в УТ лень, да нет у меня такой версии |
|||
43
Trucker
10.06.25
✎
11:11
|
(41) О, сколько нам открытий чудных
Готовит просвещенья дух, И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель.. (А.С.Пушкин) |
|||
44
Гипервизор
10.06.25
✎
12:22
|
(40) Это что-то из БСП?
|
|||
45
shuhard
10.06.25
✎
12:40
|
(44) да, отключение фоновых заданий,кроме инициированных регламентными
для ERP нужнейший из ключей запуска |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |