Всем привет! Платформа: 1С:Підприємство 8.3 (8.3.8.2027) Конфигурацыя: "Зарплата и Управление Персоналом для Украины", редакция 2.1.
Суть вопроса: Переделываю чужую обработку выгрузки платежного поручения по зарплате для банка в Екселевский файл. Файл формирую. Список сотрудников с номерами карт и суммами тоже формирую нормально. Ну а дальше туплю... - не могу сообразить как получить в подвале итог по столбцу "Сума"
Если СсылкаНаОбъект.Организация.Пустая() Тогда Сообщить(НСтр("ru='Не указана организация.';uk='Не зазначена організація.'"), СтатусСообщения.Важное); Возврат Неопределено; КонецЕсли;
Если СсылкаНаОбъект.Контрагент.Пустая() И Не СсылкаНаОбъект.ВидОперации=Перечисления.ВидыОперацийППИсходящее.ПереводНаДругойСчет Тогда Сообщить(НСтр("ru='Не указан контрагент.';uk='Не зазначений контрагент.'"), СтатусСообщения.Важное); Возврат Неопределено; КонецЕсли;
ТабДок = Новый ТабличныйДокумент; //ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПлатежноеПоручениеИсходящее_ПечатьОтчетаПоЗарплате";
Макет = ЭтотОбъект.ПолучитьМакет("Alfa");
// печать производится на языке, указанном в настройках пользователя //КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм")); //Макет.КодЯзыкаМакета = КодЯзыкаПечать;
// ВыплатаЗаработнойПлаты Область = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(Область); ОбластьВыплатаЗаработнойПлаты = Макет.ПолучитьОбласть("ВыплатаЗаработнойПлаты");
НомерСтроки = 0; Пока Выборка.Следующий() Цикл НомерСтроки = НомерСтроки+1; ОбластьВыплатаЗаработнойПлаты.Параметры.Заполнить(Выборка); ОбластьВыплатаЗаработнойПлаты.Параметры.Сумма = Формат(Выборка.Сумма,"ЧДЦ=2; ЧРД=,; ЧГ="); ОбластьВыплатаЗаработнойПлаты.Параметры.НомерСтроки = НомерСтроки;
ТабДок.Вывести(ОбластьВыплатаЗаработнойПлаты); КонецЦикла; // Нужен подвал для получения итога // Беру подвал из макета // Подвал Подвал = Макет.ПолучитьОбласть("Подвал"); //Макет получен, теперь нужен итог по столбцу "Сума" Подвал.Параметры.СуммаИтого = Формат(??????,"ЧДЦ=2; ЧРД=,");
Petre @ Сегодня, 15:42
, обьявил переменную и в цыкле написал сумирование:
Функция ПечатьАльфаКратко1() Экспорт //Обьявляю переменную Перем СуммаИтог;
Если СсылкаНаОбъект.Организация.Пустая() Тогда Сообщить(НСтр("ru='Не указана организация.';uk='Не зазначена організація.'"), СтатусСообщения.Важное); Возврат Неопределено; КонецЕсли;
Если СсылкаНаОбъект.Контрагент.Пустая() И Не СсылкаНаОбъект.ВидОперации=Перечисления.ВидыОперацийППИсходящее.ПереводНаДругойСчет Тогда Сообщить(НСтр("ru='Не указан контрагент.';uk='Не зазначений контрагент.'"), СтатусСообщения.Важное); Возврат Неопределено; КонецЕсли;
ТабДок = Новый ТабличныйДокумент; //ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПлатежноеПоручениеИсходящее_ПечатьОтчетаПоЗарплате";
Макет = ЭтотОбъект.ПолучитьМакет("Alfa");
// печать производится на языке, указанном в настройках пользователя //КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм")); //Макет.КодЯзыкаМакета = КодЯзыкаПечать;
// ВыплатаЗаработнойПлаты Область = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(Область); ОбластьВыплатаЗаработнойПлаты = Макет.ПолучитьОбласть("ВыплатаЗаработнойПлаты");
НомерСтроки = 0; Пока Выборка.Следующий() Цикл НомерСтроки = НомерСтроки+1; ОбластьВыплатаЗаработнойПлаты.Параметры.Заполнить(Выборка); ОбластьВыплатаЗаработнойПлаты.Параметры.Сумма = Формат(Выборка.Сумма,"ЧДЦ=2; ЧРД=,; ЧГ="); ОбластьВыплатаЗаработнойПлаты.Параметры.НомерСтроки = НомерСтроки; // суммирую по переменной СуммаИтог = СуммаИтог + ОбластьВыплатаЗаработнойПлаты.Параметры.Сумма;
ТабДок.Вывести(ОбластьВыплатаЗаработнойПлаты); КонецЦикла; // Нужен подвал для получения итога // Беру подвал из макета // Подвал Подвал = Макет.ПолучитьОбласть("Подвал");
{ВнешняяОбработка.ПечатьОтчетаПоЗарплате.МодульОбъекта(264)}: Перетворення значення к типу Число не може бути виконано СуммаИтог = СуммаИтог + ОбластьВыплатаЗаработнойПлаты.Параметры.Сумма;
УРА!!!! Заработало!!! Всем огромное спасибо)) Вот конечный код, может кому пригодиться)
Функция ПечатьАльфаКратко1() Экспорт //Обьявляю переменную Перем СумИт;
Если СсылкаНаОбъект.Организация.Пустая() Тогда Сообщить(НСтр("ru='Не указана организация.';uk='Не зазначена організація.'"), СтатусСообщения.Важное); Возврат Неопределено; КонецЕсли;
Если СсылкаНаОбъект.Контрагент.Пустая() И Не СсылкаНаОбъект.ВидОперации=Перечисления.ВидыОперацийППИсходящее.ПереводНаДругойСчет Тогда Сообщить(НСтр("ru='Не указан контрагент.';uk='Не зазначений контрагент.'"), СтатусСообщения.Важное); Возврат Неопределено; КонецЕсли;
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!