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