gifts2017

Примеры расшифровок стандартными бухгалтерскими отчетами БП 3.0

Опубликовал Валерий Гайдабура (director04) в раздел Программирование - Практика программирования

Расшифровка данных с помощью стандартных бухгалтерских отчетов (ОСВ, Карточка счета, Отчет по проводкам) - очень полезный и нужный механизм.
Как это сделано? Как легко и просто реализовать сие действо?
Ниже приводится ряд примеров вызова таких расшифровок.

Примеры реализованы на конфигурации Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.40.41). На других редакциях процедуры вызова могут несколько отличаться - разработчики не стоят на месте.... Но, имея в запасе примеры вызова процедур расшифровки, вы решите данную задачу за 5-10 минут.

Просто скачивайте, пользуйтесь и наслаждайтесь.

Ниже приведу пример расшифровки отчетом по проводкам.

 

&НаКлиенте
Процедура ВызовРасшифровки()

    // ......... где -то , что-то.....

    Расшифровка = Новый Структура();
    Расшифровка.Вставить("Счет"+ДтКт, СчетаРасшифровки.СчетУчета);
    Расшифровка.Вставить("Счет"+ДтКтКорр, СчетаРасшифровки.КоррСчет);
    Расшифровка.Вставить("Субконто"+ДтКт+"1", ТекущийКонтрагент);
    Расшифровка.Вставить("Субконто"+ДтКт+"2", ТекущийДоговор);

    Если ТекущиеДанные.ВалютаДоговора <> ВалютаРегламентированногоУчета Тогда
        ДополнительныеСвойства = Новый Структура();
        ДополнительныеСвойства.Вставить("ПоказательБУ", НЕ ЭтоВалютныйДоговор);
        ДополнительныеСвойства.Вставить("ПоказательВалютнаяСумма", ЭтоВалютныйДоговор);
        Расшифровка.Вставить("ДополнительныеСвойства", ДополнительныеСвойства);
    КонецЕсли;

    ОткрытьОтчетПоПроводкам(Расшифровка);

КонецПроцедуры
&НаКлиенте
Процедура ОткрытьОтчетПоПроводкам(Расшифровка)

    // Получим параметры расшифровки
    НачалоПериодаРасшифровки = НачалоПериода;
    Если Расшифровка.Свойство("НачалоПериода") Тогда
        НачалоПериодаРасшифровки = Расшифровка.НачалоПериода;
    КонецЕсли;

    КонецПериодаРасшифровки = КонецПериода;
    Если Расшифровка.Свойство("КонецПериода") Тогда
        КонецПериодаРасшифровки = Расшифровка.КонецПериода;
    КонецЕсли;

    СчетДт  = Неопределено;
    Если Расшифровка.Свойство("СчетДт") Тогда
        СчетДт = Расшифровка.СчетДт;
    КонецЕсли;

    СчетДтВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    Если Расшифровка.Свойство("СчетДтВидСравнения") Тогда
        СчетДтВидСравнения = Расшифровка.СчетДтВидСравнения;
    КонецЕсли;

    СчетКт  = Неопределено;
    Если Расшифровка.Свойство("СчетКт") Тогда
        СчетКт = Расшифровка.СчетКт;
    КонецЕсли;

    СчетКтВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    Если Расшифровка.Свойство("СчетКтВидСравнения") Тогда
        СчетКтВидСравнения = Расшифровка.СчетКтВидСравнения;
    КонецЕсли;

    ПоказательВалютнаяСумма = Ложь;
    Если Расшифровка.Свойство("ПоказательВалютнаяСумма") Тогда
        ПоказательВалютнаяСумма = Расшифровка.ПоказательВалютнаяСумма;
    КонецЕсли;

    // Подготавливаем структуру для отбора необходимых параметров.
    ПользовательскиеНастройки = Новый ПользовательскиеНастройкиКомпоновкиДанных;
    ПользовательскиеОтборы = ПользовательскиеНастройки.Элементы.Добавить(Тип("ОтборКомпоновкиДанных"));
    ПользовательскиеОтборы.ИдентификаторПользовательскойНастройки = "Отбор";

    Если ЗначениеЗаполнено(СчетДт) Тогда
        БухгалтерскиеОтчетыКлиентСервер.ДобавитьОтбор(ПользовательскиеОтборы, "СчетДт", СчетДт, СчетДтВидСравнения);
    КонецЕсли;

    Если ЗначениеЗаполнено(СчетКт) Тогда
        БухгалтерскиеОтчетыКлиентСервер.ДобавитьОтбор(ПользовательскиеОтборы, "СчетКт", СчетКт, СчетКтВидСравнения);
    КонецЕсли;

    Для Н = 1 По 3 Цикл
        Для ДтКт = 1 По 2 Цикл
            Если ДтКт = 1 Тогда
                СуффиксДтКт = "Дт";
            Иначе
                СуффиксДтКт = "Кт";
            КонецЕсли;

            ИдентификаторСубконто = "Субконто" + СуффиксДтКт + Н;
            ЗначениеСубконто = Неопределено;
            Если Расшифровка.Свойство(ИдентификаторСубконто) Тогда
                ЗначениеСубконто = Расшифровка[ИдентификаторСубконто];
            КонецЕсли;

            Если ЗначениеСубконто <> Неопределено Тогда
                БухгалтерскиеОтчетыКлиентСервер.ДобавитьОтбор(ПользовательскиеОтборы, ИдентификаторСубконто, ЗначениеСубконто);
            КонецЕсли;

        КонецЦикла;
    КонецЦикла;

    ДополнительныеСвойства = ПользовательскиеНастройки.ДополнительныеСвойства;
    ДополнительныеСвойства.Вставить("ВключатьОбособленныеПодразделения" , Ложь);
    ДополнительныеСвойства.Вставить("ВыводитьЕдиницуИзмерения" , Ложь);
    ДополнительныеСвойства.Вставить("ПоказательВалютнаяСумма", ПоказательВалютнаяСумма);
    ДополнительныеСвойства.Вставить("ВыводитьЗаголовок" , Истина);
    ДополнительныеСвойства.Вставить("РежимРасшифровки" , Истина);
    ДополнительныеСвойства.Вставить("ВыводитьПодвал" , Ложь);
    ДополнительныеСвойства.Вставить("НачалоПериода" , НачалоПериодаРасшифровки);
    ДополнительныеСвойства.Вставить("КонецПериода" , КонецПериодаРасшифровки);
    ДополнительныеСвойства.Вставить("ПоказательБУ", Истина);
    ДополнительныеСвойства.Вставить("Организация" , Организация);

    // Если в параметрах процедуры имеются ДополнительныеСвойства, тогда будут применяться НЕ настройки по умолчанию
    ДополнительныеСвойстваОпределены = Расшифровка.Свойство("ДополнительныеСвойства");

    Если ДополнительныеСвойстваОпределены Тогда
        Для каждого ТекСвойство Из Расшифровка.ДополнительныеСвойства Цикл
            ДополнительныеСвойства.Вставить(ТекСвойство.Ключ, ТекСвойство.Значение);
        КонецЦикла;
    КонецЕсли;

    ПараметрыФормы = Новый Структура();
    //ПараметрыФормы.Вставить("РежимРасшифровки",       Истина);
    ПараметрыФормы.Вставить("ВидРасшифровки", 2); // Из пользовательских настроек
    ПараметрыФормы.Вставить("ИДРасшифровки", "ОтчетПоПроводкам");
    ПараметрыФормы.Вставить("ПользовательскиеНастройки", ПользовательскиеНастройки);
    //ПараметрыФормы.Вставить("ЗаполняемыеНастройки",        Новый Структура("Показатели", НЕ ДополнительныеСвойстваОпределены));
    ПараметрыФормы.Вставить("СформироватьПриОткрытии"  , Истина);
    ПараметрыФормы.Вставить("ЗаполняемыеНастройки"     , Новый Структура("ВыводимыеДанные, Группировка, Отбор, Показатели", Истина, Истина, Ложь, Ложь));

    ОткрытьФорму("Отчет.ОтчетПоПроводкам.Форма", ПараметрыФормы, ЭтаФорма, Истина);

КонецПроцедуры


Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Расшифровка отчетом Анализ счета
.txt 1,86Kb
24.01.16
0
.txt 1,86Kb 0 Скачать
Расшифровка отчетом по проводкам
.txt 5,54Kb
24.01.16
0
.txt 5,54Kb 0 Скачать
Расшифровка через карточку счета
.txt 3,01Kb
24.01.16
2
.txt 3,01Kb 2 Скачать
Расшифровка через ОСВ по счету
.txt 4,99Kb
24.01.16
1
.txt 4,99Kb 1 Скачать

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Евгений Волков (stragner2) (1.00 $m)
Подписаться Добавить вознаграждение

Комментарии

1. Armando Armando (Armando) 19.08.15 18:57
2. Валерий Гайдабура (director04) 19.08.15 19:40
(1) Armando,
А анализ субконто есть?)


К сожалению нет. Эти расшифровки так же рожал довольно долго. Описание подаваемых параметров ни где не нашел. Долго юзал отладчиком. Разработчики на форуме отвечают очень скупо. Но, в любом случае некий шаблон есть, можете попробовать на основании их.
3. Валерий Гайдабура (director04) 19.08.15 19:42
(1) Armando, да, спасибо за плюсик ))))
4. ValeriTim (ValeriTim) 20.08.15 10:36
Молодец. Хорошую и нужную работу проделал.
5. qweqwe (xantif_2000) 26.08.15 10:48
6. Сергей Ляпин (librefx) 26.08.15 17:40
7. Валерий Гайдабура (director04) 26.08.15 18:25
(6) librefx, спасибо за оценку и за плюсик...
9. Евгений Волков (stragner2) 12.10.15 08:25
10. Александр Ярошенко (teller) 13.10.15 07:21
(1) Armando, есть хочешь сам разобраться посмотри :
ОбщийМодуль.ЗаполнениеБухгалтерскойОтчетностиВызовСервера
Функция НастройкиАнализаСубконтоЭлементыЗатрат(
а дальше как у автора статьи
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа