Простейший лог-файл

20.01.14

Разработка - Универсальные функции

Представляю вам процедуру, которая помимо того как выводит сообщение, пишет это сообщение в настраиваемый лог-файл.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
пример файла
.epf 6,77Kb ver:1.00
2 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Представляю вам процедуру, которая помимо того как выводит сообщение, пишет это сообщение в настраиваемый лог-файл.

"Зубрам 1С" процедура будет малоинтересна, новичкам - поможет отследить "деяния" юзеров с вашей обработкой.

Привожу пример данной процедуры (она помещается в модуль обработки как экспортная:

 

Процедура ЛогСообщить(М) Экспорт

	Сообщить(Формат(ТекущаяДата(),"ДЛФ=DT")+": "+М);
	
	ИмяФайла = "LogFile.txt";
	OShell = Новый COMОбъект("WScript.Shell");
 	ТекДирек = OShell.CurrentDirectory+"\";
	ЛогФайл = Новый ЗаписьТекста(ТекДирек+ИмяФайла, КодировкаТекста.ANSI,,Истина,);
	ЛогФайл.Записать(Формат(ТекущаяДата(),"ДЛФ=DT")+": "+М+Символы.ПС);
	ЛогФайл.Закрыть();
	
КонецПроцедуры

обращаться к этой процедуре очень просто:

 

ЛогСообщить("Привет, запись добавлена в файл");


Думаю, кому-нибудь данная процедура пригодится.



Вступайте в нашу телеграмм-группу Инфостарт

логфайл сообщения запись текст

См. также

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    5502    DeerCven    15    

57

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    46610    dimanich70    83    

165

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    6890    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    57805    atdonya    31    

68

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    8666    ke.92@mail.ru    17    

68

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    22879    YA_418728146    8    

174
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. awk 745 21.01.14 11:51 Сейчас в теме
(0) Для всего этого есть:
1. Объект 1С ЗаписьТекста.
2. Журнал регистрации
Использование СОМ объекта для данной задачи - это...............
levante90; cool.vlad4; +2 Ответить
2. Franco 84 21.01.14 13:18 Сейчас в теме
вместо

OShell = Новый COMОбъект("WScript.Shell");
ТекДирек = OShell.CurrentDirectory+"\";

можно использовать в модуле обработки

ИмяФайлаОбработки = ИспользуемоеИмяФайла;
Файл = Новый Файл(ИмяФайлаОбработки);
Каталог = СокрЛП(Файл.Путь);
Файл = Неопределено;
3. Franco 84 21.01.14 13:22 Сейчас в теме
а чтобы проверить на конечный слэш, то

Разделитель = ПолучитьРаздПутиСервера(); //в 8.2
Если Не Прав(Каталог, 1) = Разделитель Тогда
Каталог = Каталог + Разделитель;
КонецЕсли;

Функция ПолучитьРаздПутиСервера()
сисИнфо = Новый СистемнаяИнформация;
Если Найти(НРег(СокрЛП(Строка(сисИнфо.ТипПлатформы))), "windows") Тогда
Разделитель = "\";
Иначе
Разделитель = "/";
КонецЕсли;
сисИнфо = Неопределено;
Возврат Разделитель;
КонецФункции
4. aximo 2531 22.01.14 06:37 Сейчас в теме
Думаю, что данная процедура все-таки имеет место быть, для быстрого определения "когда, как и сколько раз" запускалась внешняя обработка, на каком этапе в ней произошла "загвоздка"...

Тем более, если обработка запускается через планировщик задач.

На счет применения этой процедуры - это уже вам решать...
5. Virikus 64 22.01.14 07:10 Сейчас в теме
(4) да это все чушь.

Использовать скрипт для этой цели не годится. А если база серверная, где потом искать этот лог?
6. basta-one2007 28.01.15 06:10 Сейчас в теме
Немного переписал, может кому пригодится:

Функция пр_ЛогСоздать () Экспорт
	КаталогИБ = НСтр(СтрокаСоединенияИнформационнойБазы(), "File");
	ИмяФайла = КаталогИБ+ "\LogFile_"+Формат(ТекущаяДата(),"ДФ=""ггггММдд_ччммсс""") +".txt";
 	Возврат ИмяФайла;
КонецФункции	
Процедура пр_ЛогСообщить(М,ИмяФайла) Экспорт
    Сообщить(Формат(ТекущаяДата(),"ДЛФ=DT")+": "+М);
    ЛогФайл = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI,,Истина,);
    ЛогФайл.Записать(Формат(ТекущаяДата(),"ДЛФ=DT")+": "+М+Символы.ПС);
    ЛогФайл.Закрыть();
КонецПроцедуры
Показать
kladovoy; user1492823; KazanKokos; Новичок1с; +4 Ответить
7. ymarch 30.07.19 14:31 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация