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

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

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

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

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

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 3406 28.09.14 11:52 Сейчас в теме
В своё время мучился-мучился с регламентными заданиями, так проку и не добился. То они не запускались по неведомым причинам ни в какую, то сбоили системные библиотеки 1С, то с сервером приложений связь терялась, то наоборот, все дружно задания как ломанутся (наплевав на свои реальные расписания) и повесят базу...
Короче, я сделал экспортные пускачи и дёргаю их через обычный sheduler винды. Работает как из пушки. Просто, прозрачно, управляемо. Логи в файлы валю, прикрутил оснастку их регулярного анализа и наступило щастье.
корум; MaxDavid; i_lo; help1Ckr; DrAku1a; Yury1001; +6 Ответить
2. TrinitronOTV 5 28.09.14 16:57 Сейчас в теме
(1) Yashazz, а как вы в sheduler запускаете свои задания?
3. ksnik 391 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 204 05.10.14 23:18 Сейчас в теме
5. ksnik 391 06.10.14 08:02 Сейчас в теме
(4) i_lo, замечательная публикация "Если РЗ должно было начать выполняться до момента проверки, но не выполнялось, то перезаписываем его". Возьму на вооружение, нужно перезапускать и чинить регламентные задания. Я тоже предложил внешний пускач через КОМ, предложенная Вами публикация имеет сходный функционал. Однако регламентные задания должны выполняться сервером и не зависеть от клиента, особенно если они долго выполняются, например у заданий "перепроведение последовательностей взаиморасчетов" или "перепроведение по партиям после обмена" опасно снижать надежность вешая их на клиент.
п.с. Все таки такого анализа как у меня в "Лекарстве от зависших регламентных заданий" нет, может он уже и не нужен?
6. i_lo 204 07.10.14 02:48 Сейчас в теме
(5) все, что описано в статье работает на сервере. Никаких клиентов. Запускается серверным планировщиком раз в сутки перед началом рабочего дня. У меня такие регламенты, что так удобнее. Главное, чтобы пользователь, от которого запускается регламентное задание был прописан, как пользователь базы с возможностью доменной аутентификации.
7. ksnik 391 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 443 11.10.14 08:45 Сейчас в теме
10. ksnik 391 11.10.14 12:20 Сейчас в теме
(9) SerG_121, работа интересная, но увы админы не разрешат - даже акел пад на сервере не разрешают ставить, когда-то ставил выгонялку из 1С (скачал здесь) и когда ключ 1С заглючил подумали на эту выгонялку. Нужно потроха этого чуда, чтоб самому делать. Можете поделиться немного подробнее?
11. AlexO 130 27.02.15 15:25 Сейчас в теме
(0) а что вы делаете, если у вас сервер не запускает РЗ в принципе?
12. ksnik 391 04.03.15 08:51 Сейчас в теме
(11) AlexO, если речь об одном отдельном РЗ, проблема в расписании, поле ввода "повторять" должно быть больше нуля, то есть например каждый день; с 8:00:00 один раз в день, противное значит однократный запуск.
Чтобы сервер вообще не выполнял - такого у нас не бывало, может Вам переустановить его?
13. AlexO 130 04.03.15 10:16 Сейчас в теме
(12)
если речь об одном отдельном РЗ, проблема в расписании
Так тема называется "Не работают регламентные задания", вот и спросил - если не работают все, что делать-то? )
может Вам переустановить его?
В 1С только это и помогает ))
На самом деле, все перепробовали - перегрузка базы, переподключение сервиса 1С, пинки и уговоры сервера )) ... осталось только переустановка 1С-сервера...
15. ksnik 391 03.04.18 11:12 Сейчас в теме
обновил статью (добавил новый материал), поместил текст примера анализа состояния и отправки сообщения
Оставьте свое сообщение

См. также

Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо

Администрирование данных 1С Мобильная разработка v8 Бесплатно (free)

Развитие инструментов управления кластером серверов 1С:Предприятие 8.3.

14.04.2017    60915    user700211_a.straltsou    27    

Полнотекстовый поиск в 1С. №2 Самое основное для разработчика

Поиск данных v8 1cv8.cf Бесплатно (free)

Полнотекстовый поиск в 1С и все что с этим связано. Часть №2: программное использование и некоторые нюансы при разработке.

02.09.2020    2827    YPermitin    4    

Ускоряем полнотекстовый поиск в динамических списках

Поиск данных v8 1cv8.cf Россия Бесплатно (free)

Сам являюсь пользователем УТ 11.4 и при обращении пользователей пользуюсь поиском, и как многие пользователи, сталкиваюсь с медленным поиском в динамических списках. В статье приведу пример кода, который поможет исключить из поиска лишние колонки, ускорит поиск и освободит кучу ресурсов у сервера.

20.07.2020    3302    PRO100_NigGaZ    10    

Полнотекстовый поиск в 1С. №1 Грабли в динамических списках

Поиск данных v8 1cv8.cf Бесплатно (free)

Полнотекстовый поиск в 1С и все что с этим связано. Часть №1: особенности работы в динамических списках.

18.07.2020    4465    YPermitin    18    

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

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

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

15.01.2019    24322    itriot11    25    

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

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

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

11.09.2019    72022    Infostart    90    

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

Администрирование данных 1С Zabbix v8 Бесплатно (free)

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

10.09.2019    18427    Sloth    24    

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

Администрирование данных 1С v8 1cv8.cf Россия Бесплатно (free)

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

07.09.2019    25525    Rain88    18    

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

Статистика базы данных v8 1cv8.cf Бесплатно (free)

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

21.07.2015    33844    Aleksey.Bochkov    15    

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию

WEB Администрирование данных 1С v8 Бесплатно (free)

Если "веб морда" расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С - это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

20.08.2019    11306    Fragster    9    

Быстрое копирование таблиц большого размера и/или с большим числом строк, на примере регистра сведений (для MS SQL)

Архивирование (backup) v8 Бесплатно (free)

Моментальное восстановление затертого регистра сведений из бекапа посредством SQL.

11.08.2019    6186    Zlohobbit    25    

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

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

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

18.07.2019    12047    vasilev2015    36    

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

Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

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

20.12.2018    22917    Shmell    38    

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

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

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

04.07.2019    19533    YPermitin    29    

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

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

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

28.05.2019    18943    ivanov660    9    

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

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

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

29.04.2019    41353    Sander80    30    

Зачем в 1С нужно периодически пересчитывать итоги по регистрам? Промо

Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

Мы часто слышим рекомендацию о том, что пересчет итогов нужно проводить регулярно и эта операция проводит к улучшению производительности, но что скрывается за этой процедурой и какие именно проблемы решаются?

10.03.2013    223682    Aleksey.Bochkov    140    

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

Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

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

22.04.2019    29088    starik-2005    171    

Cannot insert duplicate key. Кто виноват и что делать

Распределенная БД (УРИБ, УРБД) Тестирование и исправление v8 Бесплатно (free)

Ошибка "CANNOT INSERT DUPLICATE KEY" в базах 1С и связанная с ней "магия".

25.02.2019    21361    YPermitin    32    

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

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

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

20.02.2019    25974    valentinko    172    

Создание пользователя СУБД MS SQL Промо

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

Создание пользователя MS SQL для развертывания базы 1С.

15.02.2017    39939    hayroff    9    

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

Администрирование данных 1С v8 1cv8.cf Россия Бесплатно (free)

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

19.02.2019    13048    rzabolotin    68    

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

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

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

02.02.2019    24600    valentinko    15    

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

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

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

20.01.2019    17600    capitan    29    

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

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

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

19.12.2015    71906    barelpro    50    

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

Тестирование и исправление v8 Россия Бесплатно (free)

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

17.01.2019    27633    PoZiTiFFF    53    

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

Тестирование и исправление v8 Бесплатно (free)

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

09.01.2019    19683    idle    25    

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

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

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

25.12.2018    37949    capitan    149    

1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI). ОТ ТЕОРИИ К ПРАКТИКЕ. Часть I Промо

Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

Описание возможностей Windows Script Host и Windows Management Instrumentation. Подборка "скриптовых" функций и процедур.

12.12.2012    75063    StepByStep    68    

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

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

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

15.12.2018    21355    MrWonder    24    

Тонкости настройки IIS

Администрирование данных 1С v8 v8::УФ 1cv8.cf Бесплатно (free)

Тонкости и возможные проблемы при настройке IIS для работы с 1C. С учетом обновления платформ большинство инструкций стало неактуально и отнимает лишние время, заставляя выполнять ненужные пункты.

11.12.2018    32694    kas205    26    

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

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

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

15.10.2018    34839    oldcopy    77    

Часто встречающиеся ошибки 1С и общие способы их решения Промо

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

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

03.06.2014    244526    suggestive    52    

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

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

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

11.10.2018    53461    987ww765    43    

Мониторинг активности пользователя

Журнал регистрации v8 1cv8.cf Бесплатно (free)

Работает ли пользователь с программой? Сколько времени пользователь работает в программе? Что пользователь делает в программе? - эти вопросы стандартно решаются или просмотром журнала регистрации, или с помощью внешних программ. В данной статье будет предложен способ, как следить за активностью пользователей, используя небольшую доработку конфигурации. Бонусом системы мониторинга является автоматическое завершение сеансов пользователей, не работающих с программой длительное время.

11.10.2018    15112    postovalov    25    

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

Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

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

14.05.2018    26335    rpgshnik    27    

Технология обновления нетиповых конфигураций 1С:Предприятия 8 (редакция 12.04.2012) Промо

Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

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

15.12.2008    446001    alexk-is    248    

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

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

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

18.04.2018    82602    spezc    87    

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

Администрирование данных 1С WEB docker Apache v8 Бесплатно (free)

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

04.04.2018    28751    petr.myazin    35    

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

Сервисные утилиты Администрирование данных 1С v8 Бесплатно (free)

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

04.04.2018    62152    Tavalik    37    

1С:Предприятие Бухгалтерия переход с редакции 2.0 на 3.0. Практика перевода информационной базы для работы в управляемом приложении. Промо

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

Из информационного выпуска 1С № 16872 от 08.07.2013г. стало известно об относительно скором необходимом переходе на редакцию 1С:Бухгалтерия 3.0. В данной публикации будут разобраны некоторые особенности перевода нетиповой конфигурации 1С:Бухгалтерия 2.0 на редакцию 3.0, которая работает в режиме "Управляемое приложение". Публикация будет дополняться по мере подготовки нового материала. Публикация не является "универсальной инструкцией". Update 3. Права доступа. 14.08.2013 Update 4. Добавлен раздел 0. Дополнен раздел 4. Добавлен раздел 7. Внесены поправки, актуализирована информация. 23.11.2013.

1 стартмани

24.07.2013    76062    Kosstikk    36    

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

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

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

30.03.2018    124719    D_e_X_T_e_R    166    

1C + Linux + PostgreSQL + Apache

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

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

26.03.2018    43210    SerVer1C    51    

Как быстро "удалить все документы и движения" в базе (Альтернатива)

Чистка базы v8 Бесплатно (free)

Очень часто задают вопрос - как удалить все документы из базы, оставить только номенклатуру и настройки. Есть много различных вариантов (групповая обработка документов и справочников - да, работает, но медленно, у клиента в базе 460 000 документов проведенных - неделю будет удалять). Перенос данных - через ВыгрузкаЗагрузкаДанныхXML82.epf - можно, но тоже долго и требует определенных навыков.

06.03.2018    21116    Tatitutu    22    

Скрипт удобного восстановления базы MSSQL при дифференциальном резервировании Промо

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

Если у Вас база на MSSQL и Вы пользуетесь разностными бекапами, то, скорее всего, столкнулись с тем, что поднять базу/копию базы из имеющихся резервных файлов не столь удобно, как того хотелось бы. В этой статье приведен скрипт по теме.

20.01.2011    30395    Ivon    12    

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

Администрирование данных 1С v8 Украина Бесплатно (free)

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

14.11.2017    18650    golovkodv    18    

Установка сервера Аpache 2.4

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

В публикации описана установка web-сервера Аpache 2.4 на платформе Windows

26.10.2017    97261    ВикторП    14    

Параллельное использование нескольких версий COM control (несколько версий платформ)

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

Краткая инструкция по использованию нескольких версий com control.

13.10.2017    23097    qvvert    33    

Резервное копирование "онлайн" клиент-серверных баз в dt (не отключая пользователей)

Архивирование (backup) v8 Бесплатно (free)

Как реализовать резервное копирование клиент-серверных баз 1с в формат dt, не отключая пользователей. Рассматривается способ, делающий резервирование наименее заметным для пользователей и серверного оборудования.

03.10.2017    24180    konstanta_online    80    

Администрирование конфигураций 1С (недокументированные особенности работы)

Администрирование данных 1С v8 1cv8.cf Россия Бесплатно (free)

Многие мои коллеги по работе и по профессии, уверен, сталкиваются с аналогичными ситуациями, когда программа 1С при работе с конфигурацией, мягко говоря, работает "странно". Как говорит один хороший знакомый (к слову, один из авторов УТ 11): - "вот, ну согласись, нанять пару серьезных методистов - реальных дядечек с реального производства, до начала разработки - единственная ЭЛЕМЕНТАРНАЯ политика, как можно было этого не сделать???? там их НЕТ. Причем это 0 в плане затрат на разработку, там нет ограничений бюджета, это просто самый тупой прокол." В этой статье приведу способы лечения пресловутых проколов (за последний месяц).

21.09.2017    15426    zekrus    26