Зачисление денежных средств на лицевые счета / Модуль менеджера

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

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

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

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

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

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

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

// СтандартныеПодсистемы.Печать

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

// Конец СтандартныеПодсистемы.Печать

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

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

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

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

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

КонецФункции

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

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

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

	Механизмы = Новый Массив;
	Механизмы.Добавить("РасчетыСПодотчетниками");
	Механизмы.Добавить("УчетДенежныхСредств");
	Механизмы.Добавить("УчетПрочихАктивовПассивов");
	
	ПодтверждениеЗачисленияЗарплатыЛокализация.ЗарегистрироватьУчетныеМеханизмы(Механизмы);

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

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

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

КонецФункции

//++ НЕ УТ
#Область ПроводкиРеглУчета

// Функция возвращает текст запроса для отражения документа в регламентированном учете.
//
// Возвращаемое значение:
//	Строка - Текст запроса
//
Функция ТекстОтраженияВРеглУчете() Экспорт

	Возврат ПодтверждениеЗачисленияЗарплатыЛокализация.ТекстОтраженияВРеглУчете();

КонецФункции

// Функция возвращает текст запроса дополнительных временных таблиц,
// необходимых для отражения в регламентированном учете.
//
// Возвращаемое значение:
//	Строка - текст запроса создания временных таблиц.
//
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт

	Возврат ПодтверждениеЗачисленияЗарплатыЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();

КонецФункции

#КонецОбласти
//-- НЕ УТ

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

#Область ОбработчикиСобытий

Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)

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

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

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

//++ Локализация

// Возвращает описание состава документа
//
// Возвращаемое значение:
//  см. ЗарплатаКадрыСоставДокументов.НовоеОписаниеСоставаОбъекта.
Функция ОписаниеСоставаОбъекта() Экспорт
	
	ОписаниеСостава = Новый Структура;

	//++ НЕ УТ
	МетаданныеДокумента = Метаданные.Документы.ПодтверждениеЗачисленияЗарплаты;
	ОписаниеСостава = ЗарплатаКадрыСоставДокументов.ОписаниеСоставаОбъектаПоМетаданнымФизическиеЛицаВТабличныхЧастях(
						МетаданныеДокумента);
	//-- НЕ УТ
	
	Возврат ОписаниеСостава;
	
КонецФункции

//-- Локализация

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

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

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

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

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

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

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

#Область ОбновлениеИнформационнойБазы

Процедура УстановитьВозвратныеВидыВзаиморасчетов(ПараметрыОбновления = Неопределено) Экспорт
	
	//++ Локализация

	//++ НЕ УТ
	ВзаиморасчетыССотрудниками.УстановитьВозвратныеВидыВзаиморасчетовДокумента(
		Метаданные.Документы.ПодтверждениеЗачисленияЗарплаты, ПараметрыОбновления);
	//-- НЕ УТ

	//-- Локализация
	Возврат;
	
КонецПроцедуры

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

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

#КонецЕсли

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