Как добавить подписи в отчет СКД? Во многих организациях сформированные отчеты заверяют подписями.
В данном примере я покажу как можно вывести подписи для типового отчета ЗУП Свод начислений.
Для начала создадим макет в котором и разместим подписи, макет я создам общий, т.к. он будет использоваться и в других отчетах.
Макет такой:
Открываем Отчет СводНачисленнойЗарплатыОрганизаций, открываем Форму и ищем процедуру
ОбновитьОтчет()
После
Код 1C v 8.х СформироватьОтчет(ЭлементыФормы.Результат, ДанныеРасшифровки);
добавляем вывод подписей
Код 1C v 8.х Макет = ПолучитьОбщийМакет("МакетПодписи");
ОбластьВывести = Макет.ПолучитьОбласть("Подпись");
ЭлементыФормы.Результат.Вывести(ОбластьВывести);
Полный код процедуры ОбновитьОтчет()
Код 1C v 8.х Процедура ОбновитьОтчет() Экспорт
СостояниеМодифицированности = Модифицированность;
Если ПанельНастроекНарисована <> Истина Тогда
ОбновлениеОтображения();
КонецЕсли;
ТиповыеОтчеты.ЗагрузитьВРеквизитЗначенияНастроекПанелиПользователя(ЭтотОбъект, ЭтаФорма);
ПараметрыПанели = ТиповыеОтчеты.ПолучитьПараметрыПанелиПользователяОбъекта(ОтчетОбъект);
ЗначенияНастроек = ТиповыеОтчеты.ПолучитьЗначенияНастроекПанелиПользователяОбъекта(ОтчетОбъект);
Отказ = ложь;
ТиповыеОтчеты.ПроверитьЗначенияПараметров(ЗначенияНастроек, ПараметрыПанели, Отказ);
Если Отказ тогда
Возврат;
КонецЕсли;
РежимформированияОтчета = НЕ ЭтоОтработкаРасшифровки;
СформироватьОтчет(ЭлементыФормы.Результат, ДанныеРасшифровки);
//Мигачев - Вывод подписей
Макет = ПолучитьОбщийМакет("МакетПодписи");
ОбластьВывести = Макет.ПолучитьОбласть("Подпись");
// Если надо вывести параметр
//ОбластьВывести.Параметры.Подписант = Бухгалтер;
ЭлементыФормы.Результат.Вывести(ОбластьВывести);
//*//
УправлениеОтчетами.УстановитьКолонтитулыПоУмолчанию(ЭлементыФормы.Результат, Заголовок, Строка(ПараметрыСеанса.ТекущийПользователь));
Модифицированность = СостояниеМодифицированности;
КонецПроцедуры
Категория:
Схема Компоновки Данных Программное открытие Универсального отчета с отбором Код 1C v 8.х ОтчетКонтрагента = Отчеты.ВедомостьВзаиморасчетыСКонтрагентами.Создать();
ОтчетКонтрагента.УстановитьНачальныеНастройки();
ОтчетКонтрагента.УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки.Очистить();
ОтчетКонтрагента.УниверсальныйОтчет.ПостроительОтчета.ИзмеренияКолонки.Очистить();
ОтчетКонтрагента.УниверсальныйОтчет.ПостроительОтчета.ВыбранныеПоля.Очистить();
ОтчетКонтрагента.УниверсальныйОтчет.ПостроительОтчета.Порядок.Очистить();
ОтчетКонтрагента.УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Контрагент");
ОтчетКонтрагента.УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ДоговорКонтрагента");
//Контрагент
ЭлементОтбора = ОтчетКонтрагента.УниверсальныйОтчет.ПостроительОтчета.Отбор["Контрагент"];
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ВидСравнения = ВидСравнения.Равно;
ЭлементОтбора.Значение = ДоговорКонтрагента.Владелец;
//ДоговорКонтрагента
ЭлементОтбора = ОтчетКонтрагента.УниверсальныйОтчет.ПостроительОтчета.Отбор["ДоговорКонтрагента"];
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ВидСравнения = ВидСравнения.Равно;
ЭлементОтбора.Значение = ДоговорКонтрагента.Ссылка;
ОтчетКонтрагента.УниверсальныйОтчет.ДобавитьДополнительноеПоле("Период");
ОтчетКонтрагента.УниверсальныйОтчет.ДобавитьДополнительноеПоле("Регистратор");
ОтчетКонтрагента.УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
ОтчетКонтрагента.УниверсальныйОтчет.мВосстанавливатьНастройкиПриОткрытии = Ложь;
ФормаОтчета = ОтчетКонтрагента.ПолучитьФорму();
ФормаОтчета.Открыть();
ФормаОтчета.ОбновитьОтчет();
Категория:
Прочие вопросы Пытаюсь сделать расшифровку отчета Пытаюсь сделать расшифровку отчета, в карточку счета хочу поставить отбор по своей номенклатуре, но проблема в том, что, в поле отбора встает слово номенклатура и моя номенклатура по которой я хочу сделать отбор, но оно будьто бы не доступно, сама карточка формируется без участия моего отбора. В карточке в доступных полях есть номенклатура, но выгружается туда в настройки номенклатура с красным крестом, в чем может быть дело?делаю так:
Код 1C v 8.х Если ТипЗнч(Расшифровка) = Тип("СписокЗначений") Тогда
Если Расшифровка.Количество() = 1 Тогда
ВыбранноеЗначение = Расшифровка[0];
Иначе
ВыбранноеЗначение = Расшифровка.ВыбратьЭлемент("Выберите расшифровку",Расшифровка[0]);
КонецЕсли;
Если ВыбранноеЗначение <> Неопределено Тогда
ВыбраннаяРасшифровка = ВыбранноеЗначение.Значение;
Иначе
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
ИначеЕсли ТипЗнч(Расшифровка) = Тип("Структура")
ИЛИ ТипЗнч(Расшифровка) = Тип("Соответствие") Тогда
ВыбраннаяРасшифровка = Расшифровка;
КонецЕсли;
Если ТипЗнч(ВыбраннаяРасшифровка) = Тип("Структура")
ИЛИ ТипЗнч(ВыбраннаяРасшифровка) = Тип("Соответствие") Тогда
ОбщаяРасшифровка = Элемент.Область(1,1).Расшифровка;
Если ТипЗнч(ОбщаяРасшифровка) = Тип("Структура")
ИЛИ ТипЗнч(ОбщаяРасшифровка) = Тип("Соответствие") Тогда
Для Каждого Элемент Из ОбщаяРасшифровка Цикл
ВыбраннаяРасшифровка.Вставить(Элемент.Ключ, Элемент.Значение);
КонецЦикла;
КонецЕсли;
СтандартнаяОбработка = Ложь;
Отчет = Отчеты[ВыбраннаяРасшифровка["ИмяОбъекта"]].Создать();
Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки();
Отчет.РежимРасшифровки = Истина;
ФормаОтчета = Отчет.ПолучитьФорму(, , Новый УникальныйИдентификатор());
Отчет.НачалоПериода = ДатаНач;
Отчет.КонецПериода = ДатаКон;
Отчет.Организация = ПостроительОтчета.Отбор.Организация.Значение;
Отчет.Счет = ПланыСчетов.Хозрасчетный.Материалы;
Отчет.Настроить();
Если ВыбраннаяРасшифровка["Отбор"] <> Неопределено Тогда
Для Каждого СтрокаОтбора Из ВыбраннаяРасшифровка["Отбор"] Цикл
Если ТипЗнч(СтрокаОтбора.Значение) <> Тип("Соответствие") Тогда
ТиповыеОтчеты.ДобавитьОтбор(Отчет.КомпоновщикНастроек, СтрокаОтбора.Ключ, СтрокаОтбора.Значение);
Иначе
Для Каждого Элемент Из СтрокаОтбора.Значение Цикл
ТиповыеОтчеты.ДобавитьОтбор(Отчет.КомпоновщикНастроек,Элемент.Ключ,Элемент.Значение);
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ФормаОтчета.Открыть();
ФормаОтчета.ОбновитьОтчет();
Категория: Нет