Показано с 1 по 3 из 3
Тема: Итоговые колонки
-
14.02.2017, 15:54 #1
- Регистрация
- 11.02.2017
- Сообщений
- 10
- Сказал(а) спасибо
- 3
- Поблагодарили 0 раз(а) в 0 сообщениях
Итоговые колонки
В моей таблице под всеми колонками итоги показывают одинаковые суммы, однако, в колонках разные. Как Сделать так что бы итоговые суммы расчитывались по колонкам?
-
15.02.2017, 05:52 #2
- Регистрация
- 29.01.2010
- Сообщений
- 1212
- Сказал(а) спасибо
- 30
- Поблагодарили 261 раз(а) в 245 сообщениях
-
15.02.2017, 20:35 #3
- Регистрация
- 11.02.2017
- Сообщений
- 10
- Сказал(а) спасибо
- 3
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Итоговые колонки
ПечатьРПВ(ТабДокумент, Выборка, ИспользуетсяПолеВедомость , ИмяМакета)
ЗаполнятьКБК = ИмяМакета = "форма0504401";
ОсновныеНачисления = Новый Соответствие;
Больничные = ВидыРасчетовБольничные();
ТиповыеОтчеты.УстановитьП раметр(КомпоновщикНастрое к, "Больничные", Больничные);
ПособияПоУходу = Новый СписокЗначений;
ПособияПоУходу.Добавить(Пе речисления.ВидыПособийСоц альногоСтрахования.ПоУход уЗаРебенкомДоПолутораЛет);
ПособияПоУходу.Добавить(Пе речисления.ВидыПособийСоц альногоСтрахования.ПоУход уЗаРебенкомДоПолутораЛет);
ПособияПоУходу.Добавить(Пе речисления.ВидыПособийСоц альногоСтрахования.Дополн ительныеВыходныеДниПоУход уЗаДетьмиИнвалидами);
СписокНачисленийКолонка1 = Новый Соответствие;
СписокНачисленийКолонка2 = Новый Соответствие;
СписокНачисленийКолонка3 = Новый Соответствие;
СписокНачисленийКолонка4 = Новый Соответствие;
СписокУдержанийКолонка1 = Новый Соответствие;
СписокУдержанийКолонка2 = Новый Соответствие;
ЗаголовокНачисленийКолонк а1 = "";
ЗаголовокНачисленийКолонк а2 = "";
ЗаголовокНачисленийКолонк а3 = "";
ЗаголовокНачисленийКолонк а4 = "";
ЗаголовокУдержанийКолонка 1 = "";
ЗаголовокУдержанийКолонка 2 = "";
// Получим списки видов расчета
Если ИмяМакета = "форма0504401" Тогда
ОсмотренныеВР = Новый Соответствие;
Для каждого СтрокаОрганизации Из Выборка.Строки Цикл
Для каждого СтрокаСотрудника из СтрокаОрганизации.Строки Цикл
Для каждого СтрокаНачисление из СтрокаСотрудника.Строки Цикл
Если ОсмотренныеВР[СтрокаНачисление.ВидРасче а] <> Неопределено Тогда
Продолжить;
Иначе
ОсмотренныеВР.Вставить(Стр окаНачисление.ВидРасчета,С трокаНачисление.ВидРасчет )
КонецЕсли;
Если ПособияПоУходу.НайтиПоЗна ению(СтрокаНачисление.Вид особияСоциальногоСтрахов ния) <> Неопределено Тогда
Продолжить;
КонецЕсли;
Если Больничные.НайтиПоЗначени (СтрокаНачисление.ВидРасч та) <> Неопределено Тогда
Продолжить;
КонецЕсли;
Если ТипЗНЧ(СтрокаНачисление.Ви дРасчета) = Тип("ПланВидовРасчетаСсылк а.ОсновныеНачисленияОрган заций") И СтрокаНачисление.ЗачетОтр ботанногоВремени тогда
ОсновныеНачисления.Встави ь(СтрокаНачисление.ВидРас ета, СтрокаНачисление.ВидРасче а);
ИначеЕсли (ТипЗНЧ(СтрокаНачисление.В дРасчета) = Тип("ПланВидовРасчетаСсылк а.ДополнительныеНачислени Организаций")
ИЛИ СтрокаНачисление.ВидРасче а = "Мат. выгода"
ИЛИ (ТипЗНЧ(СтрокаНачисление.В дРасчета) = Тип("ПланВидовРасчетаСсылк а.ОсновныеНачисленияОрган заций")
И НЕ СтрокаНачисление.ЗачетОтр ботанногоВремени)) И СписокНачисленийКолонка1.К оличество() = 0 тогда
СписокНачисленийКолонка1.В ставить(СтрокаНачисление.В идРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокНачисленийКолонк а1 = ЗаголовокНачисленийКолонк а1 + ?(ЗаголовокНачисленийКолон ка1 = "", СтрокаНачисление.ВидРасче а, ", " + СтрокаНачисление.ВидРасче а);
ИначеЕсли (ТипЗНЧ(СтрокаНачисление.В дРасчета) = Тип("ПланВидовРасчетаСсылк а.ДополнительныеНачислени Организаций")
ИЛИ СтрокаНачисление.ВидРасче а = "Мат. выгода"
ИЛИ (ТипЗНЧ(СтрокаНачисление.В дРасчета) = Тип("ПланВидовРасчетаСсылк а.ОсновныеНачисленияОрган заций")
И НЕ СтрокаНачисление.ЗачетОтр ботанногоВремени)) И СписокНачисленийКолонка2.К оличество() =0 тогда
СписокНачисленийКолонка2.В ставить(СтрокаНачисление.В идРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокНачисленийКолонк а2 = ЗаголовокНачисленийКолонк а2 + ?(ЗаголовокНачисленийКолон ка2 = "", СтрокаНачисление.ВидРасче а, ", " + СтрокаНачисление.ВидРасче а);
ИначеЕсли (ТипЗНЧ(СтрокаНачисление.В дРасчета) = Тип("ПланВидовРасчетаСсылк а.ДополнительныеНачислени Организаций")
ИЛИ СтрокаНачисление.ВидРасче а = "Мат. выгода"
ИЛИ (ТипЗНЧ(СтрокаНачисление.В дРасчета) = Тип("ПланВидовРасчетаСсылк а.ОсновныеНачисленияОрган заций")
И НЕ СтрокаНачисление.ЗачетОтр ботанногоВремени)) И СписокНачисленийКолонка3.К оличество() =0 тогда
СписокНачисленийКолонка3.В ставить(СтрокаНачисление.В идРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокНачисленийКолонк а3 = ЗаголовокНачисленийКолонк а3 + ?(ЗаголовокНачисленийКолон ка3 = "", СтрокаНачисление.ВидРасче а, ", " + СтрокаНачисление.ВидРасче а);
ИначеЕсли ТипЗНЧ(СтрокаНачисление.Ви дРасчета) = Тип("ПланВидовРасчетаСсылк а.ДополнительныеНачислени Организаций")
ИЛИ СтрокаНачисление.ВидРасче а = "Мат. выгода"
ИЛИ (ТипЗНЧ(СтрокаНачисление.В дРасчета) = Тип("ПланВидовРасчетаСсылк а.ОсновныеНачисленияОрган заций")
И НЕ СтрокаНачисление.ЗачетОтр ботанногоВремени) тогда
СписокНачисленийКолонка4.В ставить(СтрокаНачисление.В идРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокНачисленийКолонк а4 = ЗаголовокНачисленийКолонк а4 + ?(ЗаголовокНачисленийКолон ка4 = "", СтрокаНачисление.ВидРасче а, ", " + СтрокаНачисление.ВидРасче а);
ИначеЕсли (ТипЗНЧ(СтрокаНачисление.В дРасчета) = Тип("ПланВидовРасчетаСсылк а.УдержанияОрганизаций")
или СтрокаНачисление.ВидРасче а = "Погашение займа" или СтрокаНачисление.ВидРасче а = "МежРасчетнаяВыплата")
И СписокУдержанийКолонка1.Ко личество() = 0 тогда
СписокУдержанийКолонка1.Вс тавить(СтрокаНачисление.Ви дРасчета, СтрокаНачисление.ВидРасче а);
Если СтрокаНачисление.ВидРасче а = "МежРасчетнаяВыплата" тогда
ЗаголовокУдержанийКолонка 1 = ЗаголовокУдержанийКолонка 1 + ?(ЗаголовокУдержанийКолонк а1 = "", "Межрасчетная выплата", ", Межрасчетная выплата");
Иначе
ЗаголовокУдержанийКолонка 1 = ЗаголовокУдержанийКолонка 1 + ?(ЗаголовокУдержанийКолонк а1 = "", СтрокаНачисление.ВидРасче а, ", " + СтрокаНачисление.ВидРасче а);
КонецЕсли;
ИначеЕсли ТипЗНЧ(СтрокаНачисление.Ви дРасчета) = Тип("ПланВидовРасчетаСсылк а.УдержанияОрганизаций")
или СтрокаНачисление.ВидРасче а = "Погашение займа" или СтрокаНачисление.ВидРасче а = "МежРасчетнаяВыплата" тогда
СписокУдержанийКолонка2.Вс тавить(СтрокаНачисление.Ви дРасчета, СтрокаНачисление.ВидРасче а);
Если СтрокаНачисление.ВидРасче а = "МежРасчетнаяВыплата" тогда
ЗаголовокУдержанийКолонка 2 = ЗаголовокУдержанийКолонка 2 + ?(ЗаголовокУдержанийКолонк а2 = "", "Межрасчетная выплата", ", Межрасчетная выплата");
Иначе
ЗаголовокУдержанийКолонка 2 = ЗаголовокУдержанийКолонка 2 + ?(ЗаголовокУдержанийКолонк а2 = "", СтрокаНачисление.ВидРасче а, ", " + СтрокаНачисление.ВидРасче а);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Если СписокУдержанийКолонка1.Ко личество() > 0 и СписокУдержанийКолонка2.Ко личество() > 0 тогда
МежрасчетнаяВыплата = СписокУдержанийКолонка2["МежРасчетнаяВыплата"];
Если МежрасчетнаяВыплата <> Неопределено тогда
Для каждого КлючИЗначение Из СписокУдержанийКолонка1 Цикл
УдержаниеКолонки1 = КлючИЗначение.Значение;
Прервать;
КонецЦикла;
СписокУдержанийКолонка2.Вс тавить(УдержаниеКолонки1, УдержаниеКолонки1);
СписокУдержанийКолонка1.Оч истить();
СписокУдержанийКолонка1.Вс тавить("МежРасчетнаяВыплат а", "МежРасчетнаяВыплата");
ЗаголовокУдержанийКолонка 1 = "Межрасчетная выплата";
ЗаголовокУдержанийКолонка 2 = "";
Если СписокУдержанийКолонка2.Ко личество() = 1 тогда
Для каждого КлючИЗначение Из СписокУдержанийКолонка2 Цикл
ЗаголовокУдержанийКолонка 2 = Строка(КлючИЗначение.Значе ние);
Прервать;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Иначе
ОсмотренныеВР = Новый Соответствие;
Для каждого СтрокаОрганизации Из Выборка.Строки Цикл
Для каждого СтрокаСотрудника из СтрокаОрганизации.Строки Цикл
Для каждого СтрокаНачисление из СтрокаСотрудника.Строки Цикл
Если ОсмотренныеВР[СтрокаНачисление.ВидРасче а] <> Неопределено Тогда
Продолжить;
Иначе
ОсмотренныеВР.Вставить(Стр окаНачисление.ВидРасчета,С трокаНачисление.ВидРасчет )
КонецЕсли;
Если ПособияПоУходу.НайтиПоЗна ению(СтрокаНачисление.Вид особияСоциальногоСтрахов ния) <> Неопределено Тогда
Продолжить;
КонецЕсли;
Если Больничные.НайтиПоЗначени (СтрокаНачисление.ВидРасч та) <> Неопределено Тогда
Продолжить;
КонецЕсли;
ТипВР = ТипЗнч(СтрокаНачисление.Ви дРасчета);
Если СтрокаНачисление.ЗачетОтр ботанногоВремени тогда
ОсновныеНачисления.Встави ь(СтрокаНачисление.ВидРас ета, СтрокаНачисление.ВидРасче а);
ИначеЕсли ТипВР = Тип("ПланВидовРасчетаСсылк а.ДополнительныеНачислени Организаций") Или ТипВР = Тип("ПланВидовРасчетаСсылк а.ОсновныеНачисленияОрган заций") Или СтрокаНачисление.ВидРасче а = "Мат. выгода" Тогда
Если СписокНачисленийКолонка1.К оличество() = 0 Тогда
СписокНачисленийКолонка1.В ставить(СтрокаНачисление.В идРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокНачисленийКолонк а1 = ЗаголовокНачисленийКолонк а1 + ?(ЗаголовокНачисленийКолон ка1 = "", СтрокаНачисление.Описание идаРасчета, ", " + СтрокаНачисление.Описание идаРасчета);
ИначеЕсли СписокНачисленийКолонка2.К оличество() =0 Тогда
СписокНачисленийКолонка2.В ставить(СтрокаНачисление.В идРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокНачисленийКолонк а2 = ЗаголовокНачисленийКолонк а2 + ?(ЗаголовокНачисленийКолон ка2 = "", СтрокаНачисление.Описание идаРасчета, ", " + СтрокаНачисление.Описание идаРасчета);
ИначеЕсли СписокНачисленийКолонка3.К оличество() =0 Тогда
СписокНачисленийКолонка3.В ставить(СтрокаНачисление.В идРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокНачисленийКолонк а3 = ЗаголовокНачисленийКолонк а3 + ?(ЗаголовокНачисленийКолон ка3 = "", СтрокаНачисление.Описание идаРасчета, ", " + СтрокаНачисление.Описание идаРасчета);
Иначе
СписокНачисленийКолонка4.В ставить(СтрокаНачисление.В идРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокНачисленийКолонк а4 = ЗаголовокНачисленийКолонк а4 + ?(ЗаголовокНачисленийКолон ка4 = "", СтрокаНачисление.Описание идаРасчета, ", " + СтрокаНачисление.Описание идаРасчета);
КонецЕсли;
ИначеЕсли ТипВР = Тип("ПланВидовРасчетаСсылк а.УдержанияОрганизаций") Или СтрокаНачисление.ВидРасче а = "Погашение займа" Тогда
СписокУдержанийКолонка1.Вс тавить(СтрокаНачисление.Ви дРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокУдержанийКолонка 1 = ЗаголовокУдержанийКолонка 1 + ?(ЗаголовокУдержанийКолонк а1 = "", СтрокаНачисление.Описание идаРасчета, ", " + СтрокаНачисление.Описание идаРасчета);
ИначеЕсли СтрокаНачисление.ВидРасче а = "МежРасчетнаяВыплата" Тогда
СписокУдержанийКолонка2.Вс тавить(СтрокаНачисление.Ви дРасчета, СтрокаНачисление.ВидРасче а);
ЗаголовокУдержанийКолонка 2 = ЗаголовокУдержанийКолонка 2 + ?(ЗаголовокУдержанийКолонк а2 = "", "Межрасчетная выплата", ", Межрасчетная выплата");
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЕсли;
НазваниеКолонок = Новый Структура("Колонка5, Колонка6, Колонка7, Колонка8, Колонка16, Колонка17");
НазваниеКолонок.Колонка5 = ?(СписокНачисленийКолонка1. Количество()>1, "Прочие", НРег(ЗаголовокНачисленийК лонка1));
НазваниеКолонок.Колонка6 = ?(СписокНачисленийКолонка2. Количество()>1, "Прочие", НРег(ЗаголовокНачисленийК лонка2));
НазваниеКолонок.Колонка7 = ?(СписокНачисленийКолонка3. Количество()>1, "Прочие", НРег(ЗаголовокНачисленийК лонка3));
НазваниеКолонок.Колонка8 = ?(СписокНачисленийКолонка4. Количество()>1, "Прочие", НРег(ЗаголовокНачисленийК лонка4));
НазваниеКолонок.Колонка16 = ?(СписокУдержанийКолонка1.К оличество()>1, "Прочие", НРег(ЗаголовокУдержанийКо онка1));
НазваниеКолонок.Колонка17 = ?(СписокУдержанийКолонка2.К оличество()>1, "Прочие", НРег(ЗаголовокУдержанийКо онка2));
// подготовим документ к выводу
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.ИмяПараметров ечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Ведомост ВКассу_РПВ";
ТабДокумент.ОриентацияСтр ницы = ОриентацияСтраницы.Ландша т;
Макет = ПолучитьМакет(ИмяМакета);
ОбластьМакетаШапкаДокумен та = Макет.ПолучитьОбласть("Шап а");
ОбластьМакетаШапкаТаблицы = Макет.ПолучитьОбласть("Шап аТаблицы");
ОбластьМакетаПодвал = Макет.ПолучитьОбласть("Под ал");
ОбластьМакетаСтрока = Макет.ПолучитьОбласть("Стр ка");
ОбластьПодвалСтр = Макет.ПолучитьОбласть("Ито оПоСтранице");
ОбластьМакетаШапкаТаблицы .Параметры.Заполнить(Назва иеКолонок);
ВыводимыеОбласти = Новый Массив();
ВыводимыеОбласти.Добавить( ОбластьМакетаСтрока);
ВыводимыеОбласти.Добавить( ОбластьПодвалСтр);
ВыводимыеОбластиСПодвалом = Новый Массив();
ВыводимыеОбластиСПодвалом .Добавить(ОбластьМакетаСтр ока);
ВыводимыеОбластиСПодвалом .Добавить(ОбластьПодвалСтр );
ВыводимыеОбластиСПодвалом .Добавить(ОбластьМакетаПод вал);
ВыводимыеОбластиДляПровер ки = Новый Массив();
ВыводимыеОбластиДляПровер ки.Добавить(ОбластьМакетаС трока);
ВыводимыеОбластиДляПровер ки.Добавить(ОбластьМакетаП одвал);
ОбластьМакетаПодвал.Парам тры.ИтогоКВыплате = 0;
ПервыйРаз = истина;
Валюта = Константы.ВалютаРегламент рованногоУчета.Получить();
Для каждого СтрокаОтчета из Выборка.Строки Цикл
Если НЕ ПервыйРаз тогда
ТабДокумент.ВывестиГоризо тальныйРазделительСтрани ();
Иначе
ПервыйРаз = ложь;
КонецЕсли;
ОбластьМакетаШапкаДокумен та.Параметры.Заполнить(Стр каОтчета);
ПараметрыОрганизации = ОбщегоНазначенияЗК.Получи ьЗначенияРеквизитов(Строк аОтчета.Организация, "КодПоОКПО, НаименованиеПолное, ИНН, КПП");
ПараметрыОрганизации.Вста ить("Организация", ПараметрыОрганизации.Наим нованиеПолное);
ОбластьМакетаШапкаДокумен та.Параметры.Заполнить(Пар метрыОрганизации);
ОбластьМакетаШапкаДокумен та.Параметры.Период = СтрокаОтчета.ПериодРегист ации;
ОбластьМакетаШапкаДокумен та.Параметры.ИнтервалС = """_____"" _________________ 20____г.";
ОбластьМакетаШапкаДокумен та.Параметры.ИнтервалПо = """_____"" _________________ 20____г.";
ОбластьМакетаПодвал.Парам тры.ДатаВыплатыВедомости = """_____"" _________________ 20____г.";
Если ИспользуетсяПолеВедомость тогда
СрокОплаты = "";
Если СтрокаОтчета.ВедомостьДат <> Null тогда
Запрос = Новый Запрос;
Запрос.УстановитьПараметр( "НачалоОплаты", СтрокаОтчета.ВедомостьДат );
Запрос.Текст =
"ВЫБРАТЬ
| МАКСИМУМ(РабочиеДни.Рабоча яДата) КАК СрокОплаты
|ИЗ
| (ВЫБРАТЬ ПЕРВЫЕ 2
| РегламентированныйПроизво дственныйКалендарь.ДатаКа ендаря КАК РабочаяДата
| ИЗ
| РегистрСведений.Регламент рованныйПроизводственный алендарь КАК РегламентированныйПроизво дственныйКалендарь
| ГДЕ
| РегламентированныйПроизво дственныйКалендарь.ДатаКа ендаря > &НачалоОплаты
| И (РегламентированныйПроизв дственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.Виды ДнейПроизводственногоКале ндаря.Рабочий)
| ИЛИ РегламентированныйПроизво дственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.Виды ДнейПроизводственногоКале ндаря.Предпраздничный))
|
| УПОРЯДОЧИТЬ ПО
| РабочаяДата) КАК РабочиеДни";
ВыборкаДней = Запрос.Выполнить().Выбрать() ;
Если ВыборкаДней.Следующий() И ЗначениеЗаполнено(Выборка ней.СрокОплаты) Тогда
СрокОплаты = МАКС(ВыборкаДней.СрокОплат ы, СтрокаОтчета.ВедомостьДат + 2 * 24*60*60);
Иначе
СрокОплаты = СтрокаОтчета.ВедомостьДат + 2 * 24*60*60;
КонецЕсли;
Иначе
СрокОплаты = ""
КонецЕсли;
ОбластьМакетаШапкаДокумен та.Параметры.НомерДок = СтрокаОтчета.ВедомостьНом р;
Если ЗначениеЗаполнено(СтрокаО чета.ВедомостьПодразделен иеОрганизацииНаименование ) Тогда
ОбластьМакетаШапкаДокумен та.Параметры.Подразделение Организации = СтрокаОтчета.ВедомостьПод азделениеОрганизацииНаим нование;
КонецЕсли;
Если ЗначениеЗаполнено(СтрокаО чета.ВедомостьДата) тогда
ОбластьМакетаШапкаДокумен та.Параметры.ИнтервалС = Формат(СтрокаОтчета.Ведомо стьДата, "ДФ='dd MMMM yyyy'");
ОбластьМакетаШапкаДокумен та.Параметры.ИнтервалПо = Формат(СрокОплаты, "ДФ='dd MMMM yyyy'");
Если СтрокаОтчета.ДокументПров ден тогда
ОбластьМакетаПодвал.Парам тры.ДатаВыплатыВедомости = Формат(СтрокаОтчета.ДатаВы платы, "ДФ='dd MMMM yyyy'")+" г."
КонецЕсли;
КонецЕсли;
ОбластьМакетаШапкаДокумен та.Параметры.СуммаДок = ОбщегоНазначенияЗК.Сформи оватьСуммуПрописью(?(Строк аОтчета.СуммаПоВедомостиИ ого <> NULL, СтрокаОтчета.СуммаПоВедом стиИтого, 0), Валюта);
Если ЗаполнятьКБК Тогда
ОбластьМакетаШапкаДокумен та.Параметры.КБК = СтрокаОтчета.КБК;
ОбластьМакетаШапкаДокумен та.Параметры.Дт = СокрЛП(Строка(СтрокаОтчета .КВД)) +"."+ СокрЛП(?(СтрокаОтчета.ДтСче т <> NULL, СтрокаОтчета.ДтСчет.Код, "")) +"."+ СокрЛП(?(СтрокаОтчета.ДтКОС ГУ <> NULL, СтрокаОтчета.ДтКОСГУ.Код, ""));
КонецЕсли;
Если СтрокаОтчета.ВедомостьДок ментОснованиеДата = '00010101' тогда
ОбластьМакетаПодвал.Парам тры.ДатаВедомости = """_____"" _________________ 20____г."
Иначе
ОбластьМакетаПодвал.Парам тры.ДатаВедомости = Формат(СтрокаОтчета.Ведомо стьДокументОснованиеДата, "ДФ='dd MMMM yyyy'")+" г.";
ОбластьМакетаШапкаДокумен та.Параметры.ДатаДок = Формат(СтрокаОтчета.Ведомо стьДокументОснованиеДата, "ДФ='dd MMMM yyyy'");
КонецЕсли;
ОбластьМакетаПодвал.Парам тры.СуммаПоВедомости = ?(ЗначениеЗаполнено(Строка тчета.СуммаПоВедомостиИто го), СтрокаОтчета.СуммаПоВедом стиИтого, 0) - ?(ЗначениеЗаполнено(Строка тчета.Задепонировано), СтрокаОтчета.Задепонирова о, 0) - ?(ЗначениеЗаполнено(Строка тчета.НеВыдано), СтрокаОтчета.НеВыдано, 0);
ОбластьМакетаПодвал.Парам тры.НеВыдано = ?(ЗначениеЗаполнено(Строка тчета.НеВыдано), СтрокаОтчета.НеВыдано, 0);
ОбластьМакетаПодвал.Парам тры.ИтогоКВыплате = ?(ЗначениеЗаполнено(Строка тчета.СуммаПоВедомости), СтрокаОтчета.СуммаПоВедом сти, 0) ;
КонецЕсли;
// Подвал документа.
ОбластьМакетаПодвал.Парам тры.Заполнить(СтрокаОтчет );
ВедомостьИтого = 0;
ТабДокумент.Вывести(Област ьМакетаШапкаДокумента);
ТабДокумент.Вывести(Област ьМакетаШапкаТаблицы);
НомерПП = 1;
ВсегоСтрокДокумента = СтрокаОтчета.Строки.Количе ство();
ИтогоПоСтранице = 0;
Для каждого СтрокаФизЛица из СтрокаОтчета.Строки Цикл
ОбластьМакетаСтрока.Парам тры.Заполнить(СтрокаФизЛи а);
ОбластьМакетаСтрока.Парам тры.НомерПП = НомерПП;
Основные = 0;
Больничный = 0;
ДниБолезни = 0;
Пособия = 0;
Колонка5 = 0;
Колонка6 = 0;
Колонка7 = 0;
Колонка8 = 0;
ВсегоНачислено = 0;
ЗаработнаяПлата = 0;
Колонка16 = 0;
Колонка17 = 0;
НДФЛ = 0;
СтраховойВзнос = 0;
ВсегоУдержано = 0;
Для каждого СтрокаНачисление из СтрокаФизЛица.Строки Цикл
Если ОсновныеНачисления[СтрокаНачисление.ВидРасче а] <> Неопределено тогда
Основные = Основные + СтрокаНачисление.Результа ;
ИначеЕсли ПособияПоУходу.НайтиПоЗна ению(СтрокаНачисление.Вид особияСоциальногоСтрахов ния) <> Неопределено Тогда
Пособия = Пособия + СтрокаНачисление.Результа ;
ИначеЕсли Больничные.НайтиПоЗначени (СтрокаНачисление.ВидРасч та) <> Неопределено Тогда
Больничный = Больничный + СтрокаНачисление.Результа ;
ДниБолезни = ДниБолезни + СтрокаНачисление.ДниБолез и;
ИначеЕсли СписокНачисленийКолонка1[СтрокаНачисление.ВидРасче а] <> Неопределено тогда
Колонка5 = Колонка5 + СтрокаНачисление.Результа ;
ИначеЕсли СписокНачисленийКолонка2[СтрокаНачисление.ВидРасче а] <> Неопределено тогда
Колонка6 = Колонка6 + СтрокаНачисление.Результа ;
ИначеЕсли СписокНачисленийКолонка3[СтрокаНачисление.ВидРасче а] <> Неопределено тогда
Колонка7 = Колонка7 + СтрокаНачисление.Результа ;
ИначеЕсли СписокНачисленийКолонка4[СтрокаНачисление.ВидРасче а] <> Неопределено тогда
Колонка8 = Колонка8 + СтрокаНачисление.Результа ;
ИначеЕсли СписокУдержанийКолонка1[СтрокаНачисление.ВидРасче а] <> Неопределено тогда
Колонка16 = Колонка16 + СтрокаНачисление.Результа ;
ИначеЕсли СписокУдержанийКолонка2[СтрокаНачисление.ВидРасче а] <> Неопределено тогда
Колонка17 = Колонка17 + СтрокаНачисление.Результа ;
ИначеЕсли СтрокаНачисление.ВидРасче а = "НДФЛ" тогда
НДФЛ = НДФЛ + СтрокаНачисление.Результа ;
ИначеЕсли СтрокаНачисление.ВидРасче а = "СтраховойВзнос" тогда
СтраховойВзнос = СтраховойВзнос + СтрокаНачисление.Результа ;
ИначеЕсли СтрокаНачисление.ВидРасче а = "ЗаработнаяПлата" тогда
ЗаработнаяПлата = ЗаработнаяПлата + СтрокаНачисление.Результа ;
КонецЕсли;
ВсегоНачислено = Основные + Колонка5 + Колонка6 + Колонка7 + Колонка8 + Больничный + Пособия;
ВсегоУдержано = ЗаработнаяПлата + Колонка16 + Колонка17 + НДФЛ + СтраховойВзнос;
КонецЦикла;
ОбластьМакетаСтрока.Парам тры.Основные = Основные;
ОбластьМакетаСтрока.Парам тры.Больничный = Больничный;
Если ЗаполнятьКБК Тогда
ОбластьМакетаСтрока.Парам тры.ДниБолезни = ДниБолезни;
КонецЕсли;
ОбластьМакетаСтрока.Парам тры.Пособия = Пособия;
ОбластьМакетаСтрока.Парам тры.Колонка5 = Колонка5;
ОбластьМакетаСтрока.Парам тры.Колонка6 = Колонка6;
ОбластьМакетаСтрока.Парам тры.Колонка7 = Колонка7;
ОбластьМакетаСтрока.Парам тры.Колонка8 = Колонка8;
ОбластьМакетаСтрока.Парам тры.ВсегоНачислено = ВсегоНачислено;
ОбластьМакетаСтрока.Парам тры.Аванс = ЗаработнаяПлата;
ОбластьМакетаСтрока.Парам тры.НДФЛ = НДФЛ;
ОбластьМакетаСтрока.Парам тры.СтраховойВзнос = СтраховойВзнос;
ОбластьМакетаСтрока.Парам тры.Колонка16 = Колонка16;
ОбластьМакетаСтрока.Парам тры.Колонка17 = Колонка17;
ОбластьМакетаСтрока.Парам тры.ВсегоУдержано = ВсегоУдержано;
ОбластьМакетаСтрока.Парам тры.СуммаПоВедомости = ?(ЗначениеЗаполнено(Строка изЛица.СуммаПоВедомости), СтрокаФизЛица.СуммаПоВедо ости, 0);
Если НЕ ИспользуетсяПолеВедомость тогда
ОбластьМакетаСтрока.Парам тры.ЗаписьОДепонировании = "";
КонецЕсли;
ВедомостьИтого = ВедомостьИтого + ?(ЗначениеЗаполнено(Строка изЛица.СуммаПоВедомости), СтрокаФизЛица.СуммаПоВедо ости, 0);
ВывестиПодвалЛиста = Не ФормированиеПечатныхФорм. роверитьВыводТабличногоД кумента(ТабДокумент, ВыводимыеОбласти);
Если Не ВывестиПодвалЛиста и НомерПП = ВсегоСтрокДокумента Тогда
//все строки отчета перебрали, они все еще умещаются на странице
ВывестиПодвалЛиста = Не ФормированиеПечатныхФорм. роверитьВыводТабличногоД кумента(ТабДокумент, ВыводимыеОбластиСПодвалом );
КонецЕсли;
Если ВывестиПодвалЛиста тогда
ОбластьПодвалСтр.Параметр .ИтогоКВыплате = ИтогоПоСтранице;
ТабДокумент.Вывести(Област ьПодвалСтр);
ТабДокумент.ВывестиГоризо тальныйРазделительСтрани ();
ТабДокумент.Вывести(Област ьМакетаШапкаТаблицы);
ИтогоПоСтранице = 0;
КонецЕсли;
ИтогоПоСтранице = ИтогоПоСтранице + ?(ЗначениеЗаполнено(Строка изЛица.СуммаПоВедомости), СтрокаФизЛица.СуммаПоВедо ости, 0);
ТабДокумент.Вывести(Област ьМакетаСтрока);
НомерПП = НомерПП + 1;
КонецЦикла;
Если ИспользуетсяПолеВедомость тогда
ОбластьМакетаПодвал.Парам тры.ИтогоКВыплате = ОбластьМакетаПодвал.Парам тры.ИтогоКВыплате;
ОбластьМакетаПодвал.Парам тры.СуммаПоВедомости = ?(СтрокаОтчета.Ведомость <> Null И СтрокаОтчета.Ведомость.Про веден, ОбластьМакетаПодвал.Парам тры.СуммаПоВедомости, 0);
Иначе
ОбластьМакетаПодвал.Парам тры.ИтогоКВыплате = ВедомостьИтого;
ОбластьМакетаПодвал.Парам тры.СуммаПоВедомости = 0;
ОбластьМакетаПодвал.Парам тры.НеВыдано = 0;
ОбластьМакетаПодвал.Парам тры.Задепонировано = 0;
КонецЕсли;
Для Сч = 1 По ОбластьМакетаСтрока.Парам тры.Количество() Цикл
ОбластьМакетаСтрока.Парам тры.Установить(Сч - 1,"");
КонецЦикла;
ОбластьМакетаСтрока.Парам тры.Физлицо = " " + Символы.ПС + " ";
Пока ФормированиеПечатныхФорм. роверитьВыводТабличногоД кумента(ТабДокумент, ВыводимыеОбластиДляПровер ки, Ложь) Цикл
ТабДокумент.Вывести(Област ьМакетаСтрока);
КонецЦикла;
ТабДокумент.Вывести(Област ьМакетаПодвал);
КонецЦикла;
КонецФункции // ПечатьРПВ()
Похожие темы
-
Как починить аудио колонки
от vodos в разделе Периферийные устройстваОтветов: 3Последнее сообщение: 15.05.2010, 08:39
Социальные закладки