Не работают регламентные задания?

Публикация № 304652 27.09.14

База данных - Инструменты администратора БД

регламентные фоновые задания

Работают не всегда стабильно. Что делать, как обеспечить стабильную работу пользователей? Качественную и устойчивую работу ИС? Делать контроль выполнения регламентных (фоновых) заданий. Ниже подробные комментарии с фрагментами кода.

1) Перед началом обработки, в которой используются результаты регламентного задания, нужно сделать проверку, что оно уже выполнено. Если проблемное задание не выполнено, прежде нужно запустить его принудительно.

Например обработа выгрузи данных о товарах на кассу (обмен с фронт-офис) может начинаться так:

Процедура ПриОткрытии()
	НачалоПериода = НачалоДня(ТекущаяДата());
	КонецПериода = ТекущаяДата();
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Сообщение.Наименование,
	|	Сообщение.Выполнена,
	|	Сообщение.Дата
	|ИЗ
	|	Задача.Сообщение КАК Сообщение
	|ГДЕ
	|	Сообщение.Дата МЕЖДУ &Дата1 И &Дата2
	|	И Сообщение.ПометкаУдаления = ЛОЖЬ
	|	И Сообщение.Выполнена = ИСТИНА
	|	И Сообщение.ТекстСообщения ПОДОБНО ""%ВвестиПереоценку%""";
	Запрос.УстановитьПараметр("Дата1",НачалоПериода);
	Запрос.УстановитьПараметр("Дата2",КонецПериода);
	//Запрос.УстановитьПараметр("Наименование","ПереоценкаПоОкончанииСкидок");
	РТ = Запрос.Выполнить().Выгрузить();
	Если РТ.Количество() = 0 Тогда
		Попытка
			исРегламентныеЗадания.ВвестиПереоценку();
		Исключение
			Сообщить("Сбой переоцени");
		КонецПопытки;
	КонецЕсли;
...

 

 2) Проблемное задание при выполнении должно сделать отметку о результатах выполнения. Я использую объект конфигурации "задача". Сначала создается задача, которая является маркером, что задание пыталось стартовать. В ТекстСообщения записывается название задачи (то есть имя процедуры регламентного задания) потому, что по этому названию будет искаться задание во время определения состояния базы. В заголовок задачи я пишу данные из регламентного задания, а в тексте - имя процедуры, чтобы легче автоматически судить о характере сбоя. Если есть заголовок, значит все идет по плану и обработка выполнялась в регламенте, если заголовка нет - при попытке восстановления и нужно разбиравться. В процессе обработи тест сообщения дополняется служебными данными и после обработки задача записывается с отметкой о выполнении. Вот так может выглядеть регламентное задание "Переоцена после окончания скидок":

 

Процедура ВвестиПереоценку() Экспорт
	
	тмпПользователь = ПараметрыСеанса.Пользователь;
	ПараметрыСеанса.Пользователь=Справочники.Пользователи.НайтиПоКоду("Робот");
	ПараметрыСеанса.исУправляемаяБлокировка=Ложь;
	
	НовоеСообщениеИдентификаторФоновогоЗадания = СоздатьЗадачуСообщениеИдентификаторФоновогоЗадания();
	ТекстСообщенияИдентификаторФоновогоЗадания = "ВвестиПереоценку";
...
тут собственно создается переоцена и в конце нее :
...
	НовоеСообщениеИдентификаторФоновогоЗадания.ТекстСообщения = НовоеСообщениеИдентификаторФоновогоЗадания.ТекстСообщения +
	ТекстСообщенияИдентификаторФоновогоЗадания + "
	|--
	|Служебная информация " + Новый УникальныйИдентификатор;
	НовоеСообщениеИдентификаторФоновогоЗадания.ВыполнитьЗадачу();
	ПараметрыСеанса.Пользователь = тмпПользователь;
КонецПроцедуры

 

3) В начале рабочего дня, до того, как пользователи приступят к работе, должен быть сделан вывод о необходимости реанимировать информационную систему. Для этого можно использовать запускаемую внешне, например через бат-файл, обработу "Контроль выполнения регламентных заданий".

Процедура ОтправкаСообщенияКонтрольРегламентныхЗаданий() Экспорт

...	
//04	"ПереоценкаПоОкончанииСкидок";
...
//12	"ВыгрузкаФорматов";
...
	НачалоПериода = НачалоДня(ТекущаяДата())-1*24*60*60;
	КонецПериода = КонецДня(ТекущаяДата())-1*24*60*60;
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Сообщение.Наименование,
	|	Сообщение.Выполнена,
	|	Сообщение.Дата
	|ИЗ
	|	Задача.Сообщение КАК Сообщение
	|ГДЕ
	|	Сообщение.Дата МЕЖДУ &Дата1 И &Дата2
	|	И Сообщение.ПометкаУдаления = ЛОЖЬ";
	Запрос.УстановитьПараметр("Дата1",НачалоПериода);
	Запрос.УстановитьПараметр("Дата2",КонецПериода);
	РТ = Запрос.Выполнить().Выгрузить();
	
	Регламентные = РегламентныеЗадания.ПолучитьРегламентныеЗадания();
	
	ТекстПочтовогоСообщения = "Сбой выполнения регламентных заданий";
	
	ОтправитьПисьмо = Ложь;
	
	Для Каждого Регламентное из Регламентные Цикл
		Отбор = Новый Структура();
		ОтборЗаполнен = Ложь;
		Для Каждого СтрРТ Из РТ Цикл
			Если Найти(СтрРТ.Наименование,Регламентное.Наименование) Тогда
				Для Каждого СтрОтбор Из Отбор Цикл
					Если СтрОтбор.Значение = Регламентное.Наименование Тогда
						ОтборЗаполнен = Истина;
						Продолжить;
					КонецЕсли;
				КонецЦикла;
				Если ОтборЗаполнен = Ложь Тогда
					Отбор.Вставить("Наименование",Регламентное.Наименование);
					ОтборЗаполнен = Истина;
				КонецЕсли;
			КонецЕсли;
		КонецЦикла;
		Если ОтборЗаполнен = Ложь Тогда
			Если Регламентное.Наименование = "Автозаказ" Тогда
			ИначеЕсли Регламентное.Использование = Истина Тогда
				ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
				|с "+НачалоПериода+" по "+КонецПериода+" не запускалось "+Регламентное.Наименование;
				ОтправитьПисьмо = Истина;
			КонецЕсли;
			Продолжить;
		КонецЕсли;
		РС = РТ.НайтиСтроки(Отбор);
		Если РС.Количество() > 0 Тогда
			СтрокаНайдена = Ложь;
			ЗаданиеВыполнено = Ложь;
			Для Каждого СтрРС Из РС Цикл
				СтрокаНайдена = Истина;
				Если СтрРС.Выполнена = Истина Тогда
					ЗаданиеВыполнено = Истина;
					Прервать;
				КонецЕсли;
			КонецЦикла;
			Если ЗаданиеВыполнено = Истина Тогда
				Продолжить;
			Иначе
				ПоследнееЗадание = Регламентное.ПоследнееЗадание;
				Если ПоследнееЗадание <> Неопределено Тогда
					ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
					|Не выполнено фоновое "+Регламентное.Наименование + " " + СокрЛП(ПоследнееЗадание.Начало);
					ОтправитьПисьмо = Истина;
				Иначе	
					Если СокрЛП(Регламентное.Наименование) > "" Тогда
						ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
						|Не выполнено "+Регламентное.Наименование + " " + СокрЛП(СтрРС.Дата);
						ОтправитьПисьмо = Истина;
					ИначеЕсли  СокрЛП(Регламентное.Код) > "" Тогда
						ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
						|Не выполнено "+Регламентное.Код + " " + СокрЛП(СтрРС.Дата) + " - у задания не заполнено наименование";
						ОтправитьПисьмо = Истина;
					Иначе
						ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
						|Не выполнено "+ СокрЛП(Регламентное) + " " + СокрЛП(СтрРС.Дата) + " - у задания не заполнено наименование и код";
						ОтправитьПисьмо = Истина;
					КонецЕсли;
				КонецЕсли;
			КонецЕсли;
			Если СтрокаНайдена = Истина Тогда
				Продолжить;
			КонецЕсли;
		КонецЕсли;

		Отбор = Новый Структура();
		ОтборЗаполнен = Ложь;
		Для Каждого СтрРТ Из РТ Цикл
			Если Найти(СтрРТ.Наименование,Регламентное.Ключ) Тогда
				Для Каждого СтрОтбор Из Отбор Цикл
					Если СтрОтбор.Значение = Регламентное.Ключ Тогда
						ОтборЗаполнен = Истина;
						Продолжить;
					КонецЕсли;
				КонецЦикла;
				Если ОтборЗаполнен = Ложь Тогда
					Отбор.Вставить("Наименование",Регламентное.Ключ);
					ОтборЗаполнен = Истина;
				КонецЕсли;
			КонецЕсли;
		КонецЦикла;
		Если ОтборЗаполнен = Ложь Тогда
			Если Регламентное.Наименование = "Автозаказ" Тогда
			ИначеЕсли Регламентное.Использование = Истина Тогда
				ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
				|с "+НачалоПериода+" по "+КонецПериода+" не запускалось "+Регламентное.Наименование;
				ОтправитьПисьмо = Истина;
			КонецЕсли;
			Продолжить;
		КонецЕсли;
		РС = РТ.НайтиСтроки(Отбор);
		Если РС.Количество() > 0 Тогда
			СтрокаНайдена = Ложь;
			ЗаданиеВыполнено = Ложь;
			Для Каждого СтрРС Из РС Цикл
				СтрокаНайдена = Истина;
				Если СтрРС.Выполнена = Истина Тогда
					ЗаданиеВыполнено = Истина;
					Прервать;
				КонецЕсли;
			КонецЦикла;
			Если ЗаданиеВыполнено = Истина Тогда
				Продолжить;
			Иначе
				ПоследнееЗадание = Регламентное.ПоследнееЗадание;
				Если ПоследнееЗадание <> Неопределено Тогда
					ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
					|Не выполнено фоновое "+Регламентное.Наименование + " " + СокрЛП(ПоследнееЗадание.Начало);
					ОтправитьПисьмо = Истина;
				Иначе	
					Если СокрЛП(Регламентное.Наименование) > "" Тогда
						ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
						|Не выполнено "+Регламентное.Наименование + " " + СокрЛП(СтрРС.Дата);
						ОтправитьПисьмо = Истина;
					ИначеЕсли  СокрЛП(Регламентное.Код) > "" Тогда
						ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
						|Не выполнено "+Регламентное.Код + " " + СокрЛП(СтрРС.Дата) + " - у задания не заполнено наименование";
						ОтправитьПисьмо = Истина;
					Иначе
						ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
						|Не выполнено "+ СокрЛП(Регламентное) + " " + СокрЛП(СтрРС.Дата) + " - у задания не заполнено наименование и код";
						ОтправитьПисьмо = Истина;
					КонецЕсли;
				КонецЕсли;
			КонецЕсли;
			Если СтрокаНайдена = Истина Тогда
				Продолжить;
			КонецЕсли;
		КонецЕсли;
		Если Регламентное.Наименование = "Автозаказ" Тогда
		ИначеЕсли Регламентное.Использование = Истина Тогда
			ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
			|с "+НачалоПериода+" по "+КонецПериода+" не запускалось "+Регламентное.Наименование;
			ОтправитьПисьмо = Истина;
		КонецЕсли;
	КонецЦикла;
	
	НачалоПериода = НачалоДня(ТекущаяДата());
	КонецПериода = ТекущаяДата();
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Сообщение.Наименование,
	|	Сообщение.Выполнена,
	|	Сообщение.Дата
	|ИЗ
	|	Задача.Сообщение КАК Сообщение
	|ГДЕ
	|	Сообщение.Дата МЕЖДУ &Дата1 И &Дата2
	|	И Сообщение.ПометкаУдаления = ЛОЖЬ";
	Запрос.УстановитьПараметр("Дата1",НачалоПериода);
	Запрос.УстановитьПараметр("Дата2",КонецПериода);
	РТ = Запрос.Выполнить().Выгрузить();
	
	Регламентные = РегламентныеЗадания.ПолучитьРегламентныеЗадания();
	
	Для Каждого Регламентное из Регламентные Цикл
		Если Регламентное.Наименование = "ОтправкаСообщенияКонтрольРегламентныхЗаданий" 
			ИЛИ Регламентное.Ключ = "ОтправкаСообщенияКонтрольРегламентныхЗаданий" Тогда
			Продолжить;
		КонецЕсли;
		//Регламентное.Расписание
		ВремяЗадания = Регламентное.Расписание.ВремяНачала;
		ЧасВремениЗадания = Час(ВремяЗадания);
		МинутаВремениЗадания = Минута(ВремяЗадания);
		СекундаВремениЗадания = Секунда(ВремяЗадания);
		ДатаЗадания = НачалоДня(ТекущаяДата()) + ЧасВремениЗадания * 24 * 60 
		+ МинутаВремениЗадания * 60 + СекундаВремениЗадания;
		Если ДатаЗадания > КонецПериода Тогда
			Продолжить;
		КонецЕсли;
		
		Отбор = Новый Структура();
		ОтборЗаполнен = Ложь;
		Для Каждого СтрРТ Из РТ Цикл
			Если Найти(СтрРТ.Наименование,Регламентное.Наименование) Тогда
				Для Каждого СтрОтбор Из Отбор Цикл
					Если СтрОтбор.Значение = Регламентное.Наименование Тогда
						ОтборЗаполнен = Истина;
						Продолжить;
					КонецЕсли;
				КонецЦикла;
				Если ОтборЗаполнен = Ложь Тогда
					Отбор.Вставить("Наименование",Регламентное.Наименование);
					ОтборЗаполнен = Истина;
				КонецЕсли;
			КонецЕсли;
		КонецЦикла;
		Если ОтборЗаполнен = Ложь Тогда
			Если Регламентное.Наименование = "Автозаказ" Тогда
			ИначеЕсли Регламентное.Использование = Истина Тогда
				ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
				|с "+НачалоПериода+" по "+КонецПериода+" не запускалось "+Регламентное.Наименование;
				ОтправитьПисьмо = Истина;
			КонецЕсли;
			Продолжить;
		КонецЕсли;
		РС = РТ.НайтиСтроки(Отбор);
		Если РС.Количество() > 0 Тогда
			СтрокаНайдена = Ложь;
			ЗаданиеВыполнено = Ложь;
			Для Каждого СтрРС Из РС Цикл
				СтрокаНайдена = Истина;
				Если СтрРС.Выполнена = Истина Тогда
					ЗаданиеВыполнено = Истина;
					Прервать;
				КонецЕсли;
			КонецЦикла;
			Если ЗаданиеВыполнено = Истина Тогда
				Продолжить;
			Иначе
				ПоследнееЗадание = Регламентное.ПоследнееЗадание;
				Если ПоследнееЗадание <> Неопределено Тогда
					ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
					|Не выполнено фоновое "+Регламентное.Наименование + " " + СокрЛП(ПоследнееЗадание.Начало);
					ОтправитьПисьмо = Истина;
				Иначе	
					ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
					|Не выполнено "+Регламентное.Наименование + " " + СокрЛП(СтрРС.Дата);
					ОтправитьПисьмо = Истина;
				КонецЕсли;
			КонецЕсли;
			Если СтрокаНайдена = Истина Тогда
				Продолжить;
			КонецЕсли;
		КонецЕсли;
		
		ОтборЗаполнен = Ложь;
		Для Каждого СтрРТ Из РТ Цикл
			Если Найти(СтрРТ.Наименование,Регламентное.Ключ) Тогда
				Для Каждого СтрОтбор Из Отбор Цикл
					Если СтрОтбор.Значение = Регламентное.Ключ Тогда
						ОтборЗаполнен = Истина;
						Продолжить;
					КонецЕсли;
					Если ОтборЗаполнен = Ложь Тогда
						Отбор.Вставить("Наименование",Регламентное.Ключ);
						ОтборЗаполнен = Истина;
					КонецЕсли;
				КонецЦикла;
			КонецЕсли;
		КонецЦикла;
		Если ОтборЗаполнен = Ложь Тогда
			Если Регламентное.Наименование = "Автозаказ" Тогда
			ИначеЕсли Регламентное.Использование = Истина Тогда
				ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
				|с "+НачалоПериода+" по "+КонецПериода+" не запускалось "+Регламентное.Наименование;
				ОтправитьПисьмо = Истина;
			КонецЕсли;
			Продолжить;
		КонецЕсли;
		РС = РТ.НайтиСтроки(Отбор);
		Если РС.Количество() > 0 Тогда
			СтрокаНайдена = Ложь;
			ЗаданиеВыполнено = Ложь;
			Для Каждого СтрРС Из РС Цикл
				СтрокаНайдена = Истина;
				Если СтрРС.Выполнена = Истина Тогда
					ЗаданиеВыполнено = Истина;
					Прервать;
				КонецЕсли;
			КонецЦикла;
			Если ЗаданиеВыполнено = Истина Тогда
				Продолжить;
			Иначе
				ПоследнееЗадание = Регламентное.ПоследнееЗадание;
				Если ПоследнееЗадание <> Неопределено Тогда
					ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
					|Не выполнено фоновое "+Регламентное.Наименование + " " + СокрЛП(ПоследнееЗадание.Начало);
					ОтправитьПисьмо = Истина;
				Иначе	
					ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
					|Не выполнено "+Регламентное.Наименование + " " + СокрЛП(СтрРС.Дата);
					ОтправитьПисьмо = Истина;
				КонецЕсли;
			КонецЕсли;
			Если СтрокаНайдена = Истина Тогда
				Продолжить;
			КонецЕсли;
		КонецЕсли;
		Если Регламентное.Наименование = "Автозаказ" Тогда
		ИначеЕсли Регламентное.Использование = Истина Тогда
			ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
			|с "+НачалоПериода+" по "+КонецПериода+" не запускалось "+Регламентное.Наименование;
			ОтправитьПисьмо = Истина;
		КонецЕсли;
	КонецЦикла;
	
	Запрос = Новый Запрос;
	Запрос.Текст =

	"ВЫБРАТЬ
	|	ЗаказПоставщику.Ссылка
	|ИЗ
	|	Документ.ЗаказПоставщику КАК ЗаказПоставщику
	|ГДЕ
	|	ЗаказПоставщику.Контрагент = &Контрагент
	|	И ЗаказПоставщику.Автор В ИЕРАРХИИ(&Автор)
	|	И ЗаказПоставщику.СкладКоллекций В(&СкладКоллекций)
	|	И ЗаказПоставщику.Дата МЕЖДУ &Дата1 И &Дата2";
	Запрос.УстановитьПараметр("Дата1",НачалоДня(ТекущаяДата()));
	Запрос.УстановитьПараметр("Дата2",КонецДня(ТекущаяДата()));
	Запрос.УстановитьПараметр("Контрагент",Справочники.Контрагенты.ОсновнойПоставщик);
	СписокАвторов = Новый СписокЗначений;
 СписокАвторов.Добавить(Справочники.Пользователи.НайтиПоКоду("Робот"));
 Запрос.УстановитьПараметр("Автор",СписокАвторов);
	СкладКоллекций = Новый СписокЗначений;
	СкладКоллекций.Добавить(Справочники.СкладыКоллекций.НайтиПоКоду("..."));
	СкладКоллекций.Добавить(Справочники.СкладыКоллекций.НайтиПоКоду("..."));
	Запрос.УстановитьПараметр("СкладКоллекций",СкладКоллекций);
	РТ = Запрос.Выполнить().Выгрузить();
	Если Константы.ЗавтраПропуститьАвтозаказ.Получить() > 9 Тогда
		Если РТ.Количество()< 5 Тогда
			Если РТ.Количество() = 0 Тогда
				ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
				|Ошибка!Не сформировались заказы на Сигму
				|Ошибка!Не сформировались заказы на Сигму
				|Ошибка!Не сформировались заказы на Сигму
				|Ошибка!Не сформировались заказы на Сигму
				|Ошибка!Не сформировались заказы на Сигму";
			Иначе
				ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
				|Ошибка!Сформировались не все заказы на Сигму, всего сформировалось "+СокрЛП(РТ.Количество())+" заказов из 5 необходимых:";
				Для Каждого СтрРТ Из РТ Цикл
					ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
					|"+СокрЛП(СтрРТ.Ссылка);
				КонецЦикла;
			КонецЕсли;
			ОтправитьПисьмо = Истина;
		КонецЕсли;
	КонецЕсли;
	
	ДниНедели = СокрЛП(ДеньНедели(ТекущаяДата()));
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	исГрафикАвтозаказа.ПериодичностьНедель,
	|	исГрафикАвтозаказа.ДниНедели,
	|	исГрафикАвтозаказа.Поставщик,
	|	исГрафикАвтозаказа.Логист,
	|	исГрафикАвтозаказа.Активный,
	|	исГрафикАвтозаказа.СрокПоставки,
	|	исГрафикАвтозаказа.ДатаПоследнегоЗаказа,
	|	исГрафикАвтозаказа.НоменклатурнаяГруппа,
	|	исГрафикАвтозаказа.Комментарий
	|ИЗ
	|	РегистрСведений.исГрафикАвтозаказа КАК исГрафикАвтозаказа
	|ГДЕ
	|	исГрафикАвтозаказа.ДниНедели = &ДниНедели
	|	И исГрафикАвтозаказа.Активный = ИСТИНА
	|	И исГрафикАвтозаказа.ДатаПоследнегоЗаказа < &ДатаПоследнегоЗаказа";
	Запрос.УстановитьПараметр("ДниНедели",ДниНедели);
	Запрос.УстановитьПараметр("ДатаПоследнегоЗаказа",НачалоДня(ТекущаяДата()));
	РТ = Запрос.Выполнить().Выгрузить();
	
	ОтправитьПисьмоОбАвтозаказе = Ложь;
	Если РТ.Количество() > 0 Тогда
		НеобходимоДоформироватьВнешнийАвтозаказ = Ложь;
		Для Каждого Стр Из РТ Цикл
			ЗаказДолженБыть = Стр.ДатаПоследнегоЗаказа + (Стр.ПериодичностьНедель - 1)*7*24*60*60;
			Если ЗаказДолженБыть>Стр.ДатаПоследнегоЗаказа Тогда
				//Сообщить("Не формируем "+Стр.ПериодичностьНедель+" "+Стр.ДниНедели+" "+Стр.Поставщик+" "+Стр.Логист+" "+Стр.ДатаПоследнегоЗаказа);
				Продолжить;
			КонецЕсли;
			НеобходимоДоформироватьВнешнийАвтозаказ = Истина;
			ОтправитьПисьмоОбАвтозаказе = Истина;
			ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
			|Попытка доформировать "+Стр.Поставщик+" ("+Стр.Логист+") после "+Стр.ДатаПоследнегоЗаказа+" (делается 1 раз в "+Стр.ПериодичностьНедель+" недель в "+Стр.ДниНедели+" день недели),";
		КонецЦикла;
	КонецЕсли;
	Если ОтправитьПисьмоОбАвтозаказе = Истина Тогда
		ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
		|по графику автозаказа.";
		ОтправитьПисьмо = Истина;
	КонецЕсли;
	
	Если ОтправитьПисьмо = Ложь Тогда
		Возврат;
	КонецЕсли;

...

Вызывать эту процедуру стоит внешне, примерно таким образом:

Вызывать эту процедуру стоит таим образом:

...
	ИмяЛогФайла = "\\srv\v7bases\ИмяБазы\ИмяКаталога\ЛогФайл.txt";
	Коннектор = СоздатьОбъект("V83.COMConnector");
	v8 = Коннектор.Connect("Srvr=""имясервера"";Ref=""ccccccccc"";Usr=""aaaaaaaaa"";Pwd=""xxxxxxxxx"";");
	ОтправкаОтчета=v8.Обработки.КонтрольРегламентныхЗаданий.Создать();
	Если Фс.СуществуетФайл(ЛогФайл)=1 Тогда
		Текст=СоздатьОбъект("Текст");
		Текст.Открыть(ЛогФайл);
		Текст.ДобавитьСтроку("Отправка отчета выполнена.");
		Текст.Записать(ЛогФайл);
	КонецЕсли;
	ОтправкаОтчета.ОтправитьОтчет(ИмяЛогФайла,V8.NewObject("СписокЗначений"));
	v8 = "";
	Коннектор = "";
...


4) Перед началом выполнения каждого регламентного задания, в котором используются результаты предыдущего, делать вывод о возмодности его запуска, о возможности доформировать предыдущее задание. Если существенная проблема обнаружена - сигналить пользователям, чтобы они обратились к программистам. Тут в исключение вывести сообщение не получится, но получится например выполнить задание принудительно или отправить письмо.

...
Процедура ВыгрузкаФорматов()Экспорт
	
	НачалоПериода = НачалоДня(ТекущаяДата());
	КонецПериода = ТекущаяДата();
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Сообщение.Наименование,
	|	Сообщение.Выполнена,
	|	Сообщение.Дата
	|ИЗ
	|	Задача.Сообщение КАК Сообщение
	|ГДЕ
	|	Сообщение.Дата МЕЖДУ &Дата1 И &Дата2
	|	И Сообщение.ПометкаУдаления = ЛОЖЬ
	|	И Сообщение.Выполнена = ИСТИНА
	|	И Сообщение.ТекстСообщения ПОДОБНО ""%ВвестиПереоценку%""";
	Запрос.УстановитьПараметр("Дата1",НачалоПериода);
	Запрос.УстановитьПараметр("Дата2",КонецПериода);
	//Запрос.УстановитьПараметр("Наименование","ПереоценкаПоОкончанииСкидок");
	РТ = Запрос.Выполнить().Выгрузить();
	Если РТ.Количество() = 0 Тогда
		исРегламентныеЗадания.ВвестиПереоценку();
	КонецЕсли;
	
	НовоеСообщениеИдентификаторФоновогоЗадания = СоздатьЗадачуСообщениеИдентификаторФоновогоЗадания();
...
далее собственно начинается сама кассовая выгрузка
...

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

5) Настроить отправку отчета о результатах "Контроля выполнения регламентных заданий" по почте программистам.

...
	ТемаПочтовогоСообщения = "Сбой выполнения регламентных заданий";
	
////ЗапуститьПриложение("systeminfo >> systeminfo.txt", "o:\!",Истина);
//ИмяФайла = "o:\!\systeminfo.txt";
//ВыбФайл = Новый Файл(ИмяФайла);
//Если ВыбФайл.Существует() Тогда
//	Стр = "Результат выполнения:"+Символы.ПС+
//	+"Файл: "+ВыбФайл.ПолноеИмя+Символы.ПС+
//	+"Имя: "+ ВыбФайл.Имя+Символы.ПС+
//	+"Время изменения: "+ВыбФайл.ПолучитьВремяИзменения()+Символы.ПС+
//	+"Только чтение: "+ВыбФайл.ПолучитьТолькоЧтение()+Символы.ПС+
//	+"Невидимость: "+ВыбФайл.ПолучитьНевидимость();  
...
//	ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
//	|"+Стр;
//Иначе
//	ТекстПочтовогоСообщения = ТекстПочтовогоСообщения + "
//	|Состояние сервера неизвестно.";
//КонецЕсли;

Попытка 
	Профиль = Новый ИнтернетПочтовыйПрофиль;
	Профиль.АдресСервераSMTP = "ззз.ззз.ззз.ззз";
	Профиль.АдресСервераPOP3 = "эээ.эээ.эээ.эээ";
	Профиль.ПортSMTP = 25;
	Профиль.ПортPOP3 = 110;
	Профиль.Пользователь = "fff%kkk.ru";
	Профиль.Пароль = "rrrrrrr";
	
	Почта = Новый ИнтернетПочта;
	Попытка
		Почта.Подключиться(Профиль);
	Исключение
		Возврат;
	КонецПопытки;
	
	Сообщение = Новый ИнтернетПочтовоеСообщение;
	Сообщение.Отправитель = "ssss@ddddd.ru";
	Сообщение.ИмяОтправителя = "Торговый комплекс";
	ПочтовыеАдреса = Сообщение.Получатели;
	ПочтовыйАдрес = ПочтовыеАдреса.Добавить();
	ПочтовыйАдрес.Адрес = "admin@hhhhhh.ru";
	Сообщение.Тема =ТемаПочтовогоСообщения; 
	ИнтернетТекстПочтовогоСообщения = Сообщение.Тексты.Добавить();
	ИнтернетТекстПочтовогоСообщения.Текст = ТекстПочтовогоСообщения;
	ИнтернетТекстПочтовогоСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
	Попытка
		Почта.Послать(Сообщение);
	Исключение
		Возврат;
	КонецПопытки;
	Почта.Отключиться(); 

Еще пытаюсь вывести в письмо системную информацию с сервера - в комментарии из последнего фрагмента, пока не доделал. Если сталкивались с примерами, подскажите пожалуйста как.
 

Подробне по п.5 в качестве примера могу предложить вот такой код:

 
 Пример кода

Ставьте плюсы, пишите в комментарии к статье если возникнут вопросы.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Yashazz 4506 28.09.14 11:52 Сейчас в теме
В своё время мучился-мучился с регламентными заданиями, так проку и не добился. То они не запускались по неведомым причинам ни в какую, то сбоили системные библиотеки 1С, то с сервером приложений связь терялась, то наоборот, все дружно задания как ломанутся (наплевав на свои реальные расписания) и повесят базу...
Короче, я сделал экспортные пускачи и дёргаю их через обычный sheduler винды. Работает как из пушки. Просто, прозрачно, управляемо. Логи в файлы валю, прикрутил оснастку их регулярного анализа и наступило щастье.
корум; MaxDavid; i_lo; help1Ckr; DrAku1a; Yury1001; +6 Ответить
2. TrinitronOTV 14 28.09.14 16:57 Сейчас в теме
(1) Yashazz, а как вы в sheduler запускаете свои задания?
3. ksnik 557 28.09.14 18:42 Сейчас в теме
(1) Yashazz, все упомянутое конечно бывает. Можно с помощью bat-файла выполнить вход под клиентом в базу 1С и запуск проблемного задания по тому же самому принципу, как это делается в 1С: Предприятии 7.7:
date /t >> auto_log.txt
time /t >> auto_log.txt
echo Выгрузка в центральную базу  >> auto_log.txt
start "" /wait "C:\Program Files\1Cv77\BIN\1cv7s.exe" config /D\\Сервер\База /Nпользователь /Pпароль /@База\Autoobmen\OUT_BB.prm
time /t >> auto_log.txt
sleep 20
...

или без батника в команде "выполнить" регламентного задания одна строчка:
"C:\Program Files\1Cv77\BIN\1cv7s.exe" enterprise /d\\сервер\база\ /nИмяПользователя /pПароль

а в процедуре "ПриНачалеРаботыСистемы()"
	Если (ИмяПользователя()="аааа") Тогда  
		Если СокрЛП( Константа.ПрефиксИБ)="аа" Тогда
			ОткрытьФормуМодально("Обработка.аааааа");
		Иначе
			ОткрытьФормуМодально("Обработка.ббббб");
		КонецЕсли;
	ИначеЕсли (ИмяПользователя()="ввв") или (ИмяПользователя()="ГГГГ") или (ИмяПользователя()="ДДД") Тогда  
		ОткрытьФормуМодально("Обработка.ЕЕЕЕ");
	ИначеЕсли (ИмяПользователя()="ЖЖЖЖ") Тогда  
		ОткрытьФормуМодально("Обработка.ззззз");
	ИначеЕсли (ИмяПользователя()="ииии") или (ИмяПользователя()="ккккк") Тогда
		ОткрытьФормуМодально("Обработка.ллллллл");
	КонецЕсли;
Показать

Такой батник и для 8-ки можно написать, только нужно будет следить за сеансом в котором работает проблемное задание чтоб он не подох и серверные операции инициировать на клиенте.
4. i_lo 214 05.10.14 23:18 Сейчас в теме
5. ksnik 557 06.10.14 08:02 Сейчас в теме
(4) i_lo, замечательная публикация "Если РЗ должно было начать выполняться до момента проверки, но не выполнялось, то перезаписываем его". Возьму на вооружение, нужно перезапускать и чинить регламентные задания. Я тоже предложил внешний пускач через КОМ, предложенная Вами публикация имеет сходный функционал. Однако регламентные задания должны выполняться сервером и не зависеть от клиента, особенно если они долго выполняются, например у заданий "перепроведение последовательностей взаиморасчетов" или "перепроведение по партиям после обмена" опасно снижать надежность вешая их на клиент.
п.с. Все таки такого анализа как у меня в "Лекарстве от зависших регламентных заданий" нет, может он уже и не нужен?
6. i_lo 214 07.10.14 02:48 Сейчас в теме
(5) все, что описано в статье работает на сервере. Никаких клиентов. Запускается серверным планировщиком раз в сутки перед началом рабочего дня. У меня такие регламенты, что так удобнее. Главное, чтобы пользователь, от которого запускается регламентное задание был прописан, как пользователь базы с возможностью доменной аутентификации.
7. ksnik 557 07.10.14 08:14 Сейчас в теме
(6) i_lo, Ваша статья мне понравилась, спасибо за уточнение "все работает на сервере" и "запускается серверным планировщиком". Я часто делал перезапись вручную (снять использование - записать - установить использование - записать), но иногда не помогает. Вообще не помогает. Поэтому я считаю, что контроль выполнения регламентных заданий мне необходим.
8. alexey_kurdyukov 95 09.10.14 13:03 Сейчас в теме
Любую системную информацию можно добыть с помощью Windows Management Instrumentation, WMI доступно в 1С.

msdn
WMI Samples
9. SerG_121 444 11.10.14 08:45 Сейчас в теме
10. ksnik 557 11.10.14 12:20 Сейчас в теме
(9) SerG_121, работа интересная, но увы админы не разрешат - даже акел пад на сервере не разрешают ставить, когда-то ставил выгонялку из 1С (скачал здесь) и когда ключ 1С заглючил подумали на эту выгонялку. Нужно потроха этого чуда, чтоб самому делать. Можете поделиться немного подробнее?
11. AlexO 132 27.02.15 15:25 Сейчас в теме
(0) а что вы делаете, если у вас сервер не запускает РЗ в принципе?
12. ksnik 557 04.03.15 08:51 Сейчас в теме
(11) AlexO, если речь об одном отдельном РЗ, проблема в расписании, поле ввода "повторять" должно быть больше нуля, то есть например каждый день; с 8:00:00 один раз в день, противное значит однократный запуск.
Чтобы сервер вообще не выполнял - такого у нас не бывало, может Вам переустановить его?
13. AlexO 132 04.03.15 10:16 Сейчас в теме
(12)
если речь об одном отдельном РЗ, проблема в расписании
Так тема называется "Не работают регламентные задания", вот и спросил - если не работают все, что делать-то? )
может Вам переустановить его?
В 1С только это и помогает ))
На самом деле, все перепробовали - перегрузка базы, переподключение сервиса 1С, пинки и уговоры сервера )) ... осталось только переустановка 1С-сервера...
14. пользователь 18.11.16 13:30
Сообщение было скрыто модератором.
...
15. ksnik 557 03.04.18 11:12 Сейчас в теме
обновил статью (добавил новый материал), поместил текст примера анализа состояния и отправки сообщения
Оставьте свое сообщение

См. также

Редактор объекта (Infostart Toolkit)

Инструменты администратора БД Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Статья об инструменте Редактор объекта в продукте Infostart Toolkit. Изменение скрытых реквизитов, исследование объекта, восстановление битой ссылки.

16.05.2023    1273    Evg-Lylyk    5    

24

Метаданные (Infostart Toolkit)

Инструменты администратора БД Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Бесплатно (free)

Статья о инструменте Метаданные в продукте Infostart Toolkit. Просмотр метаданных, структуры хранения в режиме 1С: Предприятия.

16.03.2023    2481    Evg-Lylyk    12    

24

Структура хранения ИБ - обработка за 5 минут и 2 строки кода - DIY

Инструменты администратора БД Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Бесплатно (free)

Платформа "1С:Предприятие 8" не держит в секрете информацию об именах таблиц SQL (или внутренней БД для файловой). Для получения подробнейшей информации - есть штатная функция "ПолучитьСтруктуруХраненияБазыДанных". Данная обработка - лишь обертка над функцией. Думаю, нет смысла качать и тратить $m на то, что можно сделать самому за 5 минут.

10.11.2022    4908    DrAku1a    12    

44

Легкий способ регистрации библиотеки COMCNTR.DLL (для COM-соединения)

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

Устали от командных строк, нюансов с разрядностью 32х/64х или ручного создания V83COMConnector в службе компонентов? Предлагаю простой способ регистрации библиотеки COMCNTR.DLL.

22.12.2020    67828    vakrikun    32    

90

Управление конфигуратором в режиме агента с помощью python

Инструменты администратора БД Архивирование (backup) DevOps и автоматизация разработки Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Управление конфигуратором 1С:Предприятие в режиме агента. Опыт применения с реализацией на языке python. Результат получен с использованием интерактивной сессии оболочки через invoke_shell().

06.08.2020    3100    Alex10166    2    

20

Пошаговая инструкция по установке веб-сервера Apache и завязка с 1С

Инструменты администратора БД Администрирование веб-серверов Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Данная статья больше предназначена для начинающих администраторов, но «бывалые» тоже могут освежить свои знания и в этой статье в деталях расскажу, как устанавливать Apache и использовать веб-сервер для работы с 1С.

10.03.2020    13618    dy4amaks    10    

37

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

Инструменты администратора БД Мониторинг Платформа 1С v8.3 Бесплатно (free)

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

10.09.2019    28058    Sloth    81    

131

Хранение файлов - как уменьшить размер базы данных

Инструменты администратора БД Платформа 1С v8.3 Россия Бесплатно (free)

Хранение файлов в базе 1С можно оптимизировать для уменьшения размера хранимых данных.

09.09.2019    11190    2tvad    19    

22

Нарушение целостности системы

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Причины возникновения ошибки "Обнаружено нарушение целостности системы" и способы ее устранения.

07.09.2019    61589    Rain88    28    

114

Еще раз про comconnector

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Подключение через com базам с разными версиями платформ ОДНОВРЕМЕННО.

19.08.2019    7994    2michael    15    

21

Ошибка при вызове конструктора (COMОбъект) на 32 и 64 битных системах

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

15.08.2019    32610    lisrws    16    

21

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

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

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

04.07.2019    33354    Infostart    36    

120

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

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

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

29.04.2019    49759    Sander80    31    

82

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

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

22.04.2019    39592    starik-2005    183    

122

Переход на 64-х разрядный сервер 1С

Журнал регистрации Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

Переход с 32-х разрядной версии сервера 1С на 64-х разрядную с сохранением данных журналов регистрации информационных баз, используемых в 32-х разрядной версии.

05.04.2019    37157    ids79    25    

66

Подключение к серверу лицензирования (получение лицензий с другого сервера) (+видео)

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

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

25.03.2019    48353    ellavs    75    

48

Для скромной такой компании огромный такой секрет. Сеть с 1С и веб-сервером Битрикс в облаке. Располагаемся поудобнее...

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

25.03.2019    10946    capitan    33    

26

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

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

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

20.02.2019    37701    valentinko    174    

75

Восстановление файловой базы с помощью tools 1cd

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Небольшая заметка, как удалось вылечить битую файловую базу 1С, с помощью утилиты tools 1cd.

19.02.2019    27280    rzabolotin    71    

61

Учет и контроль. Механизм управления потреблением ресурсов кластера серверов 1С. Примеры использования

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Начиная с редакции 8.3.13.х у платформы 1С появился механизм управления потреблением ресурсов кластера серверов. В свете последних новостей нужно сделать оговорку: Доступно только для лицензии КОРП. Но пока это время не наступило можно попробовать бесплатно.

15.02.2019    21486    capitan    16    

23

1С в Elastic Compute Service Alibaba Cloud. Сокровища Алибабы

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

Если ты умеешь что-то делать хорошо, всегда найдется азиат, который сможет лучше © (один из самых популярных интернет мемов). Aliexpress уже стал именем нарицательным в всем мире. Но Alibaba Group это не только интернет-молл, но и сервис облачных вычислений №1 в Китае. Интересующихся прошу под кат…

08.02.2019    9383    capitan    13    

34

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

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

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

02.02.2019    33141    valentinko    15    

79

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

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

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

20.01.2019    21237    capitan    31    

96

Настройки PostgreSQL на Ubuntu Linux

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Прилагаю свои настройки, которые позволили мне решить проблему с производительностью.

18.01.2019    9957    w.r.    16    

29

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

Загрузка и выгрузка в Excel Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

15.01.2019    44657    itriot11    27    

33

Одновременный запуск нескольких консолей администрирования сервера 1С на одном компьютере

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

Если у вас зоопарк разных платформ 1С, то вам было бы полезно запустить одновременно несколько консолей администрирования сервера 1С.

27.12.2018    10646    John_d    17    

28

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

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

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

25.12.2018    49700    capitan    150    

210

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

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

20.12.2018    26813    Shmell    40    

183

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

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

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

15.12.2018    28256    MrWonder    24    

121

Быстрый перенос инфобаз между серверами 1С

Инструменты администратора БД Платформа 1С v8.3 Россия Бесплатно (free)

Переезжаем на новый сервер и надо было перенести 23 базы. Создавать все руками через оснастку не хотелось - пришлось пошаманить с 1CV8Reg.lst. Все взлетело, но были нюансы.

09.11.2018    19558    DonAlPatino    29    

25

Есть ли жизнь 1С в Azure на Linux?

Инструменты администратора БД Платформа 1С v8.3 Россия Бесплатно (free)

В данной статье мы рассмотрели процедуру разворачивания 1С c PostgreSQL на CentOS, размещенной в Azure. Кроме этого, мы рассмотрели вопросы быстродействия и финансовую составляющую вопроса.

07.11.2018    11380    zhogov    47    

38

Установка клиента 1С:Предприятие 8.3 на Debian / Ubuntu

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

В последние годы интерес к альтернативным ОС, прежде всего Linux, возрастает, причем не только со стороны пользователей, но и со стороны разработчиков. Фирма 1С достаточно давно развивает свою платформу для использования в среде Linux, а теперь к ней стали подтягиваться производители торгового оборудования, выпуская драйвера и для этой ОС. Поэтому использование Linux в качестве платформы для рабочего места выглядит все более привлекательно и сегодня мы обобщим свой опыт и расскажем об установке клиентской части 1С:Предприятие в среде современных выпусков Debian / Ubuntu.

15.10.2018    72415    oldcopy    88    

61

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

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

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

11.10.2018    73176    987ww765    50    

105

Освобождение лицензий. Регламентное задание

Инструменты администратора БД Платформа 1С v8.3 1С:Документооборот Бесплатно (free)

(Разработано для 1С:Документооборот). Доработка решает проблему недостатка лицензий при сравнительно бОльшем количестве активных пользователей. Реализуется путем наблюдения "Протокола работы пользователей" и при отсутствии активности пользователя - отключение его сеанса на сервере. У нас данная доработка включена как рег. задание в 1С:Документооборот. Убиваются все сеансы с неактивностью за последние 30 минут, запускать рег. задание можно соответственно каждые 35 минут.

14.05.2018    10836    aabogachev    32    

33