Перем мДатаРассчитанныхИтогов;
Перем мАктивирован;
Процедура Запуск()
Сообщить("Начало проведения: "+ТекущаяДата(),СтатусСообщения.Информация);
Если ТабличноеПолеВидыОбъектов.Количество()>0 Тогда
СписокРазрешенныхДокументов = ТабличноеПолеВидыОбъектов ;
Иначе
СписокРазрешенныхДокументов = Неопределено;
КонецЕсли;
Если ВыборОрганизации = 0 Тогда
СписокДокументов = ПерепроведениеДокументов(НачПериода, КонПериода,,ОтменятьПроведение,ИсключитьОбщии,СписокРазрешенныхДокументов);
Иначе
Если СписокОрганизаций.Количество() > 0 Тогда
СписокДокументов = ПерепроведениеДокументов(НачПериода, КонПериода, СписокОрганизаций.ВыгрузитьКолонку("Организация"),ОтменятьПроведение,ИсключитьОбщии,СписокРазрешенныхДокументов);
КонецЕсли;
КонецЕсли;
Сообщить("Конец проведения: "+ТекущаяДата(),СтатусСообщения.Информация);
КонецПроцедуры
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запуск();
КонецПроцедуры
Процедура ПоВсемОрганизациямПриИзменении(Элемент)
ДоступностьВыбораОрганизаций = (ВыборОрганизации = 1);
ЭлементыФормы.КоманднаяПанельСписокОрганизация.Доступность = ДоступностьВыбораОрганизаций;
ЭлементыФормы.СписокОрганизаций.Доступность = ДоступностьВыбораОрганизаций;
ЭлементыФормы.Панель1.Страницы.Организации.Доступность = ДоступностьВыбораОрганизаций;
Если НЕ ДоступностьВыбораОрганизаций Тогда
СписокОрганизаций.Очистить();
КонецЕсли;
КонецПроцедуры
Процедура ВыбПериодНажатие(Элемент)
НастройкаПериода = Новый НастройкаПериода;
НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));
НастройкаПериода.РедактироватьКакИнтервал = Истина;
НастройкаПериода.РедактироватьКакПериод = Истина;
НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
Если НастройкаПериода.Редактировать() Тогда
НачПериода = НастройкаПериода.ПолучитьДатуНачала();
КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
КонецЕсли;
КонецПроцедуры
Процедура СписокДокументовВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
Док = ВыбраннаяСтрока.Значение.ПолучитьФорму();
Док.Открыть();
КонецПроцедуры
Процедура ОтменятьПроведениеПриИзменении(Элемент)
Предупреждение("Внимание! Вы можете значительно изменить суммовой учет устанавливая данную опцию");
КонецПроцедуры
Процедура Активация()
// Активация таймера
//Сообщить("Активирован таймер отложенного запуска");
ЭтаФорма.ЭлементыФормы.Активация.Заголовок = "Отключить таймер";
ПодключитьОбработчикОжидания("ПопыткаАктивацииПроведения", 30);
мАктивирован = Истина;
ПопыткаАктивацииПроведения();
КонецПроцедуры
Процедура ДеАктивация()
// Активация таймера
//Сообщить("Деактивирован таймер отложенного запуска");
ЭтаФорма.ЭлементыФормы.НадписьТаймер.Заголовок = "";
ЭтаФорма.ЭлементыФормы.Активация.Заголовок = "Активировать таймер";
мАктивирован = Ложь;
ОтключитьОбработчикОжидания("ПопыткаАктивацииПроведения");
КонецПроцедуры
Процедура АктивацияНажатие(Элемент)
// Активация таймера
Если мАктивирован Тогда
ДеАктивация();
Иначе
Активация();
КонецЕсли;
КонецПроцедуры
Процедура ПопыткаАктивацииПроведения()
Если ТекущаяДата()>ДатаАктивации Тогда
ЭтаФорма.ЭлементыФормы.НадписьТаймер.Заголовок = "";
ДеАктивация();
Запуск();
Иначе
ЭтаФорма.ЭлементыФормы.НадписьТаймер.Заголовок = "Осталось:" + (ДатаАктивации-ТекущаяДата())+ " сек.";
КонецЕсли;
КонецПроцедуры
Процедура ОткрытьФормуВыбораТаблицы()
ФормаВыбораТаблицы = ПолучитьФорму("ФормаВыбораТаблицы",ЭтаФорма);
ФормаВыбораТаблицы.РежимВыбора = Истина;
ФормаВыбораТаблицы.СписокВыбранных.ЗагрузитьЗначения(ТабличноеПолеВидыОбъектов.ВыгрузитьКолонку("ИмяТаблицы"));
//ФормаВыбораТаблицы.ТипОбъекта = ТипОбъекта;
//ФормаВыбораТаблицы.ОбрабатыватьТабличныеЧасти = ОбрабатыватьТабличныеЧасти;
ФормаВыбораТаблицы.Открыть();
КонецПроцедуры // ()
Процедура ТабличноеПолеВидыОбъектовПередНачаломДобавления(Элемент, Отказ, Копирование)
ОткрытьФормуВыбораТаблицы();
Отказ = Истина;
КонецПроцедуры
Процедура ТабличноеПолеВидыОбъектовПередУдалением(Элемент, Отказ)
//Если Не ОчищатьРезультаты() Тогда
// Отказ = Истина;
//КонецЕсли;
КонецПроцедуры
Процедура ТабличноеПолеВидыОбъектовПослеУдаления(Элемент)
//Если ОчищатьРезультаты() Тогда
// ИнициализацияЗапроса();
//КонецЕсли;
КонецПроцедуры
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
ТабличноеПолеВидыОбъектов.Очистить();
Для каждого Значение Из ЗначениеВыбора Цикл
Строка = ТабличноеПолеВидыОбъектов.Добавить();
Строка.ИмяТаблицы = Значение.Значение;
Строка.ПредставлениеТаблицы = Значение.Представление;
КонецЦикла;
КонецПроцедуры
мАктивирован = Ложь;