Итоговые колонки
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 3 из 3
  1. #1
    Пришел за помощью

    Регистрация
    11.02.2017
    Сообщений
    10
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Итоговые колонки

    В моей таблице под всеми колонками итоги показывают одинаковые суммы, однако, в колонках разные. Как Сделать так что бы итоговые суммы расчитывались по колонкам?

  2. #2
    Гордость форума PRO

    Регистрация
    29.01.2010
    Сообщений
    1212
    Сказал(а) спасибо
    30
    Поблагодарили 261 раз(а) в 245 сообщениях

    По умолчанию Re: Итоговые колонки

    Цитата Сообщение от vladimir369 Посмотреть сообщение
    В моей таблице под всеми колонками итоги показывают одинаковые суммы, однако, в колонках разные. Как Сделать так что бы итоговые суммы расчитывались по колонкам?

    В какой таблице, где в таблице - хз. А сколько есть попыток чтобы угадать правильный ответ?

  3. #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,"");
    КонецЦикла;
    ОбластьМакетаСтрока.Парам� �тры.Физлицо = " " + Символы.ПС + " ";
    Пока ФормированиеПечатныхФорм.� �роверитьВыводТабличногоД� �кумента(ТабДокумент, ВыводимыеОбластиДляПровер ки, Ложь) Цикл
    ТабДокумент.Вывести(Област ьМакетаСтрока);
    КонецЦикла;

    ТабДокумент.Вывести(Област ьМакетаПодвал);

    КонецЦикла;

    КонецФункции // ПечатьРПВ()

Похожие темы

  1. Как починить аудио колонки
    от vodos в разделе Периферийные устройства
    Ответов: 3
    Последнее сообщение: 15.05.2010, 07:39

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •