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