| 
    
            
         
         | 
    
    
  | 
ЗаписатьJSON в фоновом задании | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        ДенисЧ    
     06.10.21 
            ✎
    17:42 
 | 
         
        Коллеги, хелп.
 
        То ли лыжи, то ли я... БП2 Корп Есть примитивный код // Новая запись - строка в ТЧ, выгруженная из РС КонтактнаяИнформация // копируем строку в структуру копияЗаписи = Новый Структура; Для Каждого кол из новаяЗапись.Владелец().Колонки Цикл копияЗаписи.Вставить(кол.Имя, новаяЗапись[кол.Имя]); КонецЦикла; стАдрес = РаботаСАдресами.БГУ_СтруктураАдресаВСтруктуруJSON(копияЗаписи); // Типовая функция, модуль на поддержке и замке Тут стАдрес - структура, частично заполненная. Потом зап = Новый ЗаписьJSON; зап.УстановитьСтроку(); ЗаписатьJSON(зап, стАдрес); И вот тут начинается. В клиентском режиме (запускаем руками, уходим на сервер, там этот код выполняется) всё хорошо, всё красиво. Потом этот код начинает вызываться из фонового задания и вылетает ошибка Ошибка при вызове метода контекста (ЗаписатьJSON): Передано значение недопустимого типа Непечатных символов в структуре нет, проверили. Беда в том, что не можем этот вызов фонового поймать отладчиком, приходится печатью... Что это может быть такое?  | 
|||
| 
    1
    
        pechkin    
     06.10.21 
            ✎
    17:44 
 | 
         
        сделай в попытке + в исключении логгируй полный состав стАдрес     
         | 
|||
| 
    2
    
        pechkin    
     06.10.21 
            ✎
    17:44 
 | 
         
        а может там вообще неопределено?     
         | 
|||
| 
    3
    
        Topol-M    
     06.10.21 
            ✎
    17:49 
 | 
         
        Может эту структуру временно в xml запихать для наглядности и посмотреть что в ней.     
         | 
|||
| 
    4
    
        PLUT    
     гуру 
    06.10.21 
            ✎
    17:50 
 | 
||||
| 
    5
    
        PLUT    
     гуру 
    06.10.21 
            ✎
    17:51 
 | 
||||
| 
    6
    
        ДенисЧ    
     06.10.21 
            ✎
    17:51 
 | 
         
        (1) "Непечатных символов в структуре нет, проверили" Уже сделано.
 
        (2) А что, неопределено не jsonится? Так в клиентском же работает.  | 
|||
| 
    7
    
        Kassern    
     06.10.21 
            ✎
    17:52 
 | 
         
        (0) а в чем проблема отладкой поймать фоновое задание?     
         | 
|||
| 
    8
    
        ДенисЧ    
     06.10.21 
            ✎
    17:53 
 | 
         
        (5) Не, там про NULL. А тут его тупо е может быть.
 
        (7) Там через shop'у оно вызывается, не ловится пока. Если только принудительно пробежать и проверить на неопределено... Но почему тогда на тех же данных в ручном режиме работает?  | 
|||
| 
    9
    
        pechkin    
     06.10.21 
            ✎
    17:57 
 | 
         
        (6)а как ты определил по какому объекту идет ошибка?     
         | 
|||
| 
    10
    
        ДенисЧ    
     06.10.21 
            ✎
    17:58 
 | 
         
        (9) А в системе, которая валит данные, можно отослать один объект. И да, получить пакет, который валится в обмен, тоже можно получить и даже (!!) сохранить в файл в том же формате, что и прилетает к записи.     
         | 
|||
| 
    11
    
        pechkin    
     06.10.21 
            ✎
    17:59 
 | 
         
        в ручном режиме вызов на сервере?     
         | 
|||
| 
    12
    
        Kassern    
     06.10.21 
            ✎
    17:59 
 | 
         
        вот вам в помощь) https://its.1c.ru/db/edtdoc/content/10410/hdoc     
         | 
|||
| 
    13
    
        Ёпрст    
     гуру 
    06.10.21 
            ✎
    17:59 
 | 
         
        (0) а там точно структура то возвращается с аботаСАдресами.БГУ_СтруктураАдресаВСтруктуруJSON(копияЗаписи) ?     
         | 
|||
| 
    14
    
        pechkin    
     06.10.21 
            ✎
    18:01 
 | 
         
        да не нужно фоновое отлаживать, достаточно на сервере запустить     
         | 
|||
| 
    15
    
        Ёпрст    
     гуру 
    06.10.21 
            ✎
    18:01 
 | 
         
        ну и воткни в код запись структуры в файл какой нить рекурсивной выборкой. если там вложенные структуры есть     
         | 
|||
| 
    16
    
        ДенисЧ    
     06.10.21 
            ✎
    18:03 
 | 
         
        (11) Ммм... А в чём проблема? 
 
        (13) да (!5) Там два массива есть со структурами. Но это опять же в ручном режиме проходит.  | 
|||
| 
    17
    
        Garykom    
     гуру 
    06.10.21 
            ✎
    18:05 
 | 
         
        (0) уже проверил на другой базе и на другом сервере да?     
         | 
|||
| 
    18
    
        pechkin    
     06.10.21 
            ✎
    18:05 
 | 
         
        (16) так с сервера или нет?     
         | 
|||
| 
    19
    
        Ёпрст    
     гуру 
    06.10.21 
            ✎
    18:06 
 | 
         
        (16) ну значит в структуре есть значение недопустимого типа )))
 
        выведи в файлик значение и тип :)  | 
|||
| 
    20
    
        pechkin    
     06.10.21 
            ✎
    18:06 
 | 
         
        (17) чем другая база поможет?     
         | 
|||
| 
    21
    
        Garykom    
     гуру 
    06.10.21 
            ✎
    18:06 
 | 
         
        (20) баг это или фича понять     
         | 
|||
| 
    22
    
        ДенисЧ    
     06.10.21 
            ✎
    18:06 
 | 
         
        (17) А для этого нужно найти свободный другой сервер и развернуть на нём три системы )))
 
        Кто ж мне это даст? (18) с клиента вызывается чисто серверный модуль и да, выполняется на сервере.  | 
|||
| 
    23
    
        Garykom    
     гуру 
    06.10.21 
            ✎
    18:07 
 | 
         
        (22) эээ какие три системы?     
         | 
|||
| 
    24
    
        ДенисЧ    
     06.10.21 
            ✎
    18:08 
 | 
         
        (23) Обмена, разумеется. Одна источник, вторая среда-передатчик, третья - получатель. Это чтобы чистый эксперимент был.     
         | 
|||
| 
    25
    
        Garykom    
     гуру 
    06.10.21 
            ✎
    18:09 
 | 
         
        Все же фоновые в отладчик и остановку по ошибке этой     
         | 
|||
| 
    26
    
        pechkin    
     06.10.21 
            ✎
    18:11 
 | 
         
        А с клиента запускаешь процедуру фонового?     
         | 
|||
| 
    27
    
        ДенисЧ    
     06.10.21 
            ✎
    18:12 
 | 
         
        И тут мне внезапно пришла в голову мысль, что отладчик не поможет )))
 
        Код загрузки лежит в РС и выполняется через Выполнить(). Так что отладчик не поможет...  | 
|||
| 
    28
    
        ДенисЧ    
     06.10.21 
            ✎
    18:12 
 | 
         
        (26) Нет. Серверную процедуру.     
         | 
|||
| 
    29
    
        pechkin    
     06.10.21 
            ✎
    18:13 
 | 
         
        (28) я имел ввиду туже процедуру что и фоновое. 
        если ничто не помогает, то (1)  | 
|||
| 
    30
    
        ДенисЧ    
     06.10.21 
            ✎
    18:14 
 | 
         
        (29) ту же, пятый (? лень считать) повторяю.     
         | 
|||
| 
    31
    
        Garykom    
     гуру 
    06.10.21 
            ✎
    18:17 
 | 
         
        (27) а ты уверен что нужный код выполняется?     
         | 
|||
| 
    32
    
        Ёпрст    
     гуру 
    06.10.21 
            ✎
    18:19 
 | 
         
        давно бы уже закодил получение лога, делов то..демоническое обновление рулит жешь.     
         | 
|||
| 
    33
    
        Ёпрст    
     гуру 
    06.10.21 
            ✎
    18:20 
 | 
         
        можно и в ЖР нафлудить..     
         | 
|||
| 
    34
    
        pechkin    
     06.10.21 
            ✎
    18:20 
 | 
         
        (32) там код вообще в регистре лежит     
         | 
|||
| 
    35
    
        pechkin    
     06.10.21 
            ✎
    18:22 
 | 
         
        Что-то сегодня у всех помощники нашептывают: полтергейстов нет, а просто "косяк платформы 100%"     
         | 
|||
| 
    36
    
        Ёпрст    
     гуру 
    06.10.21 
            ✎
    18:26 
 | 
         
        (34) тем более, проверить ышо быстрее     
         | 
|||
| 
    37
    
        pechkin    
     06.10.21 
            ✎
    18:27 
 | 
         
        (36) сначала надо на мисте потрещать     
         | 
|||
| 
    38
    
        pechkin    
     06.10.21 
            ✎
    18:27 
 | 
         
        потом статью запилить     
         | 
|||
| 
    39
    
        Garykom    
     гуру 
    06.10.21 
            ✎
    18:29 
 | 
         
        (32) там код в РС лежит и через Выполнить()
 
        хотя бы сам код в файл писать при запуске ну и туда же лог  | 
|||
| 
    40
    
        pechkin    
     06.10.21 
            ✎
    18:30 
 | 
         
        в жр можно записать ЗначениеВСтрокуВнутр(стАдрес ) 
        на клиенте достать и расшифровать  | 
|||
| 
    41
    
        ДенисЧ    
     06.10.21 
            ✎
    18:52 
 | 
         
        (31) Да.     
         | 
|||
| 
    42
    
        ДенисЧ    
     06.10.21 
            ✎
    18:53 
 | 
         
        (36) Ага, быстрей ))) вызвонить человека, который в первой изменение внесёт, потом второго, чтобы тот проследил ход выполениия и вытащил обишки...
 
        А у них ещё куча своих дел есть...  | 
|||
| 
    43
    
        polosov    
     06.10.21 
            ✎
    18:56 
 | 
         
        Не понимаю, что мешает сделать как (1)     
         | 
|||
| 
    44
    
        ДенисЧ    
     06.10.21 
            ✎
    19:01 
 | 
         
        (43) Читай (42) ))))
 
        В общем, нашёл вызов УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(), завтра попробуем. Там как раз чистка идёт специально для адресов.  | 
|||
| 
    45
    
        Ёпрст    
     гуру 
    06.10.21 
            ✎
    19:03 
 | 
         
        (42) вот-вот.. не гонялся бы ты поп за дешевизной..т.е халтурой.
 
        Нефик другим помогать :)  | 
|||
| 
    46
    
        ДенисЧ    
     06.10.21 
            ✎
    19:05 
 | 
         
        (45) Что значит "другим помогать"? Мы работаем в одной конторе, у них одна зона ответственности, у меня другая. 
 
        И я вообще-то так просто в базы, за которые отвечаю, других не пускаю...  | 
|||
| 
    47
    
        Ёпрст    
     гуру 
    06.10.21 
            ✎
    19:08 
 | 
         
        (46) Странно, что у тебя нет доступа к этим базам, чтоб покодить, думал, ты халтуришь на стороне ...     
         | 
|||
| 
    48
    
        ДенисЧ    
     06.10.21 
            ✎
    20:01 
 | 
         
        (47) Если у меня будет доступ ко всем базам в холдинце - я повешусь.     
         | 
|||
| 
    49
    
        pechkin    
     06.10.21 
            ✎
    20:17 
 | 
         
        С какого х... ты занимаешься этим вопросом?     
         | 
|||
| 
    50
    
        ДенисЧ    
     06.10.21 
            ✎
    20:19 
 | 
         
        (49) Забавный вопрос.... Наверное, потому что это моя работа?     
         | 
|||
| 
    51
    
        pechkin    
     06.10.21 
            ✎
    20:37 
 | 
         
        (50) чинить базы к которым нет доступа?     
         | 
|||
| 
    52
    
        ДенисЧ    
     06.10.21 
            ✎
    20:38 
 | 
         
        (51) Чинить загрузчик, который работает в моих базах.
 
        Чуйствуешь разницу?  | 
|||
| 
    53
    
        pechkin    
     06.10.21 
            ✎
    20:50 
 | 
         
        Базы мои, но доступа у меня к ним нет     
         | 
|||
| 
    54
    
        Garykom    
     гуру 
    07.10.21 
            ✎
    12:02 
 | 
         
        Как там лыжи? Мазь помогла?     
         | 
|||
| 
    55
    
        ДенисЧ    
     07.10.21 
            ✎
    12:03 
 | 
         
        (53) Ты не вкурил.
 
        (54) да, та функция сработала как надо.  | 
|||
| 
    56
    
        Kassern    
     07.10.21 
            ✎
    12:05 
 | 
         
        а в чем проблема то была в итоге?     
         | 
|||
| 
    57
    
        Почему 1С    
     07.10.21 
            ✎
    12:14 
 | 
         
        ЗаписатьJSON(зап, стАдрес); обернуть функцией общего модуля, заменить функцию на обертку, в обертке поставить точку останова и все равно что код выполняется через выполнить поймаем     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |