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