|   |   | 
| 
 | Как с помощью сохранения стека отладить код? У кого был опыт. | ☑ | ||
|---|---|---|---|---|
| 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     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |