#Область ОписаниеПеременных
&НаКлиенте
Перем КэшированныеЗначения;
&НаКлиенте
Перем ТекущиеДанныеИдентификатор;
&НаКлиенте
Перем ПроверкаКонтрагентовПараметрыОбработчикаОжидания Экспорт;
&НаКлиенте
Перем ФормаДлительнойОперации Экспорт;
#КонецОбласти
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Справочники.Назначения.ФормаДокументаПриСозданииНаСервере(ЭтаФорма);
ВалютаРегламентированногоУчета = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
ВалютаУправленческогоУчета = Константы.ВалютаУправленческогоУчета.Получить();
КоэффициентПересчетаИзВалютыУпрВРегл = КоэффициентПересчета(ВалютаУправленческогоУчета, ВалютаРегламентированногоУчета, Объект.Дата);
ВалютаСтр = Строка(ВалютаУправленческогоУчета);
СчетаФактурыПоОснованию = УчетНДСУП.СчетаФактурыПолученныеПоДокументамОснованиям(Объект.Ссылка);
ЕстьСчетаФактурыПоОснованию = СчетаФактурыПоОснованию.Количество() <> 0;
ИспользоватьПартнеровКакКонтрагентов = ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровКакКонтрагентов");
СтрокаЗаголовка = "%1 (%2)";
ЗаголовокЦена = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаЗаголовка, НСтр("ru = 'Цена'"), ВалютаСтр);
ЗаголовокСумма = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаЗаголовка, НСтр("ru = 'Сумма'"), ВалютаСтр);
ЗаголовокНДС = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаЗаголовка, НСтр("ru = 'НДС'"), ВалютаСтр);
Элементы.СобственныеТоварыЦена.Заголовок = ЗаголовокЦена;
Элементы.СобственныеТоварыСумма.Заголовок = ЗаголовокСумма;
Элементы.СобственныеТоварыСуммаНДС.Заголовок = ЗаголовокНДС;
Элементы.ПринятаяТараЦена.Заголовок = ЗаголовокЦена;
Элементы.ПринятаяТараСумма.Заголовок = ЗаголовокСумма;
Элементы.ПереданнаяТараЦена.Заголовок = ЗаголовокЦена;
Элементы.ПереданнаяТараСумма.Заголовок = ЗаголовокСумма;
Элементы.ПолученныеНаКомиссиюЦена.Заголовок = ЗаголовокЦена;
Элементы.ПолученныеНаКомиссиюСумма.Заголовок = ЗаголовокСумма;
Элементы.ПолученныеНаКомиссиюСуммаНДС.Заголовок = ЗаголовокНДС;
Элементы.ПереданныеНаКомиссиюЦена.Заголовок = ЗаголовокЦена;
Элементы.ПереданныеНаКомиссиюСумма.Заголовок = ЗаголовокСумма;
Элементы.ПереданныеНаКомиссиюСуммаНДС.Заголовок = ЗаголовокНДС;
Элементы.ПереданныеПереработчикамТоварыЦена.Заголовок = ЗаголовокЦена;
Элементы.ПереданныеПереработчикамТоварыСумма.Заголовок = ЗаголовокСумма;
Элементы.ПереданныеПереработчикамТоварыСуммаНДС.Заголовок = ЗаголовокНДС;
Элементы.ПереданныеВПроизводствоТоварыСумма.Заголовок = ЗаголовокСумма;
Элементы.ПереданныеВПроизводствоТоварыСуммаНДС.Заголовок = ЗаголовокНДС;
Элементы.Основание.Видимость = ЗначениеЗаполнено(Объект.Основание);
Элементы.СобственныеТоварыЗаполнитьПоОснованию.Видимость = Элементы.Основание.Видимость;
УстановитьЗаголовок();
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
Объект.ЦенаВключаетНДС = Истина;
ПриЧтенииСозданииНаСервере(Объект);
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект,ПараметрыУказанияСерий);
КонецЕсли;
МенеджерОбязателенКЗаполнению = (Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров
И ВПодразделенииВедетсяОбособленныйУчетПоМенеджерам(Объект.Подразделение));
УстановитьДоступностьКомандБуфераОбмена();
УстановитьВидимостьКоличестваРНПТ();
ОбщегоНазначенияУТ.НастроитьПодключаемоеОборудование(
ЭтаФорма, "СобственныеТовары,ПолученныеНаКомиссию,ПереданныеНаКомиссию,ПринятаяТара,ПереданнаяТара,ПереходНаАдресноеХранение,ПереданныеВПроизводствоТовары");
ИсправлениеДокументов.ПриСозданииНаСервере(ЭтаФорма, Элементы.СтрокаИсправление);
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров Тогда
ПроверкаКонтрагентов.ПриСозданииНаСервереДокумент(ЭтотОбъект, Параметры);
ПроверкаКонтрагентовВызовСервераПереопределяемыйУТ.ФормаДокументаПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);
МассивЭлементовНомерГТД = Новый Массив;
МассивЭлементовНомерГТД.Добавить("СобственныеТоварыНомерГТД");
МассивЭлементовНомерГТД.Добавить("ПолученныеНаКомиссиюНомерГТД");
МассивЭлементовНомерГТД.Добавить("ПереданныеНаКомиссиюНомерГТД");
МассивЭлементовНомерГТД.Добавить("ПринятаяТараНомерГТД");
МассивЭлементовНомерГТД.Добавить("ПереданнаяТараНомерГТД");
МассивЭлементовНомерГТД.Добавить("ПереданныеПереработчикамТоварыНомерГТД");
УчетПрослеживаемыхТоваровЛокализация.УстановитьЗаголовокНомерГТД(Элементы, МассивЭлементовНомерГТД);
УстановитьПризнакПартияОбязательнаКЗаполнению();
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров") Тогда
ПроверкаКонтрагентовКлиент.ПриОткрытииДокумент(ЭтотОбъект);
КонецЕсли;
МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено, ЭтаФорма, "СканерШтрихкода");
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если ЗавершениеРаботы Тогда
Возврат;
КонецЕсли;
МенеджерОборудованияКлиент.НачатьОтключениеОборудованиеПриЗакрытииФормы(Неопределено, ЭтаФорма);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ИсправлениеДокументов.ПриЧтенииНаСервере(ЭтаФорма, Элементы.СтрокаИсправление);
УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
ПриЧтенииСозданииНаСервере(ТекущийОбъект);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ПараметрыЗаписи.Вставить("ХозяйственнаяОперация", Объект.ХозяйственнаяОперация);
Оповестить("Запись_ВводОстатков", ПараметрыЗаписи, Объект.Ссылка);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
КонецЕсли;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
КонецЕсли;
ИсправлениеДокументовКлиент.ПослеЗаписи(Объект);
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ПредставлениеСчетФактурыПолученной();
ПараметрыЗаполненияРеквизитов = Новый Структура;
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются",
Новый Структура("Номенклатура", "ХарактеристикиИспользуются"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипНоменклатуры",
Новый Структура("Номенклатура", "ТипНоменклатуры"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакАртикул",
Новый Структура("Номенклатура", "Артикул"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД",
Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипИзмеряемойВеличины",
Новый Структура("Номенклатура", "ТипИзмеряемойВеличины"));
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
ПараметрыЗаполненияРеквизитов);
КонецЕсли;
НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(Объект.Товары, ПараметрыЗаполненияРеквизитов);
ПараметрыЗаполнения = ЗакупкиСервер.ПараметрыЗаполненияСлужебныхРеквизитовНомераГТД();
ПараметрыЗаполнения.ЗаполнитьСтрануПроисхождения = Ложь;
ЗакупкиСервер.ЗаполнитьСлужебныеРеквизитыНомераГТД(Объект.Товары, ПараметрыЗаполнения);
ЗаполнитьПризнакЕстьДетализацияПартий();
УстановитьЗаголовок();
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров Тогда
ПроверкаКонтрагентов.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецЕсли;
ОбеспечениеВДокументахСервер.ПроверитьЗапуститьФоновоеЗаданиеРаспределенияЗапасов();
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров Тогда
ПроверкаКонтрагентов.ПередЗаписьюНаСервереДокумент(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
Если ИсточникВыбора.ИмяФормы = "Обработка.ПодборТоваровВДокументПродажи.Форма.Форма" Тогда
ОбработкаВыбораПодборНаСервере(ВыбранноеЗначение, КэшированныеЗначения);
ИначеЕсли УчетНДСУПКлиент.ЗаконченоРедактированиеСчетаФактурыПолученного(ВыбранноеЗначение, ИсточникВыбора) Тогда
ПредставлениеСчетФактурыПолученной();
ИначеЕсли НоменклатураКлиент.ЭтоУказаниеСерий(ИсточникВыбора) Тогда
ТекущиеДанные = Элементы[ИмяТекущейТаблицыФормы].ДанныеСтроки(ВыбранноеЗначение.ИдентификаторТекущейСтроки);
НоменклатураКлиент.ОбработатьУказаниеСерии(ЭтаФорма, ПараметрыУказанияСерий, ВыбранноеЗначение, ТекущиеДанные);
ИначеЕсли ЗакупкиКлиент.ЭтоПодборНомераГТД(ИсточникВыбора)
И (ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров) Тогда
ОбработатьПодборНомераГТД(ВыбранноеЗначение);
ИначеЕсли ИсточникВыбора.ИмяФормы = "Справочник.Назначения.Форма.ФормаВыбора" Тогда
Элементы.ПереходНаАдресноеХранениеТовары.ТекущиеДанные.Назначение = ВыбранноеЗначение;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие() Тогда
ОбработатьШтрихкоды(МенеджерОборудованияУТКлиент.ПреобразоватьДанныеСоСканераВМассив(Параметр));
КонецЕсли;
КонецЕсли;
Если Источник = "ПодключаемоеОборудование"
И ИмяСобытия = "НеизвестныеШтрихкоды"
И Параметр.ФормаВладелец = УникальныйИдентификатор Тогда
КэшированныеЗначения.Штрихкоды.Очистить();
ДанныеШтрихкодов = Новый Массив;
Для Каждого ПолученныйШтрихкод Из Параметр.ПолученыНовыеШтрихкоды Цикл
ДанныеШтрихкодов.Добавить(ПолученныйШтрихкод);
КонецЦикла;
Для Каждого ПолученныйШтрихкод Из Параметр.ЗарегистрированныеШтрихкоды Цикл
ДанныеШтрихкодов.Добавить(ПолученныйШтрихкод);
КонецЦикла;
ОбработатьШтрихкоды(ДанныеШтрихкодов);
КонецЕсли;
Если ИмяСобытия = "КопированиеСтрокВБуферОбмена" Тогда
УстановитьДоступностьКомандБуфераОбменаНаКлиенте();
КонецЕсли;
Если Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров") Тогда
ПроверкаКонтрагентовКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
КонецЕсли;
ИсправлениеДокументовКлиент.ОбработкаОповещения(ЭтаФорма, ИмяСобытия, Параметр, Источник);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаЗаписиНового(НовыйОбъект, Источник, СтандартнаяОбработка)
Если ЗакупкиКлиент.ЭтоУказаниеНомераГТД(Источник)
И (ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров) Тогда
ПараметрыУказанияНомераГТД = ЗакупкиКлиент.ПараметрыУказанияНомераГТД();
ПараметрыУказанияНомераГТД.ИмяТЧ = ИмяТекущейТаблицыФормы;
Действия = Новый Структура;
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
Действия);
ЗакупкиКлиент.ОбработатьУказаниеНомераГТД(ЭтотОбъект, НовыйОбъект, ПараметрыУказанияНомераГТД, , Действия);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров Тогда
ПроверкаКонтрагентов.ПриЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
МассивНепроверяемыхРеквизитов = Новый Массив;
Если Объект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам ИЛИ НЕ ПоЗаказу Тогда
МассивНепроверяемыхРеквизитов.Добавить("ЗаказПереработчику");
КонецЕсли;
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, МассивНепроверяемыхРеквизитов);
Возврат;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура СтрокаИсправлениеОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ИсправлениеДокументовКлиент.СтрокаИсправлениеОбработкаНавигационныйСсылки(ЭтотОбъект, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура КомментарийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(
Элемент.ТекстРедактирования,
ЭтотОбъект,
"Объект.Комментарий");
КонецПроцедуры
&НаКлиенте
Процедура ОтражатьВОперативномУчетеПриИзменении(Элемент)
УстановитьВидимость();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыПартияПриИзменении(Элемент)
УстановитьВидимость();
КонецПроцедуры
&НаКлиенте
Процедура ОтражатьСебестоимостьПриИзменении(Элемент)
УстановитьВидимость();
КонецПроцедуры
&НаКлиенте
Процедура ОтражатьВБУиНУПриИзменении(Элемент)
УстановитьВидимость();
КонецПроцедуры
&НаКлиенте
Процедура ОтражатьВУУПриИзменении(Элемент)
УстановитьВидимость();
КонецПроцедуры
&НаКлиенте
Процедура ПоЗаказуПриИзменении(Элемент)
Возврат;
КонецПроцедуры
&НаКлиенте
Процедура ВидДеятельностиНДСОчистка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Истина
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСобственныеТовары
&НаКлиенте
Процедура СобственныеТоварыДатаПриИзменении(Элемент)
ДатаПриИзмененииСервер();
Если Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров") Тогда
ПроверкаКонтрагентовКлиент.ЗапуститьПроверкуКонтрагентовВДокументе(ЭтотОбъект, Объект.Дата);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыПодразделениеПриИзменении(Элемент)
МенеджерОбязателенКЗаполнению = ВПодразделенииВедетсяОбособленныйУчетПоМенеджерам(Объект.Подразделение);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыПартнерПриИзменении(Элемент)
ПартнерПриИзмененииСервер(Объект.Партнер, Объект.Контрагент);
ПроверкаКонтрагентовКлиент.ЗапуститьПроверкуКонтрагентовВДокументе(ЭтотОбъект, Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыКонтрагентПриИзменении(Элемент)
ПроверкаКонтрагентовКлиент.ЗапуститьПроверкуКонтрагентовВДокументе(ЭтотОбъект, Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыСкладПриИзменении(Элемент)
СкладПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыПомещениеПриИзменении(Элемент)
ПомещениеПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыЦенаВключаетНДСПриИзменении(Элемент)
ЦенаВключаетНДСПриИзмененииСервер(КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыНоменклатураПриИзменении(Элемент)
НоменклатураПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыКоличествоУпаковокПриИзменении(Элемент)
КоличествоПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыУпаковкаПриИзменении(Элемент)
УпаковкаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыЦенаПриИзменении(Элемент)
ЦенаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыСуммаПриИзменении(Элемент)
СуммаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыСтавкаНДСПриИзменении(Элемент)
СтавкаНДСПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыПередУдалением(Элемент, Отказ)
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(Элемент,КэшированныеЗначения,ПараметрыУказанияСерий);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыПослеУдаления(Элемент)
ТаблЧастьПослеУдаления(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(
Элемент,КэшированныеЗначения,ПараметрыУказанияСерий,Копирование);
Если НоваяСтрока ИЛИ Копирование Тогда
Элемент.ТекущиеДанные.ИдентификаторСтроки = Новый УникальныйИдентификатор;
ЗаполнитьПризнакЕстьДетализацияПартийПоСтроке(Элемент.ТекущаяСтрока);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
ТаблЧастьПриОкончанииРедактирования(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыСерияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьПодборСерий(Элемент.ТекстРедактирования);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыСерияПриИзменении(Элемент)
ВыбранноеЗначение = НоменклатураКлиентСервер.ВыбраннаяСерия();
ВыбранноеЗначение.Значение = Элементы.СобственныеТовары.ТекущиеДанные.Серия;
ВыбранноеЗначение.ИдентификаторТекущейСтроки = Элементы.СобственныеТовары.ТекущиеДанные.ПолучитьИдентификатор();
ТекущиеДанные = Элементы.СобственныеТовары.ТекущиеДанные;
НоменклатураКлиент.ОбработатьУказаниеСерии(ЭтаФорма, ПараметрыУказанияСерий, ВыбранноеЗначение, ТекущиеДанные);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыНомерГТДСоздание(Элемент, СтандартнаяОбработка)
НомерГТДСоздание(Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыНомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
НомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Поле.Имя = "СобственныеТоварыДетализацияПартий" Тогда;
ОткрытьФормаДетализацияПартий(ВыбраннаяСтрока);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыПринятаяТара
&НаКлиенте
Процедура ПринятаяТараДатаПриИзменении(Элемент)
ДатаПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараПартнерПриИзменении(Элемент)
ПартнерПриИзмененииСервер(Объект.Партнер, Объект.Контрагент);
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараСкладПриИзменении(Элемент)
СкладПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараПомещениеПриИзменении(Элемент)
ПомещениеПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараНоменклатураПриИзменении(Элемент)
ВозвратнаяТараНоменклатураПриИзменении(Элементы.ПринятаяТара);
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараКоличествоУпаковокПриИзменении(Элемент)
ВозвратнаяТараКоличествоПриИзменении(Элементы.ПринятаяТара);
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараУпаковкаПриИзменении(Элемент)
ВозвратнаяТараУпаковкаПриИзменении(Элементы.ПринятаяТара);
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараЦенаПриИзменении(Элемент)
ВозвратнаяТараЦенаПриИзменении(Элементы.ПринятаяТара);
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараСуммаПриИзменении(Элемент)
ВозвратнаяТараСуммаПриИзменении(Элементы.ПринятаяТара);
КонецПроцедуры
&НаКлиенте
Процедура СобственныеТоварыСуммаРеглПриИзменении(Элемент)
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
СтруктураДействий = Новый Структура;
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараНомерГТДСоздание(Элемент, СтандартнаяОбработка)
НомерГТДСоздание(Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПринятаяТараНомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
НомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыПереданнаяТара
&НаКлиенте
Процедура ПереданнаяТараДатаПриИзменении(Элемент)
ДатаПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереданнаяТараОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереданнаяТараПартнерПриИзменении(Элемент)
ПартнерПриИзмененииСервер(Объект.Партнер, Объект.Контрагент);
КонецПроцедуры
&НаКлиенте
Процедура ПереданнаяТараНоменклатураПриИзменении(Элемент)
ВозвратнаяТараНоменклатураПриИзменении(Элементы.ПереданнаяТара);
КонецПроцедуры
&НаКлиенте
Процедура ПереданнаяТараКоличествоУпаковокПриИзменении(Элемент)
КоличествоПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданнаяТараУпаковкаПриИзменении(Элемент)
ВозвратнаяТараУпаковкаПриИзменении(Элементы.ПереданнаяТара);
КонецПроцедуры
&НаКлиенте
Процедура ПереданнаяТараЦенаПриИзменении(Элемент)
ВозвратнаяТараЦенаПриИзменении(Элементы.ПереданнаяТара);
КонецПроцедуры
&НаКлиенте
Процедура ПереданнаяТараСуммаПриИзменении(Элемент)
ВозвратнаяТараСуммаПриИзменении(Элементы.ПереданнаяТара);
КонецПроцедуры
&НаКлиенте
Процедура ПереданнаяТараНомерГТДСоздание(Элемент, СтандартнаяОбработка)
НомерГТДСоздание(Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПереданнаяТараНомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
НомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыПолученныеНаКомиссию
&НаКлиенте
Процедура ПолученныеНаКомиссиюДатаПриИзменении(Элемент)
ДатаПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюПартнерПриИзменении(Элемент)
ПартнерПриИзмененииСервер(Объект.Партнер, Объект.Контрагент);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюСкладПриИзменении(Элемент)
СкладПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюСоглашениеСКомитентомНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтруктураДополнительногоОтбора = Новый Структура;
СтруктураДополнительногоОтбора.Вставить("ХозяйственнаяОперация", ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПриемНаКомиссию"));
ЗакупкиКлиент.НачалоВыбораСоглашенияСПоставщиком(Элемент,
СтандартнаяОбработка,
Объект.Партнер,
Объект.СоглашениеСКомитентом,
Объект.Дата,
СтруктураДополнительногоОтбора);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюПомещениеПриИзменении(Элемент)
ПомещениеПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюСоглашениеСКомитентомПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СоглашениеСКомитентом) Тогда
ЗаполнитьПоСоглашениюСервер();
КонецЕсли;
Элементы.ПолученныеНаКомиссиюВалюта.ТолькоПросмотр = ЗначениеЗаполнено(Объект.СоглашениеСКомитентом);
Элементы.ПолученныеНаКомиссиюНалогообложениеНДС.ТолькоПросмотр = ЗначениеЗаполнено(Объект.СоглашениеСКомитентом);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюЦенаВключаетНДСПриИзменении(Элемент)
ЦенаВключаетНДСПриИзмененииСервер(КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюНоменклатураПриИзменении(Элемент)
НоменклатураПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюЦенаПриИзменении(Элемент)
ЦенаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюСуммаПриИзменении(Элемент)
СуммаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюСтавкаНДСПриИзменении(Элемент)
СтавкаНДСПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюПередУдалением(Элемент, Отказ)
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(
Элемент,КэшированныеЗначения,ПараметрыУказанияСерий);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюПослеУдаления(Элемент)
ТаблЧастьПослеУдаления(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(
Элемент,КэшированныеЗначения,ПараметрыУказанияСерий,Копирование);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
ТаблЧастьПриОкончанииРедактирования(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюКоличествоУпаковокПриИзменении(Элемент)
ТекущаяСтрока = Элементы.ПолученныеНаКомиссию.ТекущиеДанные;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюУпаковкаПриИзменении(Элемент)
ТекущаяСтрока = Элементы.ПолученныеНаКомиссию.ТекущиеДанные;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюСерияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьПодборСерий(Элемент.ТекстРедактирования);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюСерияПриИзменении(Элемент)
ВыбранноеЗначение = НоменклатураКлиентСервер.ВыбраннаяСерия();
ВыбранноеЗначение.Значение = Элементы.ПолученныеНаКомиссию.ТекущиеДанные.Серия;
ВыбранноеЗначение.ИдентификаторТекущейСтроки = Элементы.ПолученныеНаКомиссию.ТекущиеДанные.ПолучитьИдентификатор();
ТекущиеДанные = Элементы.ПолученныеНаКомиссию.ТекущиеДанные;
НоменклатураКлиент.ОбработатьУказаниеСерии(ЭтаФорма, ПараметрыУказанияСерий, ВыбранноеЗначение, ТекущиеДанные);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюНомерГТДСоздание(Элемент, СтандартнаяОбработка)
НомерГТДСоздание(Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПолученныеНаКомиссиюНомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
НомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыПереданныеНаКомиссию
&НаКлиенте
Процедура ПереданныеНаКомиссиюДатаПриИзменении(Элемент)
ДатаПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюПартнерПриИзменении(Элемент)
ПартнерПриИзмененииСервер(Объект.Партнер, Объект.Контрагент);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюСоглашениеСКомиссионеромНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПараметрыВыбораСоглашения = ПродажиКлиент.ПараметрыНачалаВыбораСоглашенияСКлиентом();
ПараметрыВыбораСоглашения.Элемент = Элемент;
ПараметрыВыбораСоглашения.Партнер = Объект.Партнер;
ПараметрыВыбораСоглашения.Документ = Объект.СоглашениеСКомиссионером;
ПараметрыВыбораСоглашения.ДатаДокумента = Объект.Дата;
ПараметрыВыбораСоглашения.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию");
ПараметрыВыбораСоглашения.ДанныеФормыСтруктура = Объект;
ПродажиКлиент.НачалоВыбораСоглашенияСКлиентом(ПараметрыВыбораСоглашения, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюЦенаВключаетНДСПриИзменении(Элемент)
ЦенаВключаетНДСПриИзмененииСервер(КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюНоменклатураПриИзменении(Элемент)
НоменклатураПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюКоличествоУпаковокПриИзменении(Элемент)
КоличествоПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюУпаковкаПриИзменении(Элемент)
УпаковкаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюЦенаПриИзменении(Элемент)
ЦенаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюСуммаПриИзменении(Элемент)
СуммаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюСтавкаНДСПриИзменении(Элемент)
СтавкаНДСПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюНомерГТДСоздание(Элемент, СтандартнаяОбработка)
НомерГТДСоздание(Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюНомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
НомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Поле.Имя = "ПереданныеНаКомиссиюДетализацияПартий" Тогда;
ОткрытьФормаДетализацияПартий(ВыбраннаяСтрока);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеНаКомиссиюСоглашениеСКомиссионеромПриИзменении(Элемент)
ЗаполнитьПоСоглашениюСервер();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыПереходНаАдресноеХранениеТовары
&НаКлиенте
Процедура ПереходНаАдресноеХранениеДатаПриИзменении(Элемент)
ДатаПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеСкладПриИзменении(Элемент)
СкладПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеПомещениеПриИзменении(Элемент)
ПомещениеПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеТоварыНоменклатураПриИзменении(Элемент)
НоменклатураПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеТоварыУпаковкаПриИзменении(Элемент)
КоличествоПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеТоварыПередУдалением(Элемент, Отказ)
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(
Элемент,КэшированныеЗначения,ПараметрыУказанияСерий);
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеТоварыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(
Элемент,КэшированныеЗначения,ПараметрыУказанияСерий,Копирование);
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеТоварыПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
ТаблЧастьПриОкончанииРедактирования(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеТоварыПослеУдаления(Элемент)
ТаблЧастьПослеУдаления(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеТоварыСерияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьПодборСерий(Элемент.ТекстРедактирования);
КонецПроцедуры
&НаКлиенте
Процедура ПереходНаАдресноеХранениеТоварыСерияПриИзменении(Элемент)
ВыбранноеЗначение = НоменклатураКлиентСервер.ВыбраннаяСерия();
ВыбранноеЗначение.Значение = Элементы.ПереходНаАдресноеХранениеТовары.ТекущиеДанные.Серия;
ВыбранноеЗначение.ИдентификаторТекущейСтроки = Элементы.ПереходНаАдресноеХранениеТовары.ТекущиеДанные.ПолучитьИдентификатор();
ТекущиеДанные = Элементы.ПереходНаАдресноеХранениеТовары.ТекущиеДанные;
НоменклатураКлиент.ОбработатьУказаниеСерии(ЭтаФорма, ПараметрыУказанияСерий, ВыбранноеЗначение, ТекущиеДанные);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыПереданныеПереработчикамТовары
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Возврат;
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыДатаПриИзменении(Элемент)
ДатаПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыЗаказПереработчикуПриИзменении(Элемент)
Если ЗаказПереработчику = Объект.ЗаказПереработчику Тогда
Возврат;
КонецЕсли;
Если Объект.Товары.Количество() > 0 Тогда
ТекстВопроса = НСтр("ru='Список переданных переработчику товаров будет очищен. Продолжить?'");
ОписаниеОповещения = Новый ОписаниеОповещения("ПереданныеПереработчикамТоварыЗаказПереработчикуПриИзмененииЗавершение",
ЭтотОбъект, Новый Структура("ОчищатьСтроки", Ложь));
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
Возврат;
КонецЕсли;
ПереданныеПереработчикамТоварыЗаказПереработчикуПриИзмененииФрагмент(Ложь);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыПартнерПриИзменении(Элемент)
ПартнерПриИзмененииСервер(Объект.Партнер, Объект.Контрагент);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыЗаказПереработчикуПриИзмененииЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
ОчищатьСтроки = ДополнительныеПараметры.ОчищатьСтроки;
Если РезультатВопроса = КодВозвратаДиалога.Нет Тогда
ЗаказПереработчику = Объект.ЗаказПереработчику;
Возврат;
Иначе
ОчищатьСтроки = Истина;
КонецЕсли;
ПереданныеПереработчикамТоварыЗаказПереработчикуПриИзмененииФрагмент(ОчищатьСтроки);
КонецПроцедуры
&НаКлиенте
Процедура ПоЗаказуПриИзмененииЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса = КодВозвратаДиалога.Нет Тогда
ПоЗаказу = Ложь;
Элементы.ПереданныеПереработчикамТоварыЗаказПереработчику.Видимость = Ложь;
Иначе
Объект.Товары.Очистить();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыЗаказПереработчикуПриИзмененииФрагмент(Знач ОчищатьСтроки)
Возврат;
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыЦенаВключаетНДСПриИзменении(Элемент)
ЦенаВключаетНДСПриИзмененииСервер(КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыКоличествоУпаковокПриИзменении(Элемент)
КоличествоПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыУпаковкаПриИзменении(Элемент)
УпаковкаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыЦенаПриИзменении(Элемент)
ЦенаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыСуммаПриИзменении(Элемент)
СуммаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыСтавкаНДСПриИзменении(Элемент)
СтавкаНДСПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыНоменклатураПриИзменении(Элемент)
НоменклатураПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеПереработчикамТоварыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Поле.Имя = "ПереданныеПереработчикамТоварыДетализацияПартий" Тогда;
ОткрытьФормаДетализацияПартий(ВыбраннаяСтрока);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыПереданныеВПроизводствоТовары
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыПодразделениеПриИзменении(Элемент)
Возврат;
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(
Элемент,КэшированныеЗначения,ПараметрыУказанияСерий,Копирование);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
ТаблЧастьПриОкончанииРедактирования(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыПередУдалением(Элемент, Отказ)
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(Элемент,КэшированныеЗначения,ПараметрыУказанияСерий);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыПослеУдаления(Элемент)
ТаблЧастьПослеУдаления(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыДатаПриИзменении(Элемент)
ДатаПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыЦенаВключаетНДСПриИзменении(Элемент)
ЦенаВключаетНДСПриИзмененииСервер(КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыНоменклатураПриИзменении(Элемент)
НоменклатураПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыУпаковкаПриИзменении(Элемент)
УпаковкаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыСуммаПриИзменении(Элемент)
СуммаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыСтавкаНДСПриИзменении(Элемент)
СтавкаНДСПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыКоличествоУпаковокПриИзменении(Элемент)
КоличествоПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыЦенаПриИзменении(Элемент)
ЦенаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыСерияПриИзменении(Элемент)
ВыбранноеЗначение = НоменклатураКлиентСервер.ВыбраннаяСерия();
ВыбранноеЗначение.Значение = Элементы.ПереданныеВПроизводствоТовары.ТекущиеДанные.Серия;
ВыбранноеЗначение.ИдентификаторТекущейСтроки = Элементы.ПереданныеВПроизводствоТовары.ТекущиеДанные.ПолучитьИдентификатор();
ТекущиеДанные = Элементы.ПереданныеВПроизводствоТовары.ТекущиеДанные;
НоменклатураКлиент.ОбработатьУказаниеСерии(ЭтаФорма, ПараметрыУказанияСерий, ВыбранноеЗначение, ТекущиеДанные);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыСерияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьПодборСерий(Элемент.ТекстРедактирования);
КонецПроцедуры
&НаКлиенте
Процедура ПереданныеВПроизводствоТоварыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Поле.Имя = "ПереданныеВПроизводствоТоварыДетализацияПартий" Тогда;
ОткрытьФормаДетализацияПартий(ВыбраннаяСтрока);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура УказатьСерии(Команда)
ОткрытьПодборСерий();
КонецПроцедуры
&НаКлиенте
Процедура УказатьСерииПолученныхНаКомиссию(Команда)
ОткрытьПодборСерий();
КонецПроцедуры
&НаКлиенте
Процедура УказатьСерииПереходНаАдресноеХранение(Команда)
ОткрытьПодборСерий();
КонецПроцедуры
&НаКлиенте
Процедура РазбитьСтроку(Команда)
ТаблицаФормы = Элементы[ИмяТекущейТаблицыФормы];
ДанныеТаблицы = Объект.Товары;
ДополнительныеПараметры = Новый Структура;
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеПараметровРазбиенияСтрокиТабличнойЧасти(
ТаблицаФормы.ТекущиеДанные, ДополнительныеПараметры);
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("РазбитьСтрокуЗавершение", ЭтотОбъект, ДополнительныеПараметры);
РаботаСТабличнымиЧастямиКлиент.РазбитьСтроку(ДанныеТаблицы, ТаблицаФормы, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ПоискПоШтрихкоду(Команда)
ОчиститьСообщения();
Оповещение = Новый ОписаниеОповещения("ПоискПоШтрихкодуЗавершение", ЭтотОбъект);
ШтрихкодированиеНоменклатурыКлиент.ПоказатьВводШтрихкода(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьДанныеИзТСД(Команда)
ОчиститьСообщения();
МенеджерОборудованияКлиент.НачатьЗагрузкуДанныеИзТСД(
Новый ОписаниеОповещения("ЗагрузитьИзТСДЗавершение", ЭтотОбъект),
УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзТСДЗавершение(Результат, Параметры) Экспорт
Если Результат.Результат Тогда
ОбработатьШтрихкоды(Результат.ТаблицаТоваров);
Иначе
МенеджерОборудованияУТКлиент.СообщитьОбОшибке(Результат);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьПодбор(Команда)
ОценкаПроизводительностиКлиент.ЗамерВремени(
"Документ.ВводОстатков.ФормаТовары.Команда.ОткрытьПодбор");
ПараметрЗаголовок = НСтр("ru = 'Подбор товаров в %Документ%'");
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
ПараметрЗаголовок = СтрЗаменить(ПараметрЗаголовок, "%Документ%", Объект.Ссылка);
Иначе
ПараметрЗаголовок = СтрЗаменить(ПараметрЗаголовок, "%Документ%", НСтр("ru = 'ввод остатков'"));
КонецЕсли;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Соглашение", Объект.СоглашениеСКомиссионером);
ПараметрыФормы.Вставить("Валюта", ВалютаУправленческогоУчета);
ПараметрыФормы.Вставить("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
ПараметрыФормы.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
ПараметрыФормы.Вставить("РежимПодбораБезСуммовыхПараметров", ЭтоОстаткиПринятыхНаКомиссиюТоваров);
Если ЭтоОстаткиПереданнойТары ИЛИ ЭтоОстаткиПринятойТары Тогда
МассивТиповНоменклатуры = Новый Массив;
МассивТиповНоменклатуры.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.МногооборотнаяТара"));
ПараметрыФормы.Вставить("ОтборПоТипуНоменклатуры", МассивТиповНоменклатуры);
Иначе
МассивТиповНоменклатуры = Новый Массив;
МассивТиповНоменклатуры.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.Товар"));
МассивТиповНоменклатуры.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.МногооборотнаяТара"));
Если ЭтоОстаткиПереданныхВПроизводствоТоваров Тогда
МассивТиповНоменклатуры.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.Работа"));
КонецЕсли;
ПараметрыФормы.Вставить("ОтборПоТипуНоменклатуры", МассивТиповНоменклатуры);
КонецЕсли;
ПараметрыФормы.Вставить("РежимПодбораИспользоватьСкладыВТабличнойЧасти", Ложь);
ПараметрыФормы.Вставить("СкрыватьРучныеСкидки", Истина);
ПараметрыФормы.Вставить("ИспользоватьДатыОтгрузки", Ложь);
ПараметрыФормы.Вставить("СкрыватьКомандуЦеныНоменклатуры", Истина);
ПараметрыФормы.Вставить("СкрыватьКомандуОстаткиНаСкладах", Истина);
ПараметрыФормы.Вставить("ПоказыватьПодобранныеТовары", Истина);
ПараметрыФормы.Вставить("ЗапрашиватьКоличество", Истина);
ПараметрыФормы.Вставить("Заголовок", ПараметрЗаголовок);
ПараметрыФормы.Вставить("Дата", Объект.Дата);
ПараметрыФормы.Вставить("Документ", Объект.Ссылка);
ОткрытьФорму("Обработка.ПодборТоваровВДокументПродажи.Форма", ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ВставитьСтроки(Команда)
КоличествоТоваровДоВставки = Объект.Товары.Количество();
ПолучитьСтрокиИзБуфераОбмена();
КоличествоВставленных = Объект.Товары.Количество()-КоличествоТоваровДоВставки;
РаботаСТабличнымиЧастямиКлиент.ОповеститьПользователяОВставкеСтрок(КоличествоВставленных);
КонецПроцедуры
&НаКлиенте
Процедура СкопироватьСтроки(Команда)
Если РаботаСТабличнымиЧастямиКлиент.ВыбранаСтрокаДляВыполненияКоманды(Элементы.СобственныеТовары) Тогда
СкопироватьСтрокиНаСервере();
РаботаСТабличнымиЧастямиКлиент.ОповеститьПользователяОКопированииСтрок(Элементы.СобственныеТовары.ВыделенныеСтроки.Количество());
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьОстаткамиТоваровНеВЯчейках(Команда)
ЗаполнитьОстаткамиТоваровНеВЯчейкахСервер();
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьОстаткамиТоваровНаПустомПомещении(Команда)
ЗаполнитьОстаткамиТоваровНаПустомПомещенииСервер();
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзВнешнегоФайла(Команда)
ПараметрыЗагрузки = РаботаСТабличнымиЧастямиКлиент.ПараметрыЗагрузкиНоменклатуры();
ПараметрыЗагрузки.Организация = Объект.Организация;
ПараметрыЗагрузки.ЗагружатьЦены = Истина;
ПараметрыЗагрузки.ЗагружатьГТД = Истина;
ПараметрыЗагрузки.ЦенаВключаетНДС = Объект.ЦенаВключаетНДС;
ПараметрыЗагрузки.НалогообложениеНДС = Объект.НалогообложениеНДС;
ПараметрыЗагрузки.ДатаЗаполнения = Объект.Дата;
МассивТиповНоменклатуры = Новый Массив;
МассивТиповНоменклатуры.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.Товар"));
МассивТиповНоменклатуры.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.МногооборотнаяТара"));
МассивТиповНоменклатуры.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.Работа"));
ПараметрыЗагрузки.ПараметрыОтбора.Вставить("ТипНоменклатуры", МассивТиповНоменклатуры);
Оповещение = Новый ОписаниеОповещения("ЗагрузитьИзВнешнегоФайлаЗавершение", ЭтотОбъект);
РаботаСТабличнымиЧастямиКлиент.ПоказатьФормуЗагрузкиНоменклатуры(ПараметрыЗагрузки, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзВнешнегоФайлаЗавершение(АдресЗагруженныхДанных, ДополнительныеПараметры) Экспорт
Если ЗначениеЗаполнено(АдресЗагруженныхДанных) Тогда
ПолучитьЗагруженныеТоварыИзХранилища(АдресЗагруженныхДанных, КэшированныеЗначения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьПоОстаткам(Команда)
Возврат;
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьПоОснованию(Команда)
ЗаполнитьПоОснованиюНаСервере();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура УстановитьУсловноеОформление()
УсловноеОформление.Элементы.Очистить();
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПолученныеНаКомиссиюУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПринятаяТараУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереходНаАдресноеХранениеТоварыУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "Объект.Товары.Упаковка", Неопределено, ВидСравненияКомпоновкиДанных.НеЗаполнено);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "Объект.Товары.ТипНоменклатуры", Перечисления.ТипыНоменклатуры.Товар);
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НезаполненноеПолеТаблицы);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПолученныеНаКомиссиюУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПринятаяТараУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереходНаАдресноеХранениеТоварыУпаковка.Имя);
ГруппаОтбора = КомпоновкаДанныхКлиентСервер.ДобавитьГруппуОтбора(Элемент.Отбор.Элементы, ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "ИспользоватьАдресноеХранение", Ложь);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "Объект.Товары.ТипНоменклатуры",
Перечисления.ТипыНоменклатуры.Товар, ВидСравненияКомпоновкиДанных.НеРавно);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "Объект.Товары.ТипИзмеряемойВеличины",
Перечисления.ТипыИзмеряемыхВеличин.КоличествоШтук, ВидСравненияКомпоновкиДанных.НеРавно);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеНаКомиссиюУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданнаяТараУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеПереработчикамТоварыУпаковка.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеВПроизводствоТоварыУпаковка.Имя);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
НоменклатураСервер.УстановитьУсловноеОформлениеХарактеристикНоменклатуры(ЭтаФорма, "СобственныеТоварыХарактеристика");
НоменклатураСервер.УстановитьУсловноеОформлениеХарактеристикНоменклатуры(ЭтаФорма, "ПолученныеНаКомиссиюХарактеристика");
НоменклатураСервер.УстановитьУсловноеОформлениеХарактеристикНоменклатуры(ЭтаФорма, "ПереданныеНаКомиссиюХарактеристика");
НоменклатураСервер.УстановитьУсловноеОформлениеХарактеристикНоменклатуры(ЭтаФорма, "ПринятаяТараХарактеристика");
НоменклатураСервер.УстановитьУсловноеОформлениеХарактеристикНоменклатуры(ЭтаФорма, "ПереданнаяТараХарактеристика");
НоменклатураСервер.УстановитьУсловноеОформлениеХарактеристикНоменклатуры(ЭтаФорма, "ПереходНаАдресноеХранениеТоварыХарактеристика");
НоменклатураСервер.УстановитьУсловноеОформлениеХарактеристикНоменклатуры(ЭтаФорма, "ПереданныеПереработчикамТоварыХарактеристика");
НоменклатураСервер.УстановитьУсловноеОформлениеХарактеристикНоменклатуры(ЭтаФорма, "ПереданныеВПроизводствоТоварыХарактеристика");
ПараметрыУсловногоОформления = НоменклатураСервер.ПараметрыУстановкиУсловногоОформленияНомераГТД();
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "СобственныеТоварыНомерГТД";
НоменклатураСервер.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "ПолученныеНаКомиссиюНомерГТД";
НоменклатураСервер.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "ПереданныеНаКомиссиюНомерГТД";
НоменклатураСервер.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "ПринятаяТараНомерГТД";
НоменклатураСервер.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "ПереданнаяТараНомерГТД";
НоменклатураСервер.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "ПереданныеПереработчикамТоварыНомерГТД";
НоменклатураСервер.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = УчетПрослеживаемыхТоваровЛокализация.ПараметрыУстановкиУсловногоОформленияНомераГТД();
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "СобственныеТоварыНомерГТД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "ПолученныеНаКомиссиюНомерГТД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "ПереданныеНаКомиссиюНомерГТД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "ПринятаяТараНомерГТД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаНомераГТД = "ПереданнаяТараНомерГТД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеНомераГТД(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = УчетПрослеживаемыхТоваровЛокализация.ПараметрыУстановкиУсловногоОформленияКоличестваПоРНПТ();
ПараметрыУсловногоОформления.ИмяПоляВводаКоличествоПоРНПТ = "СобственныеТоварыКоличествоПоРНПТ";
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмеренияТНВЭД = "СобственныеТоварыНоменклатураЕдиницаИзмеренияТНВЭД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеКоличестваПоРНПТ(ЭтотОбъект,
ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаКоличествоПоРНПТ = "ПолученныеНаКомиссиюКоличествоПоРНПТ";
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмеренияТНВЭД = "ПолученныеНаКомиссиюНоменклатураЕдиницаИзмеренияТНВЭД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеКоличестваПоРНПТ(ЭтотОбъект,
ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаКоличествоПоРНПТ = "ПереданныеНаКомиссиюКоличествоПоРНПТ";
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмеренияТНВЭД = "ПереданныеНаКомиссиюНоменклатураЕдиницаИзмеренияТНВЭД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеКоличестваПоРНПТ(ЭтотОбъект,
ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаКоличествоПоРНПТ = "ПринятаяТараКоличествоПоРНПТ";
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмеренияТНВЭД = "ПринятаяТараНоменклатураЕдиницаИзмеренияТНВЭД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеКоличестваПоРНПТ(ЭтотОбъект,
ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления.ИмяПоляВводаКоличествоПоРНПТ = "ПереданнаяТараКоличествоПоРНПТ";
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмеренияТНВЭД = "ПереданнаяТараНоменклатураЕдиницаИзмеренияТНВЭД";
УчетПрослеживаемыхТоваровЛокализация.УстановитьУсловноеОформлениеКоличестваПоРНПТ(ЭтотОбъект,
ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = НоменклатураСервер.НовыеПараметрыУсловногоОформленияЕдиницИзмерения(Истина, Истина);
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмерения = "СобственныеТоварыНоменклатураЕдиницаИзмерения";
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = НоменклатураСервер.НовыеПараметрыУсловногоОформленияЕдиницИзмерения(Истина, Истина);
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмерения = "ПолученныеНаКомиссиюНоменклатураЕдиницаИзмерения";
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = НоменклатураСервер.НовыеПараметрыУсловногоОформленияЕдиницИзмерения(Истина, Истина);
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмерения = "ПереданныеНаКомиссиюНоменклатураЕдиницаИзмерения";
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = НоменклатураСервер.НовыеПараметрыУсловногоОформленияЕдиницИзмерения(Истина, Истина);
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмерения = "ПринятаяТараНоменклатураЕдиницаИзмерения";
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = НоменклатураСервер.НовыеПараметрыУсловногоОформленияЕдиницИзмерения(Истина, Истина);
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмерения = "ПереданнаяТараНоменклатураЕдиницаИзмерения";
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = НоменклатураСервер.НовыеПараметрыУсловногоОформленияЕдиницИзмерения(Истина, Истина);
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмерения = "ПереходНаАдресноеХранениеТоварыНоменклатураЕдиницаИзмерения";
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = НоменклатураСервер.НовыеПараметрыУсловногоОформленияЕдиницИзмерения(Истина, Истина);
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмерения = "ПереданныеПереработчикамТоварыНоменклатураЕдиницаИзмерения";
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтотОбъект, ПараметрыУсловногоОформления);
ПараметрыУсловногоОформления = НоменклатураСервер.НовыеПараметрыУсловногоОформленияЕдиницИзмерения(Истина, Истина);
ПараметрыУсловногоОформления.ИмяПоляЕдиницаИзмерения = "ПереданныеВПроизводствоТоварыНоменклатураЕдиницаИзмерения";
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтотОбъект, ПараметрыУсловногоОформления);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыПартнер.Имя);
СписокЗначений = Новый СписокЗначений;
СписокЗначений.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров);
СписокЗначений.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "Объект.ХозяйственнаяОперация", СписокЗначений, ВидСравненияКомпоновкиДанных.ВСписке);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыПартнер.Имя);
ГруппаОтбора = КомпоновкаДанныхКлиентСервер.ДобавитьГруппуОтбора(Элемент.Отбор.Элементы, ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ);
СписокЗначений = Новый СписокЗначений;
СписокЗначений.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "Объект.ХозяйственнаяОперация", СписокЗначений, ВидСравненияКомпоновкиДанных.ВСписке);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "ПартнерыИКонтрагентыРаздельно", Ложь);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "Объект.Партнер", Неопределено, ВидСравненияКомпоновкиДанных.НеЗаполнено);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "ЕстьСчетаФактурыПоОснованию", Истина);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Истина);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыКонтрагент.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеНаКомиссиюКонтрагент.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПолученныеНаКомиссиюКонтрагент.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПринятаяТараКонтрагент.Имя);
ГруппаОтбора = КомпоновкаДанныхКлиентСервер.ДобавитьГруппуОтбора(Элемент.Отбор.Элементы, ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли);
СписокЗначений = Новый СписокЗначений;
СписокЗначений.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров);
СписокЗначений.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "Объект.ХозяйственнаяОперация", СписокЗначений, ВидСравненияКомпоновкиДанных.НеВСписке);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "ЕстьСчетаФактурыПоОснованию", Ложь);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыКонтрагент.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПолученныеНаКомиссиюКонтрагент.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "Объект.Контрагент", Неопределено, ВидСравненияКомпоновкиДанных.НеЗаполнено);
ГруппаОтбора = КомпоновкаДанныхКлиентСервер.ДобавитьГруппуОтбора(Элемент.Отбор.Элементы, ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "Объект.ХозяйственнаяОперация",
Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию,
ВидСравненияКомпоновкиДанных.Равно);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "Объект.НалогообложениеНДС", Перечисления.ТипыНалогообложенияНДС.ПоФактическомуИспользованию, ВидСравненияКомпоновкиДанных.Равно);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Истина);
НоменклатураСервер.УстановитьУсловноеОформлениеСерийНоменклатуры(ЭтаФорма, Ложь, "СобственныеТоварыСерия");
НоменклатураСервер.УстановитьУсловноеОформлениеСерийНоменклатуры(ЭтаФорма, Ложь, "ПолученныеНаКомиссиюСерия");
НоменклатураСервер.УстановитьУсловноеОформлениеСерийНоменклатуры(ЭтаФорма, Ложь, "ПереходНаАдресноеХранениеТоварыСерия");
НоменклатураСервер.УстановитьУсловноеОформлениеСерийНоменклатуры(ЭтаФорма, Ложь, "ПереданныеВПроизводствоТоварыСерия");
НоменклатураСервер.УстановитьУсловноеОформлениеСтатусовУказанияСерий(ЭтаФорма, Ложь, "СобственныеТоварыСтатусУказанияСерий");
НоменклатураСервер.УстановитьУсловноеОформлениеСтатусовУказанияСерий(ЭтаФорма, Ложь, "ПолученныеНаКомиссиюСтатусУказанияСерий");
НоменклатураСервер.УстановитьУсловноеОформлениеСтатусовУказанияСерий(ЭтаФорма, Ложь, "ПереходНаАдресноеХранениеТоварыСтатусУказанияСерий");
НоменклатураСервер.УстановитьУсловноеОформлениеСтатусовУказанияСерий(ЭтаФорма, Ложь, "ПереданныеВПроизводствоТоварыСтатусУказанияСерий");
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПринятаяТараЦена.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПринятаяТараСумма.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПринятаяТараСуммаРегл.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "Объект.Товары.ПредусмотренЗалогЗаТару", Ложь);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПринятаяТараЦена.Имя);
ГруппаОтбора = КомпоновкаДанныхКлиентСервер.ДобавитьГруппуОтбора(Элемент.Отбор.Элементы, ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "Объект.Товары.ПредусмотренЗалогЗаТару", Истина);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(ГруппаОтбора, "Объект.Товары.Цена", Неопределено, ВидСравненияКомпоновкиДанных.НеЗаполнено);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Истина);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПолученныеНаКомиссиюЦена.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПолученныеНаКомиссиюСумма.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПолученныеНаКомиссиюСуммаРегл.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "Объект.ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыПодразделение.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеНаКомиссиюПодразделение.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "Объект.ХозяйственнаяОперация",
Перечисления.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство, ВидСравненияКомпоновкиДанных.НеРавно);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
НоменклатураСервер.УстановитьУсловноеОформлениеНазначенияНоменклатуры(ЭтаФорма, "СобственныеТоварыНазначение");
НоменклатураСервер.УстановитьУсловноеОформлениеНазначенияНоменклатуры(ЭтаФорма, "ПринятаяТараНазначение");
НоменклатураСервер.УстановитьУсловноеОформлениеНазначенияНоменклатуры(ЭтаФорма, "ПереходНаАдресноеХранениеТоварыНазначение");
НоменклатураСервер.УстановитьУсловноеОформлениеНазначенияНоменклатуры(ЭтаФорма, "ПереданныеПереработчикамТоварыНазначение");
НоменклатураСервер.УстановитьУсловноеОформлениеНазначенияНоменклатуры(ЭтаФорма, "ПереданныеВПроизводствоТоварыНазначение");
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыСуммаСНДС.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПолученныеНаКомиссиюСуммаСНДС.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеНаКомиссиюСуммаСНДС.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеПереработчикамТоварыСуммаСНДС.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеВПроизводствоТоварыСуммаСНДС.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "Объект.ЦенаВключаетНДС", Истина);
Элемент.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь);
Элемент = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыМенеджер.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "МенеджерОбязателенКЗаполнению", Ложь);
Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
УстановитьУсловноеОформлениеПартияВШапке();
КонецПроцедуры
#Область ОбщиеОбработчикиСобытийТабличныхЧастей
&НаКлиенте
Процедура НоменклатураПриИзменении(ИдентификаторТекущейСтроки = Неопределено)
Если ИдентификаторТекущейСтроки <> Неопределено Тогда
ТекущаяСтрока = Объект.Товары.НайтиПоИдентификатору(ИдентификаторТекущейСтроки);
Иначе
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
КонецЕсли;
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", ТекущаяСтрока.Характеристика);
СтруктураДействий.Вставить("ПроверитьЗаполнитьУпаковкуПоВладельцу", ТекущаяСтрока.Упаковка);
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
СтруктураДействий.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД", Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
СтруктураДействий.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
СтруктураДействий.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
СтруктураДействий.Вставить("ЗаполнитьПризнакТипИзмеряемойВеличины", Новый Структура("Номенклатура", "ТипИзмеряемойВеличины"));
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
СтруктураДействий);
КонецЕсли;
ПараметрыПроверкиСерий = Новый Структура("Склад, ПараметрыУказанияСерий", Объект[ПараметрыУказанияСерий.ИмяПоляСклад], ПараметрыУказанияСерий);
СтруктураДействий.Вставить("ПроверитьСериюРассчитатьСтатус", ПараметрыПроверкиСерий);
СтруктураДействий.Вставить("НоменклатураПриИзмененииПереопределяемый", Новый Структура("ИмяФормы, ИмяТабличнойЧасти",
ИмяФормы, ИмяТекущейТаблицыФормы));
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
Если НЕ ЗначениеЗаполнено(ТекущаяСтрока.СтавкаНДС) ИЛИ ИдентификаторТекущейСтроки = Неопределено Тогда
ТекущаяСтрока.СтавкаНДС = СтавкаНДСНоменклатуры(ТекущаяСтрока.Номенклатура, Объект.Организация, Объект.НалогообложениеНДС, Объект.Дата);
КонецЕсли;
Если Не ТекущаяСтрока.ВедетсяУчетПоГТД Тогда
ТекущаяСтрока.НомерГТД = Неопределено;
ТекущаяСтрока.ТипНомераГТД = Неопределено;
КонецЕсли;
УпаковкаПриИзменении(ИдентификаторТекущейСтроки);
КонецПроцедуры
&НаКлиенте
Процедура КоличествоПриИзменении()
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
СтруктураДействий = Новый Структура;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура УпаковкаПриИзменении(ИдентификаторТекущейСтроки = Неопределено)
Если ИдентификаторТекущейСтроки <> Неопределено Тогда
ТекущаяСтрока = Объект.Товары.НайтиПоИдентификатору(ИдентификаторТекущейСтроки);
Иначе
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
КонецЕсли;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
Если ТекущаяСтрока.Количество > 0 Тогда
СтруктураДействий.Вставить("ПересчитатьЦенуЗаУпаковку", ТекущаяСтрока.Количество);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ЦенаПриИзменении()
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура СуммаПриИзменении()
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьЦенуПоСумме", "Количество");
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура СтавкаНДСПриИзменении()
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ТаблЧастьПриОкончанииРедактирования(Элемент)
ТекущиеДанные = Элемент.ТекущиеДанные;
Если НоменклатураКлиент.НеобходимоОбновитьСтатусыСерий(Элемент, КэшированныеЗначения, ПараметрыУказанияСерий) Тогда
ТекущаяСтрокаИдентификатор = ТекущиеДанные.ПолучитьИдентификатор();
ЗаполнитьСтатусыУказанияСерийПриОкончанииРедактированияСтрокиТЧ(ТекущаяСтрокаИдентификатор, КэшированныеЗначения);
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(Элемент, КэшированныеЗначения, ПараметрыУказанияСерий);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ТаблЧастьПослеУдаления(Элемент)
Если НоменклатураКлиент.НеобходимоОбновитьСтатусыСерий(Элемент, КэшированныеЗначения, ПараметрыУказанияСерий, Истина) Тогда
ЗаполнитьСтатусыУказанияСерийПриОкончанииРедактированияСтрокиТЧ(Неопределено, КэшированныеЗначения);
НоменклатураКлиент.ОбновитьКешированныеЗначенияДляУчетаСерий(Элемент, КэшированныеЗначения, ПараметрыУказанияСерий);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбщиеОбработчикиСобытийТабличныхЧастейВозвратнойТары
&НаКлиенте
Процедура ВозвратнаяТараНоменклатураПриИзменении(ТаблЧасть)
ТекущаяСтрока = ТаблЧасть.ТекущиеДанные;
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", ТекущаяСтрока.Характеристика);
СтруктураДействий.Вставить("ПересчитатьСумму", "Количество");
СтруктураДействий.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД", Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
СтруктураДействий.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
СтруктураДействий.Вставить("НоменклатураПриИзмененииПереопределяемый", Новый Структура("ИмяФормы, ИмяТабличнойЧасти",
ЭтаФорма.ИмяФормы, ТаблЧасть.Имя));
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
СтруктураДействий);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ВозвратнаяТараКоличествоПриИзменении(ТаблЧасть)
ТекущаяСтрока = ТаблЧасть.ТекущиеДанные;
СтруктураДействий = Новый Структура;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ВозвратнаяТараУпаковкаПриИзменении(ТаблЧасть)
ТекущаяСтрока = ТаблЧасть.ТекущиеДанные;
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
Если ТекущаяСтрока.Количество > 0 Тогда
СтруктураДействий.Вставить("ПересчитатьЦенуЗаУпаковку", ТекущаяСтрока.Количество);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС");
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура ВозвратнаяТараЦенаПриИзменении(ТаблЧасть)
ЦенаПриИзменении();
КонецПроцедуры
&НаКлиенте
Процедура ВозвратнаяТараСуммаПриИзменении(ТаблЧасть)
ТекущаяСтрока = ТаблЧасть.ТекущиеДанные;
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьЦенуПоСумме", "Количество");
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС");
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
#КонецОбласти
#Область ПриИзмененииРеквизитов
&НаСервереБезКонтекста
Функция КоэффициентПересчета(ВалютаУправленческогоУчета, ВалютаРегламентированногоУчета, ДатаДокумента)
Возврат РаботаСКурсамиВалютУТ.ПолучитьКоэффициентПересчетаИзВалютыВВалюту(
ВалютаУправленческогоУчета,
ВалютаРегламентированногоУчета,
?(ДатаДокумента = Дата(1,1,1), ТекущаяДатаСеанса(), ДатаДокумента));
КонецФункции
&НаСервере
Процедура ОрганизацияПриИзмененииСервер()
ВалютаРегламентированногоУчета = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
Если ЗначениеЗаполнено(Объект.Организация) Тогда
ПредставлениеСчетФактурыПолученной();
Документы.ВводОстатков.ЗаполнитьВидДеятельностиНДС(Объект, ЭтотОбъект, Истина);
ЗаполнитьНалогообложениеНДС();
НалогообложениеНДСПриИзмененииСервер();
ПолучитьМетодОценкиСтоимостиТоваров();
ПересчитатьКоличествоРНПТ();
УстановитьПризнакПартияОбязательнаКЗаполнению();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ДатаПриИзмененииСервер()
КоэффициентПересчетаИзВалютыУпрВРегл = КоэффициентПересчета(ВалютаУправленческогоУчета, ВалютаРегламентированногоУчета, Объект.Дата);
ИспользоватьУчетПрослеживаемыхИмпортныхТоваров = УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(
Объект.Дата);
ПараметрыУказанияСерий = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(Объект, Документы.ВводОстатков));
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект,ПараметрыУказанияСерий);
УстановитьВидимость();
Документы.ВводОстатков.ЗаполнитьВидДеятельностиНДС(Объект, ЭтотОбъект, Истина);
ЗаполнитьНалогообложениеНДС();
НалогообложениеНДСПриИзмененииСервер();
ПолучитьМетодОценкиСтоимостиТоваров();
УстановитьВидимостьКоличестваРНПТ();
Если Не Элементы.СобственныеТоварыГруппаКоличествоПоРНПТ.Видимость
Или Не Элементы.ПереданнаяТараГруппаКоличествоПоРНПТ.Видимость
Или Не Элементы.ПолученныеНаКомиссиюГруппаКоличествоПоРНПТ.Видимость
Или Не Элементы.ПереданныеНаКомиссиюГруппаКоличествоПоРНПТ.Видимость Тогда
ПересчитатьКоличествоРНПТ();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПартнерПриИзмененииСервер(Партнер, Контрагент)
ПартнерыИКонтрагенты.ЗаполнитьКонтрагентаПартнераПоУмолчанию(Партнер, Контрагент);
ПредставлениеСчетФактурыПолученной();
КонецПроцедуры
&НаСервере
Процедура СкладПриИзмененииСервер()
УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("Склад, Помещение", Объект.Склад, Объект.Помещение));
ПараметрыУказанияСерий = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(Объект, Документы.ВводОстатков));
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект,ПараметрыУказанияСерий);
Документы.ВводОстатков.ЗаполнитьВидДеятельностиНДС(Объект, ЭтотОбъект, Истина);
Если ЭтоПереходНаАдресноеХранение
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков Тогда
Объект.ЗонаПриемки = Справочники.СкладскиеЯчейки.ЗонаПриемкиПоУмолчанию(Объект.Склад, Объект.Помещение, Объект.ЗонаПриемки);
КонецЕсли;
ИспользоватьАдресноеХранение = СкладыСервер.ИспользоватьАдресноеХранение(Объект.Склад, Объект.Помещение, Объект.Дата, Истина);
УстановитьВидимость();
УстановитьВидимостьЗоныПриемки();
ПересчитатьКоличествоРНПТ();
КонецПроцедуры
&НаСервере
Процедура ПомещениеПриИзмененииСервер()
УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("Склад, Помещение", Объект.Склад, Объект.Помещение));
Если ЭтоПереходНаАдресноеХранение
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков Тогда
Объект.ЗонаПриемки = Справочники.СкладскиеЯчейки.ЗонаПриемкиПоУмолчанию(Объект.Склад, Объект.Помещение, Объект.ЗонаПриемки);
КонецЕсли;
ИспользоватьАдресноеХранение = СкладыСервер.ИспользоватьАдресноеХранение(Объект.Склад, Объект.Помещение, Объект.Дата, Истина);
УстановитьВидимостьЗоныПриемки();
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПоСоглашениюСервер()
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию Тогда
Реквизиты = ЗакупкиСервер.ПолучитьУсловияЗакупок(Объект.СоглашениеСКомитентом);
Если Реквизиты.Склад <> Объект.Склад Тогда
Объект.Склад = Реквизиты.Склад;
Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию;
УстановитьПараметрыВыбораСкладаПомещения();
УстановитьВидимость();
СкладПриИзмененииСервер();
КонецЕсли;
ЗаполнитьЗначенияСвойств(Объект, Реквизиты,, "Склад");
УстановитьДоступностьДоговора(Объект.СоглашениеСКомитентом, Элементы.ПолученныеНаКомиссиюДоговор.Доступность, Элементы.ПолученныеНаКомиссиюДоговор.Видимость, Объект.Договор);
ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию Тогда
УстановитьДоступностьДоговора(Объект.СоглашениеСКомиссионером, Элементы.ПереданныеНаКомиссиюДоговор.Доступность, Элементы.ПереданныеНаКомиссиюДоговор.Видимость, Объект.Договор);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция СтавкаНДСНоменклатуры(Номенклатура, Организация, НалогообложениеНДС, Дата)
СтавкаНДС = УчетНДСУП.СтавкаНДСПоНоменклатуреИНалогообложению(
Номенклатура,
НалогообложениеНДС,
Организация,
Дата);
Возврат СтавкаНДС;
КонецФункции
&НаСервере
Процедура ЦенаВключаетНДСПриИзмененииСервер(КэшированныеЗначения)
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьТЧ(Объект.Товары, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
Для Каждого Стр Из Объект.Товары Цикл
Стр.СуммаБезНДС = Стр.Сумма;
КонецЦикла;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьТЧ(Объект.Товары, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаСервере
Процедура НалогообложениеНДСПриИзмененииСервер()
КэшированныеЗначенияСлужебный = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("СкорректироватьСтавкуНДС", ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыЗаполненияСтавкиНДС(Объект));
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьТЧ(Объект.Товары, СтруктураДействий, КэшированныеЗначенияСлужебный);
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
КэшированныеЗначенияСлужебный.ОбработанныеСтроки,
СтруктураДействий,
Объект.Товары,
Неопределено);
КонецПроцедуры
#КонецОбласти
#Область ШтрихкодыИТорговоеОборудование
&НаКлиенте
Процедура ПоискПоШтрихкодуЗавершение(ДанныхШтрихкода, ДополнительныеПараметры) Экспорт
ОбработатьШтрихкоды(ДанныхШтрихкода);
КонецПроцедуры
&НаКлиенте
Процедура ОбработатьШтрихкоды(ДанныеШтрихкодов)
Если Не ШтрихкодированиеНоменклатурыКлиент.ШтрихкодыВалидны(ДанныеШтрихкодов) Тогда
Возврат;
КонецЕсли;
СтруктураДействийСДобавленнымиСтроками = Новый Структура;
СтруктураДействийСДобавленнымиСтроками.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются", Новый Структура("Номенклатура", "ХарактеристикиИспользуются"));
СтруктураДействийСДобавленнымиСтроками.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
СтруктураДействийСДобавленнымиСтроками.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД", Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
СтруктураДействийСДобавленнымиСтроками.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
СтруктураДействийСДобавленнымиСтроками.Вставить("ЗаполнитьСтавкуНДС", ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыЗаполненияСтавкиНДС(Объект));
СтруктураДействийСДобавленнымиСтроками.Вставить("ЗаполнитьПризнакТипИзмеряемойВеличины", Новый Структура("Номенклатура", "ТипИзмеряемойВеличины"));
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
СтруктураДействийСДобавленнымиСтроками);
КонецЕсли;
ДобавитьВСтруктуруДействияПриИзмененииКоличестваУпаковок(СтруктураДействийСДобавленнымиСтроками, ЭтаФорма);
СтруктураДействийСИзмененнымиСтроками = Новый Структура;
ДобавитьВСтруктуруДействияПриИзмененииКоличестваУпаковок(СтруктураДействийСИзмененнымиСтроками, ЭтаФорма);
СтруктураДействий = ШтрихкодированиеНоменклатурыКлиент.ПараметрыОбработкиШтрихкодов();
СтруктураДействий.Штрихкоды = ДанныеШтрихкодов;
СтруктураДействий.СтруктураДействийСДобавленнымиСтроками = СтруктураДействийСДобавленнымиСтроками;
СтруктураДействий.СтруктураДействийСИзмененнымиСтроками = СтруктураДействийСИзмененнымиСтроками;
СтруктураДействий.ПараметрыУказанияСерий = ПараметрыУказанияСерий;
СтруктураДействий.ИзменятьКоличество = Истина;
ДобавитьПроверкуВозможностиДобавленияНоменклатуры(СтруктураДействий);
ОбработатьШтрихкодыСервер(СтруктураДействий,КэшированныеЗначения);
ШтрихкодированиеНоменклатурыКлиент.ОбработатьНеизвестныеШтрихкоды(СтруктураДействий,КэшированныеЗначения,ЭтаФорма);
Если ШтрихкодированиеНоменклатурыКлиент.НужноОткрытьФормуУказанияСерийПослеОбработкиШтрихкодов(СтруктураДействий) Тогда
ТекущиеДанныеИдентификатор = СтруктураДействий.МассивСтрокССериями[0];
ПодключитьОбработчикОжидания("ОткрытьПодборСерийПриСканированииШтрихкодаНоменклатуры",0.1,Истина);
КонецЕсли;
ЭлементКоллекция = Элементы[ИмяТекущейТаблицыФормы];
Если СтруктураДействий.Свойство("ТекущаяСтрока") И СтруктураДействий.ТекущаяСтрока <> Неопределено Тогда
ЭлементКоллекция.ТекущаяСтрока = СтруктураДействий.ТекущаяСтрока;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработатьШтрихкодыСервер(СтруктураПараметровДействия,КэшированныеЗначения)
ШтрихкодированиеНоменклатурыСервер.ОбработатьШтрихкоды(ЭтаФорма,Объект,СтруктураПараметровДействия,КэшированныеЗначения);
ПараметрыЗаполнения = ЗакупкиСервер.ПараметрыЗаполненияСлужебныхРеквизитовНомераГТД();
ПараметрыЗаполнения.ЗаполнитьСтрануПроисхождения = Ложь;
ЗакупкиСервер.ЗаполнитьСлужебныеРеквизитыНомераГТД(Объект.Товары, ПараметрыЗаполнения);
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьПроверкуВозможностиДобавленияНоменклатуры(СтруктураДействий)
Если ЭтоОстаткиСобственныхТоваров ИЛИ ЭтоОстаткиПереданныхНаКомиссиюТоваров
ИЛИ ЭтоОстаткиПринятыхНаКомиссиюТоваров Тогда
СтруктураДействий.ТолькоТовары = Истина;
КонецЕсли;
Если ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары Тогда
СтруктураДействий.ТолькоТара = Истина;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Серии
&НаКлиенте
Процедура ОткрытьПодборСерийПриСканированииШтрихкодаНоменклатуры()
Если ТекущиеДанныеИдентификатор = Неопределено Тогда
Возврат;
КонецЕсли;
ТекущиеДанные = Объект.Товары.НайтиПоИдентификатору(ТекущиеДанныеИдентификатор);
ОткрытьПодборСерий(,ТекущиеДанные);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьПодборСерий(Текст = "", ТекущиеДанные = Неопределено)
ТабличноеПоле = Элементы[ИмяТекущейТаблицыФормы];
Если ТекущиеДанные = Неопределено Тогда
ТекущиеДанные = ТабличноеПоле.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
ТекстСообщения = НСтр("ru='Выберите строку товаров, для которой необходимо указать серии.'");
ПоказатьПредупреждение(Неопределено, ТекстСообщения);
Возврат;
КонецЕсли;
КонецЕсли;
Если НоменклатураКлиент.ДляУказанияСерийНуженСерверныйВызов(ЭтаФорма,ПараметрыУказанияСерий,Текст,ТекущиеДанные) Тогда
ТекущиеДанныеИдентификатор = ТекущиеДанные.ПолучитьИдентификатор();
ПараметрыФормыУказанияСерий = ПараметрыФормыУказанияСерий(ТекущиеДанныеИдентификатор);
ОткрытьФорму(ПараметрыФормыУказанияСерий.ИмяФормы,ПараметрыФормыУказанияСерий,ЭтаФорма,,,, Новый ОписаниеОповещения("ОткрытьПодборСерийЗавершение", ЭтотОбъект, Новый Структура("ПараметрыФормыУказанияСерий", ПараметрыФормыУказанияСерий)), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьПодборСерийЗавершение(Результат, ДополнительныеПараметры) Экспорт
ПараметрыФормыУказанияСерий = ДополнительныеПараметры.ПараметрыФормыУказанияСерий;
ЗначениеВозврата = Результат;
Если ЗначениеВозврата <> Неопределено Тогда
ОбработатьУказаниеСерийСервер(ПараметрыФормыУказанияСерий);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьСтатусыУказанияСерийПриОкончанииРедактированияСтрокиТЧ(ТекущаяСтрокаИдентификатор, КэшированныеЗначения)
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерийПриОкончанииРедактированияСтрокиТЧ(Объект,
ПараметрыУказанияСерий,
ТекущаяСтрокаИдентификатор,
КэшированныеЗначения);
КонецПроцедуры
&НаСервере
Функция ПараметрыФормыУказанияСерий(ТекущиеДанныеИдентификатор)
Возврат НоменклатураСервер.ПараметрыФормыУказанияСерий(Объект, ПараметрыУказанияСерий, ТекущиеДанныеИдентификатор, ЭтаФорма);
КонецФункции
&НаСервере
Процедура ОбработатьУказаниеСерийСервер(ПараметрыФормыУказанияСерий)
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ОбновлятьКоличествоТоваровПриРегистрацииСерий", Истина);
ДобавитьВСтруктуруДействияПриИзмененииКоличестваУпаковок(СтруктураДействий, ЭтаФорма);
НоменклатураСервер.ОбработатьУказаниеСерий(Объект,ПараметрыУказанияСерий,ПараметрыФормыУказанияСерий, СтруктураДействий);
КонецПроцедуры
#КонецОбласти
#Область НомераГТД
&НаКлиенте
Процедура ОбработатьПодборНомераГТД(РезультатПодбора)
ТекущиеДанные = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ИдентификаторСтроки = ТекущиеДанные.ПолучитьИдентификатор();
Если ИдентификаторСтроки = Неопределено Тогда
Возврат;
КонецЕсли;
ЗаполненыНомераГТД = Ложь;
НомерГТД = Неопределено;
ОбработатьУказаниеНомераГТДСервер(ИдентификаторСтроки, РезультатПодбора, ЗаполненыНомераГТД, НомерГТД);
ЗакупкиКлиент.ОповеститьОЗаполненииНомеровГТДВТабличнойЧасти(ЗаполненыНомераГТД, НомерГТД);
КонецПроцедуры
&НаСервере
Процедура ОбработатьУказаниеНомераГТДСервер(ИдентификаторСтроки,
РезультатПодбора,
ЗаполненыНомераГТД,
НомерГТД)
ДанныеПодбора = ПолучитьИзВременногоХранилища(РезультатПодбора.АдресВоВременномХранилище);
НомерГТД = ?(ДанныеПодбора.ОстаточныйНомерГТД <> Неопределено,
НомерГТД,
ДанныеПодбора.ОсновнойНомерГТД);
ПараметрыПодбораНомераГТД = ЗакупкиСервер.ПараметрыПодбораНомераГТД();
ПараметрыПодбораНомераГТД.ИмяТаблицыФормы = ИмяТекущейТаблицыФормы;
ДействияОбработки = Новый Структура;
Если ДанныеПодбора.ОстаточныйНомерГТД <> Неопределено Тогда
ДобавитьВСтруктуруДействияПриИзмененииКоличестваУпаковок(ДействияОбработки, ЭтотОбъект);
Иначе
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
ДействияОбработки);
КонецЕсли;
КонецЕсли;
ЗакупкиСервер.ОбработатьУказаниеНомераГТД(ЭтотОбъект,
ИдентификаторСтроки,
ДанныеПодбора,
ЗаполненыНомераГТД,
ПараметрыПодбораНомераГТД,
ДействияОбработки);
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущаяСтрока;
Если ТекущаяСтрока <> Неопределено Тогда
ЗаполнитьПризнакЕстьДетализацияПартийПоСтроке(ТекущаяСтрока);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НомерГТДСоздание(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущиеДанные = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
ДополнительныеПараметры = ЗакупкиКлиент.ДополнительныеПараметрыСозданияНомераГТД();
ЗаполнитьЗначенияСвойств(ДополнительныеПараметры, Объект);
ЗаполнитьЗначенияСвойств(ДополнительныеПараметры, ЭтотОбъект);
ДополнительныеПараметры.ВалютаДокумента = ВалютаУправленческогоУчета;
ПараметрыСоздания = ЗакупкиКлиент.ПараметрыСозданияНомераГТД(ТекущиеДанные,
Элемент.ТекстРедактирования,
ДополнительныеПараметры);
ЗакупкиКлиент.ОткрытьФормуСозданияНомераГТД(ЭтотОбъект, ПараметрыСоздания);
КонецПроцедуры
&НаКлиенте
Процедура НомерГТДОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Если ВыбранноеЗначение = Неопределено Тогда
Возврат;
КонецЕсли;
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
ПараметрыЗаполнения = Новый Структура("НомерГТД", ВыбранноеЗначение);
Действия = Новый Структура;
Действия.Вставить("ЗаполнитьТипНомераГТД", ПараметрыЗаполнения);
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
Действия);
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, Действия, Неопределено);
КонецПроцедуры
#КонецОбласти
#Область Счетфактура
&НаКлиенте
Процедура ТекстСчетФактураОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
Если ЭтоОстаткиСобственныхТоваров Тогда
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = Объект.Ссылка;
ПараметрыРегистрации.Дата = Объект.Дата;
ПараметрыРегистрации.Организация = Объект.Организация;
ПараметрыРегистрации.Контрагент = Объект.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Объект.НалогообложениеНДС;
УчетНДСУПКлиент.ОбработкаНавигационнойСсылкиСчетаФактурыПолученные(ЭтаФорма, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка, ПараметрыРегистрации);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область РаботаСБуферомОбмена
&НаСервере
Процедура СкопироватьСтрокиНаСервере()
РаботаСТабличнымиЧастями.СкопироватьСтрокиВБуферОбмена(Объект.Товары, Элементы.СобственныеТовары.ВыделенныеСтроки);
КонецПроцедуры
&НаСервере
Процедура ПолучитьСтрокиИзБуфераОбмена()
ПараметрыОтбора = Новый Соответствие;
ПараметрыОтбора.Вставить("Номенклатура.ТипНоменклатуры", НоменклатураКлиентСервер.ОтборПоТоваруМногооборотнойТаре(Ложь));
Колонки = "Номенклатура, Характеристика, Упаковка, КоличествоУпаковок";
ТаблицаТоваров = РаботаСТабличнымиЧастями.СтрокиИзБуфераОбмена(ПараметрыОтбора, Колонки);
Если Не ЗначениеЗаполнено(ТаблицаТоваров) Тогда
Возврат;
КонецЕсли;
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
СтруктураДействий);
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
КэшированныеЗначения = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
ОбрабатываемыеСтроки = Новый Массив();
Для Каждого СтрокаТовара Из ТаблицаТоваров Цикл
ТекущаяСтрока = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(ТекущаяСтрока, СтрокаТовара);
ТекущаяСтрока.СтавкаНДС = СтавкаНДСНоменклатуры(ТекущаяСтрока.Номенклатура, Объект.Организация, Объект.НалогообложениеНДС, Объект.Дата);
ОбрабатываемыеСтроки.Добавить(ТекущаяСтрока);
КонецЦикла;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
ОбрабатываемыеСтроки,
СтруктураДействий,
Объект.Товары,
КэшированныеЗначения);
ПараметрыЗаполнения = Новый Структура;
ПараметрыЗаполнения.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются", Новый Структура("Номенклатура", "ХарактеристикиИспользуются"));
ПараметрыЗаполнения.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
ПараметрыЗаполнения.Вставить("ЗаполнитьПризнакТипИзмеряемойВеличины", Новый Структура("Номенклатура", "ТипИзмеряемойВеличины"));
ПараметрыЗаполнения.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД", Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
ПараметрыЗаполнения.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(Объект.Товары, ПараметрыЗаполнения);
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий);
ПараметрыЗаполнения = ЗакупкиСервер.ПараметрыЗаполненияСлужебныхРеквизитовНомераГТД();
ПараметрыЗаполнения.ЗаполнитьСтрануПроисхождения = Ложь;
ЗакупкиСервер.ЗаполнитьСлужебныеРеквизитыНомераГТД(Объект.Товары, ПараметрыЗаполнения);
КонецПроцедуры
&НаСервере
Процедура УстановитьДоступностьКомандБуфераОбмена()
МассивЭлементов = Новый Массив();
МассивЭлементов.Добавить("СобственныеТоварыВставитьСтроки");
МассивЭлементов.Добавить("СобственныеТоварыКонтекстноеМенюВставитьСтроки");
ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементовФормы(Элементы,
МассивЭлементов,
"Доступность",
РаботаСТабличнымиЧастями.ЕстьСтрокиВБуфереОбмена());
КонецПроцедуры
&НаКлиенте
Процедура УстановитьДоступностьКомандБуфераОбменаНаКлиенте()
МассивЭлементов = Новый Массив();
МассивЭлементов.Добавить("СобственныеТоварыВставитьСтроки");
МассивЭлементов.Добавить("СобственныеТоварыКонтекстноеМенюВставитьСтроки");
ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементовФормы(Элементы, МассивЭлементов, "Доступность", Истина);
КонецПроцедуры
#КонецОбласти
#Область РаботаСКонтрагентами
&НаКлиенте
Процедура Подключаемый_ПоказатьПредложениеИспользоватьПроверкуКонтрагентов()
ПроверкаКонтрагентовКлиент.ПредложитьВключитьПроверкуКонтрагентов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбработатьРезультатПроверкиКонтрагентов()
ПроверкаКонтрагентовКлиент.ОбработатьРезультатПроверкиКонтрагентовВДокументе(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ОтобразитьРезультатПроверкиКонтрагента() Экспорт
ПроверкаКонтрагентов.ОтобразитьРезультатПроверкиКонтрагентаВДокументе(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания) Экспорт
ПроверкаКонтрагентов.ПроверитьКонтрагентовВДокументеФоновоеЗадание(ЭтотОбъект, ПараметрыФоновогоЗадания);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьКонтрагентов(Команда)
ПроверкаКонтрагентовКлиент.ПроверитьКонтрагентовВДокументеПоКнопке(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область Прочее
&НаСервере
Процедура ПриЧтенииСозданииНаСервере(ДанныеОбъекта)
ИспользоватьАдресноеХранение = СкладыСервер.ИспользоватьАдресноеХранение(
ДанныеОбъекта.Склад, ДанныеОбъекта.Помещение, ДанныеОбъекта.Дата, Истина);
ИспользоватьУчетПрослеживаемыхИмпортныхТоваров = УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(
Объект.Дата);
ПараметрыУказанияСерий = Новый ФиксированнаяСтруктура(
НоменклатураСервер.ПараметрыУказанияСерий(ДанныеОбъекта, Документы.ВводОстатков));
Если ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство Тогда
УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("Подразделение", ДанныеОбъекта.Подразделение));
Иначе
УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("Склад, Помещение",ДанныеОбъекта.Склад, ДанныеОбъекта.Помещение));
КонецЕсли;
ЗапретитьПоступлениеТоваровБезНомеровГТД = ПолучитьФункциональнуюОпцию("ЗапретитьПоступлениеТоваровБезНомеровГТД")
И (ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров
ИЛИ ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию
ИЛИ ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков);
ТипыОперацийТовароДвижения = Документы.ВводОстатков.ИнициализироватьХозяйственнуюОперациюТовародвижения(ДанныеОбъекта);
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ТипыОперацийТовароДвижения);
ПоЗаказу = ЗначениеЗаполнено(ДанныеОбъекта.ЗаказПереработчику);
ЗаказПереработчику = ДанныеОбъекта.ЗаказПереработчику;
Элементы.ПереданныеПереработчикамТоварыЗаказПереработчику.Видимость = ПоЗаказу;
ИспользуютсяОрдерныеСклады = ПолучитьФункциональнуюОпцию("ИспользоватьОрдерныеСклады");
УстановитьВидимость();
УстановитьПараметрыВыбораСкладаПомещения();
УстановитьПараметрыВыбораВидаЗапасов();
УстановитьПараметрыВыбораПартнера();
УстановитьПараметрыВыбораНоменклатуры();
Документы.ВводОстатков.ЗаполнитьВидДеятельностиНДС(ДанныеОбъекта, ЭтотОбъект);
Если ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию Тогда
УстановитьДоступностьДоговора(ДанныеОбъекта.СоглашениеСКомитентом, Элементы.ПолученныеНаКомиссиюДоговор.Доступность, Элементы.ПолученныеНаКомиссиюДоговор.Видимость, ДанныеОбъекта.Договор);
ИначеЕсли ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию Тогда
УстановитьДоступностьДоговора(ДанныеОбъекта.СоглашениеСКомиссионером, Элементы.ПереданныеНаКомиссиюДоговор.Доступность, Элементы.ПереданныеНаКомиссиюДоговор.Видимость, ДанныеОбъекта.Договор);
КонецЕсли;
Элементы.ПолученныеНаКомиссиюВалюта.ТолькоПросмотр = ЗначениеЗаполнено(ДанныеОбъекта.СоглашениеСКомитентом);
Элементы.ПолученныеНаКомиссиюНалогообложениеНДС.ТолькоПросмотр = ЗначениеЗаполнено(ДанныеОбъекта.СоглашениеСКомитентом);
ПараметрыЗаполненияРеквизитов = Новый Структура;
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются",
Новый Структура("Номенклатура", "ХарактеристикиИспользуются"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипНоменклатуры",
Новый Структура("Номенклатура", "ТипНоменклатуры"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакАртикул",
Новый Структура("Номенклатура", "Артикул"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД",
Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипИзмеряемойВеличины",
Новый Структура("Номенклатура", "ТипИзмеряемойВеличины"));
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
ПараметрыЗаполненияРеквизитов);
КонецЕсли;
НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(Объект.Товары, ПараметрыЗаполненияРеквизитов);
ПараметрыЗаполнения = ЗакупкиСервер.ПараметрыЗаполненияСлужебныхРеквизитовНомераГТД();
ПараметрыЗаполнения.ЗаполнитьСтрануПроисхождения = Ложь;
ЗакупкиСервер.ЗаполнитьСлужебныеРеквизитыНомераГТД(Объект.Товары, ПараметрыЗаполнения);
ПредставлениеСчетФактурыПолученной();
ЗаполнитьПризнакЕстьДетализацияПартий();
ИспользуютсяОрдерныеСклады = ПолучитьФункциональнуюОпцию("ИспользоватьОрдерныеСклады");
ПолучитьМетодОценкиСтоимостиТоваров();
КонецПроцедуры
&НаСервере
Процедура ОбработкаВыбораПодборНаСервере(ВыбранноеЗначение, КэшированныеЗначения)
ТаблицаТоваров = ПолучитьИзВременногоХранилища(ВыбранноеЗначение.АдресТоваровВХранилище);
ОбрабатываемыеСтроки = Новый Массив();
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
СтруктураДействий);
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
СтруктураДействийПостОбработка = Новый Структура;
Если Объект.ЦенаВключаетНДС Тогда
СтруктураДействийПостОбработка.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействийПостОбработка.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействийПостОбработка.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
Для Каждого СтрокаТовара Из ТаблицаТоваров Цикл
ТекущаяСтрока = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(ТекущаяСтрока, СтрокаТовара, "Номенклатура, Характеристика, Упаковка, КоличествоУпаковок, Цена");
ТекущаяСтрока.СтавкаНДС = СтавкаНДСНоменклатуры(ТекущаяСтрока.Номенклатура, Объект.Организация, Объект.НалогообложениеНДС, Объект.Дата);
ОбрабатываемыеСтроки.Добавить(ТекущаяСтрока);
КонецЦикла;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
ОбрабатываемыеСтроки,
СтруктураДействий,
Объект.Товары,
КэшированныеЗначения);
Если Не Объект.ЦенаВключаетНДС Тогда
Для Каждого ТекущаяСтрока Из ОбрабатываемыеСтроки Цикл
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
КонецЦикла;
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
ОбрабатываемыеСтроки,
СтруктураДействийПостОбработка,
Объект.Товары,
КэшированныеЗначения);
ПараметрыЗаполненияРеквизитов = Новый Структура;
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются",
Новый Структура("Номенклатура", "ХарактеристикиИспользуются"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипНоменклатуры",
Новый Структура("Номенклатура", "ТипНоменклатуры"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакАртикул",
Новый Структура("Номенклатура", "Артикул"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД",
Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипИзмеряемойВеличины",
Новый Структура("Номенклатура", "ТипИзмеряемойВеличины"));
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
ПараметрыЗаполненияРеквизитов);
КонецЕсли;
НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(Объект.Товары,ПараметрыЗаполненияРеквизитов);
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий);
ПараметрыЗаполнения = ЗакупкиСервер.ПараметрыЗаполненияСлужебныхРеквизитовНомераГТД();
ПараметрыЗаполнения.ЗаполнитьСтрануПроисхождения = Ложь;
ЗакупкиСервер.ЗаполнитьСлужебныеРеквизитыНомераГТД(Объект.Товары, ПараметрыЗаполнения);
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимость()
ВнутренняяНакладнаяВПартии = ЗначениеЗаполнено(Объект.Партия) И
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Партия, "ТипПервичногоДокумента") = Перечисления.ТипыПервичныхДокументов.ВнутренняяНакладная;
ВидимостьГруппУчета = Документы.ВводОстатков.ВидимостьГруппУчета(Объект);
Элементы.ОтражатьВБУиНУ.Видимость = Ложь;
Элементы.ОтражатьВУУ.Видимость = Ложь;
Элементы.ОтражатьСебестоимость.Видимость = РасчетСебестоимостиПовтИсп.ФормироватьДвиженияПоРегистрамСебестоимости(НачалоМесяца(Объект.Дата), Истина);
Элементы.ГруппаВводОстатковПо.Видимость = ВидимостьГруппУчета;
Элементы.ГруппаВводОстатковНаКомиссию.Видимость = ВидимостьГруппУчета;
Элементы.ГруппаВводОстатковПереданныеНаКомиссию.Видимость = ВидимостьГруппУчета;
Элементы.ГруппаВводОстатковПринятаяТара.Видимость = ВидимостьГруппУчета;
Элементы.ГруппаВводОстатковПереданнаяТара.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьРеглУчет");
Элементы.ГруппаВводОстатковПереданныеПереработчикам.Видимость = ВидимостьГруппУчета;
Элементы.ГруппаВводОстатковПереданныеВПроизводство.Видимость = ВидимостьГруппУчета;
Если НЕ ВидимостьГруппУчета Тогда
Объект.ОтражатьВОперативномУчете = Истина;
Объект.ОтражатьСебестоимость = Ложь;
Объект.ОтражатьВБУиНУ = Ложь;
Объект.ОтражатьВУУ = Ложь;
КонецЕсли;
Элементы.ГруппаСобственныеТовары.Видимость = ЭтоОстаткиСобственныхТоваров;
Если Элементы.ГруппаСобственныеТовары.Видимость Тогда
ИмяТекущейТаблицыФормы = Элементы.СобственныеТовары.Имя;
КонецЕсли;
Элементы.ГруппаПолученныеНаКомиссию.Видимость = ЭтоОстаткиПринятыхНаКомиссиюТоваров;
Если Элементы.ГруппаПолученныеНаКомиссию.Видимость Тогда
ИмяТекущейТаблицыФормы = Элементы.ПолученныеНаКомиссию.Имя;
КонецЕсли;
Элементы.ГруппаПереданныеНаКомиссию.Видимость = ЭтоОстаткиПереданныхНаКомиссиюТоваров;
Если Элементы.ГруппаПереданныеНаКомиссию.Видимость Тогда
ИмяТекущейТаблицыФормы = Элементы.ПереданныеНаКомиссию.Имя;
КонецЕсли;
Элементы.ГруппаПереданныеПереработчикамТовары.Видимость = ЭтоОстаткиПереданныхПереработчикамТоваров;
Если Элементы.ГруппаПереданныеПереработчикамТовары.Видимость Тогда
ИмяТекущейТаблицыФормы = Элементы.ПереданныеПереработчикамТовары.Имя;
КонецЕсли;
Элементы.ГруппаПереданныеВПроизводствоТовары.Видимость = ЭтоОстаткиПереданныхВПроизводствоТоваров;
Если Элементы.ГруппаПереданныеВПроизводствоТовары.Видимость Тогда
ИмяТекущейТаблицыФормы = Элементы.ПереданныеВПроизводствоТовары.Имя;
КонецЕсли;
Элементы.ГруппаПринятаяТара.Видимость = ЭтоОстаткиПринятойТары;
Если Элементы.ГруппаПринятаяТара.Видимость Тогда
ИмяТекущейТаблицыФормы = Элементы.ПринятаяТара.Имя;
КонецЕсли;
Элементы.ГруппаПереданнаяТара.Видимость = ЭтоОстаткиПереданнойТары;
Если Элементы.ГруппаПереданнаяТара.Видимость Тогда
ИмяТекущейТаблицыФормы = Элементы.ПереданнаяТара.Имя;
КонецЕсли;
Элементы.ГруппаПереходНаАдресноеХранение.Видимость = ЭтоПереходНаАдресноеХранение Или ЭтоПереходНаСкладскиеПомещения;
Если Элементы.ГруппаПереходНаАдресноеХранение.Видимость Тогда
ИмяТекущейТаблицыФормы = Элементы.ПереходНаАдресноеХранениеТовары.Имя;
Элементы.ПереходНаАдресноеХранениеЗонаПриемки.Видимость = ЭтоПереходНаАдресноеХранение;
Элементы.ПереходНаАдресноеХранениеТоварыЗаполнитьОстаткамиТоваровНаСкладе.Видимость = ЭтоПереходНаАдресноеХранение;
Элементы.ПереходНаАдресноеХранениеТоварыЗаполнитьОстаткамиТоваровНаПустомПомещении.Видимость = ЭтоПереходНаСкладскиеПомещения;
КонецЕсли;
Элементы.СобственныеТоварыУказатьСерии.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.СобственныеТоварыСтатусУказанияСерий.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.СобственныеТоварыСерия.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.ПолученныеНаКомиссиюУказатьСерии.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.ПолученныеНаКомиссиюСтатусУказанияСерий.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.ПолученныеНаКомиссиюСерия.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.ПереходНаАдресноеХранениеТоварыУказатьСерии.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.ПереходНаАдресноеХранениеТоварыСтатусУказанияСерий.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.ПереходНаАдресноеХранениеТоварыСерия.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.ПереданныеВПроизводствоТоварыУказатьСерии.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.ПереданныеВПроизводствоТоварыСтатусУказанияСерий.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
Элементы.ПереданныеВПроизводствоТоварыСерия.Видимость = ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры;
ЗаполнениеПоОстаткам = НЕ Объект.ОтражатьВОперативномУчете И (Объект.ОтражатьСебестоимость ИЛИ Объект.ОтражатьВБУиНУ ИЛИ Объект.ОтражатьВУУ);
Элементы.СобственныеТоварыЗаполнитьПоОстаткам.Видимость = ЗаполнениеПоОстаткам;
Элементы.ПолученныеНаКомиссиюЗаполнитьПоОстаткам.Видимость = ЗаполнениеПоОстаткам;
Элементы.ПереданныеНаКомиссиюЗаполнитьПоОстаткам.Видимость = ЗаполнениеПоОстаткам;
Элементы.ПринятаяТараЗаполнитьПоОстаткам.Видимость = ЗаполнениеПоОстаткам;
Элементы.ПереданныеПереработчикамТоварыЗаполнитьПоОстаткам.Видимость = ЗаполнениеПоОстаткам;
Элементы.ПереданныеВПроизводствоТоварыЗаполнитьПоОстаткам.Видимость = ЗаполнениеПоОстаткам;
ВидимостьРеквизитовРегл = Объект.ОтражатьВОперативномУчете ИЛИ Объект.ОтражатьСебестоимость ИЛИ Объект.ОтражатьВБУиНУ;
Элементы.СобственныеТоварыСуммаРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.СобственныеТоварыНДСРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.СобственныеТоварыСуммаПР.Видимость = ВидимостьРеквизитовРегл;
Элементы.СобственныеТоварыСуммаВР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПолученныеНаКомиссиюСуммаРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПолученныеНаКомиссиюНДСРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПолученныеНаКомиссиюСуммаПР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПолученныеНаКомиссиюСуммаВР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеНаКомиссиюСуммаРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеНаКомиссиюНДСРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеНаКомиссиюСуммаПР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеНаКомиссиюСуммаВР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПринятаяТараСуммаРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПринятаяТараСуммаПР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПринятаяТараСуммаВР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПринятаяТараСуммаРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПринятаяТараСуммаПР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПринятаяТараСуммаВР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданнаяТараСуммаРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданнаяТараСуммаПР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданнаяТараСуммаВР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеПереработчикамТоварыСуммаРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеПереработчикамТоварыНДСРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеПереработчикамТоварыСуммаПР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеПереработчикамТоварыСуммаВР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеВПроизводствоТоварыСуммаРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеВПроизводствоТоварыНДСРегл.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеВПроизводствоТоварыСуммаПР.Видимость = ВидимостьРеквизитовРегл;
Элементы.ПереданныеВПроизводствоТоварыСуммаВР.Видимость = ВидимостьРеквизитовРегл;
ВидимостьРеквизитовУпр = Объект.ОтражатьВОперативномУчете ИЛИ Объект.ОтражатьСебестоимость ИЛИ Объект.ОтражатьВУУ;
ВидимостьРеквизитовСумм = Объект.ОтражатьСебестоимость ИЛИ Объект.ОтражатьВБУиНУ ИЛИ Объект.ОтражатьВУУ;
Элементы.СобственныеТоварыЦена.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.СобственныеТоварыСумма.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.СобственныеТоварыСтавкаНДС.Видимость = Не ВнутренняяНакладнаяВПартии;
Элементы.СобственныеТоварыСуммаБезНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр И Не ВнутренняяНакладнаяВПартии;
Элементы.СобственныеТоварыСуммаНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр И Не ВнутренняяНакладнаяВПартии;
Элементы.СобственныеТоварыСуммаСНДС.Видимость = ВидимостьРеквизитовСумм И Не ВнутренняяНакладнаяВПартии;
Элементы.СобственныеТоварыСуммаРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.СобственныеТоварыНДСРегл.Видимость = ВидимостьРеквизитовСумм И Не ВнутренняяНакладнаяВПартии;
Элементы.СобственныеТоварыСуммаПР.Видимость = ВидимостьРеквизитовСумм;
Элементы.СобственныеТоварыСуммаВР.Видимость = ВидимостьРеквизитовСумм;
Элементы.СобственныеТоварыЦенаВключаетНДС.Видимость = ВидимостьРеквизитовСумм И Не ВнутренняяНакладнаяВПартии;
Элементы.ПолученныеНаКомиссиюЦена.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПолученныеНаКомиссиюСумма.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПолученныеНаКомиссиюСуммаБезНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПолученныеНаКомиссиюСуммаНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПолученныеНаКомиссиюСуммаСНДС.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПолученныеНаКомиссиюСуммаРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПолученныеНаКомиссиюНДСРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПолученныеНаКомиссиюСуммаПР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПолученныеНаКомиссиюСуммаВР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПолученныеНаКомиссиюЦенаВключаетНДС.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеНаКомиссиюЦена.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеНаКомиссиюСумма.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеНаКомиссиюСуммаБезНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеНаКомиссиюСуммаНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеНаКомиссиюСуммаСНДС.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеНаКомиссиюСуммаРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеНаКомиссиюНДСРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеНаКомиссиюСуммаПР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеНаКомиссиюСуммаВР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеНаКомиссиюЦенаВключаетНДС.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПринятаяТараЦена.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПринятаяТараСумма.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПринятаяТараСуммаРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПринятаяТараСуммаПР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПринятаяТараСуммаВР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданнаяТараЦена.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданнаяТараСумма.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданнаяТараСуммаРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданнаяТараСуммаПР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданнаяТараСуммаВР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеПереработчикамТоварыЦена.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеПереработчикамТоварыСумма.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеПереработчикамТоварыСуммаБезНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеПереработчикамТоварыСуммаНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеПереработчикамТоварыСуммаСНДС.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеПереработчикамТоварыСуммаРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеПереработчикамТоварыНДСРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеПереработчикамТоварыСуммаПР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеПереработчикамТоварыСуммаВР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеПереработчикамТоварыЦенаВключаетНДС.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеВПроизводствоТоварыЦена.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеВПроизводствоТоварыСумма.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеВПроизводствоТоварыСуммаБезНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеВПроизводствоТоварыСуммаНДС.Видимость = ВидимостьРеквизитовСумм И ВидимостьРеквизитовУпр;
Элементы.ПереданныеВПроизводствоТоварыСуммаСНДС.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеВПроизводствоТоварыСуммаРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеВПроизводствоТоварыНДСРегл.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеВПроизводствоТоварыСуммаПР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеВПроизводствоТоварыСуммаВР.Видимость = ВидимостьРеквизитовСумм;
Элементы.ПереданныеВПроизводствоТоварыЦенаВключаетНДС.Видимость = ВидимостьРеквизитовСумм;
Элементы.СобственныеТоварыПартия.Видимость = НЕ Объект.ВводОстатков22;
Элементы.СобственныеТоварыУказатьДокументыПоступления.Видимость = НЕ Объект.ВводОстатков22 И Не ВнутренняяНакладнаяВПартии;
Элементы.СобственныеТоварыДетализацияПартий.Видимость = НЕ Объект.ВводОстатков22 И Не ВнутренняяНакладнаяВПартии;
Элементы.ГруппаСтраницыСчетФактура.Видимость = Объект.ВводОстатков22;
Элементы.ПолученныеНаКомиссиюПартия.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПереданныеНаКомиссиюПартия.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПереданныеНаКомиссиюУказатьДокументыПоступления.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПереданныеНаКомиссиюДетализацияПартий.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПринятаяТараПартия.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПереданныеПереработчикамПартия.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПереданныеПереработчикамТоварыУказатьДокументыПоступления.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПереданныеПереработчикамТоварыДетализацияПартий.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПереданныеВПроизводствоТоварыПартия.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПереданныеВПроизводствоТоварыУказатьДокументыПоступления.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ПереданныеВПроизводствоТоварыДетализацияПартий.Видимость = НЕ Объект.ВводОстатков22;
Элементы.ГруппаПартнер.Видимость = Объект.ВводОстатков22;
Элементы.ГруппаКонтрагент.Видимость = Объект.ВводОстатков22;
Элементы.ПринятаяТараКонтрагент.Видимость = Объект.ВводОстатков22;
УстановитьВидимостьЗоныПриемки();
КонецПроцедуры
&НаСервере
Процедура УстановитьЗаголовок()
АвтоЗаголовок = Ложь;
Заголовок = Документы.ВводОстатков.ЗаголовокДокументаПоТипуОперации(Объект.Ссылка,
Объект.Номер,
Объект.Дата,
Объект.ХозяйственнаяОперация);
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьЗоныПриемки()
ЗонаПриемкиВидимость = Ложь;
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков Тогда
ЗонаПриемкиВидимость = ИспользоватьАдресноеХранение;
КонецЕсли;
Если Элементы.ГруппаСобственныеТовары.Видимость Тогда
Элементы.СобственныеТоварыЗонаПриемки.Видимость = ЗонаПриемкиВидимость;
ИначеЕсли Элементы.ГруппаПолученныеНаКомиссию.Видимость Тогда
Элементы.ПолученныеНаКомиссиюЗонаПриемки.Видимость = ЗонаПриемкиВидимость;
ИначеЕсли Элементы.ГруппаПринятаяТара.Видимость Тогда
Элементы.ПринятаяТараЗонаПриемки.Видимость = ЗонаПриемкиВидимость;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьВСтруктуруДействияПриИзмененииКоличестваУпаковок(СтруктураДействий, Форма)
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Форма.Объект);
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Форма.Объект.ХозяйственнаяОперация));
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС");
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", Форма.КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (Форма.ЭтоОстаткиПринятойТары ИЛИ Форма.ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
Если Форма.ЭтоОстаткиСобственныхТоваров
Или Форма.ЭтоОстаткиПринятойТары
Или Форма.ЭтоОстаткиПереданнойТары
Или Форма.ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или Форма.ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Форма.Объект,
СтруктураДействий);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьПараметрыВыбораСкладаПомещения()
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков Тогда
Возврат;
ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений Тогда
ПараметрВыбора = Новый ПараметрВыбора("Отбор.ИспользоватьСкладскиеПомещения",Истина);
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(ПараметрВыбора);
Иначе
МассивНастроек = Новый Массив;
МассивНастроек.Добавить(Перечисления.НастройкиАдресногоХранения.ОпределяетсяНастройкамиПомещения);
МассивНастроек.Добавить(Перечисления.НастройкиАдресногоХранения.ЯчейкиОстатки);
ПараметрВыбора = Новый ПараметрВыбора("Отбор.НастройкаАдресногоХранения",Новый ФиксированныйМассив(МассивНастроек));
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(ПараметрВыбора);
КонецЕсли;
Элементы.СобственныеТоварыСклад.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПолученныеНаКомиссиюСклад.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.СобственныеТоварыПомещение.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПолученныеНаКомиссиюПомещение.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПринятаяТараСклад.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПринятаяТараПомещение.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПереходНаАдресноеХранениеСклад.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПереходНаАдресноеХранениеПомещение.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
КонецПроцедуры
&НаСервере
Процедура УстановитьПараметрыВыбораВидаЗапасов()
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.Организация", "Объект.Организация"));
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.ХозяйственнаяОперация", "Объект.ХозяйственнаяОперация"));
Если ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета") Тогда
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.Номенклатура", "Элементы.СобственныеТовары.ТекущиеДанные.Номенклатура"));
КонецЕсли;
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров Тогда
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.Партнер", "Объект.Партнер"));
КонецЕсли;
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков Тогда
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.Комитент", "Объект.Партнер"));
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.Контрагент", "Объект.Контрагент"));
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.Договор", "Объект.Договор"));
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.Соглашение", "Объект.СоглашениеСКомитентом"));
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.Валюта", "Объект.Валюта"));
МассивПараметров.Добавить(Новый СвязьПараметраВыбора("Отбор.НалогообложениеНДС", "Объект.НалогообложениеНДС"));
КонецЕсли;
Элементы.СобственныеТоварыВидЗапасов.СвязиПараметровВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПолученныеНаКомиссиюВидЗапасов.СвязиПараметровВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПереданныеНаКомиссиюВидЗапасов.СвязиПараметровВыбора = Новый ФиксированныйМассив(МассивПараметров);
КонецПроцедуры
&НаСервере
Процедура УстановитьПараметрыВыбораПартнера()
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам Тогда
МассивПараметров = Новый Массив;
ПараметрВыбора = Новый ПараметрВыбора("Отбор.Поставщик", Истина);
МассивПараметров.Добавить(ПараметрВыбора);
Элементы.ПереданныеПереработчикамТоварыПартнер.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьПараметрыВыбораНоменклатуры()
Если ЭтоОстаткиПереданнойТары ИЛИ ЭтоОстаткиПринятойТары Тогда
МассивЗначений = Новый Массив;
МассивЗначений.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.МногооборотнаяТара"));
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ТипНоменклатуры", Новый ФиксированныйМассив(МассивЗначений)));
ПараметрыВыбораНоменклатуры = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПринятаяТараНоменклатура.ПараметрыВыбора = ПараметрыВыбораНоменклатуры;
Элементы.ПереданнаяТараНоменклатура.ПараметрыВыбора = ПараметрыВыбораНоменклатуры;
ИначеЕсли ЭтоОстаткиПереданныхВПроизводствоТоваров Тогда
МассивЗначений = Новый Массив;
МассивЗначений.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.Работа"));
МассивЗначений.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.Товар"));
МассивЗначений.Добавить(ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.МногооборотнаяТара"));
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ТипНоменклатуры", Новый ФиксированныйМассив(МассивЗначений)));
ПараметрыВыбораНоменклатуры = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПереданныеВПроизводствоТоварыНоменклатура.ПараметрыВыбора = ПараметрыВыбораНоменклатуры;
Иначе
МассивПараметров = Новый Массив;
ПараметрВыбора = Новый ПараметрВыбора("Отбор.ТипНоменклатуры",Новый ФиксированныйМассив(НоменклатураКлиентСервер.ОтборПоТоваруМногооборотнойТаре(Ложь)));
МассивПараметров.Добавить(ПараметрВыбора);
Элементы.СобственныеТоварыНоменклатура.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПолученныеНаКомиссиюНоменклатура.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
Элементы.ПереданныеНаКомиссиюНоменклатура.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьОстаткамиТоваровНеВЯчейкахСервер()
Объект.Товары.Очистить();
Объект.Серии.Очистить();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РазницаВОстатках.Номенклатура КАК Номенклатура,
| РазницаВОстатках.Характеристика КАК Характеристика,
| РазницаВОстатках.Назначение КАК Назначение,
| РазницаВОстатках.Серия,
| СУММА(РазницаВОстатках.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(РазницаВОстатках.Количество) КАК Количество
|ПОМЕСТИТЬ РазницаВОстаткахДляЗапроса
|ИЗ
| (ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
| ТоварыНаСкладахОстатки.Назначение КАК Назначение,
| ТоварыНаСкладахОстатки.Серия КАК Серия,
| ТоварыНаСкладахОстатки.ВНаличииОстаток КАК КоличествоУпаковок,
| ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Количество
| ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(
| &ДатаОстатков,
| Склад = &Склад
| И Помещение = &Помещение) КАК ТоварыНаСкладахОстатки
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТоварыВЯчейкахОстатки.Номенклатура,
| ТоварыВЯчейкахОстатки.Характеристика,
| ТоварыВЯчейкахОстатки.Назначение,
| ТоварыВЯчейкахОстатки.Серия,
| -ТоварыВЯчейкахОстатки.ВНаличииОстаток * ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1),
| -ТоварыВЯчейкахОстатки.ВНаличииОстаток * ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1)
| ИЗ
| РегистрНакопления.ТоварыВЯчейках.Остатки(
| &ДатаОстатков,
| Ячейка.Владелец = &Склад
| И Ячейка.Помещение = &Помещение) КАК ТоварыВЯчейкахОстатки
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТоварыВЯчейках.Номенклатура,
| ТоварыВЯчейках.Характеристика,
| ТоварыВЯчейках.Назначение,
| ТоварыВЯчейках.Серия,
| ТоварыВЯчейках.ВНаличии,
| ТоварыВЯчейках.ВНаличии
| ИЗ
| РегистрНакопления.ТоварыВЯчейках КАК ТоварыВЯчейках
| ГДЕ
| ТоварыВЯчейках.Регистратор = &Ссылка
| И ТоварыВЯчейках.Ячейка.Владелец = &Склад
| И ТоварыВЯчейках.Ячейка.Помещение = &Помещение) КАК РазницаВОстатках
|
|СГРУППИРОВАТЬ ПО
| РазницаВОстатках.Номенклатура,
| РазницаВОстатках.Характеристика,
| РазницаВОстатках.Назначение,
| РазницаВОстатках.Серия
|;
|
|
|ВЫБРАТЬ
| РазницаВОстаткахДляЗапроса.Номенклатура,
| СУММА(ВЫБОР
| КОГДА НЕ УпаковкиНоменклатуры.Ссылка ЕСТЬ NULL
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ) КАК КоличествоЕдиничныхУпаковок
|ПОМЕСТИТЬ ТаблицаКоличествЕдиничныхУпаковок
|ИЗ
| РазницаВОстаткахДляЗапроса КАК РазницаВОстаткахДляЗапроса
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиНоменклатуры
| ПО (ВЫБОР
| КОГДА РазницаВОстаткахДляЗапроса.Номенклатура.НаборУпаковок = ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.ИндивидуальныйДляНоменклатуры)
| ТОГДА РазницаВОстаткахДляЗапроса.Номенклатура = УпаковкиНоменклатуры.Владелец
| КОГДА РазницаВОстаткахДляЗапроса.Номенклатура.НаборУпаковок <> ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.ПустаяСсылка)
| ТОГДА РазницаВОстаткахДляЗапроса.Номенклатура.НаборУпаковок = УпаковкиНоменклатуры.Владелец
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ)
| И (&ТекстЗапросаКоэффициентУпаковки2 = 1)
|
|СГРУППИРОВАТЬ ПО
| РазницаВОстаткахДляЗапроса.Номенклатура
|;
|
|
|ВЫБРАТЬ
| РазницаВОстатках.Номенклатура,
| РазницаВОстатках.Характеристика,
| РазницаВОстатках.Назначение,
| РазницаВОстатках.Серия,
| РазницаВОстатках.КоличествоУпаковок,
| РазницаВОстатках.Количество,
| ТаблицаКоличествЕдиничныхУпаковок.КоличествоЕдиничныхУпаковок
|ПОМЕСТИТЬ РазницаВОстатках
|ИЗ
| РазницаВОстаткахДляЗапроса КАК РазницаВОстатках
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаКоличествЕдиничныхУпаковок КАК ТаблицаКоличествЕдиничныхУпаковок
| ПО РазницаВОстатках.Номенклатура = ТаблицаКоличествЕдиничныхУпаковок.Номенклатура
|;
|
|
|ВЫБРАТЬ
| РазницаВОстатках.Номенклатура КАК Номенклатура,
| РазницаВОстатках.Характеристика КАК Характеристика,
| РазницаВОстатках.Назначение КАК Назначение,
| ЕСТЬNULL(УпаковкиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)) КАК Упаковка,
| РазницаВОстатках.Серия,
| РазницаВОстатках.КоличествоУпаковок,
| РазницаВОстатках.Количество
|ИЗ
| РазницаВОстатках КАК РазницаВОстатках
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиНоменклатуры
| ПО (ВЫБОР
| КОГДА ВЫРАЗИТЬ(РазницаВОстатках.Номенклатура КАК Справочник.Номенклатура).НаборУпаковок = ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.ИндивидуальныйДляНоменклатуры)
| ТОГДА РазницаВОстатках.Номенклатура = УпаковкиНоменклатуры.Владелец
| КОГДА ВЫРАЗИТЬ(РазницаВОстатках.Номенклатура КАК Справочник.Номенклатура).НаборУпаковок <> ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.ПустаяСсылка)
| ТОГДА ВЫРАЗИТЬ(РазницаВОстатках.Номенклатура КАК Справочник.Номенклатура).НаборУпаковок = УпаковкиНоменклатуры.Владелец
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ)
| И (&ТекстЗапросаКоэффициентУпаковки2 = 1)
| И (РазницаВОстатках.КоличествоЕдиничныхУпаковок = 1)
|ГДЕ
| РазницаВОстатках.КоличествоУпаковок <> 0
|
|УПОРЯДОЧИТЬ ПО
| РазницаВОстатках.Номенклатура.Наименование,
| РазницаВОстатках.Характеристика.Наименование,
| РазницаВОстатках.Назначение.Наименование";
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ТоварыВЯчейкахОстатки.Упаковка",
"ТоварыВЯчейкахОстатки.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"УпаковкиНоменклатуры", Неопределено));
Запрос.УстановитьПараметр("Склад", Объект.Склад);
Запрос.УстановитьПараметр("Помещение", Объект.Помещение);
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Запрос.УстановитьПараметр("ДатаОстатков", КонецДня(Объект.Дата));
Выборка = Запрос.Выполнить().Выбрать();
ТекущаяНоменклатура = Неопределено;
ТекущаяХарактеристика = Неопределено;
ТекущееНазначение = Неопределено;
Пока Выборка.Следующий() Цикл
Если ТекущаяНоменклатура <> Выборка.Номенклатура
ИЛИ ТекущаяХарактеристика <> Выборка.Характеристика
ИЛИ ТекущееНазначение <> Выборка.Назначение Тогда
НоваяСтрокаТоваров = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаТоваров, Выборка);
ТекущаяНоменклатура = Выборка.Номенклатура;
ТекущаяХарактеристика = Выборка.Характеристика;
ТекущееНазначение = Выборка.Назначение;
Иначе
НоваяСтрокаТоваров.КоличествоУпаковок = НоваяСтрокаТоваров.КоличествоУпаковок + Выборка.КоличествоУпаковок;
НоваяСтрокаТоваров.Количество = НоваяСтрокаТоваров.КоличествоУпаковок;
КонецЕсли;
Если ЗначениеЗаполнено(Выборка.Серия) Тогда
НоваяСтрокаСерий = Объект.Серии.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаСерий, Выборка);
КонецЕсли;
КонецЦикла;
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий);
ПараметрыЗаполненияРеквизитов = Новый Структура;
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются",
Новый Структура("Номенклатура", "ХарактеристикиИспользуются"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипНоменклатуры",
Новый Структура("Номенклатура", "ТипНоменклатуры"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакАртикул",
Новый Структура("Номенклатура", "Артикул"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД",
Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
ПараметрыЗаполненияРеквизитов.Вставить("ЗаполнитьПризнакТипИзмеряемойВеличины",
Новый Структура("Номенклатура", "ТипИзмеряемойВеличины"));
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
ПараметрыЗаполненияРеквизитов);
КонецЕсли;
НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(Объект.Товары,ПараметрыЗаполненияРеквизитов);
ПересчитатьКоличествоРНПТ();
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьОстаткамиТоваровНаПустомПомещенииСервер()
Объект.Товары.Очистить();
Объект.Серии.Очистить();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТоварыДляЗапроса.Номенклатура,
| ТоварыДляЗапроса.Характеристика,
| ТоварыДляЗапроса.Назначение,
| ТоварыДляЗапроса.Серия,
| СУММА(ТоварыДляЗапроса.Количество) КАК КоличествоУпаковок,
| СУММА(ТоварыДляЗапроса.Количество) КАК Количество
|ИЗ
| (ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
| ТоварыНаСкладахОстатки.Назначение КАК Назначение,
| ТоварыНаСкладахОстатки.Серия КАК Серия,
| ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Количество
| ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(
| &ДатаОстатков,
| Склад = &Склад
| И Помещение = ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка)) КАК ТоварыНаСкладахОстатки
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТоварыНаСкладахОбороты.Номенклатура,
| ТоварыНаСкладахОбороты.Характеристика,
| ТоварыНаСкладахОбороты.Назначение,
| ТоварыНаСкладахОбороты.Серия,
| ТоварыНаСкладахОбороты.ВНаличииПриход
| ИЗ
| РегистрНакопления.ТоварыНаСкладах.Обороты(, , Регистратор, ) КАК ТоварыНаСкладахОбороты
| ГДЕ
| ТоварыНаСкладахОбороты.Регистратор = &Ссылка) КАК ТоварыДляЗапроса
|
|СГРУППИРОВАТЬ ПО
| ТоварыДляЗапроса.Номенклатура,
| ТоварыДляЗапроса.Характеристика,
| ТоварыДляЗапроса.Назначение,
| ТоварыДляЗапроса.Серия
|
|ИМЕЮЩИЕ
| СУММА(ТоварыДляЗапроса.Количество) > 0
|
|УПОРЯДОЧИТЬ ПО
| ТоварыДляЗапроса.Номенклатура.Наименование,
| ТоварыДляЗапроса.Характеристика.Наименование,
| ТоварыДляЗапроса.Назначение.Наименование,
| ТоварыДляЗапроса.Серия.Наименование";
Запрос.УстановитьПараметр("Склад", Объект.Склад);
Запрос.УстановитьПараметр("ДатаОстатков", КонецДня(Объект.Дата));
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ТекущаяНоменклатура = Неопределено;
ТекущаяХарактеристика = Неопределено;
ТекущееНазначение = Неопределено;
Пока Выборка.Следующий() Цикл
Если ТекущаяНоменклатура <> Выборка.Номенклатура
ИЛИ ТекущаяХарактеристика <> Выборка.Характеристика
ИЛИ ТекущееНазначение <> Выборка.Назначение Тогда
НоваяСтрокаТоваров = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаТоваров, Выборка);
ТекущаяНоменклатура = Выборка.Номенклатура;
ТекущаяХарактеристика = Выборка.Характеристика;
ТекущееНазначение = Выборка.Назначение;
Иначе
НоваяСтрокаТоваров.КоличествоУпаковок = НоваяСтрокаТоваров.КоличествоУпаковок + Выборка.КоличествоУпаковок;
НоваяСтрокаТоваров.Количество = НоваяСтрокаТоваров.КоличествоУпаковок;
КонецЕсли;
Если ЗначениеЗаполнено(Выборка.Серия) Тогда
НоваяСтрокаСерий = Объект.Серии.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаСерий, Выборка);
КонецЕсли;
КонецЦикла;
ПересчитатьКоличествоПоРНПТ = ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары;
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий);
НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(
Объект.Товары,
СтруктураДействийПоОбновлениюВспомогательныхРеквизитовСтроки(ПересчитатьКоличествоПоРНПТ));
ПересчитатьКоличествоРНПТ();
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНалогообложениеНДС()
ПараметрыЗаполнения = Документы.ЗаявкаНаВозвратТоваровОтКлиента.ПараметрыЗаполненияНалогообложенияНДСПродажи(Объект);
УчетНДСУП.ЗаполнитьНалогообложениеНДСПродажи(Объект.НалогообложениеНДС, ПараметрыЗаполнения);
КонецПроцедуры
&НаСервере
Процедура ПолучитьЗагруженныеТоварыИзХранилища(АдресТоваровВХранилище, КэшированныеЗначения)
ТоварыИзХранилища = ПолучитьИзВременногоХранилища(АдресТоваровВХранилище);
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
СтруктураДействий);
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
СтруктураДействийПостОбработка = Новый Структура;
Если Объект.ЦенаВключаетНДС Тогда
СтруктураДействийПостОбработка.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
СтруктураДействийПостОбработка.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействийПостОбработка.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ОбрабатываемыеСтроки = Новый Массив();
Для Каждого СтрокаТоваров Из ТоварыИзХранилища Цикл
СтрокаТЧТовары = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТЧТовары, СтрокаТоваров);
ОбрабатываемыеСтроки.Добавить(СтрокаТЧТовары);
КонецЦикла;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
ОбрабатываемыеСтроки,
СтруктураДействий,
Объект.Товары,
КэшированныеЗначения);
Для Каждого СтрокаТоваров Из ОбрабатываемыеСтроки Цикл
Если Не Объект.ЦенаВключаетНДС Тогда
СтрокаТоваров.СуммаБезНДС = СтрокаТоваров.Сумма;
КонецЕсли;
КонецЦикла;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(
ОбрабатываемыеСтроки,
СтруктураДействийПостОбработка,
Объект.Товары,
КэшированныеЗначения);
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий);
ПараметрыЗаполнения = ЗакупкиСервер.ПараметрыЗаполненияСлужебныхРеквизитовНомераГТД();
ПараметрыЗаполнения.ЗаполнитьСтрануПроисхождения = Ложь;
ЗакупкиСервер.ЗаполнитьСлужебныеРеквизитыНомераГТД(Объект.Товары, ПараметрыЗаполнения);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция СтруктураДействийПоОбновлениюВспомогательныхРеквизитовСтроки(ПересчитатьКоличествоПоРНПТ)
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются", Новый Структура("Номенклатура", "ХарактеристикиИспользуются"));
СтруктураДействий.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
СтруктураДействий.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
СтруктураДействий.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД", Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
СтруктураДействий.Вставить("ЗаполнитьПризнакТипИзмеряемойВеличины", Новый Структура("Номенклатура", "ТипИзмеряемойВеличины"));
Если ПересчитатьКоличествоПоРНПТ Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
СтруктураДействий);
КонецЕсли;
Возврат СтруктураДействий;
КонецФункции
&НаКлиенте
Процедура РазбитьСтрокуЗавершение(НоваяСтрока, ДополнительныеПараметры) Экспорт
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
Если НоваяСтрока <> Неопределено Тогда
СтруктураДействий = Новый Структура;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС");
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
Если НЕ (ЭтоОстаткиПринятойТары ИЛИ ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(НоваяСтрока, СтруктураДействий, КэшированныеЗначения);
НоваяСтрока.ИдентификаторСтроки = Новый УникальныйИдентификатор;
ЗаполнитьПризнакЕстьДетализацияПартийПоСтроке(НоваяСтрока.ПолучитьИдентификатор());
КонецЕсли;
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.РазбитьСтрокуЗавершение(НоваяСтрока, ДополнительныеПараметры);
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ВПодразделенииВедетсяОбособленныйУчетПоМенеджерам(Подразделение)
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ИСТИНА
|ИЗ
| Справочник.СтруктураПредприятия КАК Т
|ГДЕ
| Т.Ссылка = &Подразделение
| И Т.ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
|");
Запрос.УстановитьПараметр("Подразделение", Подразделение);
Возврат НЕ Запрос.Выполнить().Пустой();
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ПараметрыПересчетаКоличестваЕдиниц(ХозяйственнаяОперация)
НужноОкруглятьКоличество = Истина;
Если ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство") Тогда
НужноОкруглятьКоличество = Ложь;
КонецЕсли;
Если НЕ НужноОкруглятьКоличество Тогда
ПараметрыПересчета = Новый Структура("НужноОкруглять", Ложь);
Возврат ПараметрыПересчета;
КонецЕсли;
Возврат Неопределено;
КонецФункции
&НаСервере
Процедура ПересчитатьКоличествоРНПТ()
Если (ЗначениеЗаполнено(Объект.Склад)
И ЗначениеЗаполнено(Объект.Организация))
И (ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров) Тогда
ПараметрыПолученияКоэффициентаРНПТ = УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ПараметрыПолученияКоэффициентаРНПТ(
Объект);
УчетПрослеживаемыхТоваровЛокализация.ЗаполнитьКоличествоПоРНПТВТабличнойЧасти(ПараметрыПолученияКоэффициентаРНПТ,
Объект.Товары);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьКоличестваРНПТ()
Если ЭтоОстаткиСобственныхТоваров Тогда
УчетПрослеживаемыхТоваровЛокализация.УстановитьВидимостьКоличестваРНПТ(ЭтаФорма,
Объект.Дата,
"СобственныеТоварыГруппаКоличествоПоРНПТ");
ИначеЕсли ЭтоОстаткиПринятойТары Тогда
УчетПрослеживаемыхТоваровЛокализация.УстановитьВидимостьКоличестваРНПТ(ЭтаФорма,
Объект.Дата,
"ПринятаяТараГруппаКоличествоПоРНПТ");
ИначеЕсли ЭтоОстаткиПереданнойТары Тогда
УчетПрослеживаемыхТоваровЛокализация.УстановитьВидимостьКоличестваРНПТ(ЭтаФорма,
Объект.Дата,
"ПереданнаяТараГруппаКоличествоПоРНПТ");
ИначеЕсли ЭтоОстаткиПринятыхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровЛокализация.УстановитьВидимостьКоличестваРНПТ(ЭтаФорма,
Объект.Дата,
"ПолученныеНаКомиссиюГруппаКоличествоПоРНПТ");
ИначеЕсли ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
УчетПрослеживаемыхТоваровЛокализация.УстановитьВидимостьКоличестваРНПТ(ЭтаФорма,
Объект.Дата,
"ПереданныеНаКомиссиюГруппаКоличествоПоРНПТ");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ФормаДетализацияПартийПриЗакрытии(АдресВременногоХранилища, ДопПараметры) Экспорт
Если АдресВременногоХранилища = Неопределено Тогда
Возврат;
КонецЕсли;
ОбновитьДанныеДетализацииПартий(ДопПараметры.Строка, АдресВременногоХранилища)
КонецПроцедуры
&НаСервере
Процедура ОбновитьДанныеДетализацииПартий(Строка, АдресВременногоХранилища)
Модифицированность = Истина;
ДанныеСтрокиТовары = Объект.Товары.НайтиПоИдентификатору(Строка);
Отбор = Новый Структура;
Отбор.Вставить("ИдентификаторСтроки", ДанныеСтрокиТовары.ИдентификаторСтроки);
СтрокиДетализацииПартийКУдалению = Объект.ДетализацияПартий.НайтиСтроки(Отбор);
Для каждого СтрокаДетализацииПартий Из СтрокиДетализацииПартийКУдалению Цикл
Объект.ДетализацияПартий.Удалить(СтрокаДетализацииПартий);
КонецЦикла;
СтрокиДетализацииПартийКДобавлению = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
Для каждого СтрокаДетализацииПартий Из СтрокиДетализацииПартийКДобавлению Цикл
НоваяСтрока = Объект.ДетализацияПартий.Добавить();
НоваяСтрока.ИдентификаторСтроки = ДанныеСтрокиТовары.ИдентификаторСтроки;
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаДетализацииПартий);
КонецЦикла;
ЗаполнитьПризнакЕстьДетализацияПартийПоСтроке(Строка);
КонецПроцедуры
&НаСервере
Процедура ПолучитьМетодОценкиСтоимостиТоваров()
Период = ?(ЗначениеЗаполнено(Объект.Дата), Объект.Дата, ТекущаяДатаСеанса());
ПараметрыУчетнойПолитики = НастройкиНалоговУчетныхПолитик.ДействующиеПараметрыНалоговУчетныхПолитикНаДату("УчетнаяПолитикаФинансовогоУчета",
Объект.Организация,
НачалоМесяца(Период));
Если ПараметрыУчетнойПолитики <> Неопределено Тогда
МетодОценкиСтоимости = ПараметрыУчетнойПолитики.МетодОценкиСтоимостиТоваров;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УказатьДокументыПоступления(Команда)
ТекущаяСтрока = Неопределено;
Если Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров") Тогда
ТекущаяСтрока = Элементы.СобственныеТовары.ТекущаяСтрока;
ИначеЕсли Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию") Тогда
ТекущаяСтрока = Элементы.ПереданныеНаКомиссию.ТекущаяСтрока;
ИначеЕсли Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков") Тогда
ТекущаяСтрока = Элементы.ПринятаяТара.ТекущаяСтрока;
ИначеЕсли Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство") Тогда
ТекущаяСтрока = Элементы.ПереданныеВПроизводствоТовары.ТекущаяСтрока;
ИначеЕсли Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам") Тогда
ТекущаяСтрока = Элементы.ПереданныеПереработчикамТовары.ТекущаяСтрока;
КонецЕсли;
Если ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
ОткрытьФормаДетализацияПартий(ТекущаяСтрока);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормаДетализацияПартий(Строка)
ДанныеСтроки = Объект.Товары.НайтиПоИдентификатору(Строка);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Дата", Объект.Дата);
ПараметрыФормы.Вставить("Организация", Объект.Организация);
ПараметрыФормы.Вставить("СуммаРегл", ДанныеСтроки.СуммаРегл);
ПараметрыФормы.Вставить("НДСРегл", ДанныеСтроки.НДСРегл);
АдресВременногоХранилища = ПоместитьДетализациюПартийВоВременноеХранилище(ДанныеСтроки.ИдентификаторСтроки);
ПараметрыФормы.Вставить("АдресВременногоХранилища", АдресВременногоХранилища);
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("Строка", Строка);
ОписаниеОповещения = Новый ОписаниеОповещения("ФормаДетализацияПартийПриЗакрытии", ЭтотОбъект, ДополнительныеПараметры);
ОткрытьФорму("Документ.ВводОстатков.Форма.ФормаДетализацияПартий", ПараметрыФормы, ЭтаФорма, , , , ОписаниеОповещения);
КонецПроцедуры
&НаСервере
Функция ПоместитьДетализациюПартийВоВременноеХранилище(ИдентификаторСтроки)
ДанныеПартий = Объект.ДетализацияПартий.Выгрузить(Новый Структура("ИдентификаторСтроки", ИдентификаторСтроки));
Возврат ПоместитьВоВременноеХранилище(ДанныеПартий, УникальныйИдентификатор);
КонецФункции
&НаСервере
Процедура ЗаполнитьПризнакЕстьДетализацияПартийПоСтроке(Строка)
ТекущаяСтрока = Объект.Товары.НайтиПоИдентификатору(Строка);
Отбор = Новый Структура("ИдентификаторСтроки", ТекущаяСтрока.ИдентификаторСтроки);
СтрокиДетализацииПартий = Объект.ДетализацияПартий.НайтиСтроки(Отбор);
ТекущаяСтрока.ДетализацияПартий = СтрокиДетализацииПартий.Количество() > 0;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПризнакЕстьДетализацияПартий()
Для каждого ТекущаяСтрока Из Объект.Товары Цикл
ЗаполнитьПризнакЕстьДетализацияПартийПоСтроке(ТекущаяСтрока.ПолучитьИдентификатор());
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура УстановитьДоступностьДоговора(Соглашение, ДоступностьЭлемента, ВидимостьЭлемента, Договор = Неопределено)
УстановитьПривилегированныйРежим(Истина);
ИспользоватьПартнеровКакКонтрагентов = ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровКакКонтрагентов");
ИспользуютсяДоговорыКонтрагентов = ПолучитьФункциональнуюОпцию("ИспользоватьДоговорыСКлиентами");
ЗаполненыВлияющиеПоля =
ЗначениеЗаполнено(Объект.Партнер)
И (ЗначениеЗаполнено(Объект.Контрагент) Или ИспользоватьПартнеровКакКонтрагентов)
И ЗначениеЗаполнено(Объект.Организация);
Если ПолучитьФункциональнуюОпцию("ИспользоватьСоглашенияСКлиентами") Тогда
ЗаполненыВлияющиеПоля = ЗаполненыВлияющиеПоля И ЗначениеЗаполнено(Соглашение);
ИспользуютсяДоговорыКонтрагентов =
ИспользуютсяДоговорыКонтрагентов
И ЗначениеЗаполнено(Соглашение)
И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Соглашение, "ИспользуютсяДоговорыКонтрагентов");
КонецЕсли;
ДоступностьЭлемента = ЗаполненыВлияющиеПоля И ИспользуютсяДоговорыКонтрагентов;
ВидимостьЭлемента = ИспользуютсяДоговорыКонтрагентов;
Если НЕ ДоступностьЭлемента И ЗначениеЗаполнено(Объект.Договор) Тогда
Объект.Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПредставлениеСчетФактурыПолученной()
Если ЭтоОстаткиСобственныхТоваров Тогда
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = Объект.Ссылка;
ПараметрыРегистрации.Дата = Объект.Дата;
ПараметрыРегистрации.Организация = Объект.Организация;
ПараметрыРегистрации.Контрагент = Объект.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Объект.НалогообложениеНДС;
ПараметрыРегистрации.ПриобретениеТоваровРаботУслуг = Истина;
СчетаФактурыПолученныеНаОсновании = УчетНДСУП.СчетаФактурыПолученныеНаОсновании(ПараметрыРегистрации);
ТекстСчетаФактурыПолученные = СчетаФактурыПолученныеНаОсновании.Представление;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПоОснованиюНаСервере()
Объект.Товары.Очистить();
Если НЕ ЗначениеЗаполнено(Объект.Основание) Тогда
Возврат;
КонецЕсли;
ДанныеЗаполнения = Новый Структура;
ДанныеЗаполнения.Вставить("ДокументСверки", Объект.Основание);
ДанныеЗаполнения.Вставить("ДокументСледующегоПериода", Ложь);
Документы.СверкаНачальныхОстатковПоСкладу.ЗаполнитьВводОстатковТоваровНаОснованииСверки(Объект, ДанныеЗаполнения, Истина);
КонецПроцедуры
&НаСервере
Процедура УстановитьПризнакПартияОбязательнаКЗаполнению()
ХозяйственнаяОперация = Объект.ХозяйственнаяОперация;
ОтражатьВОперативномУчете = Объект.ОтражатьВОперативномУчете;
ОтражатьСебестоимость = Объект.ОтражатьСебестоимость;
НалогообложениеНДС = Объект.НалогообложениеНДС;
ПартияОбязательнаКЗаполнению = Истина;
Если (ОтражатьВОперативномУчете Или ОтражатьСебестоимость)
И (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию) Тогда
Если (МетодОценкиСтоимости <> Перечисления.МетодыОценкиСтоимостиТоваров.ФИФОСкользящаяОценка)
И (НалогообложениеНДС <> Перечисления.ТипыНалогообложенияНДС.ПоФактическомуИспользованию) Тогда
ПартияОбязательнаКЗаполнению = Ложь;
КонецЕсли;
Иначе
ПартияОбязательнаКЗаполнению = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформлениеПартияВШапке()
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.СобственныеТоварыПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПолученныеНаКомиссиюПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПереданныеНаКомиссиюПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПринятаяТараПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПереданныеПереработчикамПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПереданныеВПроизводствоТоварыПартия.Имя);
ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПартияОбязательнаКЗаполнению");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Истина;
ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Партия");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Истина);
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.СобственныеТоварыПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПолученныеНаКомиссиюПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПереданныеНаКомиссиюПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПринятаяТараПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПереданныеПереработчикамПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУсловногоОформления.Поля, Элементы.ПереданныеВПроизводствоТоварыПартия.Имя);
ГруппаОтбора0 = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
ГруппаОтбора0.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаНе;
ОтборЭлемента = ГруппаОтбора0.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПартияОбязательнаКЗаполнению");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Истина;
ОтборЭлемента = ГруппаОтбора0.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Партия");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
КонецПроцедуры
#КонецОбласти
#КонецОбласти