1
0
mirror of https://github.com/1C-Company/GitConverter.git synced 2025-02-07 13:08:20 +02:00

Merge pull request #37 from 1C-Company/develop

Исправление ошибок

resolve #36
This commit is contained in:
Dmitriy Marmyshev 2018-05-30 15:15:55 +03:00 committed by GitHub
commit 75b316535a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 475 additions and 475 deletions

View File

@ -1,4 +1,4 @@
Manifest-Version: 1.0
Runtime-Version: 8.3.12
Product-Version: 1.8.3
Product-Version: 1.8.4
Store-Version: 1.0.0

View File

@ -462,7 +462,7 @@
НаименованиеЗадания = НСтр("ru = 'Конвертация хранилища'") + ": ";
НаименованиеЗадания = НаименованиеЗадания + СокрЛП(Объект.Адрес);
НаименованиеЗадания = Лев(НаименованиеЗадания + СокрЛП(Объект.Адрес), 120);
ФоновыеЗадания.Выполнить("КонвертацияХранилища.ВыполнитьКонвертацию", ПараметрыЗадания, Ключ, НаименованиеЗадания);

View File

@ -492,7 +492,7 @@
Параметры = Новый Массив();
Параметры.Добавить(Хранилище);
ФоновыеЗадания.Выполнить("КонвертацияХранилища.ВыполнитьКоммиты", Параметры, Ключ, Наименование);
ФоновыеЗадания.Выполнить("КонвертацияХранилища.ВыполнитьКоммиты", Параметры, Ключ, Лев(Наименование, 120));
КонецПроцедуры
@ -1000,7 +1000,7 @@
Параметры = Новый Массив();
Параметры.Добавить(ВерсияХранилища);
ФоновыеЗадания.Выполнить("КонвертацияХранилища.ОбработатьВерсию", Параметры, Ключ, Наименование);
ФоновыеЗадания.Выполнить("КонвертацияХранилища.ОбработатьВерсию", Параметры, Ключ, Лев(Наименование, 120));
КонецПроцедуры
@ -2146,7 +2146,7 @@
ПараметрыЗадания = Новый Массив();
ПараметрыЗадания.Добавить(Версия);
ФоновыеЗадания.Выполнить("КонвертацияХранилища.УдалитьФайлыВерсии", ПараметрыЗадания, Ключ, ЗаданияНаименование);
ФоновыеЗадания.Выполнить("КонвертацияХранилища.УдалитьФайлыВерсии", ПараметрыЗадания, Ключ, Лев(ЗаданияНаименование, 120));
КонецЕсли;
@ -2301,7 +2301,7 @@
ПараметрыЗадания = Новый Массив();
ПараметрыЗадания.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
ФоновыеЗадания.Выполнить("КонвертацияХранилища.СформироватьФайлыКоммитаВерсии", ПараметрыЗадания, Ключ, ЗаданияНаименование);
ФоновыеЗадания.Выполнить("КонвертацияХранилища.СформироватьФайлыКоммитаВерсии", ПараметрыЗадания, Ключ, Лев(ЗаданияНаименование, 120));
КонецЕсли;
КонецЦикла;
@ -2705,6 +2705,8 @@
Параметры.Вставить("СоздатьФайловуюИнформационнуюБазу", Истина);
Параметры.Вставить("ДобавлятьВСписок", Истина);
ПараметрыПодключенияКХранилищу(Хранилище, Параметры);
ПараметрыКаталогаИсполняемогоФайлаНаСервере(Параметры);
УдалитьФайлы(Параметры.КаталогИБ);
@ -2717,8 +2719,6 @@
Параметры.Вставить("ИмяПользователяИБ", "");
Параметры.Вставить("ПарольПользователяИБ", "");
ПараметрыПодключенияКХранилищу(Хранилище, Параметры);
ДлительныеОперации.СообщитьПрогресс(20, "Получения версии из хранилища");
Параметры.Вставить("ОбновитьИнформационнуюБазуИзХранилища", Истина);

View File

@ -1,466 +1,466 @@
////////////////////////////////////////////////////////////////////////////////
// Подсистема "Регламентные задания".
//
////////////////////////////////////////////////////////////////////////////////
#Область ПрограммныйИнтерфейс
// Получает задания очереди по заданному отбору.
// Возможно получение неконсистентных данных.
// Параметры:
// Отбор - Структура, Массив - значения по которым, требуется отбирать задания.
// Возможные ключи структуры для ИБ в обычном режиме:
// УникальныйИдентификатор
// Ключ
// Метаданные
// Предопределенное
// Использование
// Наименование
// Возможные ключи структуры для ИБ в режиме сервиса:
// ОбластьДанных
// ИмяМетода
// Идентификатор
// СостояниеЗадания
// Ключ
// Шаблон
// Использование
// Так же может быть передан массив структур - описаний отбора со следующими ключами:
// ВидСравнения - ВидСравнения - допустимыми значениями являются только.
// ВидСравнения.Равно
// ВидСравнения.НеРавно
// ВидСравнения.ВСписке
// ВидСравнения.НеВСписке
// Значение - Значение отбора, для видов сравнения ВСписке и НеВСписке - массив значений.
// Для видов сравнения Равно / НеРавно - сами значения.
// Все условия отбора объединяются по И.
// Возвращаемое значение:
// ТаблицаЗначений - таблица найденных заданий. Колонки соответствуют параметрам заданий.
//
Функция НайтиЗадания(Знач Отбор) Экспорт
УстановитьПривилегированныйРежим(Истина);
СписокЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отбор);
Возврат СписокЗаданий;
КонецФункции
// Возвращает РегламентноеЗадание из информационной базы.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания
// или имя метаданных предопределенного регламентного задания.
// - РегламентноеЗадание - регламентное задание из которого нужно получить
// уникальный идентификатор для получения свежей копии регламентного задания.
//
// Возвращаемое значение:
// РегламентноеЗадание - прочитано из базы данных.
//
Функция Задание(Знач Идентификатор) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Идентификатор = Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Идентификатор = Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных") Тогда
Если Идентификатор.Предопределенное Тогда
РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Идентификатор);
Иначе
СписокЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Новый Структура("Метаданные", Идентификатор));
Если СписокЗаданий.Количество() > 0 Тогда
РегламентноеЗадание = СписокЗаданий[0];
КонецЕсли;
КонецЕсли;
Иначе
РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
КонецЕсли;
Возврат РегламентноеЗадание;
КонецФункции
// Добавляет новое задание в очередь или как регламентное.
//
// Параметры:
// ПараметрыЗадания - Структура - Параметры добавляемого задания, возможные ключи:
// Использование
// Метаданные - обязательно для указания.
// Параметры
// Ключ
// ИнтервалПовтораПриАварийномЗавершении.
// Расписание
// КоличествоПовторовПриАварийномЗавершении
//
// Возвращаемое значение:
// РегламентноеЗадание, СправочникСсылка.ОчередьЗаданий, СправочникСсылка.ОчередьЗаданийОбластейДанных - Идентификатор добавленного задания.
//
Функция ДобавитьЗадание(ПараметрыЗадания) Экспорт
УстановитьПривилегированныйРежим(Истина);
МетаданныеЗадания = ПараметрыЗадания.Метаданные;
Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание(МетаданныеЗадания);
Если ПараметрыЗадания.Свойство("Наименование") Тогда
Задание.Наименование = ПараметрыЗадания.Наименование;
Иначе
Задание.Наименование = МетаданныеЗадания.Наименование;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Использование") Тогда
Задание.Использование = ПараметрыЗадания.Использование;
Иначе
Задание.Использование = МетаданныеЗадания.Использование;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Ключ") Тогда
Задание.Ключ = ПараметрыЗадания.Ключ;
Иначе
Задание.Ключ = МетаданныеЗадания.Ключ;
КонецЕсли;
Если ПараметрыЗадания.Свойство("ИмяПользователя") Тогда
Задание.ИмяПользователя = ПараметрыЗадания.ИмяПользователя;
КонецЕсли;
Если ПараметрыЗадания.Свойство("ИнтервалПовтораПриАварийномЗавершении") Тогда
Задание.ИнтервалПовтораПриАварийномЗавершении = ПараметрыЗадания.ИнтервалПовтораПриАварийномЗавершении;
Иначе
Задание.ИнтервалПовтораПриАварийномЗавершении = МетаданныеЗадания.ИнтервалПовтораПриАварийномЗавершении;
КонецЕсли;
Если ПараметрыЗадания.Свойство("КоличествоПовторовПриАварийномЗавершении") Тогда
Задание.КоличествоПовторовПриАварийномЗавершении = ПараметрыЗадания.КоличествоПовторовПриАварийномЗавершении;
Иначе
Задание.КоличествоПовторовПриАварийномЗавершении = МетаданныеЗадания.КоличествоПовторовПриАварийномЗавершении;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Параметры") Тогда
Задание.Параметры = ПараметрыЗадания.Параметры;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Расписание") Тогда
Задание.Расписание = ПараметрыЗадания.Расписание;
Иначе
Задание.Расписание = МетаданныеЗадания.Расписание;
КонецЕсли;
Задание.Записать();
Возврат Задание;
КонецФункции
// Удаляет РегламентноеЗадание из информационной базы.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// не предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание, которое нужно получить
// уникальный идентификатор для получения свежей копии регламентного задания.
//
Процедура УдалитьЗадание(Знач Идентификатор) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Идентификатор = Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Идентификатор = Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных")
И Идентификатор.Предопределенное Тогда
ВызватьИсключение (НСтр("ru = 'Предопределенное регламентное задание удалить невозможно.'"));
ИначеЕсли ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных")
И НЕ Идентификатор.Предопределенное Тогда
СписокЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Новый Структура("Метаданные", Идентификатор));
Для каждого РегламентноеЗадание Из СписокЗаданий Цикл
РегламентноеЗадание.Удалить();
КонецЦикла;
Иначе
РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
Если РегламентноеЗадание <> Неопределено Тогда
РегламентноеЗадание.Удалить();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
// Изменяет задание с указанным идентификатором.
// В случае вызова в транзакции на задание устанавливается объектная блокировка.
//
// Параметры:
// Идентификатор - СправочникСсылка.ОчередьЗаданий, СправочникСсылка.ОчередьЗаданийОбластейДанных - Идентификатор задания
// ПараметрыЗадания - Структура - Параметры, которые следует установить заданию,
// возможные ключи:
// Использование
// Параметры
// Ключ
// ИнтервалПовтораПриАварийномЗавершении.
// Расписание
// КоличествоПовторовПриАварийномЗавершении
//
// В случае если задание создано на основе шаблона или предопределенное, могут быть указаны
// только следующие ключи: Использование.
//
Процедура ИзменитьЗадание(Знач Идентификатор, Знач ПараметрыЗадания) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Идентификатор = Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Идентификатор = Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
Если Задание <> Неопределено Тогда
Если ПараметрыЗадания.Свойство("Наименование") Тогда
Задание.Наименование = ПараметрыЗадания.Наименование;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Использование") Тогда
Задание.Использование = ПараметрыЗадания.Использование;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Ключ") Тогда
Задание.Ключ = ПараметрыЗадания.Ключ;
КонецЕсли;
Если ПараметрыЗадания.Свойство("ИмяПользователя") Тогда
Задание.ИмяПользователя = ПараметрыЗадания.ИмяПользователя;
КонецЕсли;
Если ПараметрыЗадания.Свойство("ИнтервалПовтораПриАварийномЗавершении") Тогда
Задание.ИнтервалПовтораПриАварийномЗавершении = ПараметрыЗадания.ИнтервалПовтораПриАварийномЗавершении;
КонецЕсли;
Если ПараметрыЗадания.Свойство("КоличествоПовторовПриАварийномЗавершении") Тогда
Задание.КоличествоПовторовПриАварийномЗавершении = ПараметрыЗадания.КоличествоПовторовПриАварийномЗавершении;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Параметры") Тогда
Задание.Параметры = ПараметрыЗадания.Параметры;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Расписание") Тогда
Задание.Расписание = ПараметрыЗадания.Расписание;
КонецЕсли;
Задание.Записать();
КонецЕсли;
КонецПроцедуры
// Возвращает уникальный идентификатор регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// Возвращаемое значение:
// УникальныйИдентификатор - УИ объекта регламентного задания
//
Функция УникальныйИдентификатор(Знач Идентификатор) Экспорт
Если ТипЗнч(Идентификатор) = Тип("УникальныйИдентификатор") Тогда
Возврат Идентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Возврат Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Возврат Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных")
И Идентификатор.Предопределенное Тогда
Возврат РегламентныеЗадания.НайтиПредопределенное(Идентификатор).УникальныйИдентификатор;
ИначеЕсли ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных")
И НЕ Идентификатор.Предопределенное Тогда
СписокЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Новый Структура("Метаданные", Идентификатор));
Для каждого РегламентноеЗадание Из СписокЗаданий Цикл
Возврат РегламентноеЗадание.УникальныйИдентификатор;
КонецЦикла;
КонецЕсли;
Возврат Неопределено;
КонецФункции
// Возвращает использование регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// Возвращаемое значение:
// Булево - если Истина, регламентное задание используется.
//
Функция РегламентноеЗаданиеИспользуется(Знач Идентификатор) Экспорт
УстановитьПривилегированныйРежим(Истина);
Задание = ПолучитьРегламентноеЗадание(Идентификатор);
Возврат Задание.Использование;
КонецФункции
// Возвращает расписание регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// ВСтруктуре - Булево - если Истина, тогда расписание будет преобразовано
// в структуру, которую можно передать на клиент.
//
// Возвращаемое значение:
// РасписаниеРегламентногоЗадания, Структура - структура содержит те же свойства, что и расписание.
//
Функция РасписаниеРегламентногоЗадания(Знач Идентификатор, Знач ВСтруктуре = Ложь) Экспорт
УстановитьПривилегированныйРежим(Истина);
Задание = ПолучитьРегламентноеЗадание(Идентификатор);
Если ВСтруктуре Тогда
Возврат ОбщегоНазначенияКлиентСервер.РасписаниеВСтруктуру(Задание.Расписание);
КонецЕсли;
Возврат Задание.Расписание;
КонецФункции
// Устанавливает использование регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// Использование - Булево - значение использования которое нужно установить.
//
Процедура УстановитьИспользованиеРегламентногоЗадания(Знач Идентификатор, Знач Использование) Экспорт
УстановитьПривилегированныйРежим(Истина);
Задание = ПолучитьРегламентноеЗадание(Идентификатор);
Если Задание.Использование <> Использование Тогда
Задание.Использование = Использование;
КонецЕсли;
Задание.Записать();
КонецПроцедуры
// Устанавливает расписание регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// Расписание - РасписаниеРегламентногоЗадания - расписание.
// - Структура - значение возвращаемое функцией РасписаниеВСтруктуру
// общего модуля ОбщегоНазначенияКлиентСервер.
//
Процедура УстановитьРасписаниеРегламентногоЗадания(Знач Идентификатор, Знач Расписание) Экспорт
УстановитьПривилегированныйРежим(Истина);
Задание = ПолучитьРегламентноеЗадание(Идентификатор);
Если ТипЗнч(Расписание) = Тип("РасписаниеРегламентногоЗадания") Тогда
Задание.Расписание = Расписание;
Иначе
Задание.Расписание = ОбщегоНазначенияКлиентСервер.СтруктураВРасписание(Расписание);
КонецЕсли;
Задание.Записать();
КонецПроцедуры
// Возвращает РегламентноеЗадание из информационной базы.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание из которого нужно получить
// уникальный идентификатор для получения свежей копии регламентного задания.
//
// Возвращаемое значение:
// РегламентноеЗадание - прочитано из базы данных.
//
Функция ПолучитьРегламентноеЗадание(Знач Идентификатор) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Идентификатор = Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Идентификатор = Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных") Тогда
РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Идентификатор);
Иначе
РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
КонецЕсли;
Если РегламентноеЗадание = Неопределено Тогда
ВызватьИсключение( НСтр("ru = 'Регламентное задание не найдено.
|Возможно, оно удалено другим пользователем.'") );
КонецЕсли;
Возврат РегламентноеЗадание;
КонецФункции
#КонецОбласти
////////////////////////////////////////////////////////////////////////////////
// Подсистема "Регламентные задания".
//
////////////////////////////////////////////////////////////////////////////////
#Область ПрограммныйИнтерфейс
// Получает задания очереди по заданному отбору.
// Возможно получение неконсистентных данных.
// Параметры:
// Отбор - Структура, Массив - значения по которым, требуется отбирать задания.
// Возможные ключи структуры для ИБ в обычном режиме:
// УникальныйИдентификатор
// Ключ
// Метаданные
// Предопределенное
// Использование
// Наименование
// Возможные ключи структуры для ИБ в режиме сервиса:
// ОбластьДанных
// ИмяМетода
// Идентификатор
// СостояниеЗадания
// Ключ
// Шаблон
// Использование
// Так же может быть передан массив структур - описаний отбора со следующими ключами:
// ВидСравнения - ВидСравнения - допустимыми значениями являются только.
// ВидСравнения.Равно
// ВидСравнения.НеРавно
// ВидСравнения.ВСписке
// ВидСравнения.НеВСписке
// Значение - Значение отбора, для видов сравнения ВСписке и НеВСписке - массив значений.
// Для видов сравнения Равно / НеРавно - сами значения.
// Все условия отбора объединяются по И.
// Возвращаемое значение:
// ТаблицаЗначений - таблица найденных заданий. Колонки соответствуют параметрам заданий.
//
Функция НайтиЗадания(Знач Отбор) Экспорт
УстановитьПривилегированныйРежим(Истина);
СписокЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отбор);
Возврат СписокЗаданий;
КонецФункции
// Возвращает РегламентноеЗадание из информационной базы.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания
// или имя метаданных предопределенного регламентного задания.
// - РегламентноеЗадание - регламентное задание из которого нужно получить
// уникальный идентификатор для получения свежей копии регламентного задания.
//
// Возвращаемое значение:
// РегламентноеЗадание - прочитано из базы данных.
//
Функция Задание(Знач Идентификатор) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Идентификатор = Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Идентификатор = Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных") Тогда
Если Идентификатор.Предопределенное Тогда
РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Идентификатор);
Иначе
СписокЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Новый Структура("Метаданные", Идентификатор));
Если СписокЗаданий.Количество() > 0 Тогда
РегламентноеЗадание = СписокЗаданий[0];
КонецЕсли;
КонецЕсли;
Иначе
РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
КонецЕсли;
Возврат РегламентноеЗадание;
КонецФункции
// Добавляет новое задание в очередь или как регламентное.
//
// Параметры:
// ПараметрыЗадания - Структура - Параметры добавляемого задания, возможные ключи:
// Использование
// Метаданные - обязательно для указания.
// Параметры
// Ключ
// ИнтервалПовтораПриАварийномЗавершении.
// Расписание
// КоличествоПовторовПриАварийномЗавершении
//
// Возвращаемое значение:
// РегламентноеЗадание, СправочникСсылка.ОчередьЗаданий, СправочникСсылка.ОчередьЗаданийОбластейДанных - Идентификатор добавленного задания.
//
Функция ДобавитьЗадание(ПараметрыЗадания) Экспорт
УстановитьПривилегированныйРежим(Истина);
МетаданныеЗадания = ПараметрыЗадания.Метаданные;
Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание(МетаданныеЗадания);
Если ПараметрыЗадания.Свойство("Наименование") Тогда
Задание.Наименование = Лев(ПараметрыЗадания.Наименование, 120);
Иначе
Задание.Наименование = Лев(МетаданныеЗадания.Наименование, 120);
КонецЕсли;
Если ПараметрыЗадания.Свойство("Использование") Тогда
Задание.Использование = ПараметрыЗадания.Использование;
Иначе
Задание.Использование = МетаданныеЗадания.Использование;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Ключ") Тогда
Задание.Ключ = ПараметрыЗадания.Ключ;
Иначе
Задание.Ключ = МетаданныеЗадания.Ключ;
КонецЕсли;
Если ПараметрыЗадания.Свойство("ИмяПользователя") Тогда
Задание.ИмяПользователя = ПараметрыЗадания.ИмяПользователя;
КонецЕсли;
Если ПараметрыЗадания.Свойство("ИнтервалПовтораПриАварийномЗавершении") Тогда
Задание.ИнтервалПовтораПриАварийномЗавершении = ПараметрыЗадания.ИнтервалПовтораПриАварийномЗавершении;
Иначе
Задание.ИнтервалПовтораПриАварийномЗавершении = МетаданныеЗадания.ИнтервалПовтораПриАварийномЗавершении;
КонецЕсли;
Если ПараметрыЗадания.Свойство("КоличествоПовторовПриАварийномЗавершении") Тогда
Задание.КоличествоПовторовПриАварийномЗавершении = ПараметрыЗадания.КоличествоПовторовПриАварийномЗавершении;
Иначе
Задание.КоличествоПовторовПриАварийномЗавершении = МетаданныеЗадания.КоличествоПовторовПриАварийномЗавершении;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Параметры") Тогда
Задание.Параметры = ПараметрыЗадания.Параметры;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Расписание") Тогда
Задание.Расписание = ПараметрыЗадания.Расписание;
Иначе
Задание.Расписание = МетаданныеЗадания.Расписание;
КонецЕсли;
Задание.Записать();
Возврат Задание;
КонецФункции
// Удаляет РегламентноеЗадание из информационной базы.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// не предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание, которое нужно получить
// уникальный идентификатор для получения свежей копии регламентного задания.
//
Процедура УдалитьЗадание(Знач Идентификатор) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Идентификатор = Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Идентификатор = Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных")
И Идентификатор.Предопределенное Тогда
ВызватьИсключение (НСтр("ru = 'Предопределенное регламентное задание удалить невозможно.'"));
ИначеЕсли ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных")
И НЕ Идентификатор.Предопределенное Тогда
СписокЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Новый Структура("Метаданные", Идентификатор));
Для каждого РегламентноеЗадание Из СписокЗаданий Цикл
РегламентноеЗадание.Удалить();
КонецЦикла;
Иначе
РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
Если РегламентноеЗадание <> Неопределено Тогда
РегламентноеЗадание.Удалить();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
// Изменяет задание с указанным идентификатором.
// В случае вызова в транзакции на задание устанавливается объектная блокировка.
//
// Параметры:
// Идентификатор - СправочникСсылка.ОчередьЗаданий, СправочникСсылка.ОчередьЗаданийОбластейДанных - Идентификатор задания
// ПараметрыЗадания - Структура - Параметры, которые следует установить заданию,
// возможные ключи:
// Использование
// Параметры
// Ключ
// ИнтервалПовтораПриАварийномЗавершении.
// Расписание
// КоличествоПовторовПриАварийномЗавершении
//
// В случае если задание создано на основе шаблона или предопределенное, могут быть указаны
// только следующие ключи: Использование.
//
Процедура ИзменитьЗадание(Знач Идентификатор, Знач ПараметрыЗадания) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Идентификатор = Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Идентификатор = Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
Если Задание <> Неопределено Тогда
Если ПараметрыЗадания.Свойство("Наименование") Тогда
Задание.Наименование = ПараметрыЗадания.Наименование;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Использование") Тогда
Задание.Использование = ПараметрыЗадания.Использование;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Ключ") Тогда
Задание.Ключ = ПараметрыЗадания.Ключ;
КонецЕсли;
Если ПараметрыЗадания.Свойство("ИмяПользователя") Тогда
Задание.ИмяПользователя = ПараметрыЗадания.ИмяПользователя;
КонецЕсли;
Если ПараметрыЗадания.Свойство("ИнтервалПовтораПриАварийномЗавершении") Тогда
Задание.ИнтервалПовтораПриАварийномЗавершении = ПараметрыЗадания.ИнтервалПовтораПриАварийномЗавершении;
КонецЕсли;
Если ПараметрыЗадания.Свойство("КоличествоПовторовПриАварийномЗавершении") Тогда
Задание.КоличествоПовторовПриАварийномЗавершении = ПараметрыЗадания.КоличествоПовторовПриАварийномЗавершении;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Параметры") Тогда
Задание.Параметры = ПараметрыЗадания.Параметры;
КонецЕсли;
Если ПараметрыЗадания.Свойство("Расписание") Тогда
Задание.Расписание = ПараметрыЗадания.Расписание;
КонецЕсли;
Задание.Записать();
КонецЕсли;
КонецПроцедуры
// Возвращает уникальный идентификатор регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// Возвращаемое значение:
// УникальныйИдентификатор - УИ объекта регламентного задания
//
Функция УникальныйИдентификатор(Знач Идентификатор) Экспорт
Если ТипЗнч(Идентификатор) = Тип("УникальныйИдентификатор") Тогда
Возврат Идентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Возврат Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Возврат Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных")
И Идентификатор.Предопределенное Тогда
Возврат РегламентныеЗадания.НайтиПредопределенное(Идентификатор).УникальныйИдентификатор;
ИначеЕсли ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных")
И НЕ Идентификатор.Предопределенное Тогда
СписокЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Новый Структура("Метаданные", Идентификатор));
Для каждого РегламентноеЗадание Из СписокЗаданий Цикл
Возврат РегламентноеЗадание.УникальныйИдентификатор;
КонецЦикла;
КонецЕсли;
Возврат Неопределено;
КонецФункции
// Возвращает использование регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// Возвращаемое значение:
// Булево - если Истина, регламентное задание используется.
//
Функция РегламентноеЗаданиеИспользуется(Знач Идентификатор) Экспорт
УстановитьПривилегированныйРежим(Истина);
Задание = ПолучитьРегламентноеЗадание(Идентификатор);
Возврат Задание.Использование;
КонецФункции
// Возвращает расписание регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// ВСтруктуре - Булево - если Истина, тогда расписание будет преобразовано
// в структуру, которую можно передать на клиент.
//
// Возвращаемое значение:
// РасписаниеРегламентногоЗадания, Структура - структура содержит те же свойства, что и расписание.
//
Функция РасписаниеРегламентногоЗадания(Знач Идентификатор, Знач ВСтруктуре = Ложь) Экспорт
УстановитьПривилегированныйРежим(Истина);
Задание = ПолучитьРегламентноеЗадание(Идентификатор);
Если ВСтруктуре Тогда
Возврат ОбщегоНазначенияКлиентСервер.РасписаниеВСтруктуру(Задание.Расписание);
КонецЕсли;
Возврат Задание.Расписание;
КонецФункции
// Устанавливает использование регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// Использование - Булево - значение использования которое нужно установить.
//
Процедура УстановитьИспользованиеРегламентногоЗадания(Знач Идентификатор, Знач Использование) Экспорт
УстановитьПривилегированныйРежим(Истина);
Задание = ПолучитьРегламентноеЗадание(Идентификатор);
Если Задание.Использование <> Использование Тогда
Задание.Использование = Использование;
КонецЕсли;
Задание.Записать();
КонецПроцедуры
// Устанавливает расписание регламентного задания.
// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание.
//
// Расписание - РасписаниеРегламентногоЗадания - расписание.
// - Структура - значение возвращаемое функцией РасписаниеВСтруктуру
// общего модуля ОбщегоНазначенияКлиентСервер.
//
Процедура УстановитьРасписаниеРегламентногоЗадания(Знач Идентификатор, Знач Расписание) Экспорт
УстановитьПривилегированныйРежим(Истина);
Задание = ПолучитьРегламентноеЗадание(Идентификатор);
Если ТипЗнч(Расписание) = Тип("РасписаниеРегламентногоЗадания") Тогда
Задание.Расписание = Расписание;
Иначе
Задание.Расписание = ОбщегоНазначенияКлиентСервер.СтруктураВРасписание(Расписание);
КонецЕсли;
Задание.Записать();
КонецПроцедуры
// Возвращает РегламентноеЗадание из информационной базы.
//
// Параметры:
// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска
// предопределенного регламентного задания.
// - УникальныйИдентификатор - идентификатор регламентного задания.
// - Строка - строка уникального идентификатора регламентного задания.
// - РегламентноеЗадание - регламентное задание из которого нужно получить
// уникальный идентификатор для получения свежей копии регламентного задания.
//
// Возвращаемое значение:
// РегламентноеЗадание - прочитано из базы данных.
//
Функция ПолучитьРегламентноеЗадание(Знач Идентификатор) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
Идентификатор = Идентификатор.УникальныйИдентификатор;
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда
Идентификатор = Новый УникальныйИдентификатор(Идентификатор);
КонецЕсли;
Если ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных") Тогда
РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Идентификатор);
Иначе
РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
КонецЕсли;
Если РегламентноеЗадание = Неопределено Тогда
ВызватьИсключение( НСтр("ru = 'Регламентное задание не найдено.
|Возможно, оно удалено другим пользователем.'") );
КонецЕсли;
Возврат РегламентноеЗадание;
КонецФункции
#КонецОбласти

View File

@ -21,7 +21,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>1.0.5.4</version>
<version>1.0.5.5</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<help>