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

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

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

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

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

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 в качестве примера могу предложить вот такой код:

 
 Пример кода

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

33

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

Комментарии
Избранное Подписка Сортировка: Древо
1. Yashazz 2892 28.09.14 11:52 Сейчас в теме
В своё время мучился-мучился с регламентными заданиями, так проку и не добился. То они не запускались по неведомым причинам ни в какую, то сбоили системные библиотеки 1С, то с сервером приложений связь терялась, то наоборот, все дружно задания как ломанутся (наплевав на свои реальные расписания) и повесят базу...
Короче, я сделал экспортные пускачи и дёргаю их через обычный sheduler винды. Работает как из пушки. Просто, прозрачно, управляемо. Логи в файлы валю, прикрутил оснастку их регулярного анализа и наступило щастье.
корум; MaxDavid; i_lo; help1Ckr; DrAku1a; Yury1001; +6 Ответить
2. TrinitronOTV 28.09.14 16:57 Сейчас в теме
(1) Yashazz, а как вы в sheduler запускаете свои задания?
3. ksnik 365 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 198 05.10.14 23:18 Сейчас в теме
5. ksnik 365 06.10.14 08:02 Сейчас в теме
(4) i_lo, замечательная публикация "Если РЗ должно было начать выполняться до момента проверки, но не выполнялось, то перезаписываем его". Возьму на вооружение, нужно перезапускать и чинить регламентные задания. Я тоже предложил внешний пускач через КОМ, предложенная Вами публикация имеет сходный функционал. Однако регламентные задания должны выполняться сервером и не зависеть от клиента, особенно если они долго выполняются, например у заданий "перепроведение последовательностей взаиморасчетов" или "перепроведение по партиям после обмена" опасно снижать надежность вешая их на клиент.
п.с. Все таки такого анализа как у меня в "Лекарстве от зависших регламентных заданий" нет, может он уже и не нужен?
6. i_lo 198 07.10.14 02:48 Сейчас в теме
(5) все, что описано в статье работает на сервере. Никаких клиентов. Запускается серверным планировщиком раз в сутки перед началом рабочего дня. У меня такие регламенты, что так удобнее. Главное, чтобы пользователь, от которого запускается регламентное задание был прописан, как пользователь базы с возможностью доменной аутентификации.
7. ksnik 365 07.10.14 08:14 Сейчас в теме
(6) i_lo, Ваша статья мне понравилась, спасибо за уточнение "все работает на сервере" и "запускается серверным планировщиком". Я часто делал перезапись вручную (снять использование - записать - установить использование - записать), но иногда не помогает. Вообще не помогает. Поэтому я считаю, что контроль выполнения регламентных заданий мне необходим.
8. alexey_kurdyukov 09.10.14 13:03 Сейчас в теме
Любую системную информацию можно добыть с помощью Windows Management Instrumentation, WMI доступно в 1С.

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

См. также

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

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

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

11.09.2019    23693    infostart    90       

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

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

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

10.09.2019    8359    Sloth    11       

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

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

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

18.07.2019    5827    vasilev2015    36       

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

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

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

04.07.2019    8496    YPermitin    22       

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

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

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

28.05.2019    8708    ivanov660    5       

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

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

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

29.04.2019    22543    Sander80    30       

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

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

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

22.04.2019    20529    starik-2005    158       

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

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

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

20.02.2019    17362    valentinko    168       

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

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

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

02.02.2019    12282    valentinko    13       

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

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

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

20.01.2019    11042    capitan    29       

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

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

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

17.01.2019    17707    PoZiTiFFF    52       

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

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

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

15.01.2019    12043    itriot11    21       

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

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

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

09.01.2019    11742    idle    23       

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

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

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

25.12.2018    22425    2    capitan    146       

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

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

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

20.12.2018    16478    Shmell    38       

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

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

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

15.12.2018    13767    MrWonder    22       

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

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

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

11.10.2018    28685    987ww765    33       

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

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

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

24.09.2018    26898    a.doroshkevich    60       

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

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

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

14.05.2018    16670    rpgshnik    26       

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

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

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

18.04.2018    47934    spezc    82       

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

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

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

04.04.2018    19209    petr.myazin    35       

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

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

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

04.04.2018    38214    Tavalik    33       

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

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

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

30.03.2018    90021    D_e_X_T_e_R    141       

1C÷Linux÷PostgreSQL÷Apache 91

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

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

26.03.2018    30820    SerVer1C    43       

Автоматическая очистка кэша конфигурации 1С 8.1, 8.2, 8.3 для сеанса текущего пользователя 67

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

Автоматическая очистка кэша конфигурации 1С для сеанса текущего пользователя (при динамическом обновлении или ручном интерактивном запуске)

14.11.2017    14153    golovkodv    18       

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

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

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

19.07.2017    174452    Aleksey81    134       

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

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

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

13.06.2017    22463    mickey.1cx    20       

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

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

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

02.06.2017    18500    Drasha    64       

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

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

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

23.05.2017    17477    Chrizt    35       

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

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

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

25.04.2017    21875    juker    1       

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

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

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

18.01.2017    45264    3    Vladimir Litvinenko    20       

BDD 1С по душе 78

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

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

15.01.2017    21549    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    25252    bpc222    47       

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

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

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

01.09.2016    28595    farukshin    9       

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

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

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

14.07.2016    28142    Pasha1st    20       

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

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

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

17.03.2016    23526    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    97091    vikdes    67       

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

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

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

1 стартмани

09.03.2016    20821    Zlohobbit    9       

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

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

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

23.02.2016    28619    starik-2005    28       

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

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

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

16.01.2016    41859    comol    93       

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

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

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

19.12.2015    63305    barelpro    50       

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

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

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

23.09.2015    96063    solutioncp24    44       

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

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

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

31.07.2015    37136    Ibrogim    80       

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

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

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

21.07.2015    27921    Aleksey.Bochkov    15       

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

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

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

12.07.2015    79728    axelerleo    40       

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

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

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

24.04.2015    22546    yukon    9