//Функция для получения оплат по счету.
//НомерДокумента - номер счета;
//ТипДокумента - для дальнейшего развития скрипта, в данном тексте всегда равен 1!!!
//ДатаДокумента - дата создания счета;
//ДатаНачала - дата начала поиска. Поиск оплат производится с "ДатаНачала" по текущую рабочую дату.
//Если "ДатаНачала" отсутствует, то начальной датой поиска считается дата создания документа.
//******************************************************************************************
Функция ОплатаПоДокументу(НомерДокумента, ТипДокумента, ДатаДокумента, ДатаНачала) Экспорт
	ФайлВоз=СоздатьОбъект("Текст");
	ФайлВоз.КодоваяСтраница(0);
	ФайлВоз.Записать("C:\1CREZ.TXT");
	ФайлЭкспорта=СоздатьОбъект("Текст");
	КурсДоллара=СоздатьОбъект("Справочник.Валюты");
	КурсДоллара.НайтиПоНаименованию("USD",0,0);
	КурсВалюты=СоздатьОбъект("Периодический");
	КурсВалюты.ИспользоватьОбъект("Курс",КурсДоллара);
	ФайлЭкспорта.КодоваяСтраница(0);
	ФайлЭкспорта.Записать("C:\MONEY1C.txt");
	ДатаКонца=ТекущаяДата();
	КолСтрок=1;
	ДокДляПоиска=СоздатьОбъект("Документ");
	ВидыДокументов=СоздатьОбъект("СписокЗначений");
	Если ТипДокумента=1 Тогда
		Если ДокДляПоиска.НайтиПоНомеру(НомерДокумента,Дата(ДатаДокумента),"Счет")=0 Тогда
			Сообщить("Документ не найден","!");
			ФайлВоз.ДобавитьСтроку("0");
			ФайлВоз.Записать("C:\1CREZ.TXT");
			УСФлаг();
			Возврат "0";
		КонецЕсли;	
		ВидыДокументов.ДобавитьЗначение("Счет");
	КонецЕсли;
	//Для поиска оплат используем запрос
	Запрос=СоздатьОбъект("Запрос");
	ТекстЗапроса="
	|ПЕРИОД С ДатаНачала По ДатаКонца;
	|Док=Документ.ПриходныйОрдерТБ.ТекущийДокумент,
	|Документ.ДвиженияДенежныхСредств.ТекущийДокумент;
	|ДокОсн=Документ.ПриходныйОрдерТБ.ДокументОснование,
	|Документ.ДвиженияДенежныхСредств.ДокументОснование;
	|СуммаПрихода=Документ.ПриходныйОрдерТБ.Сумма,
	|Документ.ДвиженияДенежныхСредств.Приход;
	|Функция СумПоДок=Сумма(СуммаПрихода);
	|Группировка ДокОсн;
	|Группировка Док;
	|Условие ((ДокОсн.НомерДок=НомерДокумента) И (ДокОсн.Вид() В ВидыДокументов));";
	Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
		Сообщить("Запрос по Продажам не выполнился","!");
		ФайлВоз.ДобавитьСтроку("0");
		ФайлВоз.Записать("C:\1CREZ.TXT");
		УСФлаг();
		Возврат "0";
	КонецЕсли;          
	Пока Запрос.Группировка("ДокОсн")=1 Цикл
		Пока Запрос.Группировка("Док")=1 Цикл
			КолСтрок=КолСтрок+1;
			ФайлЭкспорта.ДобавитьСтроку(Строка(Запрос.СумПоДок));
			ФайлЭкспорта.ДобавитьСтроку(Строка(Запрос.Док.ДатаДок));
			ФайлЭкспорта.ДобавитьСтроку(Строка(КурсВалюты.ЗначениеНаДату(Запрос.Док.ДатаДок)));
			ФайлЭкспорта.Записать("C:\MONEY1C.txt");
		КонецЦикла;
	КонецЦикла;
	Если КолСтрок>0 Тогда
		ФайлВоз.ДобавитьСтроку("1");
		ФайлВоз.Записать("C:\1CREZ.TXT");
		УСФлаг();
		Возврат "0";
	Иначе	
		ФС.УдалитьФайл("C:\MONEY1C.txt");
		ФайлВоз.ДобавитьСтроку("0");
		ФайлВоз.Записать("C:\1CREZ.TXT");
		УСФлаг();
		Возврат "0";
	КонецЕсли;	
КонецФункции
//******************************************************************************************
