|   |   | 
| 
 | Запись лога в файл на клиенте параллельно с выполнением на сервере | ☑ | ||
|---|---|---|---|---|
| 0
    
        SeiOkami 20.01.20✎ 09:34 | 
        Добрый день.
 Подскажите, как лучше всего сделать запись лога в файл параллельно с выполнением. Есть обработка. Она создаёт документы в фоновом задании, на форме самой обработки крутится обработчик ожидания, который постоянно опрашивает фоновое. Хочу писать лог из фонового задания в файл на клиентской машине. Загвоздка в том, что писать нужно параллельно с выполнением. То есть, если сеанс вдруг упадёт, то в логе должен быть лог до падения. Можно было бы писать при помощи ЗаписьТекста, но нужно записывать в таком формате, чтобы этот файл можно было бы программно преобразовать в таблицу лога. То бишь, это должен быть или ЗначениеВСтрокуВнутр или XML или JSON. Чтобы потом нормально данные прочитать и вывести в отчёт Какой объект платформы можно для этого использовать? | |||
| 1
    
        Конструктор1С 20.01.20✎ 09:41 | 
        Кури метод БСП ДлительныеОперации.СообщитьПрогресс(), у него есть параметр, в который можно передать примитивное значение. В частности, можно сериализовать нужные тебе данные в XML и протащить через этот параметр     | |||
| 2
    
        Конструктор1С 20.01.20✎ 09:42 | ||||
| 3
    
        SeiOkami 20.01.20✎ 09:43 | 
        (1), приведённый тобой метод поможет передать инфу из сервера на клиент, но загвоздка именно в том, как потом эту инфу записывать в файл лога     | |||
| 4
    
        ezhikofff 20.01.20✎ 09:46 | 
        (0) зачем писать лог именно на клиенте? можно же писать на сервере в сетевую папку, доступную клиентам...не?
 На сервере можно писать лог сразу в табличный документ | |||
| 5
    
        ДенисЧ 20.01.20✎ 09:47 | 
        В базу данных пиши каждый чих с фиксированием транзакции     | |||
| 6
    
        SeiOkami 20.01.20✎ 09:48 | 
        (4), нужно именно писать на клиенте     | |||
| 7
    
        Конструктор1С 20.01.20✎ 10:14 | 
        (3) в клиентском методе складывай в коллекцию значений, а потом закинешь в файл     | |||
| 8
    
        Cyberhawk 20.01.20✎ 10:16 | 
        (7) Клиент упал и лога нет     | |||
| 9
    
        Cyberhawk 20.01.20✎ 10:16 | 
        А какие проблемы с ЗаписьТекста?     | |||
| 10
    
        Cyberhawk 20.01.20✎ 10:17 | 
        (4) "писать на сервере в сетевую папку, доступную клиентам...не?" // Неуниверсально. Никакой общей папки, доступной рабочему процессу, может и не быть     | |||
| 11
    
        Конструктор1С 20.01.20✎ 10:26 | 
        (8) ага, свет рубанут и каюк     | |||
| 12
    
        SeiOkami 20.01.20✎ 10:33 | 
        (9), просто нужно не просто строчки для пользователя писать, а данные, которые потом можно сериализовать в 1Сные и в отчете вывести.
 Например, каждая строка лога - это структура с свойствами "Дата,Документ,ОписаниеОшибки". | |||
| 13
    
        SeiOkami 20.01.20✎ 10:33 | 
        пока что вижу только один вариант - писать всё в текстовый файл при помощи ЗаписьТекста. и вставлять всякую заранее заготовленную безумную строку, чтобы потом по ней разбивать элементы. Тип "балблаблаздесьразделительстрок"     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |