Публикации

БСП
Разработки

Найдено результатов: 168


Сгибы листка (задача с собеседования)

Функция возвращает строку, в которой 0 - сгиб от нас, 1 - к нам. Первый параметр - необходимое число сложений, второй и третий параметры служебные. Всего в записи функции 77 символов. Не по-русски потому, что так короче. function W(k,a=0,b=0)return?(k1,,W(...
FastCode 63 8

ПроконтролироватьЗадачи

Выполняет рассылку уведомлений исполнителям и авторам задач о задачах, не выполненных в срок.
ОбщийМодуль.БизнесПроцессыИЗадачиСервер
Автор: 1С
// Выполняет рассылку уведомлений исполнителям и авторам задач о задачах, не выполненных в срок.
// Рассылка выполняется по почте от имени системной учетной записи.
// Если задача направлена "в никуда", т.е. роли с пустым списком исполнителей,
// то создается новая задача ответственным за настройку ролей.
//
// Также является обработчиком регламентного задания МониторингЗадач.
//
Процедура ПроконтролироватьЗадачи() Экспорт
	
	ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.МониторингЗадач);
	ОписаниеОшибки = "";
	
	Если НЕ СистемнаяУчетнаяЗаписьНастроена(ОписаниеОшибки) Тогда
		ВидСообщения = НСтр("ru = 'Бизнес-процессы и задачи.Мониторинг задач'", ОбщегоНазначения.КодОсновногоЯзыка());
		ЗаписьЖурналаРегистрации(ВидСообщения, УровеньЖурналаРегистрации.Ошибка,
			Метаданные.РегламентныеЗадания.МониторингЗадач,, ОписаниеОшибки);
			Возврат;
	КонецЕсли;

	ПросроченныеЗадачи = ВыбратьПросроченныеЗадачи();
	Если ПросроченныеЗадачи.Количество() = 0 Тогда
		Возврат;
	КонецЕсли;
		
	НаборПисемПоАдресатам = ВыбратьИсполнителейПросроченныхЗадач(ПросроченныеЗадачи);
	Для Каждого ПисьмоИзНабора Из НаборПисемПоАдресатам Цикл
		ОтправитьУведомлениеОПросроченныхЗадачах(ПисьмоИзНабора);
	КонецЦикла;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ОткрытьПредметЗадачи

ОбщийМодуль.БизнесПроцессыИЗадачиКлиент
Автор: 1С
Процедура ОткрытьПредметЗадачи(Список) Экспорт
	Если ТипЗнч(Список.ТекущаяСтрока) <> Тип("ЗадачаСсылка.ЗадачаИсполнителя") Тогда
		ПоказатьПредупреждение(,НСтр("ru = 'Команда не может быть выполнена для указанного объекта.'"));
		Возврат;
	КонецЕсли;
	Если Список.ТекущиеДанные.Предмет = Неопределено Тогда
		ПоказатьПредупреждение(,НСтр("ru = 'У выбранной задачи не указан предмет.'"));
		Возврат;
	КонецЕсли;
	ПоказатьЗначение(, Список.ТекущиеДанные.Предмет);
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ПеренаправитьЗадачиЗавершение

ОбщийМодуль.БизнесПроцессыИЗадачиКлиент
Автор: 1С
Процедура ПеренаправитьЗадачиЗавершение(Знач Результат, Знач МассивЗадач) Экспорт
	
	Если ТипЗнч(Результат) <> Тип("Структура") Тогда
		Возврат;
	КонецЕсли;
	
	МассивПеренаправленныхЗадач = Неопределено;
	ЗадачиПеренаправлены = БизнесПроцессыИЗадачиВызовСервера.ПеренаправитьЗадачи(
		МассивЗадач, Результат, Ложь, МассивПеренаправленныхЗадач);
		
	Оповестить("Запись_ЗадачаИсполнителя", Новый Структура("Перенаправлена", ЗадачиПеренаправлены), МассивЗадач);
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ЗаблокироватьЗадачи

Установить исключительную управляемую блокировку на указанные задачи.
ОбщийМодуль.БизнесПроцессыИЗадачиСервер
Автор: 1С
// Установить исключительную управляемую блокировку на указанные задачи.
// Для вызова из обработчиков команд в динамических списках.
// Строки группировки динамического списка игнорируются.
//
// Параметры:
//   Задачи - Массив, ЗадачаСсылка.ЗадачаИсполнителя - ссылки на задачи, или одна ссылка.
//
Процедура ЗаблокироватьЗадачи(Задачи) Экспорт
	
	Блокировка = Новый БлокировкаДанных;
	Если ТипЗнч(Задачи) = Тип("Массив") Тогда
		Для каждого Задача Из Задачи Цикл
			
			Если ТипЗнч(Задача) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда 
				Продолжить;
			КонецЕсли;
			
			ЭлементБлокировки = Блокировка.Добавить("Задача.ЗадачаИсполнителя");
			ЭлементБлокировки.УстановитьЗначение("Ссылка", Задача);
		КонецЦикла;
	Иначе	
		Если ТипЗнч(БизнесПроцессы) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
			Возврат;
		КонецЕсли;	
		ЭлементБлокировки = Блокировка.Добавить("Задача.ЗадачаИсполнителя");
		ЭлементБлокировки.УстановитьЗначение("Ссылка", Задачи);
	КонецЕсли;
	Блокировка.Заблокировать();
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ПринятьЗадачиКИсполнению

Отмечает указанные задачи как принятые к исполнению.
ОбщийМодуль.БизнесПроцессыИЗадачиВызовСервера
Автор: 1С
// Отмечает указанные задачи как принятые к исполнению.
//
// Параметры:
//   Задачи - Массив - массив ссылок на задачи.
//
Процедура ПринятьЗадачиКИсполнению(Задачи) Экспорт
	
	НовыйМассивЗадач = Новый Массив();
	
	НачатьТранзакцию();
	Попытка
		БизнесПроцессыИЗадачиСервер.ЗаблокироватьЗадачи(Задачи);
		
		Для каждого Задача Из Задачи Цикл
			
			Если ТипЗнч(Задача) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
				Продолжить;
			КонецЕсли;
			
			ЗадачаОбъект = Задача.ПолучитьОбъект();
			Если ЗадачаОбъект.Выполнена Тогда
				Продолжить;
			КонецЕсли;
			
			ЗадачаОбъект.Заблокировать();
			ЗадачаОбъект.ПринятаКИсполнению = Истина;
			ЗадачаОбъект.ДатаПринятияКИсполнению = ТекущаяДатаСеанса();
			Если НЕ ЗначениеЗаполнено(ЗадачаОбъект.Исполнитель) Тогда
				ЗадачаОбъект.Исполнитель = Пользователи.АвторизованныйПользователь();
			КонецЕсли;
			ЗадачаОбъект.Записать();
			
			НовыйМассивЗадач.Добавить(Задача);
			
		КонецЦикла;
	ЗафиксироватьТранзакцию();
	Исключение
		ОтменитьТранзакцию();
		ВызватьИсключение;
	КонецПопытки;
	
	Задачи = НовыйМассивЗадач;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ЭтоЗадача

Проверяет, является ли переданный объект метаданных задачей.
ОбщийМодуль.ОбщегоНазначенияБТС
Автор: 1С
// Проверяет, является ли переданный объект метаданных задачей.
//
// Параметры:
//  ОбъектМетаданных - проверяемый объект метаданных.
//
// Возвращаемое значение: Булево.
//
Функция ЭтоЗадача(Знач ОбъектМетаданных) Экспорт
	
	Возврат ЭтоОбъектМетаданныхКласса(ОбъектМетаданных, ОбщегоНазначенияБТСПовтИсп.КлассыМетаданныхВМоделиКонфигурации().Задачи);
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ЭтоВедущаяЗадача

Проверяет, является ли указанная задача ведущей.
ОбщийМодуль.БизнесПроцессыИЗадачиВызовСервера
Автор: 1С
// Проверяет, является ли указанная задача ведущей.
//
// Параметры:
//  ЗадачаСсылка  - ЗадачаСсылка.ЗадачаИсполнителя - задача.
//
// Возвращаемое значение:
//   Булево - Если Истина, то задача является ведущей.
//
Функция ЭтоВедущаяЗадача(ЗадачаСсылка) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);
	Результат = БизнесПроцессыИЗадачиСервер.ВыбратьБизнесПроцессыВедущейЗадачи(ЗадачаСсылка);
	Возврат НЕ Результат.Пустой();
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ЭтоЗадача

Определяет принадлежность объекта метаданных к общему типу "Задача".
ОбщийМодуль.ОбщегоНазначения
Автор: 1С
// Определяет принадлежность объекта метаданных к общему типу "Задача".
//
// Параметры:
//  ОбъектМетаданных - ОбъектМетаданных - объект, для которого необходимо определить принадлежность к заданному типу.
// 
// Возвращаемое значение:
//   Булево - Истина, если объект является задачей.
//
Функция ЭтоЗадача(ОбъектМетаданных) Экспорт
	
	Возврат Метаданные.Задачи.Содержит(ОбъектМетаданных);
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ПринятьЗадачиКИсполнению

Отмечает указанные задачи как принятые к исполнению.
ОбщийМодуль.БизнесПроцессыИЗадачиКлиент
Автор: 1С
// Отмечает указанные задачи как принятые к исполнению.
//
// Параметры:
//  МассивЗадач - Массив - массив ссылок на задачи.
//
Процедура ПринятьЗадачиКИсполнению(Знач МассивЗадач) Экспорт
	
	БизнесПроцессыИЗадачиВызовСервера.ПринятьЗадачиКИсполнению(МассивЗадач);
	Если МассивЗадач.Количество() = 0 Тогда
		ПоказатьПредупреждение(,НСтр("ru = 'Команда не может быть выполнена для указанного объекта.'"));
		Возврат;
	КонецЕсли;
	
	ТипЗначенияЗадачи = Неопределено;
	Для каждого Задача Из МассивЗадач Цикл
		Если ТипЗнч(Задача) <> Тип("СтрокаГруппировкиДинамическогоСписка") Тогда 
			ТипЗначенияЗадачи = ТипЗнч(Задача);
			Прервать;
		КонецЕсли;
	КонецЦикла;
	Если ТипЗначенияЗадачи <> Неопределено Тогда
		ОповеститьОбИзменении(ТипЗначенияЗадачи);
	КонецЕсли;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ВыполнитьЗадачу

Выполнить задачу ЗадачаСсылка, при необходимости выполнив обработчик.
ОбщийМодуль.БизнесПроцессыИЗадачиВызовСервера
Автор: 1С
// Выполнить задачу ЗадачаСсылка, при необходимости выполнив обработчик.
//  ОбработкаВыполненияПоУмолчанию модуля менеджера бизнес-процесса,
//  к которому относится задача ЗадачаСсылка.
//
// Параметры:
//  ЗадачаСсылка        - ЗадачаСсылка - ссылка на задачу.
//  ДействиеПоУмолчанию - Булево        -Признак необходимости вызова процедуры 
//                                       ОбработкаВыполненияПоУмолчанию у бизнес-процесса задачи.
//
Процедура ВыполнитьЗадачу(ЗадачаСсылка, ДействиеПоУмолчанию = Ложь) Экспорт

	НачатьТранзакцию();
	Попытка
		БизнесПроцессыИЗадачиСервер.ЗаблокироватьЗадачи(ЗадачаСсылка);
		
		ЗадачаОбъект = ЗадачаСсылка.ПолучитьОбъект();
		Если ЗадачаОбъект.Выполнена Тогда
			ВызватьИсключение НСтр("ru = 'Задача уже была выполнена ранее.'");
		КонецЕсли;
		
		Если ДействиеПоУмолчанию И ЗадачаОбъект.БизнесПроцесс <> Неопределено 
			И НЕ ЗадачаОбъект.БизнесПроцесс.Пустая() Тогда
			ТипБизнесПроцесса = ЗадачаОбъект.БизнесПроцесс.Метаданные();
			БизнесПроцессы[ТипБизнесПроцесса.Имя].ОбработкаВыполненияПоУмолчанию(ЗадачаСсылка,
				ЗадачаОбъект.БизнесПроцесс, ЗадачаОбъект.ТочкаМаршрута);
		КонецЕсли;
			
		ЗадачаОбъект.Выполнена = Ложь;
		ЗадачаОбъект.ВыполнитьЗадачу();
		ЗафиксироватьТранзакцию();
	Исключение
		ОтменитьТранзакцию();
		ВызватьИсключение;
	КонецПопытки;

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ПринятьЗадачуКИсполнению

Отмечает указанную задачу как принятую к исполнению.
ОбщийМодуль.БизнесПроцессыИЗадачиКлиент
Автор: 1С
// Отмечает указанную задачу как принятую к исполнению.
//
// Параметры:
//  Форма               - ФормаКлиентскогоПриложения - Форма задачи.
//  ТекущийПользователь - СправочникСсылка.ВнешниеПользователи, СправочникСсылка.Пользователи - ссылка на текущего
//                                                                                              пользователя программы.
//
Процедура ПринятьЗадачуКИсполнению(Форма, ТекущийПользователь) Экспорт
	
	Форма.Объект.ПринятаКИсполнению = Истина;
	
	// ДатаПринятияКИсполнению устанавливается пустой - она будет проинициализирована 
	// текущей датой сеанса перед записью самой  задачи.
	Форма.Объект.ДатаПринятияКИсполнению = Дата('00010101');
	Если НЕ ЗначениеЗаполнено(Форма.Объект.Исполнитель) Тогда
		Форма.Объект.Исполнитель = ТекущийПользователь;
	КонецЕсли;
	
	ОчиститьСообщения();
	Форма.Записать();
	ОбновитьДоступностьКомандПринятияКИсполнению(Форма);
	ОповеститьОбИзменении(Форма.Объект.Ссылка);
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ГруппыИсполнителейЗадач

Получает группы исполнителей задач согласно новым записям исполнителей задач.
ОбщийМодуль.БизнесПроцессыИЗадачиСервер
Автор: 1С
// Получает группы исполнителей задач согласно новым записям исполнителей задач.
//
// Параметры:
//  НовыеИсполнителиЗадач  - ТаблицаЗначений - выгрузка из набора записей
//                           регистра сведений ИсполнителиЗадач.
//
// Возвращаемое значение:
//   Массив - с элементами типа СправочникСсылка.ГруппыИсполнителейЗадач.
//
Функция ГруппыИсполнителейЗадач(НовыеИсполнителиЗадач) Экспорт
	
	НазванияПолей = "РольИсполнителя, ОсновнойОбъектАдресации, ДополнительныйОбъектАдресации";
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("НовыеЗаписи", НовыеИсполнителиЗадач.Скопировать( , НазванияПолей));
	Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	НовыеЗаписи.РольИсполнителя КАК РольИсполнителя,
	|	НовыеЗаписи.ОсновнойОбъектАдресации КАК ОсновнойОбъектАдресации,
	|	НовыеЗаписи.ДополнительныйОбъектАдресации КАК ДополнительныйОбъектАдресации
	|ПОМЕСТИТЬ НовыеЗаписи
	|ИЗ
	|	&НовыеЗаписи КАК НовыеЗаписи
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ЕСТЬNULL(ГруппыИсполнителейЗадач.Ссылка, ЗНАЧЕНИЕ(Справочник.ГруппыИсполнителейЗадач.ПустаяСсылка)) КАК Ссылка,
	|	НовыеЗаписи.РольИсполнителя КАК РольИсполнителя,
	|	НовыеЗаписи.ОсновнойОбъектАдресации КАК ОсновнойОбъектАдресации,
	|	НовыеЗаписи.ДополнительныйОбъектАдресации КАК ДополнительныйОбъектАдресации
	|ИЗ
	|	НовыеЗаписи КАК НовыеЗаписи
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыИсполнителейЗадач КАК ГруппыИсполнителейЗадач
	|		ПО НовыеЗаписи.РольИсполнителя = ГруппыИсполнителейЗадач.РольИсполнителя
	|			И НовыеЗаписи.ОсновнойОбъектАдресации = ГруппыИсполнителейЗадач.ОсновнойОбъектАдресации
	|			И НовыеЗаписи.ДополнительныйОбъектАдресации = ГруппыИсполнителейЗадач.ДополнительныйОбъектАдресации";
	
	ГруппыИсполнителей = Запрос.Выполнить().Выгрузить();
	
	ОтборГруппыИсполнителей = Новый Структура(НазванияПолей);
	ГруппыИсполнителейЗадач = Новый Массив;
	
	Для каждого Запись Из НовыеИсполнителиЗадач Цикл
		ЗаполнитьЗначенияСвойств(ОтборГруппыИсполнителей, Запись);
		ГруппаИсполнителей = ГруппыИсполнителей.НайтиСтроки(ОтборГруппыИсполнителей)[0];
		// Требуется обновить ссылку в найденной строке.
		Если НЕ ЗначениеЗаполнено(ГруппаИсполнителей.Ссылка) Тогда
			// Требуется добавить новую группу исполнителей.
			ГруппаИсполнителейОбъект = Справочники.ГруппыИсполнителейЗадач.СоздатьЭлемент();
			ЗаполнитьЗначенияСвойств(ГруппаИсполнителейОбъект, ОтборГруппыИсполнителей);
			ГруппаИсполнителейОбъект.Записать();
			ГруппаИсполнителей.Ссылка = ГруппаИсполнителейОбъект.Ссылка;
		КонецЕсли;
		ГруппыИсполнителейЗадач.Добавить(ГруппаИсполнителей.Ссылка);
	КонецЦикла;
	
	Возврат ГруппыИсполнителейЗадач;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ВыбратьБизнесПроцессыВедущейЗадачи

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

УстановитьПараметрыСпискаМоихЗадач

ОбщийМодуль.БизнесПроцессыИЗадачиСервер
Автор: 1С
Процедура УстановитьПараметрыСпискаМоихЗадач(Список) Экспорт
	
	ТекущаяДатаСеанса = ТекущаяДатаСеанса();
	Сегодня = Новый СтандартныйПериод(ВариантСтандартногоПериода.Сегодня);
	ЭтаНеделя = Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтаНеделя);
	СледующаяНеделя = Новый СтандартныйПериод(ВариантСтандартногоПериода.СледующаяНеделя);
	
	Список.Параметры.УстановитьЗначениеПараметра("ТекущаяДата", ТекущаяДатаСеанса);
	Список.Параметры.УстановитьЗначениеПараметра("КонецДня", Сегодня.ДатаОкончания);
	Список.Параметры.УстановитьЗначениеПараметра("КонецНедели", ЭтаНеделя.ДатаОкончания);
	Список.Параметры.УстановитьЗначениеПараметра("КонецСледующейНедели", СледующаяНеделя.ДатаОкончания);
	Список.Параметры.УстановитьЗначениеПараметра("Просрочено", " " + НСтр("ru = 'Просрочено'")); // пробел для сортировки
	Список.Параметры.УстановитьЗначениеПараметра("Сегодня", НСтр("ru = 'В течение сегодня'"));
	Список.Параметры.УстановитьЗначениеПараметра("ЭтаНеделя", НСтр("ru = 'До конца недели'"));
	Список.Параметры.УстановитьЗначениеПараметра("СледующаяНеделя", НСтр("ru = 'На следующей неделе'"));
	Список.Параметры.УстановитьЗначениеПараметра("Позднее", НСтр("ru = 'Позднее'"));
	Список.Параметры.УстановитьЗначениеПараметра("НачалоДня", НачалоДня(ТекущаяДатаСеанса));
	Список.Параметры.УстановитьЗначениеПараметра("НезаполненнаяДата", Дата(1,1,1));
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Генератор вариантов формул

В данной задаче требуется сформировать список строк, каждая из которых будет являться вариантом формулы, содержащей аргументы X1, X2, ..., Xmax, знаки арифметических операций и скобки. Этот список затем можно использовать для решений задач типа "расставьте...
FastCode 63 8

Объединение непересекающихся интервалов в запросе

Задача заключается в том, чтобы собрать в один непрерывный интервал все время проживание гостя в гостинице, если между интервалами не было перерывов. То есть для таблицы t1.png Это делает следующий запрос, являющийся развитием идей решения задачи 14 из пре...
FastCode 63 8

Количество дней, когда товар был на складе

Обычный подход к решению этой задачи - рассчитать "остатки на каждый день" и подсчитать дни наличия товара. Предлагается другой подход: найти все интервалы отсутствия товара и вычесть их общую длину из длины периода. Получается следующий запрос: ВЫБРАТЬ ...
FastCode 63 8

Загадка суммы и произведения

Пусть x и y два целых числа 1 < = x < = y притом x + y < = 100. Салли сказали только сумму x + y, а вот Полю произведение xy. Салли и Пол честнейшие ребята, это всем известно, они и друг другу отродясь не врали. И вот такой вышел у них разговор: Пол: «Не ...
FastCode 63 8

Первый пропущенный артикул

Чтобы по максимуму использовать номерную емкость, иногда требуется назначать новому элементу незанятую комбинацию цифр, а для этого определять первый пропущенный артикул. Идея решения здесь в том, чтобы преобразовать артикулы в числа методом из статьи "Выр...
FastCode 63 8