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