Имя: Пароль:
1C
1С v8
Как добавить в отчет Оборотно-сальдовая ведомость
0 mimimimi
 
27.03.13
09:46
(Бугалтерия 2.0)Нужно, чтобы в отчете "Оборотно-сальдовая ведомость" при формировании отчета в ячейке "Дебет" было написано "Дебет(руб.)", также в ячейке "Кредит" - "Кредит(руб.)" - просто изменить надпись. И ещё нужно, чтобы под таблицей выводилась строка "Ответственный____________________(Сусанин А.В.{выбирать из справочника "СотрудникиОрганизации"}). Отчет создаю внешним {для удобства}.
Добавить реквизит и соответствующее "поле ввода" в форму - понимаю как делается. Проблема в том, что макет отчета формируется в СКД (и я не могу понять как, там даже нет "выбранных полей")...
1 cw014
 
27.03.13
09:47
Есть, смотреть надо внимательней
2 cw014
 
27.03.13
09:48
Ответственного нужно пихать после формирования отчета в результирующий документ
3 cw014
 
27.03.13
09:49
// В процедуре можно доработать компоновщик перед выводом в отчет
// Изменения сохранены не будут
Процедура ДоработатьКомпоновщикПередВыводом(ВнешниеНаборыДанных) Экспорт
   
   КомпоновщикНастроек.Настройки.Структура.Очистить();
   КомпоновщикНастроек.Настройки.Выбор.Элементы.Очистить();
   
   МассивПоказателей = Новый Массив;
   МассивПоказателей.Добавить("БУ");
   МассивПоказателей.Добавить("НУ");
   МассивПоказателей.Добавить("ПР");
   МассивПоказателей.Добавить("ВР");
   МассивПоказателей.Добавить("Контроль");
   МассивПоказателей.Добавить("ВалютнаяСумма");
   МассивПоказателей.Добавить("Количество");
       
   ПоказателиОтчета = ДанныеОтчета.ПоказателиОтчета;
   
   КоличествоПоказателей = СтандартныеОтчеты.КоличествоПоказателей(ЭтотОбъект);
   
   Если КоличествоПоказателей > 1 Тогда
       ГруппаПоказатели = КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных"));
       ГруппаПоказатели.Заголовок     = "Показатели";
       ГруппаПоказатели.Использование = Истина;
       ГруппаПоказатели.Расположение  = РасположениеПоляКомпоновкиДанных.Вертикально;
       
       Для Каждого ЭлементМассива Из МассивПоказателей Цикл
           Если ПоказателиОтчета[ЭлементМассива].Значение Тогда
               ТиповыеОтчеты.ДобавитьВыбранноеПоле(ГруппаПоказатели, "Показатели." + ЭлементМассива);
           КонецЕсли;
       КонецЦикла;    
   КонецЕсли;
       
   ГруппаСальдоНаНачало = КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных"));
   ГруппаСальдоНаНачало.Заголовок     = "Сальдо на начало периода";
   ГруппаСальдоНаНачало.Использование = Истина;
   ГруппаСальдоНаНачалоДт = ГруппаСальдоНаНачало.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных"));
   ГруппаСальдоНаНачалоДт.Заголовок     = "Дебет";
   ГруппаСальдоНаНачалоДт.Использование = Истина;
   ГруппаСальдоНаНачалоДт.Расположение  = РасположениеПоляКомпоновкиДанных.Вертикально;
   ГруппаСальдоНаНачалоКт = ГруппаСальдоНаНачало.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных"));
   ГруппаСальдоНаНачалоКт.Заголовок     = "Кредит";
   ГруппаСальдоНаНачалоКт.Использование = Истина;
   ГруппаСальдоНаНачалоКт.Расположение  = РасположениеПоляКомпоновкиДанных.Вертикально;
   
   ГруппаОбороты = КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных"));
   ГруппаОбороты.Заголовок     = "Обороты за период";
   ГруппаОбороты.Использование = Истина;
   ГруппаОборотыДт = ГруппаОбороты.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных"));
   ГруппаОборотыДт.Заголовок     = "Дебет";
   ГруппаОборотыДт.Использование = Истина;
   ГруппаОборотыДт.Расположение  = РасположениеПоляКомпоновкиДанных.Вертикально;
   ГруппаОборотыКт = ГруппаОбороты.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных"));
   ГруппаОборотыКт.Заголовок     = "Кредит";
   ГруппаОборотыКт.Использование = Истина;
4 cw014
 
27.03.13
09:49
Это по первому твоему вопросу
5 cw014
 
27.03.13
09:50
Процедура СформироватьОтчет(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина, ВнешниеНаборыДанных = Неопределено, ВыводитьПолностью = Истина) Экспорт
   
   Результат.Очистить();
   
   Настройки = КомпоновщикНастроек.ПолучитьНастройки();
   ВыводЗаголовкаОтчета(ЭтотОбъект, Результат);
   Если ВыводитьПолностью Тогда
       ДоработатьКомпоновщикПередВыводом(ВнешниеНаборыДанных);
       КомпоновщикНастроек.Восстановить();
       НастройкаКомпоновкиДанных = КомпоновщикНастроек.ПолучитьНастройки();
       КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
       СтандартныеОтчеты.ВывестиОтчет(ЭтотОбъект, Результат, ДанныеРасшифровки, ВыводВФормуОтчета, ВнешниеНаборыДанных, Истина, НастройкаКомпоновкиДанных);
   КонецЕсли;
   ВыводПодписейОтчета(ЭтотОбъект, Результат);
   
   Если ВыводитьПолностью Тогда
       // Выполним дополнительную обработку Результата отчета
       ОбработкаРезультатаОтчета(Результат);
       
       // Сохраним настройки для Истории
       СтандартныеОтчеты.СохранитьНастройкуДляИстории(ЭтотОбъект);
   КонецЕсли;
   
   // *** МОЯ НАДСТРОЙКА
   МакетПодвал = ПолучитьМакет("Подвал");
   МакетПодвал.Ответственный = Ответственный;
   Результат.Вывести(МакетПодвал);
   // *** МОЯ НАДСТРОЙКА

КонецПроцедуры
6 cw014
 
27.03.13
09:50
Это по второму
7 cw014
 
27.03.13
09:55
С тебя 200 рублев
8 mimimimi
 
27.03.13
11:03
Спасибо, разобрался
9 cw014
 
27.03.13
11:04
Мне нравится как игнорятся сообщения типа (7) на этом форуме :)