#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ИнициироватьНастройкиДинамическихСписков();
ОбщегоНазначенияУТ.НастроитьПодключаемоеОборудование(ЭтаФорма);
Если Параметры.Свойство("КлючНазначенияИспользования")
И ЗначениеЗаполнено(Параметры.КлючНазначенияИспользования) Тогда
КлючНазначенияИспользования = Параметры.КлючНазначенияИспользования;
ИначеЕсли Параметры.Свойство("КлючНазначенияФормы")
И Не ПустаяСтрока(Параметры.КлючНазначенияФормы) Тогда
КлючНазначенияИспользования = Параметры.КлючНазначенияФормы;
Иначе
КлючНазначенияИспользования = КлючНазначенияФормыПоУмолчанию();
КонецЕсли;
НавигационнаяСсылка = "e1cib/app/Обработка.ЖурналДокументовПередачиВПереработку2_5";
ВосстановитьНастройки(Параметры);
ТЗХозОперацииИТипыДокументов = ОбщегоНазначенияУТ.ДоступныеХозяйственныеОперацииИДокументы(
ОписаниеОперацийИТиповДокументов(), ОтборХозяйственныеОперации, ОтборТипыДокументов, КлючНазначенияИспользования);
ТЗХозОперацииИТипыДокументов.Сортировать("Порядок");
ХозяйственныеОперацииИДокументы.Загрузить(ТЗХозОперацииИТипыДокументов);
НастроитьФормуПоВыбраннымОперациямИДокументам(ТЗХозОперацииИТипыДокументов);
ПроверкаКонтрагентов.ПриСозданииНаСервереСписокДокументов(СписокДокументыПереработки);
Если ПроверкаКонтрагентовВызовСервера.ИспользованиеПроверкиВозможно() Тогда
Элементы.ЕстьОшибкиПроверкиКонтрагентов.Видимость = Истина;
КонецЕсли;
ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПриСозданииНаСервере(ЭтотОбъект, Элементы.ГруппаГлобальныеКоманды);
СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
ЗаполнитьЗначенияСвойств(СвойстваСписка, СписокДокументыПереработки);
ПроверкаДокументовСервер.ДоработатьЗапросДинамическогоСпискаЖурналаДокументов(СвойстваСписка.ТекстЗапроса, "РеестрДокументовПереопределяемый");
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.СписокДокументыПереработки, СвойстваСписка);
ИспользуемыеТипыДокументов = ТЗХозОперацииИТипыДокументов.ВыгрузитьКолонку("ТипДокумента");
ИспользуемыеТипыДокументов.Добавить(Тип("ДокументСсылка.Сторно"));
ПараметрыПриСозданииНаСервере = ОбменСКонтрагентами.ПараметрыПриСозданииНаСервере_ФормаСписка();
ПараметрыПриСозданииНаСервере.Форма = ЭтотОбъект;
ПараметрыПриСозданииНаСервере.МестоРазмещенияКоманд = Элементы.ПодменюЭДО;
ПараметрыПриСозданииНаСервере.КолонкаСостоянияЭДО = Элементы.ПредставлениеСостояния;
ОбменСКонтрагентами.ПриСозданииНаСервере_ФормаСписка(ПараметрыПриСозданииНаСервере);
ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
ПараметрыРазмещения.Источники = Новый ОписаниеТипов(ИспользуемыеТипыДокументов);
ПараметрыРазмещения.КоманднаяПанель = Элементы.СписокДокументыПереработкиКоманднаяПанель;
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
УчетОригиналовПервичныхДокументов.ПриСозданииНаСервере_ФормаСписка(
ЭтотОбъект,
Элементы.СписокДокументыПереработки,
Элементы.СписокДокументыПереработкиСклад);
ДополнительныеПараметры = Новый Структура("МестоРазмещенияДанныхПроверкиРегл", Элементы.ГруппаРеглПроверка);
СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка, ДополнительныеПараметры);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено, ЭтаФорма, "СканерШтрихкода");
ПараметрыПриОткрытии = ОбменСКонтрагентамиКлиент.ПараметрыПриОткрытии();
ПараметрыПриОткрытии.Форма = ЭтотОбъект;
ПараметрыПриОткрытии.ЕстьОбработчикОбновитьКомандыЭДО = Истина;
ОбменСКонтрагентамиКлиент.ПриОткрытии(ПараметрыПриОткрытии);
УстановитьПараметрыОбновленияСписковДокументов(Ложь, 0);
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если Не ЗавершениеРаботы Тогда
СохранитьНастройки();
КонецЕсли;
МенеджерОборудованияКлиент.НачатьОтключениеОборудованиеПриЗакрытииФормы(Неопределено, ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие() Тогда
ОбработатьШтрихкоды(МенеджерОборудованияУТКлиент.ПреобразоватьДанныеСоСканераВСтруктуру(Параметр));
КонецЕсли;
КонецЕсли;
Если ИмяСобытия = "Запись_ПередачаТоваровХранителю"
Или ИмяСобытия = "Запись_ПоступлениеТоваровОтХранителя"
Или ИмяСобытия = "Запись_ОтчетПереработчика2_5"
Или ИмяСобытия = "Запись_СчетФактураПолученный"
Или ИмяСобытия = "Запись_СписаниеОтгруженныхТоваров"
Или ИмяСобытия = "Запись_ВыкупТоваровХранителем"
Или ИмяСобытия = "Запись_АктОРасхожденияхПослеОтгрузки"
Или ИмяСобытия = "Запись_АктОРасхожденияхПослеПриемки"
Или ИмяСобытия = "Запись_КорректировкаПриобретения"
Или ИмяСобытия = "Принять_ФормаСозданныхДокументов"
Или ИмяСобытия = "Проведение_Сторно"
Или ИмяСобытия = "Запись_Сторно"
Или ИмяСобытия = "ОформленДокументПродажи"
И (Источник.ИмяФормы = "Обработка.ЖурналДокументовПередачиВПереработку2_5.Форма.СписокДокументов"
Или Источник.ИмяФормы = "Обработка.ЖурналДокументовПередачиВПереработку2_5.Форма.КОформлениюНакладных") Тогда
ОбновитьСписокДокументовСобытиеОбработкаОповещения("СписокДокументыПереработки", Параметр);
ОбновитьГиперссылкуКОформлению();
ИначеЕсли ИмяСобытия = "Запись_ПересортицаТоваровУХранителя"
Или ИмяСобытия = "Запись_ПорчаТоваровУХранителя" Тогда
ОбновитьСписокДокументовСобытиеОбработкаОповещения("СписокДокументыПереработки", Параметр);
ИначеЕсли ИмяСобытия = "Запись_ЗаказПереработчику2_5" Тогда
ОбновитьГиперссылкуКОформлению();
КонецЕсли;
ПараметрыОповещенияЭДО = ОбменСКонтрагентамиКлиент.ПараметрыОповещенияЭДО_ФормаСписка();
ПараметрыОповещенияЭДО.Форма = ЭтотОбъект;
ПараметрыОповещенияЭДО.ЕстьОбработчикОбновитьКомандыЭДО = Истина;
ПараметрыОповещенияЭДО.ИмяДинамическогоСписка = "СписокДокументыПереработки";
ПараметрыОповещенияЭДО.ЕстьОбработчикОбновленияВидимостиСостоянияЭДО = Истина;
ПараметрыОповещенияЭДО.МестоРазмещенияКоманд = Элементы.ПодменюЭДО;
ОбменСКонтрагентамиКлиент.ОбработкаОповещения_ФормаСписка(ИмяСобытия, Параметр, Источник, ПараметрыОповещенияЭДО);
УчетОригиналовПервичныхДокументовКлиент.ОбработчикОповещенияФормаСписка(ИмяСобытия, ЭтотОбъект, Элементы.СписокДокументыПереработки);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура СкладПриИзменении(Элемент)
СкладПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура МенеджерПриИзменении(Элемент)
МенеджерПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ИнформационнаяНадписьОтборОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ДоступныеХозяйственныеОперацииИДокументы", ПоместитьВоВременноеХранилищеХозяйственныеОперацииИДокументы());
ПараметрыФормы.Вставить("КлючНастроек", КлючНазначенияИспользования);
ПараметрыФормы.Вставить("КлючФормы", КлючНазначенияФормыПоУмолчанию());
ОткрытьФорму("Справочник.НастройкиХозяйственныхОпераций.Форма.ФормаУстановкиОтбора",
ПараметрыФормы,,,,,
Новый ОписаниеОповещения("УстановитьОтборыПоХозОперациямИДокументам",
ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура УстановитьОтборыПоХозОперациямИДокументам(ВыбранноеЗначение, ДополнительныеПараметры) Экспорт
Если ВыбранноеЗначение = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(ВыбранноеЗначение) = Тип("Строка") Тогда
АдресДоступныхХозяйственныхОперацийИДокументов = ВыбранноеЗначение;
ОтборОперацияТипОбработкаВыбораСервер(АдресДоступныхХозяйственныхОперацийИДокументов);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура КОформлениюОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ОценкаПроизводительностиКлиент.ЗамерВремени(
"Обработка.ЖурналДокументовПередачиВПереработку2_5.Форма.СписокДокументов.Событие.КОформлениюОбработкаНавигационнойСсылки");
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура;
СтруктураБыстрогоОтбора = Новый Структура;
СтруктураБыстрогоОтбора.Вставить("Организация", Организация);
СтруктураБыстрогоОтбора.Вставить("Склад", Склад);
СтруктураБыстрогоОтбора.Вставить("Менеджер", Менеджер);
ПараметрыФормы.Вставить("СтруктураБыстрогоОтбора", СтруктураБыстрогоОтбора);
ПараметрыФормы.Вставить("КлючНазначенияИспользования", КлючНазначенияФормыПоУмолчанию());
МассивИмен = СтрРазделить(НавигационнаяСсылкаФорматированнойСтроки, "/", Ложь);
Если МассивИмен.Количество() > 1 Тогда
ПараметрыФормы.Вставить("ИмяТекущейСтраницы", СокрЛП(МассивИмен[1]));
КонецЕсли;
ОткрытьФорму(МассивИмен[0], ПараметрыФормы);
Если ПараметрыФормы.Свойство("ИмяТекущейСтраницы") Тогда
Оповестить("СменаСтраницы_" + Элемент.Имя, ПараметрыФормы.ИмяТекущейСтраницы, ЭтаФорма);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СмТакжеВРаботеОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ОценкаПроизводительностиКлиент.ЗамерВремени(
"Обработка.ЖурналДокументовПередачиВПереработку2_5.Форма.СписокДокументов.Событие.СмТакжеВРаботеОбработкаНавигационнойСсылки");
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура;
СтруктураБыстрогоОтбора = Новый Структура;
СтруктураБыстрогоОтбора.Вставить("Организация",Организация);
СтруктураБыстрогоОтбора.Вставить("Склад",Склад);
ПараметрыФормы.Вставить("СтруктураБыстрогоОтбора", СтруктураБыстрогоОтбора);
ОткрытьФорму(НавигационнаяСсылкаФорматированнойСтроки, ПараметрыФормы,ЭтаФорма, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписокОформлено
&НаКлиенте
Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Если Элементы.ГруппаСоздатьГенерируемая.ПодчиненныеЭлементы.Количество() <> 0 Тогда
Если Копирование Тогда
ОбщегоНазначенияУТКлиент.СкопироватьЭлемент(Элемент);
ИначеЕсли ОтборТипыДокументов.Количество() = 1 И ОтборХозяйственныеОперации.Количество() = 1 Тогда
СтруктураКоманды = Новый Структура("Имя", Элементы.ГруппаСоздатьГенерируемая.ПодчиненныеЭлементы[0].Имя);
Подключаемый_СоздатьДокумент(СтруктураКоманды);
Иначе
Подключаемый_СоздатьДокументЧерезФормуВыбора(Неопределено);
КонецЕсли;
КонецЕсли;
Отказ = Истина;
КонецПроцедуры
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если Поле.Имя = "СостояниеОригиналаПервичногоДокумента" Или Поле.Имя = "СостояниеОригиналПолучен" Тогда
УчетОригиналовПервичныхДокументовКлиент.СписокВыбор(
Поле.Имя,
ЭтотОбъект,
Элементы.СписокДокументыПереработки,
СтандартнаяОбработка);
Возврат;
КонецЕсли;
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);
Если Поле = Элементы.ПредставлениеСостояния Тогда
ОбменСКонтрагентамиКлиент.СостояниеЭДОНажатие_ФормаСписка(Элемент.ТекущиеДанные.Ссылка, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СписокДокументыПереработкиПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
УчетОригиналовПервичныхДокументов.ПриПолученииДанныхНаСервере(Строки);
КонецПроцедуры
&НаКлиенте
Процедура СписокПередУдалением(Элемент, Отказ)
Отказ = Истина;
Оповещение = Новый ОписаниеОповещения("СписокУстановитьПометкуУдаленияЗавершение", ЭтаФорма);
ОбщегоНазначенияУТКлиент.УстановитьПометкуУдаления(Элемент, Заголовок, Оповещение);
КонецПроцедуры
&НаСервере
Процедура СписокДокументыПереработкиПриОбновленииСоставаПользовательскихНастроекНаСервере(Элемент, СтандартнаяОбработка)
РаботаСЖурналамиДокументов.УстановитьВидимостьГруппыНастройкиОбновленияПоУмолчанию(ЭтотОбъект, "СписокДокументыПереработки");
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
#Область КнопкаСоздать
&НаКлиенте
Процедура Подключаемый_СоздатьДокумент(Команда)
СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("Организация",Организация);
СтруктураОтбора.Вставить("Склад",Склад);
ОбщегоНазначенияУТКлиент.СоздатьДокументЧерезКоманду(Команда.Имя, СтруктураОтбора);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_СоздатьДокументЧерезФормуВыбора(Команда)
КлючФормы = КлючНазначенияФормыПоУмолчанию();
АдресХозяйственныеОперацииИДокументы = ПоместитьВоВременноеХранилищеХозяйственныеОперацииИДокументы();
СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("Организация",Организация);
СтруктураОтбора.Вставить("Склад",Склад);
ОбщегоНазначенияУТКлиент.СоздатьДокументЧерезФормуВыбора(АдресХозяйственныеОперацииИДокументы,
КлючФормы, КлючНазначенияИспользования, СтруктураОтбора);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура СписокСкопировать(Команда)
ОбщегоНазначенияУТКлиент.СкопироватьЭлемент(Элементы.СписокДокументыПереработки);
КонецПроцедуры
&НаКлиенте
Процедура СписокИзменить(Команда)
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элементы.СписокДокументыПереработки);
КонецПроцедуры
&НаКлиенте
Процедура СписокУстановитьПометкуУдаления(Команда)
Оповещение = Новый ОписаниеОповещения("СписокУстановитьПометкуУдаленияЗавершение", ЭтаФорма);
ОбщегоНазначенияУТКлиент.УстановитьПометкуУдаления(Элементы.СписокДокументыПереработки, Заголовок, Оповещение,
РаботаСЖурналамиДокументовКлиент.ПараметрыОбновленияСпискаДокументов(ЭтотОбъект, "СписокДокументыПереработки"));
КонецПроцедуры
&НаКлиенте
Процедура СписокУстановитьПометкуУдаленияЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда
Оповестить("УстановитьПометкуУдаления_ЖурналДокументовПередачиВПереработку2_5",, ЭтаФорма);
СписокПометкаУдаленияСервер();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокОтменаПроведения(Команда)
ОбщегоНазначенияУТКлиент.ОтменаПроведения(Элементы.СписокДокументыПереработки, Заголовок,
РаботаСЖурналамиДокументовКлиент.ПараметрыОбновленияСпискаДокументов(ЭтотОбъект, "СписокДокументыПереработки"));
Оповестить("ОтменаПроведения_ЖурналДокументовПередачиВПереработку2_5", , ЭтаФорма);
СписокОтменаПроведенияСервер();
КонецПроцедуры
&НаКлиенте
Процедура СписокПровести(Команда)
ОбщегоНазначенияУТКлиент.ПровестиДокументы(Элементы.СписокДокументыПереработки, Заголовок,
РаботаСЖурналамиДокументовКлиент.ПараметрыОбновленияСпискаДокументов(ЭтотОбъект, "СписокДокументыПереработки"));
Оповестить("Провести_ЖурналДокументовПередачиВПереработку2_5", , ЭтаФорма);
СписокПровестиСервер();
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.СписокДокументыПереработки);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Элементы.СписокДокументыПереработки, Результат);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.СписокДокументыПереработки);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуИнтеграции(Команда)
ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиент.ВыполнитьПодключаемуюКомандуИнтеграции(Команда, ЭтотОбъект, Элементы.СписокДокументыПереработки);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуЭДО(Команда)
ДоступныКомандыЭДО = Истина;
ЭтоКомандаТекущиеДелаЭДО = СтрНайти(Команда.Имя, "ТекущиеДелаЭДО");
ЭтоКомандаПроизвольныйДокумент = СтрНайти(Команда.Имя, "ПроизвольныйДокумент");
ЭтоКомандаОтправитьЧерезБизнесСеть = СтрНайти(Команда.Имя, "ОтправитьЧерезБизнесСеть");
Если Не ЭтоКомандаТекущиеДелаЭДО И Не ЭтоКомандаПроизвольныйДокумент Тогда
Если Элементы.СписокДокументыПереработки.ТекущиеДанные <> Неопределено Тогда
ТекущийДокумент = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Элементы.СписокДокументыПереработки.ТекущиеДанные, "Ссылка");
Если ЗначениеЗаполнено(ТекущийДокумент) Тогда
РезультатыПроверки = ЭлектронноеВзаимодействиеУТВызовСервера.ПроверитьНаличиеПараметровЭДПоИсточнику(ТекущийДокумент);
ДоступныКомандыЭДО = РезультатыПроверки.Получить("ЕстьЭДО");
Направление = РезультатыПроверки.Получить("Направление");
Если ЭтоКомандаОтправитьЧерезБизнесСеть И Направление = "Входящий" Тогда
ДоступныКомандыЭДО = Ложь;
КонецЕсли;
КонецЕсли;
Иначе
ДоступныКомандыЭДО = Ложь;
КонецЕсли;
КонецЕсли;
Если Не ДоступныКомандыЭДО Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Данный вид документов не участвует в ЭДО.'"));
Возврат;
КонецЕсли;
ЭлектронноеВзаимодействиеКлиент.ВыполнитьПодключаемуюКомандуЭДО(Команда, ЭтотОбъект, Элементы.СписокДокументыПереработки);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКомандыЭДО()
ОбменСКонтрагентамиКлиент.ОбновитьКоманды(ЭтотОбъект, Элементы.СписокДокументыПереработки);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьВидимостьСостоянияЭДО()
ОбменСКонтрагентамиКлиент.ОбработчикОбновленияВидимостьСостоянияЭДО(ЭтотОбъект, Элементы.ПредставлениеСостояния);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКомандыСостоянияОригинала()
ОбновитьКомандыСостоянияОригинала()
КонецПроцедуры
&НаСервере
Процедура ОбновитьКомандыСостоянияОригинала()
ТЗХозОперацииИТипыДокументов = ОбщегоНазначенияУТ.ДоступныеХозяйственныеОперацииИДокументы(ОписаниеОперацийИТиповДокументов(),
ОтборХозяйственныеОперации, ОтборТипыДокументов, КлючНазначенияИспользования);
ТЗХозОперацииИТипыДокументов.Сортировать("Порядок");
ИспользуемыеТипыДокументов = ТЗХозОперацииИТипыДокументов.ВыгрузитьКолонку("ТипДокумента");
ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
ПараметрыРазмещения.Источники = Новый ОписаниеТипов(ИспользуемыеТипыДокументов);
ПараметрыРазмещения.КоманднаяПанель = Элементы.СписокДокументыПереработкиКоманднаяПанель;
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
КонецПроцедуры
&НаКлиенте
Процедура УстановитьИнтервал(Команда)
Оповещение = Новый ОписаниеОповещения("УстановитьИнтервалЗавершение", ЭтотОбъект);
ОбщегоНазначенияУТКлиент.РедактироватьПериод(Период, , Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура УстановитьИнтервалЗавершение(ВыбранноеЗначение, ДополнительныеПараметры) Экспорт
Если ВыбранноеЗначение = Неопределено Тогда
Возврат;
КонецЕсли;
Период = ВыбранноеЗначение;
УстановитьОтборПоПериоду();
КонецПроцедуры
&НаКлиенте
Процедура СписокДокументовОбновить(Команда)
ОбновитьДанныеСпискаДокументовСЗамеромВремени("СписокДокументыПереработки");
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область ШтрихкодыИТорговоеОборудование
&НаСервере
Функция ДанныеПоШтрихКодуПечатнойФормы(Штрихкод, ИмяСписка = "")
ЕстьОсновнаяТаблицаСписка = РаботаСЖурналамиДокументов.ЕстьОсновнаяТаблицаСписка(ЭтотОбъект, ИмяСписка);
ДанныеПоШтрихКоду = ОбщегоНазначенияУТ.ДанныеПоШтрихКодуПечатнойФормы(Штрихкод, ХозяйственныеОперацииИДокументы.Выгрузить(), ЕстьОсновнаяТаблицаСписка);
Возврат ДанныеПоШтрихКоду;
КонецФункции
&НаКлиенте
Процедура ОбработатьШтрихкоды(Данные)
Состояние(НСтр("ru = 'Выполняется поиск документа по штрихкоду...'"));
ДанныеПоШтрихКоду = ДанныеПоШтрихКодуПечатнойФормы(Данные.Штрихкод, "СписокДокументыПереработки");
ОбщегоНазначенияУТКлиент.ОбработатьШтрихкоды(Данные.Штрихкод, ДанныеПоШтрихКоду, ЭтаФорма, "СписокДокументыПереработки");
КонецПроцедуры
#КонецОбласти
#Область РеквизитыПриИзменении
&НаСервере
Процедура ОрганизацияПриИзмененииНаСервере()
УстановитьОтборПоОрганизации();
УстановитьВидимостьДоступность();
ОбновитьГиперссылкуКОформлению();
КонецПроцедуры
&НаСервере
Процедура СкладПриИзмененииНаСервере()
УстановитьОтборПоСкладу();
УстановитьВидимостьДоступность();
ОбновитьГиперссылкуКОформлению();
КонецПроцедуры
&НаСервере
Процедура МенеджерПриИзмененииНаСервере()
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДокументыПереработки,
"Менеджер",
Менеджер,
ВидСравненияКомпоновкиДанных.Равно,
,
ЗначениеЗаполнено(Менеджер));
УстановитьВидимостьДоступность();
ОбновитьГиперссылкуКОформлению();
РаботаСЖурналамиДокументов.УстановитьВидимостьГруппыНастройкиОбновленияПоУмолчанию(ЭтотОбъект, "СписокДокументыПереработки");
КонецПроцедуры
#КонецОбласти
#Область НастройкиФормы
&НаСервере
Процедура УстановитьУсловноеОформление()
СтандартныеПодсистемыСервер.УстановитьУсловноеОформлениеПоляДата(ЭтотОбъект, "СписокДокументыПереработки.Дата", "Дата");
КонецПроцедуры
&НаСервере
Функция НастройкиФормы(ИсточникНастроек)
ИменаСохраняемыхРеквизитов =
"Организация,
|Склад,
|Менеджер,
|Период,
|ОтборХозяйственныеОперации,
|ОтборТипыДокументов,
|СписокДокументовРежимАвтообновления";
Настройки = Новый Структура(ИменаСохраняемыхРеквизитов);
ЗаполнитьЗначенияСвойств(Настройки, ИсточникНастроек);
Возврат Настройки;
КонецФункции
&НаСервере
Процедура НастроитьФормуПоВыбраннымОперациямИДокументам(ТЗХозОперацииИТипыДокументов)
ДанныеРабочегоМеста = ОбщегоНазначенияУТ.ДанныеРабочегоМеста(
ТЗХозОперацииИТипыДокументов,
КлючНазначенияФормыПоУмолчанию(),
НСтр("ru = 'Документы передачи в переработку (все)'"));
Заголовок = ДанныеРабочегоМеста.ЗаголовокРабочегоМеста;
КлючНазначенияИспользования = ДанныеРабочегоМеста.КлючНазначенияИспользования;
УстановитьОтборыДинамическихСписков();
ОбновитьГиперссылкуКОформлению();
УстановитьВидимостьДоступность();
ОбщегоНазначенияУТ.ЗаменитьПолеСсылкаКонструкциейВыразитьПоТипамДокументов(Элементы.СписокДокументыПереработки,
ХозяйственныеОперацииИДокументы);
ОбщегоНазначенияУТ.СформироватьНадписьОтбор(
Элементы.ИнформационнаяНадписьОтбор.Заголовок,
ХозяйственныеОперацииИДокументы,
ОтборТипыДокументов,
ОтборХозяйственныеОперации);
НастроитьКнопкиУправленияДокументами();
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьДоступность()
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоОрганизаций") Тогда
Элементы.Организация.Видимость = Ложь;
Элементы.СписокДокументыПереработкиОрганизация.Видимость = Ложь;
Иначе
Элементы.СписокДокументыПереработкиОрганизация.Видимость = Не ЗначениеЗаполнено(Организация);
КонецЕсли;
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоСкладов") Тогда
Элементы.Склад.Видимость = Ложь;
Элементы.СписокДокументыПереработкиСклад.Видимость = Ложь;
Иначе
Элементы.СписокДокументыПереработкиСклад.Видимость = Не ЗначениеЗаполнено(Склад);
КонецЕсли;
Если Не ПолучитьФункциональнуюОпцию("ОтветственныйВДокументах") Тогда
Элементы.Менеджер.Видимость = Ложь;
Элементы.СписокДокументыПереработкиМенеджер.Видимость = Ложь;
Иначе
Элементы.СписокДокументыПереработкиМенеджер.Видимость = Не ЗначениеЗаполнено(Менеджер);
КонецЕсли;
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоВалют") Тогда
Элементы.СписокДокументыПереработкиВалюта.Видимость = Ложь;
КонецЕсли;
Элементы.СписокДокументыПереработкиКонтрагент.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровИКонтрагентов");
КонецПроцедуры
&НаСервере
Процедура НастроитьКнопкиУправленияДокументами()
СтруктураПараметров = ОбщегоНазначенияУТ.СтруктураПараметровНастройкиКнопокУправленияДокументами();
СтруктураПараметров.Форма = ЭтаФорма;
СтруктураПараметров.ИмяКнопкиСкопировать = "СписокСкопировать";
СтруктураПараметров.ИмяКнопкиСкопироватьКонтекстноеМеню = "СписокКонтекстноеМенюСкопировать";
СтруктураПараметров.ИмяКнопкиИзменить = "СписокИзменить";
СтруктураПараметров.ИмяКнопкиИзменитьКонтекстноеМеню = "СписокКонтекстноеМенюИзменить";
СтруктураПараметров.ИмяКнопкиПровести = "СписокПровести";
СтруктураПараметров.ИмяКнопкиПровестиКонтекстноеМеню = "СписокКонтекстноеМенюПровести";
СтруктураПараметров.ИмяКнопкиОтменаПроведения = "СписокОтменаПроведения";
СтруктураПараметров.ИмяКнопкиОтменаПроведенияКонтекстноеМеню = "СписокКонтекстноеМенюОтменаПроведения";
СтруктураПараметров.ИмяКнопкиУстановитьПометкуУдаления = "СписокУстановитьПометкуУдаления";
СтруктураПараметров.ИмяКнопкиУстановитьПометкуУдаленияКонтекстноеМеню = "СписокКонтекстноеМенюУстановитьПометкуУдаления";
ОбщегоНазначенияУТ.НастроитьКнопкиУправленияДокументами(СтруктураПараметров);
КонецПроцедуры
#КонецОбласти
#Область Отборы
&НаСервере
Процедура ОтборОперацияТипОбработкаВыбораСервер(АдресХозяйственныхОперацийИДокументов)
ТЗХозОперацииИТипыДокументов = ПолучитьИзВременногоХранилища(АдресХозяйственныхОперацийИДокументов);
ХозяйственныеОперацииИДокументы.Загрузить(ТЗХозОперацииИТипыДокументов);
ОбщегоНазначенияУТ.ЗаполнитьОтборыПоТаблицеХозОперацийИТиповДокументов(ТЗХозОперацииИТипыДокументов, ОтборХозяйственныеОперации, ОтборТипыДокументов);
НастроитьФормуПоВыбраннымОперациямИДокументам(ТЗХозОперацииИТипыДокументов);
КонецПроцедуры
&НаСервере
Процедура УстановитьОтборыДинамическихСписков()
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДокументыПереработки,
"ТипСсылки",
ОтборТипыДокументов,
ВидСравненияКомпоновкиДанных.ВСписке,
,
Истина);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДокументыПереработки,
"ХозяйственнаяОперация",
ОтборХозяйственныеОперации,
ВидСравненияКомпоновкиДанных.ВСписке,
,
Истина);
УстановитьОтборПоОрганизации();
УстановитьОтборПоСкладу();
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДокументыПереработки,
"Менеджер",
Менеджер,
ВидСравненияКомпоновкиДанных.Равно,
,
ЗначениеЗаполнено(Менеджер));
УстановитьОтборПоПериоду();
КонецПроцедуры
&НаСервере
Процедура УстановитьОтборПоОрганизации()
СписокОрганизаций = Новый СписокЗначений;
СписокОрганизаций.Добавить(Организация);
Если ЗначениеЗаполнено(Организация)
И ПолучитьФункциональнуюОпцию("ИспользоватьОбособленныеПодразделенияВыделенныеНаБаланс") Тогда
Запрос = Новый Запрос("
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Организации.Ссылка
|ИЗ
| Справочник.Организации КАК Организации
|ГДЕ
| Организации.ОбособленноеПодразделение
| И Организации.ГоловнаяОрганизация = &Организация
| И Организации.ДопускаютсяВзаиморасчетыЧерезГоловнуюОрганизацию");
Запрос.УстановитьПараметр("Организация", Организация);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СписокОрганизаций.Добавить(Выборка.Ссылка);
КонецЦикла;
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДокументыПереработки,
"Организация",
СписокОрганизаций,
ВидСравненияКомпоновкиДанных.ВСписке,
,
ЗначениеЗаполнено(Организация));
РаботаСЖурналамиДокументов.УстановитьВидимостьГруппыНастройкиОбновленияПоУмолчанию(ЭтотОбъект, "СписокДокументыПереработки");
КонецПроцедуры
&НаСервере
Процедура УстановитьОтборПоСкладу()
ОтборСклады = СкладыСервер.СписокПодчиненныхСкладов(Склад);
ОтборМестаХранения = Справочники.КлючиРеестраДокументов.КлючиПоЗначениям(ОтборСклады);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(СписокДокументыПереработки,
"МестоХранения",
ОтборМестаХранения,
ВидСравненияКомпоновкиДанных.ВСписке,
,
ЗначениеЗаполнено(ОтборМестаХранения));
РаботаСЖурналамиДокументов.УстановитьВидимостьГруппыНастройкиОбновленияПоУмолчанию(ЭтотОбъект, "СписокДокументыПереработки");
КонецПроцедуры
&НаСервере
Процедура УстановитьОтборПоПериоду()
СписокДокументыПереработки.Параметры.УстановитьЗначениеПараметра("НачалоПериода", Период.ДатаНачала);
СписокДокументыПереработки.Параметры.УстановитьЗначениеПараметра("КонецПериода",
?(ЗначениеЗаполнено(Период.ДатаОкончания), Период.ДатаОкончания, КонецДня(Дата(3999, 12, 31))));
РаботаСЖурналамиДокументов.УстановитьВидимостьГруппыНастройкиОбновленияПоУмолчанию(ЭтотОбъект, "СписокДокументыПереработки");
КонецПроцедуры
#КонецОбласти
#Область Прочее
&НаСервере
Процедура СписокПометкаУдаленияСервер()
ОбеспечениеВДокументахСервер.ПроверитьЗапуститьФоновоеЗаданиеРаспределенияЗапасов();
ОбновитьГиперссылкуКОформлению();
КонецПроцедуры
&НаСервере
Процедура СписокОтменаПроведенияСервер()
ОбеспечениеВДокументахСервер.ПроверитьЗапуститьФоновоеЗаданиеРаспределенияЗапасов();
ОбновитьГиперссылкуКОформлению();
КонецПроцедуры
&НаСервере
Процедура СписокПровестиСервер()
ОбеспечениеВДокументахСервер.ПроверитьЗапуститьФоновоеЗаданиеРаспределенияЗапасов();
ОбновитьГиперссылкуКОформлению();
КонецПроцедуры
&НаСервере
Процедура ВосстановитьНастройки(Параметры)
СписокДокументовРежимАвтообновления = Истина;
Если Параметры.Свойство("СтруктураБыстрогоОтбора") Тогда
ЗаполнитьЗначенияСвойств(ЭтаФорма, НастройкиФормы(Параметры.СтруктураБыстрогоОтбора));
Иначе
НастройкиИзХранилища = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
"Обработка.ЖурналДокументовПередачиВПереработку2_5.Форма.СписокДокументов", КлючНазначенияИспользования);
Если ТипЗнч(НастройкиИзХранилища) = Тип("Структура") Тогда
ЗаполнитьЗначенияСвойств(ЭтаФорма, НастройкиФормы(НастройкиИзХранилища));
Если НастройкиИзХранилища.Свойство("СписокДокументовРежимАвтообновления") Тогда
СписокДокументовРежимАвтообновления = НастройкиИзХранилища.СписокДокументовРежимАвтообновления;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СохранитьНастройки()
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(
"Обработка.ЖурналДокументовПередачиВПереработку2_5.Форма.СписокДокументов",
КлючНазначенияИспользования,
НастройкиФормы(ЭтаФорма));
КонецПроцедуры
&НаСервере
Функция ОписаниеОперацийИТиповДокументов()
ТЗХозОперацииИТипыДокументов = ХозяйственныеОперацииИДокументы.Выгрузить();
ТЗХозОперацииИТипыДокументов.Очистить();
ДанныеСтроки = Новый Структура;
Для Каждого Колонка Из ТЗХозОперацииИТипыДокументов.Колонки Цикл
ДанныеСтроки.Вставить(Колонка.Имя);
КонецЦикла;
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПередачаПереработчику2_5;
Строка.ТипДокумента = Тип("ДокументСсылка.ПередачаТоваровХранителю");
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПередачаТоваровХранителю.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (передачи переработчику)'");
Строка.МенеджерРасчетаГиперссылкиКОформлению = "ПередачаПереработчику";
Строка.ДокументПредставление = НСтр("ru = 'Передача переработчику'");
Строка.Порядок = 1;
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчика2_5;
Строка.ТипДокумента = Тип("ДокументСсылка.ОтчетПереработчика2_5");
Строка.ПолноеИмяДокумента = Метаданные.Документы.ОтчетПереработчика2_5.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (отчеты переработчика)'");
Строка.МенеджерРасчетаГиперссылкиКОформлению = "Документ.ОтчетПереработчика2_5";
Строка.Порядок = 2;
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчикаВСтранахЕАЭС2_5;
Строка.ТипДокумента = Тип("ДокументСсылка.ОтчетПереработчика2_5");
Строка.ПолноеИмяДокумента = Метаданные.Документы.ОтчетПереработчика2_5.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (отчеты переработчика)'");
Строка.МенеджерРасчетаГиперссылкиКОформлению = "Документ.ОтчетПереработчика2_5";
Строка.Порядок = 3;
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеОтПереработчика2_5;
Строка.ТипДокумента = Тип("ДокументСсылка.ПоступлениеТоваровОтХранителя");
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПоступлениеТоваровОтХранителя.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (поступления от переработчика)'");
Строка.МенеджерРасчетаГиперссылкиКОформлению = "ПоступлениеОтПереработчика";
Строка.ДокументПредставление = НСтр("ru = 'Поступление от переработчика'");
Строка.Порядок = 4;
ЗаполнитьЗначенияСвойств(ДанныеСтроки, Строка);
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
ЗаполнитьЗначенияСвойств(Строка, ДанныеСтроки);
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОтПереработчика2_5;
Строка.МенеджерРасчетаГиперссылкиКОформлению = "ВозвратОтПереработчика";
Строка.Порядок = 5;
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.СписаниеТоваровУПереработчика;
Строка.ТипДокумента = Тип("ДокументСсылка.СписаниеОтгруженныхТоваров");
Строка.ПолноеИмяДокумента = Метаданные.Документы.СписаниеОтгруженныхТоваров.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (списания у переработчика)'");
Строка.ДокументПредставление = НСтр("ru = 'Отчет о списании товаров у переработчика'");
Строка.Порядок = 7;
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВыкупТоваровПереработчиком;
Строка.ТипДокумента = Тип("ДокументСсылка.ВыкупТоваровХранителем");
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВыкупТоваровХранителем.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (выкупы переработчиком)'");
Строка.ДокументПредставление = НСтр("ru = 'Выкуп товаров переработчиком'");
Строка.Порядок = 8;
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПорчаТоваровУПереработчика;
Строка.ТипДокумента = Тип("ДокументСсылка.ПорчаТоваровУХранителя");
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПорчаТоваровУХранителя.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (порчи у переработчика)'");
Строка.ДокументПредставление = НСтр("ru = 'Порча товаров у переработчика'");
Строка.Порядок = 9;
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПересортицаТоваровУПереработчика;
Строка.ТипДокумента = Тип("ДокументСсылка.ПересортицаТоваровУХранителя");
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПересортицаТоваровУХранителя.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (пересортицы у переработчика)'");
Строка.ДокументПредставление = НСтр("ru = 'Пересортица товаров у переработчика'");
Строка.Порядок = 10;
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.КорректировкаОтчетаПереработчика;
Строка.ТипДокумента = Тип("ДокументСсылка.КорректировкаПриобретения");
Строка.ПолноеИмяДокумента = Метаданные.Документы.КорректировкаПриобретения.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Ложь;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (корректировки)'");
Строка.ДокументПредставление = НСтр("ru = 'Корректировка отчета переработчика'");
Строка.Порядок = 11;
Если ПолучитьФункциональнуюОпцию("ИспользоватьАктыРасхожденийПослеОтгрузкиПоПередачамПереработчику2_5") Тогда
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПередачаПереработчику2_5;
Строка.ТипДокумента = Тип("ДокументСсылка.АктОРасхожденияхПослеОтгрузки");
Строка.ПолноеИмяДокумента = Метаданные.Документы.АктОРасхожденияхПослеОтгрузки.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.ИспользуютсяСтатусы = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (расхождения)'");
Строка.ДокументПредставление = НСтр("ru = 'Акт о расхождениях после передачи переработчику'");
Строка.Порядок = 12;
КонецЕсли;
Если ПолучитьФункциональнуюОпцию("ИспользоватьАктыРасхожденийПослеПриемкиПоПоступлениямОтПереработчика2_5") Тогда
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеОтПереработчика2_5;
Строка.ТипДокумента = Тип("ДокументСсылка.АктОРасхожденияхПослеПриемки");
Строка.ПолноеИмяДокумента = Метаданные.Документы.АктОРасхожденияхПослеПриемки.ПолноеИмя();
Строка.ДобавитьКнопкуСоздать = Истина;
Строка.ИспользуютсяСтатусы = Истина;
Строка.КлючНазначенияИспользования = "ДокументыПередачиВПереработку";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Документы передачи в переработку (расхождения)'");
Строка.ДокументПредставление = НСтр("ru = 'Акт о расхождениях после приемки от переработчика'");
Строка.Порядок = 13;
ЗаполнитьЗначенияСвойств(ДанныеСтроки, Строка);
Строка = ТЗХозОперацииИТипыДокументов.Добавить();
ЗаполнитьЗначенияСвойств(Строка, ДанныеСтроки);
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОтПереработчика2_5;
Строка.ДокументПредставление = НСтр("ru = 'Акт о расхождениях после приемки от переработчика'");
Строка.Порядок = 14;
КонецЕсли;
УчетНДСУП.ОписаниеОперацийИТиповДокументовДляЖурналаДокументовПередачиВПереработку2_5(ТЗХозОперацииИТипыДокументов);
Возврат ТЗХозОперацииИТипыДокументов;
КонецФункции
&НаСервере
Функция ПоместитьВоВременноеХранилищеХозяйственныеОперацииИДокументы()
Возврат ПоместитьВоВременноеХранилище(ХозяйственныеОперацииИДокументы.Выгрузить(), УникальныйИдентификатор);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция КлючНазначенияФормыПоУмолчанию()
Возврат "ДокументыПередачиВПереработку";
КонецФункции
#КонецОбласти
#Область ГиперссылкаКОформлению
&НаСервере
Процедура ОбновитьГиперссылкуКОформлению()
ПараметрыФормирования = Новый Структура;
ПараметрыФормирования.Вставить("Организация", Организация);
ПараметрыФормирования.Вставить("Склад", Склад);
ПараметрыФормирования.Вставить("Менеджер", Менеджер);
ПараметрыФормирования.Вставить("КлючНазначенияИспользования", КлючНазначенияФормыПоУмолчанию());
КОформлениюПередача = ОбщегоНазначенияУТ.СформироватьГиперссылкуКОформлению(
ХозяйственныеОперацииИДокументы.Выгрузить(), ПараметрыФормирования);
Элементы.КОформлениюПередача.Видимость = ЗначениеЗаполнено(КОформлениюПередача);
МассивМенеджеровРасчетаСмТакжеВРаботе = Новый Массив();
Если ПолучитьФункциональнуюОпцию("ИспользоватьЗаказыПереработчикам2_5") Тогда
МассивМенеджеровРасчетаСмТакжеВРаботе.Добавить("Документ.ЗаказПереработчику2_5");
КонецЕсли;
ДополнитьМассивМенеджеровРасчетаСмТакжеВРаботеЛокализация(МассивМенеджеровРасчетаСмТакжеВРаботе, ПараметрыФормирования);
СмТакжеВРаботе = ОбщегоНазначенияУТ.СформироватьГиперссылкуСмТакжеВРаботе(МассивМенеджеровРасчетаСмТакжеВРаботе, ПараметрыФормирования);
Элементы.СмТакжеВРаботе.Видимость = ЗначениеЗаполнено(СмТакжеВРаботе);
КонецПроцедуры
#Область Локализация
&НаСервере
Процедура ДополнитьМассивМенеджеровРасчетаСмТакжеВРаботеЛокализация(МассивМенеджеровРасчетаСмТакжеВРаботе, ПараметрыФормирования)
СтруктураОтбора = Новый Структура("ТипДокумента, Отбор", Тип("ДокументСсылка.ПередачаТоваровХранителю"), Истина);
НайденныеСтроки = ХозяйственныеОперацииИДокументы.НайтиСтроки(СтруктураОтбора);
Если НайденныеСтроки.Количество() > 0 Тогда
МассивМенеджеровРасчетаСмТакжеВРаботе.Добавить("Документ.ТранспортнаяНакладная");
КонецЕсли;
Возврат;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область НастройкиДинамическихСписков
&НаСервере
Процедура ИнициироватьНастройкиДинамическихСписков()
ПараметрыСписковДокументов = Новый Массив;
СтруктураПараметровСписка = РаботаСЖурналамиДокументов.СтруктураФормированияНаФормеГруппыПользовательскихНастроекДинамическогоСписка();
СтруктураПараметровСписка.ИмяСписка = "СписокДокументыПереработки";
СтруктураПараметровСписка.ГруппаРазмещенияНастройки = Элементы.ГруппаНастройкиСпискаДокументов;
СтруктураПараметровСписка.ИмяРеквизитаРежимАвтообновления = "СписокДокументовРежимАвтообновления";
СтруктураПараметровСписка.ИмяКомандыОбновленияСписка = Команды.СписокДокументовОбновить.Имя;
ПараметрыСписковДокументов.Добавить(СтруктураПараметровСписка);
РаботаСЖурналамиДокументов.ИнициироватьНастройкиДинамическихСписков(ЭтотОбъект, ПараметрыСписковДокументов);
КонецПроцедуры
&НаКлиенте
Процедура ОтображениеГруппыПользовательскихОтборовИНастроек(ИмяСписка)
ДлительноеОбновление = РаботаСЖурналамиДокументовКлиент.ВремяОбновленияСпискаПревышаетДопутимое(ЭтотОбъект,
ИмяСписка);
Если ДлительноеОбновление Тогда
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"ПровереныНастройкиКомпоновкиДанных", Истина);
СтруктураНастроекКомпоновкиДанных = ПолучитьИсполняемыеНастройкиКомпоновкиДанных(ИмяСписка);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"НастройкиКомпоновкиДанных", СтруктураНастроекКомпоновкиДанных.НастройкиКомпоновкиДанных);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"СтруктураПользовательскихНастроек", СтруктураНастроекКомпоновкиДанных.СтруктураПользовательскихНастроек);
Иначе
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"ПровереныНастройкиКомпоновкиДанных", Ложь);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"НастройкиКомпоновкиДанных", Новый НастройкиКомпоновкиДанных);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"СтруктураПользовательскихНастроек", Новый Структура);
КонецЕсли;
РаботаСЖурналамиДокументовКлиент.ДокументыОтображениеГруппыПользовательскихОтборовИНастроек(ЭтотОбъект, ИмяСписка);
КонецПроцедуры
&НаСервере
Функция ПолучитьИсполняемыеНастройкиКомпоновкиДанных(ИмяСписка)
ИмяЭлемента = РаботаСЖурналамиДокументов.ЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"ИмяЭлементаСписка");
ЭлементФормыСписок = Элементы[ИмяЭлемента];
НастройкиКомпоновкиДанных = ЭлементФормыСписок.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
СтруктураВозврата = Новый Структура;
СтруктураВозврата.Вставить("НастройкиКомпоновкиДанных", НастройкиКомпоновкиДанных);
СписокПолейСоставногоТипа = РаботаСЖурналамиДокументов.ЗначениеНастройкиСпискаДокументов(ЭтотОбъект,
ИмяСписка, "СписокПолейСоставногоТипа");
СтруктураПользовательскихНастроек = РаботаСЖурналамиДокументов.ПроверитьПользовательскиеНастройкиДинамическогоСписка(
НастройкиКомпоновкиДанных, СписокПолейСоставногоТипа);
СтруктураВозврата.Вставить("СтруктураПользовательскихНастроек", СтруктураПользовательскихНастроек);
Возврат СтруктураВозврата;
КонецФункции
&НаКлиенте
Процедура УстановитьПараметрыОбновленияСписковДокументов(ДанныеУстарели, ДлительностьОбновления = Неопределено)
ИмяНастройки = "СписокДокументовКэшНастроек";
ИмяСписка = "";
Для Каждого НастройкаСписокДокументов Из ЭтотОбъект[ИмяНастройки] Цикл
ИмяСписка = НастройкаСписокДокументов.Ключ;
РаботаСЖурналамиДокументовКлиент.УстановитьПараметрыОбновленияСпискаДокументов(ЭтотОбъект, ИмяСписка, ДанныеУстарели,
ДлительностьОбновления);
ОтображениеГруппыПользовательскихОтборовИНастроек(ИмяСписка);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьДанныеСпискаДокументовСЗамеромВремени(ИмяСписка, УчитыватьПараметрАвтообновления = Ложь)
Если Не УчитыватьПараметрАвтообновления Тогда
ТребуетсяОбновлениеСписка = Истина;
Иначе
ТребуетсяОбновлениеСписка = РаботаСЖурналамиДокументовКлиент.ЗначениеНастройкиАвтообновленияСпискаДокументов(
ЭтотОбъект, ИмяСписка);
Если Не ТребуетсяОбновлениеСписка Тогда
РаботаСЖурналамиДокументовКлиент.УстановитьПризнакОтображенияНеактуальныхДанныхВСписке(ЭтотОбъект, ИмяСписка);
КонецЕсли;
КонецЕсли;
Если ТребуетсяОбновлениеСписка Тогда
РаботаСЖурналамиДокументовКлиент.ОбновитьДанныеСпискаДокументовСЗамеромВремени(ЭтотОбъект, ИмяСписка);
ОтображениеГруппыПользовательскихОтборовИНастроек(ИмяСписка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьСписокДокументовСобытиеОбработкаОповещения(ИмяСписка, Параметр = Неопределено)
РаботаСЖурналамиДокументовКлиент.ОбновитьСписокДокументовСобытиеОбработкаОповещения(ЭтотОбъект, ИмяСписка, Параметр);
ОтображениеГруппыПользовательскихОтборовИНастроек(ИмяСписка);
КонецПроцедуры
&НаКлиенте
Процедура СписокДокументовОбработкаСобытияЭлементаФормы(Элемент)
ДействиеСписка = РаботаСЖурналамиДокументовКлиент.ИмяСпискаДокументовПоИмениЭлементаФормы(ЭтотОбъект, Элемент.Имя);
Если ДействиеСписка.ИмяСписка = "" Тогда
Возврат;
КонецЕсли;
ИмяСписка = ДействиеСписка.ИмяСписка;
Действие = ДействиеСписка.Действие;
Если Действие = "Отборы" Или Действие = "Порядок" Или Действие = "УсловноеОформление" Тогда
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"ПровереныНастройкиКомпоновкиДанных", Истина);
СтруктураНастроекКомпоновкиДанных = ПолучитьИсполняемыеНастройкиКомпоновкиДанных(ИмяСписка);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"НастройкиКомпоновкиДанных", СтруктураНастроекКомпоновкиДанных.НастройкиКомпоновкиДанных);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"СтруктураПользовательскихНастроек", СтруктураНастроекКомпоновкиДанных.СтруктураПользовательскихНастроек);
КонецЕсли;
Если Действие = "Отборы" Тогда
РаботаСЖурналамиДокументовКлиент.ИсправитьПользовательскиеОтборыВСпискеДокументов(ЭтотОбъект, ИмяСписка);
ИначеЕсли Действие = "Порядок" Тогда
РаботаСЖурналамиДокументовКлиент.ИсправитьНастройкиСортировкиВСпискеДокументов(ЭтотОбъект, ИмяСписка);
ИначеЕсли Действие = "УсловноеОформление" Тогда
РаботаСЖурналамиДокументовКлиент.ИсправитьНастройкиУсловногоОформленияВСпискеДокументов(ЭтотОбъект, ИмяСписка);
ИначеЕсли Действие = "Обновление" Тогда
ОбновитьДанныеСпискаДокументовСЗамеромВремени(ИмяСписка);
ИначеЕсли Действие = "УскорениеОбновленияСписка" Тогда
РаботаСЖурналамиДокументовКлиент.СохранитьНастройкуПроизводительныйРежимОбновленияСписка(ЭтотОбъект, ИмяСписка);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти