|   |   | 
| 
 | УФ: записывать в лог | ☑ | ||
|---|---|---|---|---|
| 0
    
        dft2014 29.03.19✎ 17:17 | 
        Добрый день!
 Пишу обработку, которая последовательно создает три вида документов. Подскажите, как в управляемых формах вести лог (можно в файл-txt), какие документы создаются? &НаКлиенте Процедура СформироватьДокументы(Команда) СформироватьДокументГПХНаСервере(); ... СформироватьДокументНачислениеНаСервере(Структура.мСотрудники,СсылкаДН); ... док = СформироватьДокументВедомостьНаСервере(Структура.мФизЛица,СсылкаДН); КонецПроцедуры | |||
| 1
    
        Fish гуру 29.03.19✎ 17:31 | 
        "как в управляемых формах вести лог (можно в файл-txt)" - Да вроде точно так же, как и в обычных. Через ТекстовыйДокумент.     | |||
| 2
    
        Temai 29.03.19✎ 17:32 | 
        Подтверждаю ответ из (1), так же как и в обычных формах     | |||
| 3
    
        Ник080808 29.03.19✎ 17:36 | 
        (0) в регистр сведений лучше пихать     | |||
| 4
    
        dft2014 29.03.19✎ 17:44 | 
        Написала функцию, код ниже:
 Функция ЗаписатьЛог(Лог) Экспорт Если НЕ Лог = "" Тогда ТекДокумент = Новый ТекстовыйДокумент; ТекДокумент.УстановитьТекст("НАЧАЛО:" + Символы.ПС + Лог); ТекДокумент.УстановитьТипФайла(КодировкаТекста.UTF8); ТекДокумент.Записать("c:\55.txt"); КонецЕсли; КонецФункции Также, в каждой процедуре по созданию документов, вставила соответствующие строчки: ЗаписатьЛог(Строка(НовыйДокументДГПХ.Ссылка)); ЗаписатьЛог(Строка(НовыйДокументНачислениеДог.Ссылка)); ЗаписатьЛог(Строка(НовыйДокументВедомость.Ссылка)); В результате, в файле c:\55.txt остается только одна запись - о последнем записанном документе. Как сделать, чтобы каждая новая запись не затирала предыдущую, а добавляла новую? | |||
| 5
    
        Temai 29.03.19✎ 17:57 | 
        Ты каждый раз новый документ создаешь(поэтому 1 строка - последняя), объяви создание заранее в другой процедуре и только 1 раз     | |||
| 6
    
        dft2014 29.03.19✎ 18:00 | 
        (5) Как это реализовать?!     | |||
| 7
    
        Temai 29.03.19✎ 18:02 | 
        (6) Блин ну я же написал.
 ТекДокумент = Новый ТекстовыйДокумент; - Убери из функции ЗаписатьЛог() и Объяви тут: ТекДокумент = Новый ТекстовыйДокумент; ЗаписатьЛог(Строка(НовыйДокументДГПХ.Ссылка)); ЗаписатьЛог(Строка(НовыйДокументНачислениеДог.Ссылка)); ЗаписатьЛог(Строка(НовыйДокументВедомость.Ссылка)); | |||
| 8
    
        Temai 29.03.19✎ 18:02 | 
        И передавай в свою функцию этот документ и уже в него пиши     | |||
| 9
    
        dft2014 29.03.19✎ 18:37 | 
        (7) Так не получится, т.к. функция ЗаписатьЛог() вызывается в разных процедурах:
 &НаКлиенте Процедура СформироватьДокументы(Команда) СформироватьДокументГПХНаСервере(); ... СформироватьДокументНачислениеНаСервере(Структура.мСотрудники,СсылкаДН); ... док = СформироватьДокументВедомостьНаСервере(Структура.мФизЛица,СсылкаДН); КонецПроцедуры &НаСервере Процедура СформироватьДокументГПХНаСервере() Для Каждого СтрокаТЧ из Объект.тчСотрудники Цикл ЗаписатьЛог(Строка(НовыйДокументДГПХ.Ссылка)); КонецЦикла; КонецПроцедуры &НаСервере Процедура СформироватьДокументНачислениеНаСервере() Для Каждого СтрокаТЧ из Объект.тчСотрудники Цикл ЗаписатьЛог(Строка(НовыйДокументНачисление.Ссылка)); КонецЦикла; КонецПроцедуры &НаСервере Процедура СформироватьДокументВедомостьСервере() Для Каждого СтрокаТЧ из Объект.тчСотрудники Цикл ЗаписатьЛог(Строка(НовыйДокументВедомость.Ссылка)); КонецЦикла; КонецПроцедуры Функция ЗаписатьЛог(Лог) Экспорт Если НЕ Лог = "" Тогда ТекДокумент = Новый ТекстовыйДокумент; ТекДокумент.УстановитьТекст("НАЧАЛО:" + Символы.ПС + Лог); ТекДокумент.УстановитьТипФайла(КодировкаТекста.UTF8); ТекДокумент.Записать("c:\55.txt"); КонецЕсли; КонецФункции | |||
| 10
    
        ДенисЧ 29.03.19✎ 18:42 | 
        А что, журнал регистрации уже не котируется?     | |||
| 11
    
        dft2014 29.03.19✎ 18:51 | 
        (10) я созданные документы записываю в лог, а потом в печатную форму на экран хочу выводить.     | |||
| 12
    
        Ластик 29.03.19✎ 18:53 | 
        (0) пиши в ЖР, так быстрее, по ЖР собрать логи не проблема потом     | |||
| 13
    
        Ластик 29.03.19✎ 18:55 | 
        (11) что выводить то в ПФ, логи или документы из лога     | |||
| 14
    
        dft2014 29.03.19✎ 18:59 | 
        (13) Документы из лога. Но можно и не в лог-файл записывать, но и в таблицу значений, например. Но вот как это в моем случае реализовать?     | |||
| 15
    
        dft2014 29.03.19✎ 18:59 | 
        (12) Зачем засорять ЖР?     | |||
| 16
    
        MyNick 29.03.19✎ 19:04 | 
        (11) формировать печатную форму по данным текстового документа, созданного обработкой записи документов? Больше на бред похоже     | |||
| 17
    
        lubitelxml 29.03.19✎ 19:04 | 
        (14) лучше тогда РС использовать. Скажите - как задача стоит, может все проще можно сделать     | |||
| 18
    
        dft2014 29.03.19✎ 19:07 | 
        (17) Задача: чтобы после загрузки бухгалтер увидел что загрузил и в какие документы. В регистре эту информацию хранить не надо.     | |||
| 19
    
        singlych 29.03.19✎ 19:57 | 
        Загрузка из формы? Храни эту инфу в реквизите формы.     | |||
| 20
    
        runoff_runoff 29.03.19✎ 22:18 | 
        Новый ЗаписьТекста     | |||
| 21
    
        MyNick 30.03.19✎ 07:43 | 
        (18) про реквизиты формы, переменную типа массив что-то слышали вообще?     | |||
| 22
    
        Сияющий в темноте 30.03.19✎ 09:01 | 
        Если писать хочется на сервере,то или открытие файла с дописыванием,то есть Новый ЗаписьТекста...дописывание или передачп массива с данными строк обратно на клиента.
 на клиенте,запись текста можно создать в отдельной переменной модуля формы и в него писать. если хочется пользователю показать,то делаем вкладку журнал на форме,туда таблицу формы и в нее и пишем,в таблице три колонки-когда,кто и что. | |||
| 23
    
        Сияющий в темноте 30.03.19✎ 09:02 | 
        в модуле управляемой формы вверху:
 &НаКлиенте Перем МойЛог; | |||
| 24
    
        hhhh 30.03.19✎ 09:13 | 
        (22) так можно же создать реквизит формы МойЛог, и писать в него текст на сервере, с клиентом вообще не париться. На клиенте просто показывать этот текст.     | |||
| 25
    
        Franchiser 30.03.19✎ 12:33 | 
        (21) я пишу в лог на клиенте в реквизит формы типа список значений (тип определяется при создании формы) , лог собирается из работы 10 фоновых заданий в асинхронном режиме.     | |||
| 26
    
        Franchiser 30.03.19✎ 12:38 | 
        (23) меня не устроило то что в этом случае нельзя писать в лог в серверных процедурах     | |||
| 27
    
        Franchiser 30.03.19✎ 12:41 | 
        Если создать реквизит формы неопределенного вида, и при создании формы назначит тип массив то будет ошибка, поэтом варианты только список значений, структура, тз     | |||
| 28
    
        Сияющий в темноте 30.03.19✎ 20:37 | 
        (26)писать можно,только нужнл результат на клиента возвращать.
 просто,в функциях без контекста все равно писать вручную с возвратом,а тогда зачем два разных механизма? | |||
| 29
    
        Рэйв 30.03.19✎ 20:45 | 
        (0)твое НаКиенте уже все портит.
 Запомни уже, сто все действия с базой делаются на сервере | |||
| 30
    
        Web00001 31.03.19✎ 15:41 | 
        (25)Ты и (0) два разных человека?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |