16
1976vas
11.02.15
✎
15:57
|
Нет условия
// данные из свойств документа
СтруктураСвойств = ПолучитьСвойстваОбъекта();
// Выведем подвал документа.
СтруктураПодписантов = ПолучитьСтруктуруПодписантов(СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата, "Бухгалтера");
ДополнитьСтруктуруПодписантовПрочимиЛицами(СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата, СтруктураПодписантов);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КорректировкаДолга.Ссылка,
| КорректировкаДолга.Номер,
| КорректировкаДолга.Дата,
| КорректировкаДолга.Организация,
| КорректировкаДолга.КонтрагентДебитор КАК Контрагент
|ИЗ
| Документ.КорректировкаДолга КАК КорректировкаДолга
|ГДЕ
| КорректировкаДолга.Ссылка = &Ссылка
| И КорректировкаДолга.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийКорректировкаДолга.ПроведениеВзаимозачета)
| И КорректировкаДолга.КонтрагентДебитор = КорректировкаДолга.КонтрагентКредитор
|";
Запрос.Параметры.Вставить("Ссылка", СсылкаНаОбъект);
ТабДокумент = Новый ТабличныйДокумент;
Шапка = Запрос.Выполнить().Выбрать();
Если НЕ Шапка.Следующий() Тогда
Возврат Неопределено;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДебиторскаяЗадолженность.ВидЗадолженности КАК ВидЗадолженности,
| ДебиторскаяЗадолженность.Сумма КАК Сумма,
| ДебиторскаяЗадолженность.СуммаРегл КАК СуммаРегл,
| ДебиторскаяЗадолженность.Ссылка,
| ДебиторскаяЗадолженность.ДоговорКонтрагента
|ИЗ
| (ВЫБРАТЬ
| КорректировкаДолгаСуммыДолга.ВидЗадолженности КАК ВидЗадолженности,
| СУММА(КорректировкаДолгаСуммыДолга.Сумма) КАК Сумма,
| СУММА(КорректировкаДолгаСуммыДолга.СуммаРегл) КАК СуммаРегл,
| КорректировкаДолгаСуммыДолга.Ссылка КАК Ссылка,
| КорректировкаДолгаСуммыДолга.ДоговорКонтрагента КАК ДоговорКонтрагента
| ИЗ
| Документ.КорректировкаДолга.СуммыДолга КАК КорректировкаДолгаСуммыДолга
| ГДЕ
| КорректировкаДолгаСуммыДолга.Ссылка = &Ссылка
| И КорректировкаДолгаСуммыДолга.ВидЗадолженности = &Дебиторская
|
| СГРУППИРОВАТЬ ПО
| КорректировкаДолгаСуммыДолга.Ссылка,
| КорректировкаДолгаСуммыДолга.ВидЗадолженности,
| КорректировкаДолгаСуммыДолга.ДоговорКонтрагента) КАК ДебиторскаяЗадолженность
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КредиторскаяЗадолженность.ВидЗадолженности,
| КредиторскаяЗадолженность.Сумма,
| КредиторскаяЗадолженность.СуммаРегл,
| КредиторскаяЗадолженность.Ссылка,
| КредиторскаяЗадолженность.ДоговорКонтрагента
|ИЗ
| (ВЫБРАТЬ
| КорректировкаДолгаСуммыДолга.ВидЗадолженности КАК ВидЗадолженности,
| СУММА(КорректировкаДолгаСуммыДолга.Сумма) КАК Сумма,
| СУММА(КорректировкаДолгаСуммыДолга.СуммаРегл) КАК СуммаРегл,
| КорректировкаДолгаСуммыДолга.Ссылка КАК Ссылка,
| КорректировкаДолгаСуммыДолга.ДоговорКонтрагента КАК ДоговорКонтрагента
| ИЗ
| Документ.КорректировкаДолга.СуммыДолга КАК КорректировкаДолгаСуммыДолга
| ГДЕ
| КорректировкаДолгаСуммыДолга.Ссылка = &Ссылка
| И КорректировкаДолгаСуммыДолга.ВидЗадолженности = &Кредиторская
|
| СГРУППИРОВАТЬ ПО
| КорректировкаДолгаСуммыДолга.Ссылка,
| КорректировкаДолгаСуммыДолга.ВидЗадолженности,
| КорректировкаДолгаСуммыДолга.ДоговорКонтрагента) КАК КредиторскаяЗадолженность
|ИТОГИ
| СУММА(Сумма),
| СУММА(СуммаРегл)
|ПО
| ВидЗадолженности
|";
Запрос.Параметры.Вставить("Ссылка", СсылкаНаОбъект);
Запрос.Параметры.Вставить("Дебиторская", Перечисления.ВидыЗадолженности.Дебиторская);
Запрос.Параметры.Вставить("Кредиторская", Перечисления.ВидыЗадолженности.Кредиторская);
ВыборкаПоВидуЗадолженности = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
НазваниеОрганизации = Шапка.Организация.НаименованиеПолное;
Если ПустаяСтрока(НазваниеОрганизации) Тогда
НазваниеОрганизации = Шапка.Организация;
КонецЕсли;
Если НЕ ПустаяСтрока(Шапка.Организация.НаименованиеСокращенное) Тогда
НазваниеОрганизации = Шапка.Организация.НаименованиеСокращенное;
КонецЕсли;
НаименованиеКонтрагента = Шапка.Контрагент.НаименованиеПолное;
Если ПустаяСтрока(НаименованиеКонтрагента) Тогда
НаименованиеКонтрагента = Шапка.Контрагент;
КонецЕсли;
Если СокрЛП(СтруктураСвойств.Контрагент_краткое_наименование) <> "" Тогда
НаименованиеКонтрагента = СтруктураСвойств.Контрагент_краткое_наименование;
КонецЕсли;
// { --- [11.02.2015]
// Сидоров В.А.
Макет = ПолучитьМакет("АктВзаимозачета");
Преф = СокрЛП(Шапка.Организация.Префикс);
Префикс2 = ?(Преф = "", "", "_" + Преф );
//ОбластьМакета = ПолучитьМакет("АктВзаимозачета").ПолучитьОбласть("Тело");
ОбластьМакета = Макет.ПолучитьОбласть("Тело"+Префикс2);
// } --- [11.02.2015]
ОбластьМакета.Параметры.Отступ = " ";
ОбластьМакета.Параметры.Организация = НазваниеОрганизации;
ОбластьМакета.Параметры.Контрагент = НаименованиеКонтрагента;
ОбластьМакета.Параметры.ДатаСверкиСтрокой = Формат(Шапка.Дата, "ДФ='dd MMMM yyyy'") + " г.";
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2";
СуммаЗадолженностиДт = 0; СуммаВзаимозачетаДт = 0;
СуммаЗадолженностиКт = 0; СуммаВзаимозачетаКт = 0;
Пока ВыборкаПоВидуЗадолженности.Следующий() Цикл
ОбластьМакета.Параметры.СуммаВзаимозачета = Формат(ВыборкаПоВидуЗадолженности.СуммаРегл, "ЧЦ=15; ЧДЦ=2; ЧРД=-")+" руб. ("+ЧислоПрописью(ВыборкаПоВидуЗадолженности.СуммаРегл, ФормСтрока, ПарПредмета) +")";
Если ВыборкаПоВидуЗадолженности.ВидЗадолженности = Перечисления.ВидыЗадолженности.Дебиторская Тогда
СуммаВзаимозачетаДт = ВыборкаПоВидуЗадолженности.СуммаРегл;
ОбластьМакета.Параметры.СуммаВзаимозачетаДт = Формат(СуммаВзаимозачетаДт, "ЧЦ=15; ЧДЦ=2; ЧРД=-")+" руб. ("+ЧислоПрописью(СуммаВзаимозачетаДт, ФормСтрока, ПарПредмета) +")";
Если СтруктураСвойств.Задолженность_всего_Дт = 0 Тогда
СуммаЗадолженностиДт = ВыборкаПоВидуЗадолженности.СуммаРегл;
Иначе
СуммаЗадолженностиДт = СтруктураСвойств.Задолженность_всего_Дт;
КонецЕсли;
ОбластьМакета.Параметры.СуммаЗадолженностиДт = Формат(СуммаЗадолженностиДт, "ЧЦ=15; ЧДЦ=2; ЧРД=-")+" руб. ("+ЧислоПрописью(СуммаЗадолженностиДт, ФормСтрока, ПарПредмета) +")";
ВыборкаПоДоговорам = ВыборкаПоВидуЗадолженности.Выбрать();
ДоговорДт = "";
Пока ВыборкаПоДоговорам.Следующий() Цикл
ДоговорДт = ?(ДоговорДт = "", "", ", ") + """"+ВыборкаПоДоговорам.ДоговорКонтрагента+"""";
КонецЦикла;
ОбластьМакета.Параметры.ДоговорДт = ?(ВыборкаПоДоговорам.Количество()<=1, "а ", "ов: ") + ДоговорДт;
ИначеЕсли ВыборкаПоВидуЗадолженности.ВидЗадолженности = Перечисления.ВидыЗадолженности.Кредиторская Тогда
СуммаВзаимозачетаКт = ВыборкаПоВидуЗадолженности.СуммаРегл;
ОбластьМакета.Параметры.СуммаВзаимозачетаКт = Формат(СуммаВзаимозачетаКт, "ЧЦ=15; ЧДЦ=2; ЧРД=-")+" руб. ("+ЧислоПрописью(СуммаВзаимозачетаКт, ФормСтрока, ПарПредмета) +")";
Если СтруктураСвойств.Задолженность_всего_Кт = 0 Тогда
СуммаЗадолженностиКт = ВыборкаПоВидуЗадолженности.СуммаРегл;
Иначе
СуммаЗадолженностиКт = СтруктураСвойств.Задолженность_всего_Кт;
КонецЕсли;
ОбластьМакета.Параметры.СуммаЗадолженностиКт = Формат(СуммаЗадолженностиКт, "ЧЦ=15; ЧДЦ=2; ЧРД=-")+" руб. ("+ЧислоПрописью(СуммаЗадолженностиКт, ФормСтрока, ПарПредмета) +")";
ВыборкаПоДоговорам = ВыборкаПоВидуЗадолженности.Выбрать();
ДоговорКт = "";
Пока ВыборкаПоДоговорам.Следующий() Цикл
ДоговорКт = ?(ДоговорКт = "", "", ", ") + """"+СокрЛП(ВыборкаПоДоговорам.ДоговорКонтрагента)+"""";
КонецЦикла;
ОбластьМакета.Параметры.ДоговорКт = ?(ВыборкаПоДоговорам.Количество()<=1, "а ", "ов: ") + ДоговорКт;
КонецЕсли;
КонецЦикла;
ОбластьМакета.Параметры.НДСДт = "";
ОбластьМакета.Параметры.НДСВзаимозачетаДт = "";
Если СтруктураСвойств.Ставка_НДС_Дт<>"" Тогда
СтавкаНДСДтЧисло = Строка(СтруктураСвойств.Ставка_НДС_Дт);
ОбластьМакета.Параметры.НДСДт = " в том числе НДС "+СтруктураСвойств.Ставка_НДС_Дт+"%"+?(СтавкаНДСДтЧисло=0,""," ("+Формат(Окр(СуммаЗадолженностиДт/(100+СтавкаНДСДтЧисло)*СтавкаНДСДтЧисло,2), "ЧЦ=15; ЧДЦ=2; ЧРД=-")+" руб.)");
ОбластьМакета.Параметры.НДСВзаимозачетаДт = " в том числе НДС "+СтруктураСвойств.Ставка_НДС_Дт+"%"+?(СтавкаНДСДтЧисло=0,""," ("+Формат(Окр(СуммаВзаимозачетаДт/(100+СтавкаНДСДтЧисло)*СтавкаНДСДтЧисло,2), "ЧЦ=15; ЧДЦ=2; ЧРД=-")+" руб.)");
КонецЕсли;
ОбластьМакета.Параметры.НДСКт = "";
ОбластьМакета.Параметры.НДСВзаимозачетаКт = "";
Если СтруктураСвойств.Ставка_НДС_Кт<>"" Тогда
СтавкаНДСКтЧисло = Строка(СтруктураСвойств.Ставка_НДС_Кт);
ОбластьМакета.Параметры.НДСКт = " в том числе НДС "+СтруктураСвойств.Ставка_НДС_Кт+"%"+?(СтавкаНДСДтЧисло=0,""," ("+Формат(Окр(СуммаЗадолженностиКт/(100+СтавкаНДСКтЧисло)*СтавкаНДСКтЧисло,2), "ЧЦ=15; ЧДЦ=2; ЧРД=-")+" руб.)");
ОбластьМакета.Параметры.НДСВзаимозачетаКт = " в том числе НДС "+СтруктураСвойств.Ставка_НДС_Кт+"%"+?(СтавкаНДСКтЧисло=0,""," ("+Формат(Окр(СуммаВзаимозачетаКт/(100+СтавкаНДСКтЧисло)*СтавкаНДСКтЧисло,2), "ЧЦ=15; ЧДЦ=2; ЧРД=-")+" руб.)");
КонецЕсли;
Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(СсылкаНаОбъект.Организация, КонецДня(СсылкаНаОбъект.Дата),);
Руководитель = Руководители.Руководитель;
ДолжностьРуководителя = Руководители.РуководительДолжность; ОснованиеРуководителя = "";
Если СтруктураПодписантов.Свойство("ФИОРуководителя") Тогда // задан подписант за руководителя
Руководитель = СтруктураПодписантов.ФИОРуководителя;
ДолжностьРуководителя = СтруктураПодписантов.ДолжностьРуководителя;
ОснованиеРуководителя = СтруктураПодписантов.ОснованиеРуководителя;
КонецЕсли;
Бухгалтер = Руководители.ГлавныйБухгалтер;
ДолжностьБухгалтера = "Главный бухгалтер"; ОснованиеБухгалтера = "";
Если СтруктураПодписантов.Свойство("ФИОБухгалтера") Тогда // задан подписант за бухгалтера
Бухгалтер = СтруктураПодписантов.ФИОБухгалтера;
ДолжностьБухгалтера = СтруктураПодписантов.ДолжностьБухгалтера;
ОснованиеБухгалтера = СтруктураПодписантов.ОснованиеБухгалтера;
КонецЕсли;
ОбластьМакета.Параметры.ФИОРуководителя = Руководитель;
ОбластьМакета.Параметры.ДолжностьРуководителя = ДолжностьРуководителя;
ОбластьМакета.Параметры.ОснованиеРуководителя = ОснованиеРуководителя;
ОбластьМакета.Параметры.ФИОБухгалтера = Бухгалтер;
ОбластьМакета.Параметры.ДолжностьБухгалтера = ДолжностьБухгалтера;
ОбластьМакета.Параметры.ОснованиеБухгалтера = ОснованиеБухгалтера;
ТабДокумент.Вывести(ОбластьМакета);
|
|