Здравствуйте,дорогие программисты!
Делаю отчет в СКД... В консоли запросов выдает правильный результат,а во доп.отчете выдает другой результат... Вопрос...Это УХа тупая или я туплю?
ВЫБРАТЬ РАЗРЕШЕННЫЕ
КурсыВалют.Период КАК Период,
КурсыВалют.Валюта КАК Валюта,
КурсыВалют.Курс / КурсыВалют.Кратность КАК Курс
ПОМЕСТИТЬ втКурсВалют
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
КурсыВалют.Период МЕЖДУ &НачалоМесяца И &Дата
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
КИ_РазмещениеДенежныхСредств.ДатаНачала КАК ДатаНачала,
КИ_РазмещениеДенежныхСредств.ДатаОкончания КАК ДатаОкончания,
КИ_РазмещениеДенежныхСредств.Ставка КАК Ставка,
КИ_РазмещениеДенежныхСредств.Организация КАК Организация,
КИ_РазмещениеДенежныхСредств.БанковскийСчет КАК БанковскийСчет,
КИ_РазмещениеДенежныхСредств.Валюта КАК Валюта,
КИ_РазмещениеДенежныхСредств.ФинансовыйИнструкмент КАК ФинансовыйИнструкмент,
КИ_РазмещениеДенежныхСредств.СуммаРазмещения КАК СуммаРазмещения,
КИ_РазмещениеДенежныхСредств.Период КАК ДатаДокумента,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(КИ_РазмещениеДенежныхСредств.БанковскийСчет) = ТИП(Справочник.БанковскиеСчета)
ТОГДА КИ_РазмещениеДенежныхСредств.БанковскийСчет.Банк
ИНАЧЕ КИ_РазмещениеДенежныхСредств.БанковскийСчет.ДоговорКонтрагента.Владелец
КОНЕЦ КАК Банк
ПОМЕСТИТЬ втДокумент
ИЗ
РегистрСведений.КИ_РазмещениеДенежныхСредств КАК КИ_РазмещениеДенежныхСредств
ГДЕ
КИ_РазмещениеДенежныхСредств.Период МЕЖДУ &НачалоМесяца И &Дата
И ВЫБОР
КОГДА &ФинИнструмент = "Депозит"
ТОГДА КИ_РазмещениеДенежныхСредств.ФинансовыйИнструкмент = ЗНАЧЕНИЕ(Справочник.КИ_ФинансовыеИнструменты.Депозит)
ИНАЧЕ КИ_РазмещениеДенежныхСредств.ФинансовыйИнструкмент <> ЗНАЧЕНИЕ(Справочник.КИ_ФинансовыеИнструменты.Депозит)
КОНЕЦ
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ИБС_ОперативныеОстаткиДенежныхСредств.ЦФО КАК ЦФО,
ИБС_ОперативныеОстаткиДенежныхСредств.БанковскийСчет КАК БанковскийСчет,
ИБС_ОперативныеОстаткиДенежныхСредств.ОперативныйОстаток КАК ОперативныйОстаток,
ИБС_ОперативныеОстаткиДенежныхСредств.Валюта КАК Валюта,
ДОБАВИТЬКДАТЕ(ИБС_ОперативныеОстаткиДенежныхСредств.Период, ДЕНЬ, 1) КАК ДатаДокумента
ПОМЕСТИТЬ втОперативныеОстатки
ИЗ
РегистрСведений.ИБС_ОперативныеОстаткиДенежныхСредств КАК ИБС_ОперативныеОстаткиДенежныхСредств
ГДЕ
ИБС_ОперативныеОстаткиДенежныхСредств.ОперативныйОстаток > 0
И ИБС_ОперативныеОстаткиДенежныхСредств.Период МЕЖДУ &НачалоМесяцаДляОперОстатков И &КонецДляОперОстатков
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
втДокументНаДату.ДатаНачала КАК ДатаНачала,
втДокументНаДату.ДатаОкончания КАК ДатаОкончания,
втДокументНаДату.Ставка КАК Ставка,
втДокументНаДату.Организация КАК Организация,
втДокументНаДату.БанковскийСчет КАК БанковскийСчет,
втДокументНаДату.Валюта КАК Валюта,
втДокументНаДату.ФинансовыйИнструкмент КАК ФинансовыйИнструкмент,
втДокументНаДату.СуммаРазмещения КАК СуммаРазмещенияВРублях,
втДокументНаДату.ДатаДокумента КАК ДатаДокумента,
втДокументНаДату.Банк КАК Банк,
ЕСТЬNULL(КИ_РыночнаяСтавкаРЕПО.ПроцентнаяСтавка, 0) КАК РыночнаяСтавка,
ЕСТЬNULL(втОперативныеОстатки.ОперативныйОстаток, 0) КАК ОперативныйОстаток,
ЕСТЬNULL(втКурсВалют.Курс, 1) КАК Курс
ПОМЕСТИТЬ втДоп
ИЗ
втДокумент КАК втДокументНаДату
ЛЕВОЕ СОЕДИНЕНИЕ втОперативныеОстатки КАК втОперативныеОстатки
ПО втДокументНаДату.ДатаДокумента = втОперативныеОстатки.ДатаДокумента
И втДокументНаДату.Организация = втОперативныеОстатки.ЦФО
И втДокументНаДату.БанковскийСчет = втОперативныеОстатки.БанковскийСчет
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КИ_РыночнаяСтавкаРЕПО КАК КИ_РыночнаяСтавкаРЕПО
ПО втДокументНаДату.ДатаДокумента = КИ_РыночнаяСтавкаРЕПО.Период
ЛЕВОЕ СОЕДИНЕНИЕ втКурсВалют КАК втКурсВалют
ПО втДокументНаДату.ДатаДокумента = втКурсВалют.Период
И втДокументНаДату.Валюта = втКурсВалют.Валюта
ОБЪЕДИНИТЬ
ВЫБРАТЬ
втДокумент.ДатаНачала,
втДокумент.ДатаОкончания,
втДокумент.Ставка,
втОперативныеОстатки.ЦФО,
втОперативныеОстатки.БанковскийСчет,
втОперативныеОстатки.Валюта,
втДокумент.ФинансовыйИнструкмент,
втДокумент.СуммаРазмещения,
втОперативныеОстатки.ДатаДокумента,
втОперативныеОстатки.БанковскийСчет.Банк,
ЕСТЬNULL(КИ_РыночнаяСтавкаРЕПО.ПроцентнаяСтавка, 0),
ЕСТЬNULL(втОперативныеОстатки.ОперативныйОстаток, 0),
ЕСТЬNULL(втКурсВалют.Курс, 1)
ИЗ
втОперативныеОстатки КАК втОперативныеОстатки
ЛЕВОЕ СОЕДИНЕНИЕ втДокумент КАК втДокумент
ПО втОперативныеОстатки.ЦФО = втДокумент.Организация
И втОперативныеОстатки.БанковскийСчет = втДокумент.БанковскийСчет
И втОперативныеОстатки.ДатаДокумента = втДокумент.ДатаДокумента
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КИ_РыночнаяСтавкаРЕПО КАК КИ_РыночнаяСтавкаРЕПО
ПО втОперативныеОстатки.ДатаДокумента = КИ_РыночнаяСтавкаРЕПО.Период
ЛЕВОЕ СОЕДИНЕНИЕ втКурсВалют КАК втКурсВалют
ПО втОперативныеОстатки.ДатаДокумента = втКурсВалют.Период
И втОперативныеОстатки.Валюта = втКурсВалют.Валюта
ГДЕ
ВЫБОР
КОГДА &ФинИнструмент = "Депозит"
ТОГДА ЛОЖЬ
ИНАЧЕ ИСТИНА
КОНЕЦ
И ТИПЗНАЧЕНИЯ(втОперативныеОстатки.БанковскийСчет) = ТИП(Справочник.БанковскиеСчета)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
втДоп.ДатаНачала КАК ДатаНачала,
втДоп.ДатаОкончания КАК ДатаОкончания,
втДоп.Ставка КАК Ставка,
втДоп.Организация КАК Организация,
втДоп.БанковскийСчет КАК БанковскийСчет,
втДоп.Валюта КАК Валюта,
втДоп.ФинансовыйИнструкмент КАК ФинансовыйИнструкмент,
втДоп.СуммаРазмещенияВРублях КАК СуммаРазмещенияВРублях,
втДоп.ДатаДокумента КАК ДатаДокумента,
втДоп.Банк КАК Банк,
втДоп.РыночнаяСтавка КАК РыночнаяСтавка,
втДоп.ОперативныйОстаток * втДоп.Курс КАК ОперативныйОстаток,
втДоп.Курс КАК Курс
ПОМЕСТИТЬ втРазличные
ИЗ
втДоп КАК втДоп
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
СУММА((втРазличные.РыночнаяСтавка - втРазличные.Ставка) * втРазличные.СуммаРазмещенияВРублях / 100 / 365) КАК ВыпадающийДоходВМесяц,
СУММА(втРазличные.СуммаРазмещенияВРублях) КАК СуммаРазмещенияВРублях,
втРазличные.Организация КАК Организация,
втРазличные.Банк КАК Банк,
СУММА(втРазличные.ОперативныйОстаток) КАК СреднедневныйОстаток
ПОМЕСТИТЬ втОсновнаяТаблица
ИЗ
втРазличные КАК втРазличные
СГРУППИРОВАТЬ ПО
втРазличные.Организация,
втРазличные.Банк
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
втДоп.ДатаНачала КАК ДатаНачала,
втДоп.ДатаОкончания КАК ДатаОкончания,
втДоп.Ставка КАК Ставка,
втДоп.Организация КАК Организация,
втДоп.БанковскийСчет КАК БанковскийСчет,
втДоп.Валюта КАК Валюта,
втДоп.ФинансовыйИнструкмент КАК ФинансовыйИнструкмент,
втДоп.СуммаРазмещенияВРублях КАК СуммаРазмещенияВРублях,
втДоп.ДатаДокумента КАК ДатаДокумента,
втДоп.Банк КАК Банк,
втДоп.РыночнаяСтавка КАК РыночнаяСтавка,
втДоп.ОперативныйОстаток КАК ОперативныйОстаток,
втОсновнаяТаблица.ВыпадающийДоходВМесяц КАК ВыпадающийДоходВМесяц,
втДоп.Курс КАК Курс,
втОсновнаяТаблица.СреднедневныйОстаток КАК СреднедневныйОстаток
ИЗ
втДоп КАК втДоп
ЛЕВОЕ СОЕДИНЕНИЕ втОсновнаяТаблица КАК втОсновнаяТаблица
ПО втДоп.Организация = втОсновнаяТаблица.Организация
И втДоп.Банк = втОсновнаяТаблица.Банк
ГДЕ
втДоп.ДатаДокумента = &Дата
ПоказатьДелаю отчет в СКД... В консоли запросов выдает правильный результат,а во доп.отчете выдает другой результат... Вопрос...Это УХа тупая или я туплю?
Прикрепленные файлы:
По теме из базы знаний
- Пример печатной формы "с выбором" без формы выбора
- Потом доделаем. Глава 4, в которой происходит Странный, но очень Серьезный Разговор
- Потом доделаем. Глава 7, в которой появляется Кое-Кто
- Нетехническая статья про технические статьи
- Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) что-то при выполнении запроса СКД переделывает в нем по настройкам
вы же что-то настроили в макете, он не есть отражение выполнения запроса в консоли
была тут такая вещь "консоль отчетов с перехватом"
умеет перехватить выполняемый запрос и показать его "переделанном" СКД виде, т.е. результирующий, что выполняется по факту
очень полезная штука
если не найдете, скину в личку
вы же что-то настроили в макете, он не есть отражение выполнения запроса в консоли
была тут такая вещь "консоль отчетов с перехватом"
умеет перехватить выполняемый запрос и показать его "переделанном" СКД виде, т.е. результирующий, что выполняется по факту
очень полезная штука
если не найдете, скину в личку
(1)
В консоли запросов выдает правильный результат,а во доп.отчете выдает другой результат...
В СКД при выставленном флаге "Автозаполнение" компоновщик "оптимизирует" запрос так, как считает нужным и итоговый запрос может сильно удивить. Консоль запросов про эту "оптимизацию" ничего не знает. Отладку отчетов СКД надо делать в консоли СКД (где можно посмотреть итоговый запрос), а не в консоли запросов.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот