|
Как с помощью сохранения стека отладить код? У кого был опыт. | ☑ | ||
---|---|---|---|---|
0
Обработка
12.07.21
✎
14:44
|
Есть база Розница с кучей дописок.
Документ Заказ прилетает из битрикса. В нем добавляется услуга "доставка"? Проблема в том что в некоторых доках по 2 строк доставки. Перепахали все участки кода где создается где перезаписывается где редактируется документ пока не нашли где именно это происходит. Пока только при записи (Передзаписью) отловил и в журнал записал когда и кем это создается. Но это ни о чем не говорит. Есть куча обработок и не понятно где и как дублируется запись. Есть автообработки регламентные которые работают по заказу с ее статусами. Как отловить стек откуда дубль пришел. С кокой обработки или функции??? Пока поняли что битрикс точно двойников не присылает. Уверенность на 95% ))) |
|||
1
Вафель
12.07.21
✎
14:46
|
А включить версионирование?
|
|||
2
Вафель
12.07.21
✎
14:46
|
Всем регламентам и сервимам назначить разных юзеров
|
|||
3
palsergeich
12.07.21
✎
14:49
|
Старым дедовским методом - в ТЖ на событии dbmssql фильтром Update%ИмяТаблицы
Там если повезет и стек будет Ну и это тоже (2) |
|||
4
Обработка
12.07.21
✎
14:52
|
(1) Включено. Не помогает.
Юзеров много и все это хаотично повяляется. |
|||
5
Hmster
12.07.21
✎
14:55
|
(4) смотришь по версионированию когда появляется, по обычному смотришь что за сеанс это был. человек или обработка по расписанию
|
|||
6
Обработка
12.07.21
✎
14:58
|
(5) И сеанс известен и юзер известен и время. Но это ничего не дает. У юзера нет смысла спрашивать отлов событие одно время а анализ происходит после позже.
|
|||
7
Обработка
12.07.21
✎
14:59
|
Есть вероятность что не все внешние доп обработки анализировал. Или не внимательно прошелся по коду.
|
|||
8
Вафель
12.07.21
✎
15:02
|
ну так юзер или обмен делает уже определился?
|
|||
9
DrZombi
гуру
12.07.21
✎
15:06
|
(4) Всем запретить, ожидать взбучки, если не наступил, считай лишний автомат отрубил :)
|
|||
10
mistеr
12.07.21
✎
15:14
|
(0) Вызвать исключение?
|
|||
11
mistеr
12.07.21
✎
15:16
|
(10) + Контекст прокинуть через ДополнительныеСвойства
|
|||
12
Вафель
12.07.21
✎
15:21
|
ну можно еще в передзаписью стек собирать типа
|
|||
13
Обработка
12.07.21
✎
18:23
|
(12) Читал такое сегодня попробую внедрить этот механизм.
|
|||
14
H A D G E H O G s
12.07.21
✎
18:26
|
ИнформацияОбОшибке()
Там можно собрать стек |
|||
15
Вафель
12.07.21
✎
20:01
|
Единственное что эта операция не быстрая. Поэтому на постоянке такого лучше не делать
|
|||
16
Обработка
13.07.21
✎
05:24
|
(15) Да конечно в курсе.
|
|||
17
Адинэснег
13.07.21
✎
06:40
|
(0) поставь отказ в записи объекта с двумя доставками
|
|||
18
Обработка
13.07.21
✎
06:56
|
(17) Не молу ибо это может происходить не интерактивно
|
|||
19
Обработка
13.07.21
✎
06:58
|
Прописал так:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) Если Услуги.Количество() >1 тогда Попытка ВызватьИсключение "Любой текст"; Исключение ПолныйТекстОшибкиВключаяСтекВызовов = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); КонецПопытки; Получил что ПолныйТекстОшибкиВключаяСтекВызовов = {Документ.ЗаказПокупателя.МодульОбъекта(2723)}: Любой текст¶ ВызватьИсключение "Любой текст"; И что мне это дало? Собственно ничего ((( |
|||
20
acanta
13.07.21
✎
07:11
|
А можно написать
Отказ = истина; Записьжурналарегистрации("сообщение"); Вместо попытки? |
|||
21
Галахад
гуру
13.07.21
✎
07:20
|
(19) Платформа древняя?
|
|||
22
DrZombi
гуру
13.07.21
✎
07:26
|
(19) Вы начинаете понимать, что бы пресечь все непонятно, надо это отловить и ограничить.
- Регламенты, вы смогете ограничить сами. - Обработки внешние, вам надо запретит запускать (внешние, которые открывает сам пользователь) - Обработки по феншую БСП вы способны сами отслеживать, они подконтрольны :) |
|||
23
DrZombi
гуру
13.07.21
✎
07:29
|
+(22) >>> внешние, которые открывает сам пользователь
Через файл - "Открыть" |
|||
24
TormozIT
гуру
13.07.21
✎
07:39
|
В обычном приложении стек добавляется в описание ошибки только начиная с 8.3.19
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |