Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Помогите с Построителем отчета ОТБОР          
kosalex Подменю пользователя
сообщение 13.05.15, 12:10
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Добрый день. Есть отчет, нужно добавить отбор в построителе, делаю так:
Процедура ЗаполнитьНачальныеНастройки() Экспорт
    
    СтарыеНастройки = УправлениеОтчетами.ПолучитьКопиюОтбораВТЗ(ПостроительОтчета.Отбор);
    
    СоотвСубконто = Новый Соответствие;
    
    Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
            |    ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотКт
            |{ВЫБРАТЬ
            |    ХозрасчетныйОбороты.Валюта.*,
            |    ХозрасчетныйОбороты.Счет.*}
            |ИЗ
            |    РегистрБухгалтерии.Хозрасчетный.Обороты(, , Месяц, Счет В ИЕРАРХИИ (&Счет), , {(Валюта).*}, , ) КАК ХозрасчетныйОбороты
            |ИТОГИ
            |    СУММА(СуммаОборотКт)
            |ПО
            |    ОБЩИЕ
            |{ИТОГИ ПО
            |    ХозрасчетныйОбороты.Валюта.*}";

Массив = Новый Массив;
Массив.Добавить(ПланыСчетов.Хозрасчетный.ВалютныеСчета);

ПостроительОтчета.Параметры.Вставить("Счет", Массив);
ПостроительОтчета.Параметры.Вставить("ПустаяОрганизация", Справочники.Организации.ПустаяСсылка());
    
ПостроительОтчета.Текст = Текст;

СоотвСубконто = Новый Соответствие;
СоотвСубконто.Вставить("Валюта",    Справочники.Валюты);

СоответсвиеСчет = Новый Соответствие;
СоотвСубконто.Вставить("Счет",    ПланыСчетов.Хозрасчетный);

Если ПостроительОтчета.Отбор.Количество() = 0 Тогда
    ПостроительОтчета.Отбор.Добавить("Валюта");    
    ПостроительОтчета.Отбор.Добавить("Счет");
КонецЕсли;

УправлениеОтчетами.УстановитьОтборИзТаблицы(ПостроительОтчета.Отбор, СтарыеНастройки);

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



ПостроительОтчета.Отбор.Добавить("Счет"); Ругается на эту строку, говорит что "Недопустимое значение параметра (параметр номер '1')", что делать, как быть?


Вообще по отчету, есть запрос который выберает данные, так же у отчета есть форма настроек, в которой пользователь может указать ОТБОР, при открытии этой формы выполняется выше приведенный код.

Как добавить поле в отбор у построителя?

Вроде добавилось, как я понимаю, поля должны быть в "Условия" ?

Petre Подменю пользователя
сообщение 13.05.15, 13:09
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Воспользуйтесь конструктором.
Поле условия виртуальной таблицы оформляется на закладке "таблицы".


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

kosalex Подменю пользователя
сообщение 13.05.15, 13:24
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(Petre @ 13.05.15, 14:09) *
Воспользуйтесь конструктором.
Поле условия виртуальной таблицы оформляется на закладке "таблицы".

А у меня они разве не там?

Petre Подменю пользователя
сообщение 13.05.15, 14:13
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

У вас "Счет" поставлен параметром в основном запросе, "Валюта" - в условии ВТ построителя, в общих условиях построителя ничего нет.
Если вы ставите условия к ВТ, нет смысла ставить общие условия к таким же полям.
Если вы ставите любые условия в основном запросе, нет смысла ставить условия к таким же полям в построителе.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

kosalex Подменю пользователя
сообщение 13.05.15, 14:25
Сообщение #5

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(Petre @ 13.05.15, 15:13) *
У вас "Счет" поставлен параметром в основном запросе, "Валюта" - в условии ВТ построителя, в общих условиях построителя ничего нет.
Если вы ставите условия к ВТ, нет смысла ставить общие условия к таким же полям.
Если вы ставите любые условия в основном запросе, нет смысла ставить условия к таким же полям в построителе.


Вот что у меня есть, если не добавляю в "Построитель"-"Условия" поле счет, то тогда вылетает ошибка на строке "ПостроительОтчета.Отбор.Добавить("Счет");". Что делаю не так?

Процедура ЗаполнитьНачальныеНастройки() Экспорт
    
    СтарыеНастройки = УправлениеОтчетами.ПолучитьКопиюОтбораВТЗ(ПостроительОтчета.Отбор);
    
    СоотвСубконто = Новый Соответствие;
    
    Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
            |    ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотКт
            |{ВЫБРАТЬ
            |    ХозрасчетныйОбороты.Валюта.*,
            |    ХозрасчетныйОбороты.Счет.*}
            |ИЗ
            |    РегистрБухгалтерии.Хозрасчетный.Обороты(, , Месяц, Счет В ИЕРАРХИИ (&Счет), , {(Валюта).*}, , ) КАК ХозрасчетныйОбороты
            |ИТОГИ
            |    СУММА(СуммаОборотКт)
            |ПО
            |    ОБЩИЕ
            |{ИТОГИ ПО
            |    ХозрасчетныйОбороты.Валюта.*,
            |    ХозрасчетныйОбороты.Счет.*}";

Массив = Новый Массив;
Массив.Добавить(ПланыСчетов.Хозрасчетный.ВалютныеСчета);
ПостроительОтчета.Параметры.Вставить("Счет", Массив);
ПостроительОтчета.Параметры.Вставить("ПустаяОрганизация", Справочники.Организации.ПустаяСсылка());
    
ПостроительОтчета.Текст = Текст;

СоотвСубконто = Новый Соответствие;
СоотвСубконто.Вставить("Валюта",    Справочники.Валюты);

Если ПостроительОтчета.Отбор.Количество() = 0 Тогда
    ПостроительОтчета.Отбор.Добавить("Валюта");
    ПостроительОтчета.Отбор.Добавить("Счет");

КонецЕсли;

УправлениеОтчетами.УстановитьОтборИзТаблицы(ПостроительОтчета.Отбор, СтарыеНастройки);

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


Кажется дошло, сейчас проверю smile.gif

Petre Подменю пользователя
сообщение 13.05.15, 14:46
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Вы пытаетесь добавить элемент несуществующего отбора. Конечно будет ругаться.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

kosalex Подменю пользователя
сообщение 13.05.15, 15:02
Сообщение #7

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(Petre @ 13.05.15, 15:46) *
Вы пытаетесь добавить элемент несуществующего отбора. Конечно будет ругаться.



Заработало!

Но отбор так и не отберает....

У меня есть отчет, и форма настройки где указываю значение отбора, а потом при закрытии формы по идеи должден отработать запрос с построителем + отбор, но отбор не работает...

    
Процедура ЗаполнитьНачальныеНастройки() Экспорт
    
СтарыеНастройки = УправлениеОтчетами.ПолучитьКопиюОтбораВТЗ(ПостроительОтчета.Отбор);
    
СоотвСубконто = Новый Соответствие;
    
    
Текст = СформироватьТекстЗапросаПостроитель();

Массив = Новый Массив;
Массив.Добавить(ПланыСчетов.Хозрасчетный.ВалютныеСчета);

ДатаНач = НачалоМесяца(ПериодРегистрации);
ДатаКон  = КонецМесяца(ПериодРегистрации);

ПостроительОтчета.Параметры.Вставить("Счет", Массив);
ПостроительОтчета.Параметры.Вставить("ДатаНач",     НачалоДня(ДатаНач));
ПостроительОтчета.Параметры.Вставить("ДатаКон",     КонецДня(ДатаКон));
ПостроительОтчета.Параметры.Вставить("Организация", Организация);

ПостроительОтчета.Текст = Текст;


Если ПостроительОтчета.Отбор.Количество() = 0 Тогда
    ПостроительОтчета.Отбор.Добавить("Валюта");
    ПостроительОтчета.Отбор.Добавить("СчетУчета");
КонецЕсли;

УправлениеОтчетами.УстановитьОтборИзТаблицы(ПостроительОтчета.Отбор, СтарыеНастройки);


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

    
Функция СформироватьТекстЗапросаПостроитель()
        
                Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
                        |    Хозрасчетный.СчетДт КАК Счет
                        |ПОМЕСТИТЬ СчетаУчета
                        |ИЗ
                        |    (ВЫБРАТЬ
                        |        Хозрасчетный.СчетДт КАК СчетДт
                        |    ИЗ
                        |        РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
                        |    ГДЕ
                        |        ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = ТИП(Документ.ПереоценкаВалютныхСредств)
                        |        И Хозрасчетный.Период = &Период
                        |    
                        |    ОБЪЕДИНИТЬ ВСЕ
                        |    
                        |    ВЫБРАТЬ
                        |        Хозрасчетный.СчетКт
                        |    ИЗ
                        |        РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
                        |    ГДЕ
                        |        ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = ТИП(Документ.ПереоценкаВалютныхСредств)
                        |        И Хозрасчетный.Период = &Период) КАК Хозрасчетный
                        |ГДЕ
                        |    НЕ Хозрасчетный.СчетДт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПрочиеДоходыИРасходы))
                        |;
                        |
                        |////////////////////////////////////////////////////////////////////////////////
                        |ВЫБРАТЬ
                        |    РасчетПереоценкиВалютныхСредств.Период КАК Период,
                        |    РасчетПереоценкиВалютныхСредств.СчетУчета КАК СчетУчета,
                        |    РасчетПереоценкиВалютныхСредств.Валюта КАК Валюта,
                        |    РасчетПереоценкиВалютныхСредств.Субконто1 КАК Субконто1,
                        |    РасчетПереоценкиВалютныхСредств.Субконто2 КАК Субконто2,
                        |    РасчетПереоценкиВалютныхСредств.Субконто3 КАК Субконто3,
                        |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокДо, 0) КАК СуммаВВалюте,
                        |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо, 0) КАК СуммаВЕвро,
                        |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо, 0) КАК СуммаВРублях,
                        |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) - ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо, 0) КАК СуммаЕвро,
                        |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) - ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо, 0) КАК Сумма,
                        |    ВЫБОР
                        |        КОГДА ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) = 0
                        |            ТОГДА 0
                        |        ИНАЧЕ ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) / ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0)
                        |    КОНЕЦ КАК КурсПереоценкиЕвро,
                        |    ВЫБОР
                        |        КОГДА ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле, 0) = 0
                        |            ТОГДА 0
                        |        ИНАЧЕ ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) / ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле, 0)
                        |    КОНЕЦ КАК КурсПереоценки
                        |{ВЫБРАТЬ
                        |    СчетУчета.*,
                        |    Валюта.*}
                        |ИЗ
                        |    (ВЫБРАТЬ
                        |        РасчетПереоценкиВалютныхСредств.Период КАК Период,
                        |        РасчетПереоценкиВалютныхСредств.СчетУчета КАК СчетУчета,
                        |        РасчетПереоценкиВалютныхСредств.Валюта КАК Валюта,
                        |        РасчетПереоценкиВалютныхСредств.Субконто1 КАК Субконто1,
                        |        РасчетПереоценкиВалютныхСредств.Субконто2 КАК Субконто2,
                        |        РасчетПереоценкиВалютныхСредств.Субконто3 КАК Субконто3,
                        |        СУММА(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокДо) КАК ВалютнаяСуммаОстатокДо,
                        |        СУММА(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо) КАК СуммаУпрОстатокДо,
                        |        СУММА(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо) КАК СуммаОстатокДо,
                        |        СУММА(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле) КАК ВалютнаяСуммаОстатокПосле,
                        |        СУММА(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле) КАК СуммаУпрОстатокПосле,
                        |        СУММА(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле) КАК СуммаОстатокПосле
                        |    ИЗ
                        |        (ВЫБРАТЬ
                        |            &Период КАК Период,
                        |            ХозрасчетныйОстатки.Счет КАК СчетУчета,
                        |            ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, Константы.ВалютаРегламентированногоУчета) КАК Валюта,
                        |            ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Субконто2) КАК Субконто1,
                        |            ВЫБОР
                        |                КОГДА ХозрасчетныйОстатки.Субконто1 = NULL
                        |                        ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL
                        |                    ТОГДА ХозрасчетныйОстатки.Субконто3
                        |                ИНАЧЕ ХозрасчетныйОстатки.Субконто2
                        |            КОНЕЦ КАК Субконто2,
                        |            ВЫБОР
                        |                КОГДА ХозрасчетныйОстатки.Субконто1 = NULL
                        |                        ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL
                        |                        ИЛИ ХозрасчетныйОстатки.Субконто3 = NULL
                        |                    ТОГДА NULL
                        |                ИНАЧЕ ХозрасчетныйОстатки.Субконто3
                        |            КОНЕЦ КАК Субконто3,
                        |            ХозрасчетныйОстатки.ВалютнаяСуммаОстаток КАК ВалютнаяСуммаОстатокДо,
                        |            ХозрасчетныйОстатки.СуммаУпрОстаток КАК СуммаУпрОстатокДо,
                        |            ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстатокДо,
                        |            0 КАК ВалютнаяСуммаОстатокПосле,
                        |            0 КАК СуммаУпрОстатокПосле,
                        |            0 КАК СуммаОстатокПосле
                        |        ИЗ
                        |            РегистрБухгалтерии.Хозрасчетный.Остатки(
                        |                    &ПериодИскл,
                        |                    Счет В
                        |                        (ВЫБРАТЬ
                        |                            СчетаУчета.Счет
                        |                        ИЗ
                        |                            СчетаУчета КАК СчетаУчета),
                        |                    ,
                        |                    ) КАК ХозрасчетныйОстатки,
                        |            Константы КАК Константы
                        |        
                        |        ОБЪЕДИНИТЬ ВСЕ
                        |        
                        |        ВЫБРАТЬ
                        |            &Период,
                        |            ХозрасчетныйОстатки.Счет,
                        |            ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, Константы.ВалютаРегламентированногоУчета),
                        |            ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Субконто2),
                        |            ВЫБОР
                        |                КОГДА ХозрасчетныйОстатки.Субконто1 = NULL
                        |                        ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL
                        |                    ТОГДА ХозрасчетныйОстатки.Субконто3
                        |                ИНАЧЕ ХозрасчетныйОстатки.Субконто2
                        |            КОНЕЦ,
                        |            ВЫБОР
                        |                КОГДА ХозрасчетныйОстатки.Субконто1 = NULL
                        |                        ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL
                        |                        ИЛИ ХозрасчетныйОстатки.Субконто3 = NULL
                        |                    ТОГДА NULL
                        |                ИНАЧЕ ХозрасчетныйОстатки.Субконто3
                        |            КОНЕЦ,
                        |            0,
                        |            0,
                        |            0,
                        |            ХозрасчетныйОстатки.ВалютнаяСуммаОстаток,
                        |            ХозрасчетныйОстатки.СуммаУпрОстаток,
                        |            ХозрасчетныйОстатки.СуммаОстаток
                        |        ИЗ
                        |            РегистрБухгалтерии.Хозрасчетный.Остатки(
                        |                    &ПериодВкл,
                        |                    Счет В
                        |                        (ВЫБРАТЬ
                        |                            СчетаУчета.Счет
                        |                        ИЗ
                        |                            СчетаУчета КАК СчетаУчета),
                        |                    ,
                        |                    ) КАК ХозрасчетныйОстатки,
                        |            Константы КАК Константы) КАК РасчетПереоценкиВалютныхСредств
                        |    
                        |    СГРУППИРОВАТЬ ПО
                        |        РасчетПереоценкиВалютныхСредств.Период,
                        |        РасчетПереоценкиВалютныхСредств.СчетУчета,
                        |        РасчетПереоценкиВалютныхСредств.Валюта,
                        |        РасчетПереоценкиВалютныхСредств.Субконто1,
                        |        РасчетПереоценкиВалютныхСредств.Субконто2,
                        |        РасчетПереоценкиВалютныхСредств.Субконто3) КАК РасчетПереоценкиВалютныхСредств
                        |{ГДЕ
                        |    РасчетПереоценкиВалютныхСредств.СчетУчета.*,
                        |    РасчетПереоценкиВалютныхСредств.Валюта.*}
                        |ИТОГИ
                        |    СУММА(СуммаВВалюте),
                        |    СУММА(СуммаВЕвро),
                        |    СУММА(СуммаВРублях),
                        |    СУММА(СуммаЕвро),
                        |    СУММА(Сумма)
                        |ПО
                        |    Период,
                        |    СчетУчета,
                        |    Валюта,
                        |    Субконто1";
                
        Возврат Текст;
        
    КонецФункции

Petre Подменю пользователя
сообщение 13.05.15, 17:11
Сообщение #8

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Цитата(kosalex @ 13.05.15, 16:02) *
Но отбор так и не отберает....

Так надо же его настроить. Примерно так:

ОтборСчетаУчета = ПостроительОтчета.Отбор.Добавить("СчетУчета");
ОтборСчетаУчета.ВидСравнения = ВидСравнения.Равно;
ОтборСчетаУчета.Значение = НужныйСчет;
ОтборСчетаУчета.Использование = Истина;


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

kosalex Подменю пользователя
сообщение 13.05.15, 19:01
Сообщение #9

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(Petre @ 13.05.15, 18:11) *
Так надо же его настроить. Примерно так:

ОтборСчетаУчета = ПостроительОтчета.Отбор.Добавить("СчетУчета");
ОтборСчетаУчета.ВидСравнения = ВидСравнения.Равно;
ОтборСчетаУчета.Значение = НужныйСчет;
ОтборСчетаУчета.Использование = Истина;




Вот это
УправлениеОтчетами.УстановитьОтборИзТаблицы(ПостроительОтчета.Отбор, СтарыеНастройки);
делает примерно тоже smile.gif



Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
            |    Хозрасчетный.СчетДт КАК Счет
            |ПОМЕСТИТЬ СчетаУчета
            |{ВЫБРАТЬ
            |    Хозрасчетный.СчетДт.*}
            |ИЗ
            |    (ВЫБРАТЬ
            |        Хозрасчетный.СчетДт КАК СчетДт
            |    ИЗ
            |        РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
            |    ГДЕ
            |        ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = ТИП(Документ.ПереоценкаВалютныхСредств)
            |        И Хозрасчетный.Период = &Период
            |    
            |    ОБЪЕДИНИТЬ ВСЕ
            |    
            |    ВЫБРАТЬ
            |        Хозрасчетный.СчетКт
            |    ИЗ
            |        РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
            |    ГДЕ
            |        ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = ТИП(Документ.ПереоценкаВалютныхСредств)
            |        И Хозрасчетный.Период = &Период) КАК Хозрасчетный
            |ГДЕ
            |    НЕ Хозрасчетный.СчетДт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПрочиеДоходыИРасходы))
            |;
            |
            |////////////////////////////////////////////////////////////////////////////////
            |ВЫБРАТЬ
            |    РасчетПереоценкиВалютныхСредств.Период КАК Период,
            |    РасчетПереоценкиВалютныхСредств.СчетУчета КАК СчетУчета,
            |    РасчетПереоценкиВалютныхСредств.Валюта КАК Валюта,
            |    РасчетПереоценкиВалютныхСредств.Субконто1 КАК Субконто1,
            |    РасчетПереоценкиВалютныхСредств.Субконто2 КАК Субконто2,
            |    РасчетПереоценкиВалютныхСредств.Субконто3 КАК Субконто3,
            |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокДо, 0) КАК СуммаВВалюте,
            |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо, 0) КАК СуммаВЕвро,
            |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо, 0) КАК СуммаВРублях,
            |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) - ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо, 0) КАК СуммаЕвро,
            |    ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) - ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо, 0) КАК Сумма,
            |    ВЫБОР
            |        КОГДА ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) = 0
            |            ТОГДА 0
            |        ИНАЧЕ ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) / ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0)
            |    КОНЕЦ КАК КурсПереоценкиЕвро,
            |    ВЫБОР
            |        КОГДА ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле, 0) = 0
            |            ТОГДА 0
            |        ИНАЧЕ ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) / ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле, 0)
            |    КОНЕЦ КАК КурсПереоценки
            |{ВЫБРАТЬ
            |    Период,
            |    СчетУчета.*,
            |    Валюта.*,
            |    Субконто1.*,
            |    Субконто2.*,
            |    Субконто3.*,
            |    СуммаВВалюте,
            |    СуммаВЕвро,
            |    СуммаВРублях,
            |    СуммаЕвро,
            |    Сумма,
            |    КурсПереоценкиЕвро,
            |    КурсПереоценки}
            |ИЗ
            |    (ВЫБРАТЬ
            |        РасчетПереоценкиВалютныхСредств.Период КАК Период,
            |        РасчетПереоценкиВалютныхСредств.СчетУчета КАК СчетУчета,
            |        РасчетПереоценкиВалютныхСредств.Валюта КАК Валюта,
            |        РасчетПереоценкиВалютныхСредств.Субконто1 КАК Субконто1,
            |        РасчетПереоценкиВалютныхСредств.Субконто2 КАК Субконто2,
            |        РасчетПереоценкиВалютныхСредств.Субконто3 КАК Субконто3,
            |        СУММА(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокДо) КАК ВалютнаяСуммаОстатокДо,
            |        СУММА(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо) КАК СуммаУпрОстатокДо,
            |        СУММА(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо) КАК СуммаОстатокДо,
            |        СУММА(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле) КАК ВалютнаяСуммаОстатокПосле,
            |        СУММА(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле) КАК СуммаУпрОстатокПосле,
            |        СУММА(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле) КАК СуммаОстатокПосле
            |    ИЗ
            |        (ВЫБРАТЬ
            |            &Период КАК Период,
            |            ХозрасчетныйОстатки.Счет КАК СчетУчета,
            |            ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, Константы.ВалютаРегламентированногоУчета) КАК Валюта,
            |            ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Субконто2) КАК Субконто1,
            |            ВЫБОР
            |                КОГДА ХозрасчетныйОстатки.Субконто1 = NULL
            |                        ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL
            |                    ТОГДА ХозрасчетныйОстатки.Субконто3
            |                ИНАЧЕ ХозрасчетныйОстатки.Субконто2
            |            КОНЕЦ КАК Субконто2,
            |            ВЫБОР
            |                КОГДА ХозрасчетныйОстатки.Субконто1 = NULL
            |                        ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL
            |                        ИЛИ ХозрасчетныйОстатки.Субконто3 = NULL
            |                    ТОГДА NULL
            |                ИНАЧЕ ХозрасчетныйОстатки.Субконто3
            |            КОНЕЦ КАК Субконто3,
            |            ХозрасчетныйОстатки.ВалютнаяСуммаОстаток КАК ВалютнаяСуммаОстатокДо,
            |            ХозрасчетныйОстатки.СуммаУпрОстаток КАК СуммаУпрОстатокДо,
            |            ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстатокДо,
            |            0 КАК ВалютнаяСуммаОстатокПосле,
            |            0 КАК СуммаУпрОстатокПосле,
            |            0 КАК СуммаОстатокПосле
            |        ИЗ
            |            РегистрБухгалтерии.Хозрасчетный.Остатки(
            |                    &ПериодИскл,
            |                    Счет В
            |                        (ВЫБРАТЬ
            |                            СчетаУчета.Счет
            |                        ИЗ
            |                            СчетаУчета КАК СчетаУчета),
            |                    ,
            |                    ) КАК ХозрасчетныйОстатки,
            |            Константы КАК Константы
            |        {ГДЕ
            |            ХозрасчетныйОстатки.Счет.*,
            |            ХозрасчетныйОстатки.Валюта.*}
            |        
            |        ОБЪЕДИНИТЬ ВСЕ
            |        
            |        ВЫБРАТЬ
            |            &Период,
            |            ХозрасчетныйОстатки.Счет,
            |            ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, Константы.ВалютаРегламентированногоУчета),
            |            ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Субконто2),
            |            ВЫБОР
            |                КОГДА ХозрасчетныйОстатки.Субконто1 = NULL
            |                        ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL
            |                    ТОГДА ХозрасчетныйОстатки.Субконто3
            |                ИНАЧЕ ХозрасчетныйОстатки.Субконто2
            |            КОНЕЦ,
            |            ВЫБОР
            |                КОГДА ХозрасчетныйОстатки.Субконто1 = NULL
            |                        ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL
            |                        ИЛИ ХозрасчетныйОстатки.Субконто3 = NULL
            |                    ТОГДА NULL
            |                ИНАЧЕ ХозрасчетныйОстатки.Субконто3
            |            КОНЕЦ,
            |            0,
            |            0,
            |            0,
            |            ХозрасчетныйОстатки.ВалютнаяСуммаОстаток,
            |            ХозрасчетныйОстатки.СуммаУпрОстаток,
            |            ХозрасчетныйОстатки.СуммаОстаток
            |        ИЗ
            |            РегистрБухгалтерии.Хозрасчетный.Остатки(
            |                    &ПериодВкл,
            |                    Счет В
            |                        (ВЫБРАТЬ
            |                            СчетаУчета.Счет
            |                        ИЗ
            |                            СчетаУчета КАК СчетаУчета),
            |                    ,
            |                    ) КАК ХозрасчетныйОстатки,
            |            Константы КАК Константы
            |        {ГДЕ
            |            ХозрасчетныйОстатки.Счет.*,
            |            ХозрасчетныйОстатки.Валюта.*}) КАК РасчетПереоценкиВалютныхСредств
            |    
            |    СГРУППИРОВАТЬ ПО
            |        РасчетПереоценкиВалютныхСредств.Период,
            |        РасчетПереоценкиВалютныхСредств.СчетУчета,
            |        РасчетПереоценкиВалютныхСредств.Валюта,
            |        РасчетПереоценкиВалютныхСредств.Субконто1,
            |        РасчетПереоценкиВалютныхСредств.Субконто2,
            |        РасчетПереоценкиВалютныхСредств.Субконто3) КАК РасчетПереоценкиВалютныхСредств
            |ИТОГИ
            |    СУММА(СуммаВВалюте),
            |    СУММА(СуммаВЕвро),
            |    СУММА(СуммаВРублях),
            |    СУММА(СуммаЕвро),
            |    СУММА(Сумма)
            |ПО
            |    Период,
            |    СчетУчета,
            |    Валюта,
            |    Субконто1";


ДатаНач = НачалоМесяца(ПериодРегистрации);
ДатаКон  = КонецМесяца(ПериодРегистрации);
                
                
Массив = Новый Массив;
Массив.Добавить(ПланыСчетов.Хозрасчетный.ВалютныеСчета);
ПостроительОтчета.Параметры.Вставить("Счет", Массив);
ПостроительОтчета.Параметры.Вставить("Организация", Организация);
ПостроительОтчета.Параметры.Вставить("ДатаНач",     НачалоДня(ДатаНач));
ПостроительОтчета.Параметры.Вставить("ДатаКон",     КонецДня(ДатаКон));    
ПостроительОтчета.Параметры.Вставить("Период", ДатаРегистратора);
ПостроительОтчета.Параметры.Вставить("ПериодИскл", Новый Граница(ДатаРегистратора, ВидГраницы.Исключая));
ПостроительОтчета.Параметры.Вставить("ПериодВкл", Новый Граница(ДатаРегистратора, ВидГраницы.Включая));

        
ПостроительОтчета.Текст = Текст;

Если ПостроительОтчета.Отбор.Количество() = 0 Тогда
    ПостроительОтчета.Отбор.Добавить("Валюта");
    ПостроительОтчета.Отбор.Добавить("Счет");
КонецЕсли;

Далее по коду идет:
ПостроительОтчета.Выполнить();
        
        ВыборкаПериод = ПостроительОтчета.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);


И выборкаПериод - ПУСТАЯ sad.gif

Вопрос решился smile.gif

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 7:56
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!