&НаКлиенте
Перем КонтекстЭДОКлиент;
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ПараметрыГрупповойОтправки = Параметры.ПараметрыГрупповойОтправки;
ВыполняетсяОтправка = Параметры.ВыполняетсяОтправка;
ВыполняетсяПроверка = Параметры.ВыполняетсяПроверка;
ИзменитьОформлениеФормы(ПараметрыГрупповойОтправки);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Показать(Команда)
Закрыть(НСтр("ru = 'Показать неотправленные'"));
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ИзменитьОформлениеФормы(ПараметрыГрупповойОтправки)
ИзменитьОформлениеНадписей(ПараметрыГрупповойОтправки);
ИзменитьОформлениеДлительности(ПараметрыГрупповойОтправки);
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеНадписейКогдаВсеОтправилисьДляОдного(ПараметрыГрупповойОтправки)
Элементы.ПоясняющийТекст.Заголовок = НСтр("ru = 'Отчет был отправлен.'");
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеНадписейКогдаВсеОтправилисьДляНескольких(ПараметрыГрупповойОтправки)
ОтправленоОтчетовСтрокой = ДлительнаяОтправкаКлиентСервер.ЧислоИПредметИсчисления(
ПараметрыГрупповойОтправки.УспешноОбработанныхОтчетов,
НСтр("ru = 'отчет'"),
НСтр("ru = 'отчета'"),
НСтр("ru = 'отчетов'"),
"м");
Элементы.ПоясняющийТекст.Заголовок = СтрШаблон(
НСтр("ru = 'Отправлено: %1 из %2.'"),
ОтправленоОтчетовСтрокой,
ПараметрыГрупповойОтправки.Всего);
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеНадписейКогдаВсеОтправились(ПараметрыГрупповойОтправки)
Заголовок = НСтр("ru = 'Успешно!'");
Если ПараметрыГрупповойОтправки.Всего = 1 Тогда
ИзменитьОформлениеНадписейКогдаВсеОтправилисьДляОдного(ПараметрыГрупповойОтправки);
Иначе
ИзменитьОформлениеНадписейКогдаВсеОтправилисьДляНескольких(ПараметрыГрупповойОтправки);
КонецЕсли;
Элементы.Картинка.Картинка = БиблиотекаКартинок.УспешнаяОтправка;
Элементы.Показать.Видимость = Ложь;
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеНадписейКогдаЧастичноОтправились(ПараметрыГрупповойОтправки)
Заголовок = НСтр("ru = 'Не все отчеты были отправлены'");
Шаблон = НСтр("ru = 'Отправлено: %1 из %2.'");
КоличествоОтчетов = ПараметрыГрупповойОтправки.УспешноОбработанныхОтчетов;
КоличествоОтчетовСтрокой = ДлительнаяОтправкаКлиентСервер.ЧислоИПредметИсчисления(
КоличествоОтчетов,
НСтр("ru = 'отчет'"),
НСтр("ru = 'отчета'"),
НСтр("ru = 'отчетов'"),
"м");
Элементы.ПоясняющийТекст.Заголовок = СтрШаблон(
Шаблон,
КоличествоОтчетовСтрокой,
ПараметрыГрупповойОтправки.Всего);
Элементы.Картинка.Картинка = БиблиотекаКартинок.ЗаявлениеПо1СОтчетностиВнимание;
Элементы.Показать.КнопкаПоУмолчанию = Истина;
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеНадписейКогдаНиОдинНеОтправилсяДляОдного(ПараметрыГрупповойОтправки)
Заголовок = НСтр("ru = 'Отчет не отправлен'");
Элементы.ПоясняющийТекст.Заголовок = НСтр("ru = 'Отчет не был отправлен.'");
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеДляПроверки(ПараметрыГрупповойОтправки)
Заголовок = НСтр("ru = 'Результат проверки'");
Подстрока1 = Новый ФорматированнаяСтрока(Строка(ПараметрыГрупповойОтправки.Всего), Новый Шрифт(, , Истина));
Если ПараметрыГрупповойОтправки.НеуспешноОбработанныхОтчетов > 0 Тогда
Подстрока2 = Новый ФорматированнаяСтрока(
Строка(ПараметрыГрупповойОтправки.НеуспешноОбработанныхОтчетов),
Новый Шрифт(, , Истина),
ЦветаСтиля.ЦветОшибкиОтправкиБРО);
Иначе
Подстрока2 = Строка(ПараметрыГрупповойОтправки.НеуспешноОбработанныхОтчетов);
КонецЕсли;
Элементы.ПоясняющийТекст.Заголовок = Новый ФорматированнаяСтрока(
НСтр("ru = 'Проверено отчетов: '"),
Подстрока1,
Символы.ПС,
НСтр("ru = 'Из них с ошибками: '"),
Подстрока2);
Если ПараметрыГрупповойОтправки.НеуспешноОбработанныхОтчетов > 0 Тогда
Элементы.Показать.Заголовок = НСтр("ru = 'Показать отчеты с ошибками'");
Элементы.Показать.КнопкаПоУмолчанию = Истина;
Элементы.Картинка.Картинка = БиблиотекаКартинок.ПредупреждениеБРО48;
Иначе
Элементы.Картинка.Картинка = БиблиотекаКартинок.УспешнаяОтправка;
Элементы.Показать.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеНадписейКогдаНиОдинНеОтправилсяДляНескольких(ПараметрыГрупповойОтправки)
Заголовок = НСтр("ru = 'Отчеты не отправлены'");
Элементы.ПоясняющийТекст.Заголовок = СтрШаблон(
НСтр("ru = 'Ни один отчет из %1 не был отправлен.'"),
ПараметрыГрупповойОтправки.Всего);
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеНадписейКогдаНиОдинНеОтправился(ПараметрыГрупповойОтправки)
Если ПараметрыГрупповойОтправки.Всего = 1 Тогда
ИзменитьОформлениеНадписейКогдаНиОдинНеОтправилсяДляОдного(ПараметрыГрупповойОтправки);
Иначе
ИзменитьОформлениеНадписейКогдаНиОдинНеОтправилсяДляНескольких(ПараметрыГрупповойОтправки);
КонецЕсли;
Элементы.Картинка.Картинка = БиблиотекаКартинок.ОшибкаОтправки;
Элементы.Показать.КнопкаПоУмолчанию = Истина;
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеНадписей(ПараметрыГрупповойОтправки)
ВсеУспешные = ВсеУспешные(ПараметрыГрупповойОтправки);
ЧастичноУспешно = ЧастичноУспешно(ПараметрыГрупповойОтправки);
НеУспешно = НеУспешно(ПараметрыГрупповойОтправки);
Если НЕ ВыполняетсяОтправка Тогда
ИзменитьОформлениеДляПроверки(ПараметрыГрупповойОтправки);
ИначеЕсли ВсеУспешные Тогда
ИзменитьОформлениеНадписейКогдаВсеОтправились(ПараметрыГрупповойОтправки);
ИначеЕсли ЧастичноУспешно Тогда
ИзменитьОформлениеНадписейКогдаЧастичноОтправились(ПараметрыГрупповойОтправки);
ИначеЕсли НеУспешно Тогда
ИзменитьОформлениеНадписейКогдаНиОдинНеОтправился(ПараметрыГрупповойОтправки);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ИзменитьОформлениеДлительности(ПараметрыГрупповойОтправки)
ДлительностьСтрокой = ПараметрыГрупповойОтправки.Длительность;
Если ВыполняетсяОтправка Тогда
Элементы.Длительность.Заголовок = НСтр("ru = 'Отправка заняла '") + ДлительностьСтрокой;
Иначе
Элементы.Длительность.Заголовок = НСтр("ru = 'Проверка заняла '") + ДлительностьСтрокой;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ВсеУспешные(ПараметрыГрупповойОтправки)
Возврат ПараметрыГрупповойОтправки.УспешноОбработанныхОтчетов = ПараметрыГрупповойОтправки.Всего;
КонецФункции
&НаСервере
Функция ЧастичноУспешно(ПараметрыГрупповойОтправки)
Возврат ПараметрыГрупповойОтправки.УспешноОбработанныхОтчетов < ПараметрыГрупповойОтправки.Всего
И ПараметрыГрупповойОтправки.УспешноОбработанныхОтчетов > 0;
КонецФункции
&НаСервере
Функция НеУспешно(ПараметрыГрупповойОтправки)
Возврат ПараметрыГрупповойОтправки.УспешноОбработанныхОтчетов = 0;
КонецФункции
#КонецОбласти