Распоряжение на перемещение денежных средств / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// Формирует описание реквизитов объекта, заполняемых по статистике их использования.
//
// Параметры:
//  ОписаниеРеквизитов - Структура - описание реквизитов, для которых необходимо получить значения по статистике
//
//
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
	
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Подразделение");
	
КонецПроцедуры

#Область Проведение

// Описывает учетные механизмы используемые в документе для регистрации в механизме проведения.
//
// Параметры:
//  МеханизмыДокумента - Массив - список имен учетных механизмов, для которых будет выполнена
//              регистрация в механизме проведения.
//
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
	
	МеханизмыДокумента.Добавить("ПланированиеКонтрольДенежныхСредств");
	
КонецПроцедуры

// Возвращает таблицы для движений, необходимые для проведения документа по регистрам учетных механизмов.
//
// Параметры:
//  Документ - ДокументСсылка, ДокументОбъект - ссылка на документ или объект, по которому необходимо получить данные
//  Регистры - Структура - список имен регистров, для которых необходимо получить таблицы
//  ДопПараметры - Структура - дополнительные параметры для получения данных, определяющие контекст проведения.
//
// Возвращаемое значение:
//  Структура - коллекция элементов - таблиц значений - данных для отражения в регистр.
//
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
	
	Если ДопПараметры = Неопределено Тогда
		ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
	КонецЕсли;
	
	Если ТипЗнч(Документ) = Тип("ДокументОбъект.РаспоряжениеНаПеремещениеДенежныхСредств") Тогда
		ДокументСсылка = Документ.Ссылка;
	Иначе
		ДокументСсылка = Документ;
	КонецЕсли;
	
	Запрос			= Новый Запрос;
	ТекстыЗапроса	= Новый СписокЗначений;
	
	Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
		////////////////////////////////////////////////////////////////////////////
		// Создадим запрос инициализации движений
		
		ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
		
		////////////////////////////////////////////////////////////////////////////
		// Сформируем текст запроса
		
		ТекстЗапросаТаблицаДенежныеСредстваКВыплате(Запрос, ТекстыЗапроса, Регистры);
	КонецЕсли;
	
	////////////////////////////////////////////////////////////////////////////
	// Получим таблицы для движений
	
	Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
	
КонецФункции

#КонецОбласти

// СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет настройки объекта для подсистемы ВерсионированиеОбъектов.
//
// Параметры:
//  Настройки - Структура - настройки подсистемы.
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт

КонецПроцедуры

// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет список команд создания на основании.
//
// Параметры:
//  КомандыСозданияНаОсновании - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.КомандыСозданияНаОсновании
//  Параметры - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.Параметры
//
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
	
	Документы.ПриходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	Документы.РасходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	Документы.СписаниеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
КонецПроцедуры

// Добавляет команду создания документа "Распоряжение".
//
// Параметры:
//  КомандыСозданияНаОсновании - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.КомандыСозданияНаОсновании
//
// Возвращаемое значение:
//	ТаблицаЗначений, Неопределено - сформированные команды для вывода в подменю.
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
	
	Если ПравоДоступа("Добавление", Метаданные.Документы.РаспоряжениеНаПеремещениеДенежныхСредств) Тогда
		КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
		КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.РаспоряжениеНаПеремещениеДенежныхСредств.ПолноеИмя();
		КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.РаспоряжениеНаПеремещениеДенежныхСредств);
		КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
		КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьЗаявкиНаРасходованиеДенежныхСредств";
		Возврат КомандаСоздатьНаОсновании;
	КонецЕсли;
	
	Возврат Неопределено;
	
КонецФункции

// Определяет список команд отчетов.
//
// Параметры:
//   КомандыОтчетов - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.КомандыОтчетов
//   Параметры - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.Параметры
//
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
	
КонецПроцедуры

// Заполняет список команд печати.
//
// Параметры:
//   КомандыПечати - см. УправлениеПечатью.СоздатьКоллекциюКомандПечати
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

КонецПроцедуры

// Процедура заполняет массивы реквизитов, зависимых от хозяйственной операции документа.
//
// Параметры:
//	ХозяйственнаяОперация - ПеречислениеСсылка.ХозяйственныеОперации - Выбранная хозяйственная операция
//	МассивВсехРеквизитов - Массив - Массив всех имен реквизитов, зависимых от хозяйственной операции
//	МассивРеквизитовОперации - Массив - Массив имен реквизитов, используемых в выбранной хозяйственной операции.
//
Процедура ЗаполнитьИменаРеквизитовПоХозяйственнойОперации(ХозяйственнаяОперация, МассивВсехРеквизитов, МассивРеквизитовОперации) Экспорт
	
	МассивВсехРеквизитов = Новый Массив;
	МассивВсехРеквизитов.Добавить("БанковскийСчет");
	МассивВсехРеквизитов.Добавить("Касса");
	МассивВсехРеквизитов.Добавить("БанковскийСчетПолучатель");
	МассивВсехРеквизитов.Добавить("КассаПолучатель");
	МассивВсехРеквизитов.Добавить("Подразделение");
	
	МассивРеквизитовОперации = Новый Массив;
	Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.СдачаДенежныхСредствВБанк Тогда
		МассивРеквизитовОперации.Добавить("Касса");
		МассивРеквизитовОперации.Добавить("БанковскийСчетПолучатель");
		МассивРеквизитовОперации.Добавить("Подразделение");
		
	ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИнкассацияДенежныхСредствВБанк Тогда
		МассивРеквизитовОперации.Добавить("Касса");
		МассивРеквизитовОперации.Добавить("БанковскийСчетПолучатель");
		МассивРеквизитовОперации.Добавить("Подразделение");
		
	ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВыдачаДенежныхСредствВДругуюКассу Тогда
		МассивРеквизитовОперации.Добавить("Касса");
		МассивРеквизитовОперации.Добавить("КассаПолучатель");
		МассивРеквизитовОперации.Добавить("Подразделение");
		
	ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПеречислениеДенежныхСредствНаДругойСчет Тогда
		МассивРеквизитовОперации.Добавить("БанковскийСчет");
		МассивРеквизитовОперации.Добавить("БанковскийСчетПолучатель");
		МассивРеквизитовОперации.Добавить("Подразделение");
		
	ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзБанка Тогда
		МассивРеквизитовОперации.Добавить("БанковскийСчет");
		МассивРеквизитовОперации.Добавить("КассаПолучатель");
		МассивРеквизитовОперации.Добавить("Подразделение");
		
	ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.СнятиеНаличныхДенежныхСредств Тогда
		МассивРеквизитовОперации.Добавить("БанковскийСчет");
		МассивРеквизитовОперации.Добавить("КассаПолучатель");
		МассивРеквизитовОперации.Добавить("Подразделение");
		
	КонецЕсли;
	
КонецПроцедуры

// Функция определяет реквизиты документе.
//
// Параметры:
//  ДокументСсылка - ДокументСсылка - Ссылка на документа.
//
// Возвращаемое значение:
//	Структура - реквизиты выбранного документа.
//
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
	
	Запрос = Новый Запрос("
	|ВЫБРАТЬ
	|	ДанныеДокумента.Организация КАК Организация,
	|	ДанныеДокумента.Подразделение КАК Подразделение,
	|	ДанныеДокумента.Статус КАК Статус,
	|	ДанныеДокумента.Валюта КАК Валюта
	|ИЗ
	|	Документ.РаспоряжениеНаПеремещениеДенежныхСредств КАК ДанныеДокумента
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &ДокументСсылка
	|");
	
	Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Организация = Выборка.Организация;
		Подразделение = Выборка.Подразделение;
		Статус = Выборка.Статус;
		Валюта = Выборка.Валюта;
	Иначе
		Организация = Справочники.Организации.ПустаяСсылка();
		Подразделение = Справочники.СтруктураПредприятия.ПустаяСсылка();
		Статус = Перечисления.СтатусыРаспоряженийНаПеремещениеДенежныхСредств.ПустаяСсылка();
		Валюта = Справочники.Валюты.ПустаяСсылка();
	КонецЕсли;
	
	СтруктураРеквизитов = Новый Структура;
	СтруктураРеквизитов.Вставить("Организация", Организация);
	СтруктураРеквизитов.Вставить("Подразделение", Подразделение);
	СтруктураРеквизитов.Вставить("Статус", Статус);
	СтруктураРеквизитов.Вставить("Валюта", Валюта);
	
	Возврат СтруктураРеквизитов;
	
КонецФункции

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.УправлениеДоступом

// Параметры:
//   Ограничение - см. УправлениеДоступомПереопределяемый.ПриЗаполненииОграниченияДоступа.Ограничение.
//
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(Организация)
	|	И ЗначениеРазрешено(ХозяйственнаяОперация)
	|	И ВЫБОР КОГДА ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.СдачаДенежныхСредствВБанк)                 ИЛИ ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствВДругуюКассу) ТОГДА ЗначениеРазрешено(Касса)
	|	КОГДА ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзБанка) ТОГДА ЗначениеРазрешено(КассаПолучатель)
	|	ИНАЧЕ ИСТИНА КОНЕЦ ";

КонецПроцедуры

// Конец СтандартныеПодсистемы.УправлениеДоступом

#КонецОбласти

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

#Область Проведение

Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
	
	ИсточникиДанных = Новый Соответствие;
	
	Возврат ИсточникиДанных;
	
КонецФункции

Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
	
	Запрос = Новый Запрос();
	ТекстыЗапроса = Новый СписокЗначений;
	
	ПолноеИмяДокумента = "Документ.РаспоряжениеНаПеремещениеДенежныхСредств";
	
	Если ИмяРегистра = "ДенежныеСредстваКВыплате" Тогда
		
		ТекстЗапроса = ТекстЗапросаТаблицаДенежныеСредстваКВыплате(Запрос, ТекстыЗапроса, ИмяРегистра);
		СинонимТаблицыДокумента = "ДанныеДокумента";
		
	Иначе
		ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
		ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
		ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
		
		ВызватьИсключение ТекстИсключения;
	КонецЕсли;
	
	Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
	Результат.ЗначенияПараметров.Вставить("ИспользоватьЗаявкиНаРасходованиеДенежныхСредств",
		ПолучитьФункциональнуюОпцию("ИспользоватьЗаявкиНаРасходованиеДенежныхСредств"));
	Результат.ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
		ТекстЗапроса, ПолноеИмяДокумента, СинонимТаблицыДокумента);
	
	Возврат Результат;
	
КонецФункции

Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
	
	Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ДанныеДокумента.Валюта КАК Валюта,
	|	ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
	|	ДанныеДокумента.Организация КАК Организация,
	|	ДанныеДокумента.БанковскийСчет КАК БанковскийСчет,
	|	ДанныеДокумента.Касса КАК Касса,
	|	ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка) КАК Партнер,
	|	ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Контрагент,
	|	ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК Договор,
	|	ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельности
	|ИЗ
	|	Документ.РаспоряжениеНаПеремещениеДенежныхСредств КАК ДанныеДокумента
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|";
	
	Результат = Запрос.Выполнить();
	Реквизиты = Результат.Выбрать();
	Реквизиты.Следующий();
	
	Для Каждого Колонка Из Результат.Колонки Цикл
		Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
	КонецЦикла;
	
	Запрос.УстановитьПараметр("АналитикаУчетаПоПартнерам",
		РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(Реквизиты));
	Запрос.УстановитьПараметр("ИспользоватьЗаявкиНаРасходованиеДенежныхСредств",
		ПолучитьФункциональнуюОпцию("ИспользоватьЗаявкиНаРасходованиеДенежныхСредств"));
	Запрос.УстановитьПараметр("СтатьяДвиженияДенежныхСредств",
		Справочники.СтатьиДвиженияДенежныхСредств.ПредопределеннаяСтатьяДДС(Реквизиты.ХозяйственнаяОперация, Реквизиты.Валюта));
	
КонецПроцедуры

Функция ТекстЗапросаТаблицаДенежныеСредстваКВыплате(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ДенежныеСредстваКВыплате";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ВЫБОР КОГДА ДанныеДокумента.ДатаПлатежа <> ДАТАВРЕМЯ(1,1,1) ТОГДА
	|		ДанныеДокумента.ДатаПлатежа
	|	ИНАЧЕ
	|		ДанныеДокумента.Дата
	|	КОНЕЦ КАК Период,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
	|	&Ссылка КАК ЗаявкаНаРасходованиеДенежныхСредств,
	|	
	|	ВЫБОР КОГДА &ХозяйственнаяОперация В (
	|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СдачаДенежныхСредствВБанк),
	|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИнкассацияДенежныхСредствВБанк),
	|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствВДругуюКассу))
	|	ТОГДА
	|		&Касса
	|	КОГДА &ХозяйственнаяОперация В (
	|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеДенежныхСредствНаДругойСчет),
	|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзБанка),
	|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СнятиеНаличныхДенежныхСредств))
	|	ТОГДА
	|		&БанковскийСчет
	|	КОНЕЦ КАК БанковскийСчетКасса,
	|	
	|	&Организация КАК Получатель,
	|	&Организация КАК Организация,
	|	
	|	ДанныеДокумента.СуммаДокумента КАК Сумма,
	|	
	|	ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация
	|	
	|ИЗ
	|	Документ.РаспоряжениеНаПеремещениеДенежныхСредств КАК ДанныеДокумента
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|	И &ИспользоватьЗаявкиНаРасходованиеДенежныхСредств
	|	И ДанныеДокумента.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыРаспоряженийНаПеремещениеДенежныхСредств.Отклонено)
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

#КонецОбласти

#Область Прочее

Функция СформироватьЗапросПроверкиПриСменеСтатуса(МассивДокументов, НовыйСтатус, ДополнительныеПараметры) Экспорт
	
	ЗначениеНовогоСтатуса = Перечисления.СтатусыРаспоряженийНаПеремещениеДенежныхСредств[НовыйСтатус];
	
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ТаблицаДокументов.Ссылка КАК Ссылка,
	|	ПРЕДСТАВЛЕНИЕ(ТаблицаДокументов.Ссылка) КАК Представление,
	|	ПРЕДСТАВЛЕНИЕ(ТаблицаДокументов.Статус) КАК ПредставлениеТекущегоСтатуса,
	|	ПРЕДСТАВЛЕНИЕ(&Статус) КАК ПредставлениеНовогоСтатуса,
	|	ВЫБОР
	|		КОГДА ТаблицаДокументов.Статус = &Статус
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК СтатусСовпадает,
	|	ТаблицаДокументов.Проведен КАК Проведен,
	|	ТаблицаДокументов.ПометкаУдаления КАК ПометкаУдаления,
	|	ИСТИНА КАК ЗаписьПроведением
	|ИЗ
	|	Документ.РаспоряжениеНаПеремещениеДенежныхСредств КАК ТаблицаДокументов
	|ГДЕ
	|	ТаблицаДокументов.Ссылка В(&МассивДокументов)";
	
	Запрос = Новый Запрос(ТекстЗапроса);
	Запрос.УстановитьПараметр("Статус", ЗначениеНовогоСтатуса);
	Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
	
	Возврат Запрос;
	
КонецФункции

Функция ПроверкаПередСменойСтатуса(ВыборкаПроверки, НовыйСтатус, ДополнительныеПараметры) Экспорт
	
	Возврат Истина; // Для документа "РаспоряжениеНаПеремещениеДенежныхСредств" отсутствуют дополнительные проверки
	
КонецФункции

// Определяет свойства полей формы в зависимости от данных
//
// Параметры:
//	Настройки - ТаблицаЗначений - таблица с колонками:
//		* Поля - Массив - поля, для которых определяются настройки отображения
//		* Условие - ОтборКомпоновкиДанных - условия применения настройки
//		* Свойства - Структура - имена и значения свойств
//
Процедура ЗаполнитьНастройкиПолейФормы(Настройки) Экспорт
	
	Финансы = ФинансоваяОтчетностьСервер;
	Операции = Перечисления.ХозяйственныеОперации;
	
	// БанковскийСчет
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("БанковскийСчет");
	ГруппаИли = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИли.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.ПеречислениеДенежныхСредствНаДругойСчет);
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.ПоступлениеДенежныхСредствИзБанка);
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.СнятиеНаличныхДенежныхСредств);
	Элемент.Свойства.Вставить("Видимость");
	
	// Касса
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("Касса");
	ГруппаИли = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИли.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.СдачаДенежныхСредствВБанк);
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.ИнкассацияДенежныхСредствВБанк);
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.ВыдачаДенежныхСредствВДругуюКассу);
	Элемент.Свойства.Вставить("Видимость");
	
	// БанковскийСчетПолучатель
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("БанковскийСчетПолучатель");
	ГруппаИли = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИли.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.СдачаДенежныхСредствВБанк);
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.ИнкассацияДенежныхСредствВБанк);
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.ПеречислениеДенежныхСредствНаДругойСчет);
	Элемент.Свойства.Вставить("Видимость");
	
	// КассаПолучатель
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("КассаПолучатель");
	ГруппаИли = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИли.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.ВыдачаДенежныхСредствВДругуюКассу);
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.ПоступлениеДенежныхСредствИзБанка);
	Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Операции.СнятиеНаличныхДенежныхСредств);
	Элемент.Свойства.Вставить("Видимость");
	
	// КтоРешил
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("КтоРешил");
	ГруппаИли = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИли.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
	Финансы.НовыйОтбор(ГруппаИли, "Статус", Перечисления.СтатусыРаспоряженийНаПеремещениеДенежныхСредств.Согласовано);
	Финансы.НовыйОтбор(ГруппаИли, "Статус", Перечисления.СтатусыРаспоряженийНаПеремещениеДенежныхСредств.КОплате);
	Элемент.Свойства.Вставить("Видимость");
	
	// ТолькоПросмотр
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("Номер");
	Элемент.Поля.Добавить("Дата");
	Элемент.Поля.Добавить("БанковскийСчет");
	Элемент.Поля.Добавить("Касса");
	Элемент.Поля.Добавить("СуммаДокумента");
	Элемент.Поля.Добавить("Валюта");
	Элемент.Поля.Добавить("ХозяйственнаяОперация");
	Элемент.Поля.Добавить("БанковскийСчетПолучатель");
	Элемент.Поля.Добавить("КассаПолучатель");
	Элемент.Поля.Добавить("ДатаПлатежа");
	Элемент.Поля.Добавить("Подразделение");
	
	ГруппаИли = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаИли.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
	Финансы.НовыйОтбор(ГруппаИли, "Статус", Перечисления.СтатусыРаспоряженийНаПеремещениеДенежныхСредств.Согласовано);
	Финансы.НовыйОтбор(ГруппаИли, "Статус", Перечисления.СтатусыРаспоряженийНаПеремещениеДенежныхСредств.КОплате);
	Финансы.НовыйОтбор(Элемент.Условие, "Проведен", Истина);
	Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.Модифицированность", Ложь);
	Элемент.Свойства.Вставить("ТолькоПросмотр");
	
КонецПроцедуры

#КонецОбласти

#КонецОбласти

#КонецЕсли

Связанные материалы