Логирование в 1С

Публикация № 525528

Администрирование - Администрирование данных 1С

логирование лог отслеживание невидимых процессов

22
Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами.
Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно.
В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

Итак, рассмотрим программную реализацию в 1С:

Название модуля — К2_Лог

///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Данная библиотека определяет базовую работу с текстовыми логами
// данные функции рекомендуется использовать во всех конфигурациях.
// Так же, как следствие, того, что библиотека используется везде - присутствует функция определения операционной системы
///////////////////////////////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////
// Общесистемные процедуры и функции
/////////////////////////////////////////////

// Определяем платформу операционной системы
Функция ОпределитьПлатформу ()Экспорт 
	
	СисИнф = Новый СистемнаяИнформация;
	Если  СисИнф.ТипПлатформы = ТипПлатформы.Windows_x86 Или  СисИнф.ТипПлатформы = ТипПлатформы.Windows_x86_64  Тогда
		Значение = "Wind"; // Лучше выдавала бы Win - так логичнее
	ИначеЕсли  СисИнф.ТипПлатформы = ТипПлатформы.Linux_x86 Или  СисИнф.ТипПлатформы = ТипПлатформы.Linux_x86_64  Тогда 
		Значение = "Lin";
	ИначеЕсли  СисИнф.ТипПлатформы = ТипПлатформы.MacOS_x86 Или  СисИнф.ТипПлатформы = ТипПлатформы.MacOS_x86_64  Тогда 
		Значение = "Mac";
	Иначе
		Значение = Неопределено;
	КонецЕсли;
	   Возврат Значение;
   КонецФункции
   
// Функция возвращает является ли данная система Windows или нет   
Функция IsWin() Экспорт
	Возврат ОпределитьПлатформу()="Wind";
КонецФункции

Функция РазностьВремени(Время1, Время2);
	Возврат (Время2 - Время1);
КонецФункции



////////////////////////////////////////////
// Функции логирования
////////////////////////////////////////////

// Сохраняет информацию в лог
Процедура Лог(ИмяФайла, ЛогСтрока, ДатаВремя, ЭтоНачало=Истина) Экспорт
	
	// Определение даты и времени
	Сейчас=ДатаВремя;
	Разница=0;
	Если ЭтоНачало Тогда
		ДатаВремя=ТекущаяДата();
		Сейчас=ДатаВремя;
	Иначе	
		ДатаВремя2=ТекущаяДата();
		Разница=РазностьВремени(ДатаВремя,ДатаВремя2);
		Сейчас=ДатаВремя2;
	КонецЕсли;
	
	
	// Если полный путь не указан, то пишем в c:\log
	Если Найти(ИмяФайла, "\") = 0 тогда
  		ИмяФайла = "C:\Log\"+ ИмяФайла;
	КонецЕсли;
	
    // Если не указано расширение - указываем
	Если Найти(ИмяФайла, ".") = 0 тогда
        ИмяФайла = ИмяФайла+".txt";
	КонецЕсли;
	
	
	// Форматирую разницу в секнды, минуты, часы
	Если Разница<60 Тогда
		Разница = Строка(Разница)+" сек";
	ИначеЕсли Разница<3600 Тогда	
		Разница = Строка(Окр(Разница/60,2))+" мин";
	Иначе 
		Разница = Строка(Окр(Разница/3600,2))+" часов";
	КонецЕсли;		
	
	
	ЛогСтрока=""+Сейчас+"|"+ПараметрыСеанса.ТекущийПользователь+"|"+ЛогСтрока+"|"+Разница;
	
	Попытка
	
		Если IsWin() Тогда
	
				fso=Новый COMОбъект("Scripting.FileSystemObject");	
		
				Если Не fso.FileExists(ИмяФайла) Тогда
					file=fso.CreateTextFile(ИмяФайла, -1, 0); //создать файл, перезаписывая существующий.
					file.WriteLine(ЛогСтрока); 
					file.Close(); 
				Иначе
					file=fso.OpenTextFile(ИмяФайла, 8, 0); //дополнить файл
					file.WriteLine(ЛогСтрока); 
					file.Close(); 
				КонецЕсли;
			
		Иначе
			ЗапуститьПриложение("echo "+ЛогСтрока+">>"+ИмяФайла);
		КонецЕсли;		
		
	Исключение
		Попытка
			ЗапуститьПриложение("echo _LogErr>>C:\Log\_err.txt");
		Исключение
		КонецПопытки;
	КонецПопытки;
			

КонецПроцедуры	 


// Формирует лог сообщений
Процедура ЛогСообщений(Модуль, ЛогСтрока, ДатаВремя, ЭтоНачало=Истина) Экспорт
	 Лог(Модуль, ЛогСтрока, ДатаВремя,ЭтоНачало);	 
	 //Лог("_Сообщения", Модуль+" - "+ЛогСтрока, ДатаВремя,ЭтоНачало);	 
КонецПроцедуры


// Формирует лог обработок
Процедура ЛогОбработок(НазваниеОбработки, ЛогСтрока, ДатаВремя, ЭтоНачало=Истина) Экспорт
	 Лог("Обр_"+НазваниеОбработки, ЛогСтрока, ДатаВремя, ЭтоНачало);
	 //Лог("_Обработки", НазваниеОбработки+" - "+ЛогСтрока, ДатаВремя, ЭтоНачало);
КонецПроцедуры	

// Формирует лог обмена
Процедура ЛогОбмен(НазваниеОбработки, ЛогСтрока, ДатаВремя, ЭтоНачало=Истина) Экспорт
	 Лог("Обмен_"+НазваниеОбработки, ЛогСтрока, ДатаВремя, ЭтоНачало);
	 //Лог("_Обмен", НазваниеОбработки+" - "+ЛогСтрока, ДатаВремя, ЭтоНачало);
КонецПроцедуры	


// Формирует лог регламентных заданий
Процедура ЛогРегламентныхЗаданий(НазваниеРегламентногоЗадания,ЛогСтрока, ДатаВремя, ЭтоНачало=Истина)
	  Лог("РЗ_"+НазваниеРегламентногоЗадания,ЛогСтрока, ДатаВремя, ЭтоНачало);
	  //Лог("_РегламентныеЗадания",НазваниеРегламентногоЗадания+" - "+ЛогСтрока, ДатаВремя, ЭтоНачало);
КонецПроцедуры	



// Выдает сообщение на экран и записывает в файл
Процедура Сообщ(Модуль, ТестСообщения) Экспорт
	  ДатаВремя=ТекущаяДата();
	  ЛогСообщений(Модуль, ТестСообщения, ДатаВремя);
	  //Сообщить(ТестСообщения);	
КонецПроцедуры	

// Начало произвольного сообщения со счетчиком
Процедура СообщНач(Модуль, ТестСообщения, ДатаВремя) Экспорт
	  ЛогСообщений(Модуль, ТестСообщения, ДатаВремя, Истина);
	  //Сообщить(ТестСообщения);	
КонецПроцедуры	

// Конец произвольного сообщения со счетчиком
Процедура СообщКон(Модуль, ТестСообщения, ДатаВремя) Экспорт
	  ЛогСообщений(Модуль, ТестСообщения, ДатаВремя, Ложь);
	  //Сообщить(ТестСообщения);	
КонецПроцедуры	



// Фиксация начала выполнения обработки
Процедура ЛогОбрНач(НазваниеОбработки, ЛогСтрока, ДатаВремя) Экспорт
	 ЛогОбработок(НазваниеОбработки, ЛогСтрока+" Нач", ДатаВремя, Истина);
КонецПроцедуры	

// Фиксация конца выполнения обработки
Процедура ЛогОбрКон(НазваниеОбработки, ЛогСтрока, ДатаВремя) Экспорт
	 ЛогОбработок(НазваниеОбработки, ЛогСтрока+" Кон", ДатаВремя, Ложь);
КонецПроцедуры	

// Фиксация сообщения в обработке (без вывода сообщения на экран)
Процедура ЛогОбрСообщ(НазваниеОбработки, ЛогСтрока, ДатаВремя) Экспорт
	 ЛогОбработок(НазваниеОбработки, ЛогСтрока, ДатаВремя, Ложь);
КонецПроцедуры	



// Фиксация начала регламентной задачи
Процедура ЛогРЗНач(НазваниеРегламентногоЗадания,ЛогСтрока, ДатаВремя) Экспорт 
	  ЛогРегламентныхЗаданий(НазваниеРегламентногоЗадания,ЛогСтрока+" Нач", ДатаВремя, Истина);
КонецПроцедуры	

// Фиксация окончания регламентной задачи
Процедура ЛогРЗКон(НазваниеРегламентногоЗадания,ЛогСтрока, ДатаВремя) Экспорт 
	  ЛогРегламентныхЗаданий(НазваниеРегламентногоЗадания,ЛогСтрока+" Кон", ДатаВремя, Ложь);
КонецПроцедуры	

// Фиксация сообщений в регламентных заданиях
Процедура ЛогРЗСообщ(НазваниеРегламентногоЗадания,ЛогСтрока, ДатаВремя) Экспорт 
	  ЛогРегламентныхЗаданий(НазваниеРегламентногоЗадания,ЛогСтрока, ДатаВремя, Ложь);
КонецПроцедуры	



// Фиксация начала регламентной задачи
Процедура ЛогОбменНач(НазваниеОбмена,ЛогСтрока, ДатаВремя) Экспорт 
	  ЛогОбмен(НазваниеОбмена,ЛогСтрока+" Нач", ДатаВремя, Истина);
КонецПроцедуры	

// Фиксация окончания регламентной задачи
Процедура ЛогОбменКон(НазваниеОбмена,ЛогСтрока, ДатаВремя) Экспорт 
	  ЛогОбмен(НазваниеОбмена,ЛогСтрока+" Кон", ДатаВремя, Ложь);
КонецПроцедуры	

// Фиксация сообщений в регламентных заданиях
Процедура ЛогОбменСообщ(НазваниеОбмена,ЛогСтрока, ДатаВремя) Экспорт 
	  ЛогОбмен(НазваниеОбмена,ЛогСтрока, ДатаВремя, Ложь);
КонецПроцедуры	



// Сохраняет сообщение в лог
Процедура СообщЛог(Модуль, ТестСообщения) Экспорт
   ДатаВремя=ТекущаяДата();
   Лог(Модуль, ТестСообщения, ДатаВремя);
КонецПроцедуры

// Процедура фиксации ошибок в логе ошибок
Процедура Ошибка(ТестСообщения) Экспорт
   ДатаВремя=ТекущаяДата();
   Лог("_err", ТестСообщения, ДатаВремя, Ложь);
КонецПроцедуры	

// Процедура фиксации ошибок с указанием текущей даты
Процедура ОшибкаД(ТестСообщения, ДатаВремя) Экспорт
   Лог("_err", ТестСообщения, ДатаВремя, Ложь);
КонецПроцедуры	



Процедура ОшибкаС(ТестСообщения) Экспорт
   ДатаВремя=ТекущаяДата();
   Лог("_err", ТестСообщения, ДатаВремя, Ложь);  
 
   Сообщить(ТестСообщения);
КонецПроцедуры	

// Фиксирует ошибку в логе и выдает сообщение о ошибке.
// Так же, вызывает исключение о ошибке.
Процедура ОшибкаСообщить(ТестСообщения, Отказ = Ложь) Экспорт
   ДатаВремя=ТекущаяДата();
   Лог("_err", ТестСообщения, ДатаВремя, Ложь);
   
   ОбщегоНазначения.СообщитьОбОшибке(ТестСообщения, Отказ);
   
   //Сообщить(ТестСообщения);
КонецПроцедуры	


Процедура ПодклЛог(ТестСообщения) Экспорт
   ДатаВремя=ТекущаяДата();
   Лог("_conn", ТестСообщения, ДатаВремя, Ложь);
КонецПроцедуры	


Процедура Отладка(Модуль,ТестСообщения) Экспорт
   ДатаВремя=ТекущаяДата();
   Лог(Модуль, ТестСообщения, ДатаВремя, Ложь);
КонецПроцедуры	


	
Процедура ОтладкаС(Модуль,ТестСообщения) Экспорт
   ДатаВремя=ТекущаяДата();
   Лог(Модуль, ТестСообщения, ДатаВремя, Ложь);
   Сообщить(ТестСообщения);
КонецПроцедуры	


// Формирует лог веб-процессов
Процедура ЛогWeb(НазваниеWeb,ЛогСтрока, ДатаВремя, ЭтоНачало=Истина)
	  Лог("Web_"+НазваниеWeb,ЛогСтрока, ДатаВремя, ЭтоНачало);
	  //Лог("_РегламентныеЗадания",НазваниеРегламентногоЗадания+" - "+ЛогСтрока, ДатаВремя, ЭтоНачало);
КонецПроцедуры	



// Фиксация начала веб-процесса
Процедура ЛогWebНач(НазваниеWeb,ЛогСтрока, ДатаВремя) Экспорт 
	  ЛогWeb(НазваниеWeb,ЛогСтрока+" Нач", ДатаВремя, Истина);
КонецПроцедуры	

// Фиксация окончания веб-процесса
Процедура ЛогWebКон(НазваниеWeb,ЛогСтрока, ДатаВремя) Экспорт 
	  ЛогWeb(НазваниеWeb,ЛогСтрока+" Кон", ДатаВремя, Ложь);
КонецПроцедуры



Фиксация времени выполнения регламентных задач:

Процедура ЗагрузкаКаталогаОмеги() Экспорт
		
	Перем ТаблицаРС;	
	
	// Rudjuk 08.09.2015
	Перем ДатаВремя;
	К2_Лог.ЛогРЗНач("ЗагрузкаКаталогаОмеги","ЗагрузкаКаталогаОмеги", ДатаВремя);

......

    // Rudjuk 08.09.2015
	К2_Лог.ЛогРЗКон("ЗагрузкаКаталогаОмеги","ЗагрузкаКаталогаОмеги", ДатаВремя);
	
	
КонецПроцедуры

В данном примере мы фиксируем время выполнения регламентного задания и записываем данное время в лог. Причем, записываем и начало регламентного задания и окончания. Таким образом, если регламентное задание не завершилось — мы видим, что 2-я строка не записалась.

Фиксация ошибок

В регламентном задании, сообщения не выдаются на экран. Но, их можно писать в лог. Таким образом, если возникают ошибки, имеет смысл их фиксировать в логе.


Попытка
	Перемещение.Записать(); //РежимЗаписиДокумента.Проведение
Исключение	
	К2_Лог.Ошибка("АвтоматическоеФормированиеПеремещенийПоСвозуНеликвидов.Перемещение.Записать()." + ОписаниеОшибки());					
КонецПопытки;	


Анализ логов с помощью команд Linux

Операционная система Windows поддерживает очень ограниченный набор команд по работе с тектовыми файлами. Однако, в Linux есть ряд команд, которые позволяют обработать много гигабайтные файлы за считанные секунды.

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

Для того, чтоб команды Linux поддерживались в Windows, необходимо сделать ряд вещей:

Необходимо распаковать в системный каталог, доступный в путях пакет UnxUpdates: http://unxutils.sourceforge.net/

После этого в командной строке, будут восприниматься команды Linux.

Вывод на экран последних поступающих строк в логе:

tail -f НазваниеЛога

Данная команда полезна для мониторинга поступающих строк в лог-файл.

Поиск нужной строки в логе:

cat НазваниеЛога | grep ЧтоИщем

 

Вывод на экран строк по заданному слову

tail -f НазваниеЛогФайла | grep ЧтоИщем

 

 

Автор: Рудюк С . А. http://corp2.net

22

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. ardn 95 18.05.16 11:13 Сейчас в теме
Почему
Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно.
?
На мой взгляд, более неудобно городить свою систему логирования для некоторых процессов.
oldfornit; invertercant; dabu-dabu; shalimski; mihey; AlexSvt; CSiER; Сурикат; +8 Ответить
2. rudjuk 86 18.05.16 11:36 Сейчас в теме
(1) ardn, Да. Городится "логирование" для тех процессов, которые хочется отслеживать. И это отлично работает и не засоряет базу. Т.к. данные логи легко удаляются и так же легко наблюдаются процессы. Очень полезная вещь - видеть в реальном времени состояние процессов.
11. AlexSvt 16 25.05.16 09:53 Сейчас в теме
Добрый день!
Присоединяюсь к вопросу в (1).
На мой взгляд, утверждать о "чрезвычайной неэффективности" не совсем корректно.
Вы пишете пути записи логов и имя лог-файла в коде. А что будет если Вы развернете еще одну базу, например, тестовую из бэкапа, на той же машине и в ней запустится запись лога процесса?
Благодарю за статью.
12. rudjuk 86 25.05.16 13:06 Сейчас в теме
(11) AlexSvt, Никто не мешает изменять код. Иногда, нужно в одном логе наблюдать процессы в нескольких базах. Иногда - наоборот. Поэтому, исходите из заач.
20. 7OH 32 19.12.18 17:15 Сейчас в теме
(1) будет ли успевать ОС записывать в файл при большой нагрузке и вызове логирования, допустим, из http сервисов.
Смотрю вариант с регистром сведений - 100 операций в секунду "запись начала и перезапись в конце".
3. CheBurator 3399 19.05.16 23:32 Сейчас в теме
и что даст состояние процессов? логично видеть проблемы/гарушения, все остальное - видеть не очень интересно
4. rudjuk 86 20.05.16 07:38 Сейчас в теме
(3) CheBurator, Состояние процессов ничего особо не даст. Поэтому и цепляется логирование на те процессы, которые нужно отслеживать. Например, на часто выполняемые регламентные задания ip-телефонии, на процессы успешности записи на диск, успешности передачи по ftp и т.п. В логах комментарии всегда пишутся так, чтоб можо было определить процедуру и место процедуры, в которой возникла проблема.
Данное логирование не предназначено для отслеживания всего и вся. А предназначено для отслеживания успешности выполнения важных для работы или для отладки мест конфигурации.
5. starik-2005 1955 20.05.16 08:00 Сейчас в теме
А что, объект ЗаписьТекста религия не позволяет использовать и нужны эти танцы с бубном вокруг определения типа платформы?

Да и вообще, если уж логировать таким образом, то куда лучше использовать какой-нибудь elasticsearch, данные из которого можно связать с системами работы с логами и визуализаторами.
oldfornit; chek.e.l@mail.ru; Bronislav; mihey; JohnyDeath; +5 Ответить
6. rudjuk 86 20.05.16 16:07 Сейчас в теме
(5) starik-2005, Записать текст блокирует файл. Как результат, при совместных обращениях к одному и тому же логу будет писаться сообщение о блокировке. Решение работает и в Linux и в Windows. Но подходы к реализации в данных операционных системах - разные.
По поводу визуализации - прекрасно все визуализируется командами Linux. tail, grep, cat :)
Вполне достаточно для наблюдения за процессами вплоть до реального времени.
7. starik-2005 1955 20.05.16 18:26 Сейчас в теме
(6) ну кто ж спорит-то. Я запись файла вообще использую для механизма мьютекса. Можно повисеть в попытке/исключении, т.к. ОС тоже в один файл не может одновременно писать - все-равно ждет завершения предыдущей файловой операции. Иначе была бы мешанина между символами строк, записываемых разными потоками одновременно )))

Мне кажется, что в идеале сделать регистр сведений, в который пишется лог, а потом регламентом регистр блокируется, читается, очищается и пишется в текст. Но при этом, конечо, и лог 1С растет, если не отключить регистрацию.
8. rudjuk 86 20.05.16 18:54 Сейчас в теме
(7) starik-2005, Нет. В том то и дело, что регистр сведений - плохой вариант. Впрочем, как и что-угодно, что пишет в базу. В том то и выгода текстовых логов, что их легко удалить и очень быстро. А с помощью команд Linux - очень эффективно анализировать.
9. JohnyDeath 294 25.05.16 09:38 Сейчас в теме
10. CSiER 27 25.05.16 09:47 Сейчас в теме
Думаю, что смысл логирования в nix (гуру поправят, если ошибаюсь) - не в том, что данные хранятся в текстовых файлах, а в самом процессе журналирования (когда приложения пишут в лог через специальный демон). Если настраивать приложения так, чтобы логи писались в режиме debug или info - тогда без awk и т.п. не обойтись. Если warn и выше - тогда можно открыть нужные журналы через tain -n.
Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно.

неэффективно использовать те системы логирования, которые не просматриваются :) Думаю, что писать логи непосредственно в журналы windows при таком подходе будет более правильно - в этом случае вероятность обнаружить ошибку повышается.
13. rudjuk 86 25.05.16 13:09 Сейчас в теме
(10) CSiER, В том то и смысл, чтоб все в одну кошелку не ложить...
14. aspirator23 401 28.05.16 14:00 Сейчас в теме
Для отладки, настройки логировать в файл удобнее.
15. Lapitskiy 902 29.05.16 04:09 Сейчас в теме
Да, текстовые логи значительно удобнее 1с-журнала регистрации - с ним вообще невозможно работать по-человечески.
16. Synoecium 648 31.05.16 09:29 Сейчас в теме
(15) Lapitskiy, А как насчет выгружать ЖР в формат XML средствами платформы, а потом делать уже с ним все, что хочется сторонними программами?
17. rudjuk 86 31.05.16 12:15 Сейчас в теме
(16) Synoecium, XML - избыточный. Не целесообразно логи вести в нем. Тем более, что время на обработку XML не то. Текстовые логи - для анализа информации в режиме реального времени.
18. Vovan58 45 31.05.16 17:05 Сейчас в теме
Идея хороша, только писать log с помощью создания com-объекта для каждой строки - это очень "от души"... ("Формула любви")
19. rudjuk 86 31.05.16 19:08 Сейчас в теме
(18) Vovan58, К сожалению, так приходится делать, т.к. обычные команды 1С блокируют текстовый файл. И одновременные обращения к одному и тому же файлу вызывают в этом случае ошибки.
Оставьте свое сообщение

См. также

Как настроить сервер 1С по умолчанию для ПРОФ лицензии после 10.09.2019 90

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Здесь мы собираем все данные по настройкам сервера для работы ПРОФ лицензии.

11.09.2019    18222    infostart    90       

Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux 72

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С Zabbix

Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 1С или какие-либо другие инструменты (решения)! Это всего лишь еще один взгляд на "проблему", который может быть полезен в некоторых ситуациях.

10.09.2019    6707    Sloth    11       

Уверенное обновление 74

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Уверенное обновление. Анализ файла ОтчетОСравнении.txt. Bash

18.07.2019    4758    vasilev2015    35       

Почему Вы не обслуживаете итоги? 76

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Небольшая заметка по обслуживанию итогов. Все ли Вы делаете правильно?

04.07.2019    5468    YPermitin    16       

За 5 шагов добавляем мониторинг счетчиков производительности серверов MS SQL и 1С 90

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Статистика базы данных Производительность и оптимизация (HighLoad)

Мы расскажем и покажем, как добавить данные счетчиков производительности серверов 1С и MS SQL в нашу базу мониторинга за 15 минут. Приведем список наиболее важных из них, опишем основные особенности.

28.05.2019    6861    ivanov660    5       

Опыт обновления до 8.3.14 - лицензии и утилита ring 76

Статья Системный администратор Нет файла v8 Windows Бесплатно (free) Администрирование данных 1С

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

29.04.2019    18660    Sander80    30       

Практика перехода на Linux и Postgres в небольшой компании (10 пользователей) 98

Статья Системный администратор Программист Нет файла v8 1cv8.cf Ubuntu Бесплатно (free) Администрирование данных 1С

Почему я решил поставить давнему клиенту Linux + Postgres вместо Windows + MS SQL? Что меня останавливало раньше?

22.04.2019    19074    starik-2005    158       

Скорость работы 1С: Предприятие с разными СУБД: MS SQL и с PostgreSQL 70

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Рассмотрим несколько вариантов работы 1С: Предприятие с различными СУБД.

20.02.2019    15744    valentinko    168       

Debian 9.7 + PostgreSQL для 1С. Как завести с пол-оборота 71

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Предлагаю взять на заметку информацию по установке и настройке в формате typical, typical, done.

02.02.2019    9912    valentinko    13       

1С и Яндекс.Облако Compute Cloud. Вдоль и поперек 82

Статья no Нет файла v8 Бесплатно (free) Администрирование данных 1С

Бороться и искать. Найти и перепрятать. Достаточно популярная поговорка во времена Союза. Вот и сейчас, те у кого сервер 1С в локальной сети мечтают вынести его в облако, а те у кого в облаке прикупить свой в локальную сеть. Тестирование Яндекс.Облако Compute Cloud для 1С Предприятие оставило у меня приятное впечатление. Возможно кто-то повторит его и внесет больше ясности в настройки виртуальных серверов, использованию API и так далее. Пока же пользуйтесь чем я послал. Интересующихся прошу под кат…

20.01.2019    9900    capitan    29       

Малоизвестная хитрость определения модуля и номера строки при возникновении исключения (без запуска отладки и конфигуратора). Несколько очень удобных, но малоиспользуемых возможностей работы в конфигураторе 301

Статья Программист Нет файла v8 Россия Бесплатно (free) Тестирование и исправление

В статье описана возможность получить место возникновения исключения при работе пользователей без участия конфигуратора. Подробно описаны еще некоторые очень полезные приемы при работе в отладке.

17.01.2019    15993    PoZiTiFFF    52       

Копирование числовых ячеек из 1С в Excel 26

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel Администрирование данных 1С

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

15.01.2019    10201    itriot11    21       

Восстановление базы 1С, ошибка источника потока 90

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Тестирование и исправление

Очередной кирпичик в основу решения проблемы восстановления работоспособности базы после динамического обновления.

09.01.2019    10312    idle    23       

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана 161

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом. Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С). На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков). Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres. А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL). Если, конечно, статья придется вам по вкусу.

25.12.2018    19542    2    capitan    146       

Чем PostgreSQL может быть полезен разработчику 1С 170

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Администрирование данных 1С

В статье будут рассмотрены примеры, которые могут оказаться полезными в повседневной работе разработчика 1С и не только: как можно сделать снимок рабочей базы без файла резервной копии, как можно эффективно использовать табличные пространства СУБД PostgreSQL, а также как организовать простой и удобный доступ к админке СУБД посредством мобильных устройств.

20.12.2018    15286    Shmell    38       

Заметки про лицензии 1С 104

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Решил собрать шпаргалку по лицензиями 1С о разных нюансах, с которыми успел столкнуться.

15.12.2018    12346    MrWonder    22       

Когда 1С падает в дамп 98

Статья Системный администратор Нет файла v8 Windows Бесплатно (free) Администрирование данных 1С

Мой опыт устранения проблемы, при которой вылетала платформа 1С.

11.10.2018    25041    987ww765    33       

Кластер серверов 1С 180

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

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

24.09.2018    23139    a.doroshkevich    60       

[Шпаргалка] Несколько версий сервера 1С на одном сервере (компьютер) 108

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Администрирование данных 1С

Публикация-шпаргалка. Если у вас возникала необходимость в размещение нескольких серверов 1С разных версий на одном сервере (компьютере).

14.05.2018    15125    rpgshnik    26       

Несколько версий сервера 1С на одном компьютере 209

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Как установить несколько экземляров сервера 1С на один компьютер. Как установить несколько служб агента 1С на один сервер? Как запустить сервера разных платформ на одном компьютере.

18.04.2018    43459    spezc    79       

Запуск Apache 2.4 с модулем 1С внутри Docker контейнера 87

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С WEB docker Apache

Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе. Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии. Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.

04.04.2018    17656    petr.myazin    35       

Сервер администрирования кластера серверов 1C:Предприятия и deployka 118

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Сервисные утилиты Администрирование данных 1С

В данной статье познакомимся с сервером администрирования кластера серверов 1С:Предприятия, а конкретно с утилитами rac.exe и ras.exe, а также программой deployka, с помощью которых становится возможным администрирование кластера серверов 1С:Предприятие из командной строки.

04.04.2018    34619    Tavalik    33       

О лицензиях 1С 207

Статья Системный администратор Нет файла v8 Россия Windows Бесплатно (free) Администрирование данных 1С

Разбираем вопросы по получению и переполучению лицензии 1С.

30.03.2018    83624    D_e_X_T_e_R    141       

1C÷Linux÷PostgreSQL÷Apache 87

Статья Системный администратор Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С Apache

Дружим 1С с Линуксом ИЛИ Установка окружения для работы с 1С на Линуксе под Постгресом и Апачем.

26.03.2018    27766    SerVer1C    43       

Настройка веб сервера Apache + 1С (Пошаговое руководство) 241

Статья Системный администратор Нет файла v8 1cv8.cf Windows Бесплатно (free) Администрирование данных 1С Apache

Пошаговое руководство настройки Web сервера Apache на Windows. Не секрет, что файловые базы через веб-сервер будут работать намного шустрее, чем через обычный доступ к сетевому каталогу. Эффект особенно заметен, когда старые компы вообще не справляются с обычным сетевым доступом, регулярно выплевывают 1С. А доступ через веб сервер даже на компьютерах серии "Хлам" работает на ура!

19.07.2017    162950    Aleksey81    132       

Когда перестает работать отладчик 105

Статья Системный администратор Программист Нет файла v8 Россия Windows Бесплатно (free) Тестирование и исправление

Полагаю, некоторые коллеги уже оказывались в ситуации, когда отладка внезапно пропадала, и различные "шаманские" методики (переустановка платформы, чистка локального кэша и прочее) результата не давали. Опишу свой опыт по выявлению и устранению причины.

13.06.2017    21117    mickey.1cx    20       

1C Fresh - решение для тех, у кого много баз и слабые серверы 79

Статья Системный администратор Программист Нет файла v8 Россия Бесплатно (free) Администрирование данных 1С

Или сказ о том, как Иван-Дурак в оптимизаторы заделался (текст изложен в слегка сказочной форме). Небольшой личный опыт установки и запуска 1С Fresh. Ответы на вопросы, которые мне не смогли дать первые 3 франча.

02.06.2017    17491    Drasha    64       

Сравнение двух объектов одной конфигурации, без танцев с бубнами - в пару кликов 161

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Администрирование данных 1С

Короткая иллюстрированная инструкция об использовании малоизвестной и малопонятной функциональности в стандартном инструменте сравнения/объединения конфигураций.

23.05.2017    16102    Chrizt    34       

Ошибка формата потока. Решение с описанием проблемы 103

Статья Системный администратор Нет файла v8 1cv8.cf Россия Бесплатно (free) Тестирование и исправление

Ошибка формата потока. Страшная, но симпатишная своей загадочностью. 1С ничего толком не объясняет и не подсказывает. Ниже решение, которое мне помогает решать данную проблему на 100%. Всё очень просто. Данная ошибка возникает (на моей практике) только у клиент серверного варианта. просто потому что с другим форматом не работаю. Рекомендация: Старайтесь избегать динамического обновления, особенно если у вас возможны кратковременные проблемы с 220 и LAN. Далее описание лечения:

25.04.2017    20520    juker    1       

Автоматизированная проверка конфигураций… и пара слов о стандартах разработки 265

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Тестирование и исправление

Предлагаю познакомиться с инструментом "Автоматизированная проверка конфигураций" и получить практику его применения

18.01.2017    43146    3    Vladimir Litvinenko    19       

BDD 1С по душе 78

Статья Программист Нет файла v8 Россия Бесплатно (free) Тестирование и исправление

Размышляя над проблемой тестирования, а точнее над проблемой качества решений, умные и не очень люди, в основном ломают копья над следующим противоречием “надо тестировать, но надо разрабатывать, а не тестировать” (Алексей Лустин) www.silverbulleters.org

15.01.2017    20599    dima_tuzov    44       

Дружба крепкая начинается... или мой опыт MS SQL Server на Linux для работы с 1С:Предприятие 8 73

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

На днях появилась новость о том, что MS SQL Server представлен для платформы LINUX. Приятная новость. Проверил связку Сервер 1С:Предприятие 8 на Windows + MS SQL Server на Linux и вот что вышло...

20.11.2016    24223    bpc222    47       

Загрузка логов журнала регистрации 1С из MS SQL в ElasticSearch 71

Статья no Архив с данными v8 Бесплатно (free) Журнал регистрации

Еще один инструмент хранения и визуализации логов журнала регистрации 1С

01.09.2016    27109    farukshin    9       

Формат баз 1CD - классические и 8.3.8 122

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Практика программирования Администрирование данных 1С

Некоторые дополнения к описанию формата 1CD от awa и описание нововведений в 8.3.8

14.07.2016    26712    Pasha1st    20       

Технология публикации Fresh. С чем "едят" 91

Статья Системный администратор Программист Нет файла v8 КА1 БП2.0 ЗУП2.5 УНФ Россия Windows Бесплатно (free) Администрирование данных 1С

Я работаю в бухгалтерской компании, мы ведём бухгалтерию примерно для 1000 клиентов. У нас почти 1,5 тысячи баз 1С. Хочу поделиться тем, как мы используем Fresh и строим своё облако с его помощью. Часть первая — обзорная.

17.03.2016    22316    faustrue    68       

Установка 1С Сервер 8.3.7 (i386 и x64) и PostgreSQL 9.4.x x64 на Ubuntu Server 14.04 x64 136

Статья Системный администратор Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С

Рассматривается вариант установки 32-битного и 64-битного 1С Сервера 8.3.7 (на примере версии 8.3.7.1970), а также 64-битного PostgreSQL 9.4.x на 64-битный Ubuntu Server 14.04. Опционально приводятся варианты настройки Timezone и синхронизации времени, установки Apache 2.2, настройки файрвола UFW, установки OpenJDK 1.8 и включения режима отладки 1С Сервера на 64-битном Ubuntu Server 14.04.

17.03.2016    94981    vikdes    67       

Практические советы по настройке и работе с сервером 1С: 8 104

Статья Системный администратор Программист Нет файла v8 Россия Windows Бесплатно (free) Администрирование данных 1С

1. Как запустить более одной службы 1С для параллельной работы с разными версиями платформы 1С: 8.0, 8.1, 8,2 8.3 и т. д. 2. Как перезапустить сервер? 3. Как перенести БД с платформы на платформу, без потери журнала регистрации?

1 стартмани

09.03.2016    19713    Zlohobbit    9       

Сборка PostgreSQL 9.4.2 из исходников с патчами от 1С 83

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Администрирование данных 1С

Честно - не нашел нигде описания того, как пропатчить KDE для FreeBSD, поэтому решил ликвидировать данную несправедливость. Ниже по тексту я расскажу не только про то, как собрать Postgres, но и как использовать флаги оптимизации для вашего процессора, чтобы все работало максимально быстро. Ну и немного остановлюсь на конфигурировании и администрировании.

23.02.2016    27539    starik-2005    28       

Для чего НЕ нужны индексы 191

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Статистика базы данных Практика программирования

Индекс лишним не бывает? Чем больше индексов, тем лучше? А не проиндексировать ли это измерение на всякий случай? Если подобные вопросы иногда возникают в вашей голове, то эту статью прочитать было бы весьма полезно.

16.01.2016    40348    comol    93       

Все, что надо знать о технологической платформе 1С:Предприятие: компоненты, архитектуры, операционные системы, лицензии 198

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Все о платформе и лицензировании для начинающих и не только. (благодаря Сообществу учтены новейшие изменения лицензионной политики 1С!)

19.12.2015    61603    barelpro    50       

V82.COMConnector, V83.COMConnector класс не зарегистрирован 75

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Администрирование данных 1С

Недавно перенес несколько баз на платформу 8.3, и столкнулся со следующей проблемой: при замене в нескольких обработках объекта V82.COMConnector на V83.COMConnector при запуске стал получать сообщение "v83.comconnector класс не зарегистрирован". Решение выкладываю, т.к. не нашел похожей статьи на данном сайте, возможно, невнимательно искал.

23.09.2015    91640    solutioncp24    44       

Автоматическое определение цепочки обновлений релизов 1С 70

Статья Системный администратор Программист Нет файла v8 Россия Бесплатно (free) Администрирование данных 1С

Сервис создан для быстрой оценки трудоёмкости обновления и для определения необходимых релизов. Будет полезен для меня, а может быть, и для вас )

31.07.2015    35783    Ibrogim    80       

Отчет по размерам таблиц в базе данных как одно из средств анализа проблем 53

Статья Системный администратор Нет файла v8 1cv8.cf Windows Бесплатно (free) Статистика базы данных

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

21.07.2015    26431    Aleksey.Bochkov    15       

Тормоза на файловой базе - как избежать (из недавнего опыта) 109

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Производительность и оптимизация (HighLoad) Администрирование данных 1С

1С запускается по две минуты? Журнал документов открывается по 40 секунд? Документ проводится почти минуту? Знакомая ситуация, если вы используете файловую версию с сетевым доступом. Самый распространенный совет - ставить сервер, и забыть про тормоза. Но как быть, если в 1С у вас всего работает 2-3 человека, и тратить деньги на покупку серверных лицензий - явно невыгодно? В данной статье рассмотрены несколько практических шагов, которые были предприняты у клиента для ускорения работы файловой базы. Платформа 1С 8.3, управляемые формы, тонкий клиент, база - Управление Торговлей 11.

12.07.2015    77261    axelerleo    40       

Ускорение запуска конфигуратора и DFSS 77

Статья Системный администратор Нет файла v8 Windows Бесплатно (free) Администрирование данных 1С

Известный и уважаемый Вячеслав Гилёв опубликовал рекомендации по ускорению запуска конфигуратора - http://www.gilev.ru/dfss и http://infostart.ru/public/348963 https://plus.google.com/114728939911168275213/posts/96v6bNvnLJP. При все моем уважении к автору, я тем не менее не соглашусь с приведенными рекомендациями. Точнее не самими рекомендациями - они как раз приводят к нужному результату, а к постановке вопроса и самому решению.

24.04.2015    21251    yukon    9       

Обновление нетиповой конфигурации 81

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Администрирование данных 1С

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

28.02.2015    70359    el-le    18