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