|
Изменение типовой ОСВ по счету в БП 3.0 | ☑ | ||
---|---|---|---|---|
0
vikki
12.11.14
✎
16:01
|
Добрый день, уважаемые коллеги!
Поставили мне задачу финансисты изменить типовую ОСВ по счету так, чтобы периоды с учетом указанной периодичности выходили в столбцах, а не в строках: [URL=http://www.imageup.ru/img246/1941659/osv_primer.jpg.html][IMG]http://www.imageup.ru/img246/thumb/osv_primer1941659.jpg[/IMG][/URL] Может кто подскажет, где копать??? Нашла в модуле менеджера процедуру ПередКомпановкойМакета(), внесла туда некоторые изменения: [CODE]ГруппаПериод = КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаПериод.Заголовок = "Период"; ГруппаПериод.Использование = Истина; ГруппаСальдоНаНачало = ГруппаПериод.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаСальдоНаНачало.Заголовок = "Сальдо на начало периода"; ГруппаСальдоНаНачало.Использование = Истина; ГруппаСальдоНаНачалоДт = ГруппаСальдоНаНачало.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаСальдоНаНачалоДт.Заголовок = "Дебет"; ГруппаСальдоНаНачалоДт.Использование = Истина; ГруппаСальдоНаНачалоДт.Расположение = РасположениеПоляКомпоновкиДанных.Вертикально; ГруппаСальдоНаНачалоКт = ГруппаСальдоНаНачало.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаСальдоНаНачалоКт.Заголовок = "Кредит"; ГруппаСальдоНаНачалоКт.Использование = Истина; ГруппаСальдоНаНачалоКт.Расположение = РасположениеПоляКомпоновкиДанных.Вертикально; ГруппаОбороты = ГруппаПериод.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаОбороты.Заголовок = "Обороты за период"; ГруппаОбороты.Использование = Истина; ГруппаОборотыДт = ГруппаОбороты.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаОборотыДт.Заголовок = "Дебет"; ГруппаОборотыДт.Использование = Истина; ГруппаОборотыДт.Расположение = РасположениеПоляКомпоновкиДанных.Вертикально; ГруппаОборотыКт = ГруппаОбороты.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаОборотыКт.Заголовок = "Кредит"; ГруппаОборотыКт.Использование = Истина; ГруппаОборотыКт.Расположение = РасположениеПоляКомпоновкиДанных.Вертикально; ГруппаСальдоНаКонец = ГруппаПериод.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаСальдоНаКонец.Заголовок = "Сальдо на конец периода"; ГруппаСальдоНаКонец.Использование = Истина; ГруппаСальдоНаКонецДт = ГруппаСальдоНаКонец.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаСальдоНаКонецДт.Заголовок = "Дебет"; ГруппаСальдоНаКонецДт.Использование = Истина; ГруппаСальдоНаКонецДт.Расположение = РасположениеПоляКомпоновкиДанных.Вертикально; ГруппаСальдоНаКонецКт = ГруппаСальдоНаКонец.Элементы.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных")); ГруппаСальдоНаКонецКт.Заголовок = "Кредит"; ГруппаСальдоНаКонецКт.Использование = Истина; ГруппаСальдоНаКонецКт.Расположение = РасположениеПоляКомпоновкиДанных.Вертикально; Для Каждого ИмяПоказателя Из ПараметрыОтчета.НаборПоказателей Цикл Если ПараметрыОтчета["Показатель" + ИмяПоказателя] Тогда ВидОстатка = ?(ПараметрыОтчета.РазвернутоеСальдо, "Развернутый", ""); БухгалтерскиеОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ГруппаПериод, "Период"); БухгалтерскиеОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ГруппаСальдоНаНачалоДт, "СальдоНаНачалоПериода." + ИмяПоказателя + "Начальный" + ВидОстатка + "ОстатокДт"); БухгалтерскиеОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ГруппаСальдоНаНачалоКт, "СальдоНаНачалоПериода." + ИмяПоказателя + "Начальный" + ВидОстатка + "ОстатокКт"); БухгалтерскиеОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ГруппаОборотыДт, "ОборотыЗаПериод." + ИмяПоказателя + "ОборотДт"); БухгалтерскиеОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ГруппаОборотыКт, "ОборотыЗаПериод." + ИмяПоказателя + "ОборотКт"); БухгалтерскиеОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ГруппаСальдоНаКонецДт, "СальдоНаКонецПериода." + ИмяПоказателя + "Конечный" + ВидОстатка + "ОстатокДт"); БухгалтерскиеОтчетыКлиентСервер.ДобавитьВыбранноеПоле(ГруппаСальдоНаКонецКт, "СальдоНаКонецПериода." + ИмяПоказателя + "Конечный" + ВидОстатка + "ОстатокКт"); КонецЕсли; КонецЦикла; [/CODE] Видимо где-то нужен цикл по периоду с заданной периодичностью и как-то передавать все в компановку или вообще все не верно? |
|||
1
vikki
12.11.14
✎
16:11
|
Сорри, прямая ссылка на картинку http://imageup.ru/img246/1941651/osv_primer.jpg.html
|
|||
2
RayCon
12.11.14
✎
16:12
|
Используй Универсальную ОСВ от Александра Леонова: http://infostart.ru/public/21322/
|
|||
3
vikki
12.11.14
✎
16:14
|
У меня платформа 8.3 и БП 3.0
|
|||
4
RayCon
13.11.14
✎
04:13
|
(3) В толстом клиенте будет работать
|
|||
5
vikki
13.11.14
✎
14:30
|
(4) К сожалению не работает на управляемых формах(((
Написала отчет с нуля, формируется все как надо, но теперь нужно воспроизвести настройки типовой ОСВ, загвоздка в группировке... |
|||
6
RayCon
18.11.14
✎
01:19
|
(5)
>К сожалению не работает на управляемых формах((( Как внешний отчет не будет наработать - надо в конфигурацию вставить. >Написала отчет с нуля Ты - крутая! :) >формируется все как надо, но теперь нужно воспроизвести >настройки типовой ОСВ, загвоздка в группировке... Загвоздка вовсе не в группировке, а в том, что ОСВ в типовой поставке не имеет нужных настроек => их невозможно воспроизвести. Могу тебе слегка помочь: скинуть табличку с развёрнутым сальдо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |