public object ВыполнитьДействияПоЭД(/*МассивСсылокНаОбъект,
МассивСтруктурСертификатов,
Действия,
ДопПараметры = "",
ЭД = Неопределено*/)
{
if(true/*НЕ ЕстьПравоОбработкиЭД(Истина)*/)
{
}
if(true/*НЕ ИспользуетсяОбменЭД()*/)
{
//ТекстСообщения = ЭлектронныеДокументыПереопределяемый.ТекстСообщенияОНеобходимостиНастройкиСистемы("РаботаСЭД");
//ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
}
//УстановитьПривилегированныйРежим(Истина);
if(true/*НЕ (ЗначениеЗаполнено(ЭД) И (ЭД.НаправлениеЭД = Перечисления.НаправленияЭД.Входящий
ИЛИ ЭД.ВидЭД = Перечисления.ВидыЭД.ТОРГ12Покупатель ИЛИ ЭД.ВидЭД = Перечисления.ВидыЭД.АктЗаказчик
ИЛИ ЭтоСлужебныйДокумент(ЭД)))*/)
{
//ЭлектронныеДокументыПереопределяемый.ПроверитьГотовностьИсточников(МассивСсылокНаОбъект);
}
if(true/*МассивСсылокНаОбъект.Количество() = 0*/)
{
}
//СтруктураВозврата = Новый Структура;
//СоответствиеСертификатов = Новый Соответствие;
//МассивНеобрабатываемыхОбъектов = Новый Массив;
if(true/*ЭД = Неопределено И ЕстьДействие(Действия, "Сформировать")*/)
{
//НастройкиОбъектов = Новый Соответствие;
if(true/*МассивСсылокНаОбъект.Количество() > 0*/)
{
//Запрос = Новый Запрос;
/*ТекстЗапросаСоздатьЭД =
"ВЫБРАТЬ
| МассивСсылок.ОбъектСсылка
|ПОМЕСТИТЬ МассивСсылок
|ИЗ
| &МассивСсылок КАК МассивСсылок
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| МассивСсылок.ОбъектСсылка КАК ВладелецЭД
|ИЗ
| МассивСсылок КАК МассивСсылок
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД
| ПО МассивСсылок.ОбъектСсылка = СостоянияЭД.СсылкаНаОбъект";*/
if(true/*Действия = "СформироватьУтвердитьПодписатьОтправить"*/)
{
//ОпределитьНеобрабатываемыеОбъекты(НастройкиОбъектов, МассивНеобрабатываемыхОбъектов);
/*Запрос.Текст = ТекстЗапросаСоздатьЭД + " ГДЕ
|(СостоянияЭД.СсылкаНаОбъект ЕСТЬ NULL
|ИЛИ СостоянияЭД.СостояниеВерсииЭД = ЗНАЧЕНИЕ(Перечисление.СостоянияВерсийЭД.НеСформирован))";*/
}
//МассивТипов = Новый Массив;
//МассивТипов.Добавить(Тип("СправочникСсылка.СоглашенияОбИспользованииЭД"));
//ТЗ_Ссылки = Новый ТаблицаЗначений;
//КолонкаТЗ = ТЗ_Ссылки.Колонки.Добавить("ОбъектСсылка", Новый ОписаниеТипов(МассивТипов));
//Запрос.УстановитьПараметр("МассивСсылок", ТЗ_Ссылки);
//ТЗ_ЭД = Запрос.Выполнить().Выгрузить();
//КолНовыхЭД = 0;
if(true/*ТЗ_ЭД.Количество() > 0*/)
{
/*МассивНовыхЭД = СформироватьПрисоединенныеФайлы(ТЗ_ЭД.ВыгрузитьКолонку("ВладелецЭД"),
НастройкиОбъектов, ДопПараметры);*/
//КолНовыхЭД = МассивНовыхЭД.Количество();
}
//СтруктураВозврата.Вставить("КоличествоНовыхЭД", КолНовыхЭД);
if(true/*Действия = "Сформировать"*/)
{
//СтруктураВозврата.Вставить("МассивНовыхЭД", МассивНовыхЭД);
}
}
}
if(true/*МассивСсылокНаОбъект.Количество() = 0*/)
{
/*// не найдено действующее соглашение
*/
}
//Запрос = Новый Запрос;
/*ТекстЗапроса =
"ВЫБРАТЬ
| СостоянияЭД.СсылкаНаОбъект КАК ВладелецЭД,
| ЕСТЬNULL(ПрисоединенныеФайлы.Ссылка, ЗНАЧЕНИЕ(Справочник.ЭДПрисоединенныеФайлы.ПустаяСсылка)) КАК СсылкаНаЭД,
| ПрисоединенныеФайлы.СтатусЭД,
| ПрисоединенныеФайлы.ВидЭД,
| ПрисоединенныеФайлы.СоглашениеЭД КАК Соглашение
|ИЗ
| РегистрСведений.СостоянияЭД КАК СостоянияЭД
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЭДПрисоединенныеФайлы КАК ПрисоединенныеФайлы
| ПО (ПрисоединенныеФайлы.Ссылка = СостоянияЭД.ЭлектронныйДокумент)
|ГДЕ
| СостоянияЭД.СсылкаНаОбъект В(&МассивСсылок)";*/
//Запрос.УстановитьПараметр("МассивСсылок", МассивСсылокНаОбъект);
if(true/*ЕстьДействие(Действия, "Утвердить")*/)
{
if(true/*Не ЗначениеЗаполнено(ЭД)*/)
{
/*ДопУсловие = " И (НЕ ПрисоединенныеФайлы.Ссылка ЕСТЬ NULL)
| И (ПрисоединенныеФайлы.СтатусЭД=ЗНАЧЕНИЕ(Перечисление.СтатусыЭД.Сформирован)
| ИЛИ ПрисоединенныеФайлы.СтатусЭД=ЗНАЧЕНИЕ(Перечисление.СтатусыЭД.Получен)
| ИЛИ ПрисоединенныеФайлы.СтатусЭД=ЗНАЧЕНИЕ(Перечисление.СтатусыЭД.Утвержден))";*/
if(true/*МассивНеобрабатываемыхОбъектов.Количество() > 0*/)
{
//ДопУсловие = ДопУсловие + " И НЕ(ПрисоединенныеФайлы.Ссылка В (&МассивНеобрабатываемыхОбъектов))";
//Запрос.УстановитьПараметр("МассивНеобрабатываемыхОбъектов", МассивНеобрабатываемыхОбъектов);
}
//Запрос.Текст = ТекстЗапроса + ДопУсловие;
//ТЗ_ЭД = Запрос.Выполнить().Выгрузить();
}
//КолУтвержденныхЭД = 0;
//КолУтвержденныхРанее = 0;
//СтруктураВозврата.Вставить("КоличествоУтвержденныхЭД", КолУтвержденныхЭД);
}
if(true/*ЕстьДействие(Действия, "Подписать")*/)
{
if(true/*Не ЗначениеЗаполнено(ЭД)*/)
{
/*ДопУсловие = " И (НЕ ПрисоединенныеФайлы.Ссылка ЕСТЬ NULL) И (ПрисоединенныеФайлы.СтатусЭД=ЗНАЧЕНИЕ(Перечисление.СтатусыЭД.Утвержден)
| ИЛИ ПрисоединенныеФайлы.СтатусЭД=ЗНАЧЕНИЕ(Перечисление.СтатусыЭД.ЧастичноПодписан))";*/
if(true/*МассивНеобрабатываемыхОбъектов.Количество() > 0*/)
{
//ДопУсловие = ДопУсловие + " И НЕ(ПрисоединенныеФайлы.Ссылка В (&МассивНеобрабатываемыхОбъектов))";
//Запрос.УстановитьПараметр("МассивНеобрабатываемыхОбъектов", МассивНеобрабатываемыхОбъектов);
}
//Запрос.Текст = ТекстЗапроса + ДопУсловие;
//ТЗ_ЭД = Запрос.Выполнить().Выгрузить();
}
//ТЗ_ЭД.Колонки.Добавить("Подписывать");
//ТЗ_ЭД.Колонки.Добавить("Сертификат");
//КолСтрокТЗ = ТЗ_ЭД.Количество();
//ИндексТекСтроки = 0;
while(true/*ИндексТекСтроки < КолСтрокТЗ*/)
{
//ТекСтрока = ТЗ_ЭД[ИндексТекСтроки];
if(true/*ЗначениеЗаполнено(НастройкиОбъектов)*/)
{
//НастройкиОбменаЭД = НастройкиОбъектов.Получить(ТекСтрока.ВладелецЭД);
}
if(true/*НЕ ЗначениеЗаполнено(НастройкиОбменаЭД)*/)
{
/*// нет обмена
*/
//ИндексТекСтроки = ИндексТекСтроки + 1;
}
//ТекСтрока.Подписывать = Ложь;
/*ТекстОшибки = НСтр("ru = 'Нет действующего сертификата ЭЦП для организации <%1>, по виду документов <%2>.
|Перейдите в настройки обмена, задайте вид документа <%2> для действующего сертификата организации <%1>.'");*/
/*// В настройках задано требование подписать и еще не подписывали
*/
/*// для исходящих и входящих документов.
*/
if(true/*НастройкиОбменаЭД.Подписывать И (ТекСтрока.СтатусЭД = Перечисления.СтатусыЭД.Утвержден
ИЛИ ТекСтрока.СтатусЭД = Перечисления.СтатусыЭД.ЧастичноПодписан)*/)
{
//ТекСтрока.Подписывать = Истина;
if(true/*ТекСтрока.СсылкаНаЭД.НаправлениеЭД = Перечисления.НаправленияЭД.Интеркампани*/)
{
/*// Для интеркампани добавляем два сертификата для подписи ЭД
*/
/*// (если ЭД ранее не был подписан текущим сертификатом).
*/
}
}
//ТекСтрока.Соглашение = НастройкиОбменаЭД.СоглашениеЭД;
//ИндексТекСтроки = ИндексТекСтроки + 1;
}
/*;
МассивСертификатов = Новый Массив;*/
//ВремТЗ = ТЗ_ЭД.Скопировать(, "Сертификат");
//ВремТЗ.Свернуть("Сертификат");
//СтруктураВозврата.Вставить("МассивСертификатов", МассивСертификатов);
}
if(true/*ЕстьДействие(Действия, "Отправить")*/)
{
if(true/*ЗначениеЗаполнено(ЭД)*/)
{
//ТЗ_ЭД = ТаблицаПоЭД(ЭД);
if(true/*(ЭД.ВидЭД = Перечисления.ВидыЭД.ТОРГ12Продавец ИЛИ ЭД.ВидЭД = Перечисления.ВидыЭД.АктИсполнитель)
И ЭД.НаправлениеЭД = Перечисления.НаправленияЭД.Входящий*/)
{
//ТЗ_ЭД.Удалить(ТЗ_ЭД[0]);
}
}
//ТЗ_ЭД.Колонки.Добавить("Подписывать");
//ТЗ_ЭД.Колонки.Добавить("Сертификат");
if(true/*Действия = "Отправить"*/)
{
}
if(true/*(ЕстьДействие(Действия, "Утвердить") И (КолУтвержденныхЭД > 0 ИЛИ КолУтвержденныхРанее > 0))
ИЛИ Действия = "Отправить"*/)
{
//МассивСоглашений = Новый Массив;
//ВремТЗ = ТЗ_ЭД.Скопировать(, "Соглашение");
//ВремТЗ.Свернуть("Соглашение");
//СтруктураВозврата.Вставить("МассивСоглашений", МассивСоглашений);
}
}
return null;
}