Запрос по 1с УХа.

1. user1256662 07.07.22 10:59 Сейчас в теме
Здравствуйте,дорогие программисты!
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	КурсыВалют.Период КАК Период,
	КурсыВалют.Валюта КАК Валюта,
	КурсыВалют.Курс / КурсыВалют.Кратность КАК Курс
ПОМЕСТИТЬ втКурсВалют
ИЗ
	РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
	КурсыВалют.Период МЕЖДУ &НачалоМесяца И &Дата
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	КИ_РазмещениеДенежныхСредств.ДатаНачала КАК ДатаНачала,
	КИ_РазмещениеДенежныхСредств.ДатаОкончания КАК ДатаОкончания,
	КИ_РазмещениеДенежныхСредств.Ставка КАК Ставка,
	КИ_РазмещениеДенежныхСредств.Организация КАК Организация,
	КИ_РазмещениеДенежныхСредств.БанковскийСчет КАК БанковскийСчет,
	КИ_РазмещениеДенежныхСредств.Валюта КАК Валюта,
	КИ_РазмещениеДенежныхСредств.ФинансовыйИнструкмент КАК ФинансовыйИнструкмент,
	КИ_РазмещениеДенежныхСредств.СуммаРазмещения КАК СуммаРазмещения,
	КИ_РазмещениеДенежныхСредств.Период КАК ДатаДокумента,
	ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ(КИ_РазмещениеДенежныхСредств.БанковскийСчет) = ТИП(Справочник.БанковскиеСчета)
			ТОГДА КИ_РазмещениеДенежныхСредств.БанковскийСчет.Банк
		ИНАЧЕ КИ_РазмещениеДенежныхСредств.БанковскийСчет.ДоговорКонтрагента.Владелец
	КОНЕЦ КАК Банк
ПОМЕСТИТЬ втДокумент
ИЗ
	РегистрСведений.КИ_РазмещениеДенежныхСредств КАК КИ_РазмещениеДенежныхСредств
ГДЕ
	КИ_РазмещениеДенежныхСредств.Период МЕЖДУ &НачалоМесяца И &Дата
	И ВЫБОР
			КОГДА &ФинИнструмент = "Депозит"
				ТОГДА КИ_РазмещениеДенежныхСредств.ФинансовыйИнструкмент = ЗНАЧЕНИЕ(Справочник.КИ_ФинансовыеИнструменты.Депозит)
			ИНАЧЕ КИ_РазмещениеДенежныхСредств.ФинансовыйИнструкмент <> ЗНАЧЕНИЕ(Справочник.КИ_ФинансовыеИнструменты.Депозит)
		КОНЕЦ
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ИБС_ОперативныеОстаткиДенежныхСредств.ЦФО КАК ЦФО,
	ИБС_ОперативныеОстаткиДенежныхСредств.БанковскийСчет КАК БанковскийСчет,
	ИБС_ОперативныеОстаткиДенежныхСредств.ОперативныйОстаток КАК ОперативныйОстаток,
	ИБС_ОперативныеОстаткиДенежныхСредств.Валюта КАК Валюта,
	ДОБАВИТЬКДАТЕ(ИБС_ОперативныеОстаткиДенежныхСредств.Период, ДЕНЬ, 1) КАК ДатаДокумента
ПОМЕСТИТЬ втОперативныеОстатки
ИЗ
	РегистрСведений.ИБС_ОперативныеОстаткиДенежныхСредств КАК ИБС_ОперативныеОстаткиДенежныхСредств
ГДЕ
	ИБС_ОперативныеОстаткиДенежныхСредств.ОперативныйОстаток > 0
	И ИБС_ОперативныеОстаткиДенежныхСредств.Период МЕЖДУ &НачалоМесяцаДляОперОстатков И &КонецДляОперОстатков
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	втДокументНаДату.ДатаНачала КАК ДатаНачала,
	втДокументНаДату.ДатаОкончания КАК ДатаОкончания,
	втДокументНаДату.Ставка КАК Ставка,
	втДокументНаДату.Организация КАК Организация,
	втДокументНаДату.БанковскийСчет КАК БанковскийСчет,
	втДокументНаДату.Валюта КАК Валюта,
	втДокументНаДату.ФинансовыйИнструкмент КАК ФинансовыйИнструкмент,
	втДокументНаДату.СуммаРазмещения КАК СуммаРазмещенияВРублях,
	втДокументНаДату.ДатаДокумента КАК ДатаДокумента,
	втДокументНаДату.Банк КАК Банк,
	ЕСТЬNULL(КИ_РыночнаяСтавкаРЕПО.ПроцентнаяСтавка, 0) КАК РыночнаяСтавка,
	ЕСТЬNULL(втОперативныеОстатки.ОперативныйОстаток, 0) КАК ОперативныйОстаток,
	ЕСТЬNULL(втКурсВалют.Курс, 1) КАК Курс
ПОМЕСТИТЬ втДоп
ИЗ
	втДокумент КАК втДокументНаДату
		ЛЕВОЕ СОЕДИНЕНИЕ втОперативныеОстатки КАК втОперативныеОстатки
		ПО втДокументНаДату.ДатаДокумента = втОперативныеОстатки.ДатаДокумента
			И втДокументНаДату.Организация = втОперативныеОстатки.ЦФО
			И втДокументНаДату.БанковскийСчет = втОперативныеОстатки.БанковскийСчет
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КИ_РыночнаяСтавкаРЕПО КАК КИ_РыночнаяСтавкаРЕПО
		ПО втДокументНаДату.ДатаДокумента = КИ_РыночнаяСтавкаРЕПО.Период
		ЛЕВОЕ СОЕДИНЕНИЕ втКурсВалют КАК втКурсВалют
		ПО втДокументНаДату.ДатаДокумента = втКурсВалют.Период
			И втДокументНаДату.Валюта = втКурсВалют.Валюта

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	втДокумент.ДатаНачала,
	втДокумент.ДатаОкончания,
	втДокумент.Ставка,
	втОперативныеОстатки.ЦФО,
	втОперативныеОстатки.БанковскийСчет,
	втОперативныеОстатки.Валюта,
	втДокумент.ФинансовыйИнструкмент,
	втДокумент.СуммаРазмещения,
	втОперативныеОстатки.ДатаДокумента,
	втОперативныеОстатки.БанковскийСчет.Банк,
	ЕСТЬNULL(КИ_РыночнаяСтавкаРЕПО.ПроцентнаяСтавка, 0),
	ЕСТЬNULL(втОперативныеОстатки.ОперативныйОстаток, 0),
	ЕСТЬNULL(втКурсВалют.Курс, 1)
ИЗ
	втОперативныеОстатки КАК втОперативныеОстатки
		ЛЕВОЕ СОЕДИНЕНИЕ втДокумент КАК втДокумент
		ПО втОперативныеОстатки.ЦФО = втДокумент.Организация
			И втОперативныеОстатки.БанковскийСчет = втДокумент.БанковскийСчет
			И втОперативныеОстатки.ДатаДокумента = втДокумент.ДатаДокумента
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КИ_РыночнаяСтавкаРЕПО КАК КИ_РыночнаяСтавкаРЕПО
		ПО втОперативныеОстатки.ДатаДокумента = КИ_РыночнаяСтавкаРЕПО.Период
		ЛЕВОЕ СОЕДИНЕНИЕ втКурсВалют КАК втКурсВалют
		ПО втОперативныеОстатки.ДатаДокумента = втКурсВалют.Период
			И втОперативныеОстатки.Валюта = втКурсВалют.Валюта
ГДЕ
	ВЫБОР
			КОГДА &ФинИнструмент = "Депозит"
				ТОГДА ЛОЖЬ
			ИНАЧЕ ИСТИНА
		КОНЕЦ
	И ТИПЗНАЧЕНИЯ(втОперативныеОстатки.БанковскийСчет) = ТИП(Справочник.БанковскиеСчета)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	втДоп.ДатаНачала КАК ДатаНачала,
	втДоп.ДатаОкончания КАК ДатаОкончания,
	втДоп.Ставка КАК Ставка,
	втДоп.Организация КАК Организация,
	втДоп.БанковскийСчет КАК БанковскийСчет,
	втДоп.Валюта КАК Валюта,
	втДоп.ФинансовыйИнструкмент КАК ФинансовыйИнструкмент,
	втДоп.СуммаРазмещенияВРублях КАК СуммаРазмещенияВРублях,
	втДоп.ДатаДокумента КАК ДатаДокумента,
	втДоп.Банк КАК Банк,
	втДоп.РыночнаяСтавка КАК РыночнаяСтавка,
	втДоп.ОперативныйОстаток * втДоп.Курс КАК ОперативныйОстаток,
	втДоп.Курс КАК Курс
ПОМЕСТИТЬ втРазличные
ИЗ
	втДоп КАК втДоп
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	СУММА((втРазличные.РыночнаяСтавка - втРазличные.Ставка) * втРазличные.СуммаРазмещенияВРублях / 100 / 365) КАК ВыпадающийДоходВМесяц,
	СУММА(втРазличные.СуммаРазмещенияВРублях) КАК СуммаРазмещенияВРублях,
	втРазличные.Организация КАК Организация,
	втРазличные.Банк КАК Банк,
	СУММА(втРазличные.ОперативныйОстаток) КАК СреднедневныйОстаток
ПОМЕСТИТЬ втОсновнаяТаблица
ИЗ
	втРазличные КАК втРазличные

СГРУППИРОВАТЬ ПО
	втРазличные.Организация,
	втРазличные.Банк
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	втДоп.ДатаНачала КАК ДатаНачала,
	втДоп.ДатаОкончания КАК ДатаОкончания,
	втДоп.Ставка КАК Ставка,
	втДоп.Организация КАК Организация,
	втДоп.БанковскийСчет КАК БанковскийСчет,
	втДоп.Валюта КАК Валюта,
	втДоп.ФинансовыйИнструкмент КАК ФинансовыйИнструкмент,
	втДоп.СуммаРазмещенияВРублях КАК СуммаРазмещенияВРублях,
	втДоп.ДатаДокумента КАК ДатаДокумента,
	втДоп.Банк КАК Банк,
	втДоп.РыночнаяСтавка КАК РыночнаяСтавка,
	втДоп.ОперативныйОстаток КАК ОперативныйОстаток,
	втОсновнаяТаблица.ВыпадающийДоходВМесяц КАК ВыпадающийДоходВМесяц,
	втДоп.Курс КАК Курс,
	втОсновнаяТаблица.СреднедневныйОстаток КАК СреднедневныйОстаток
ИЗ
	втДоп КАК втДоп
		ЛЕВОЕ СОЕДИНЕНИЕ втОсновнаяТаблица КАК втОсновнаяТаблица
		ПО втДоп.Организация = втОсновнаяТаблица.Организация
			И втДоп.Банк = втОсновнаяТаблица.Банк
ГДЕ
	втДоп.ДатаДокумента = &Дата
Показать

Делаю отчет в СКД... В консоли запросов выдает правильный результат,а во доп.отчете выдает другой результат... Вопрос...Это УХа тупая или я туплю?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VictorRGB2 13 07.07.22 11:32 Сейчас в теме
(1) что-то при выполнении запроса СКД переделывает в нем по настройкам
вы же что-то настроили в макете, он не есть отражение выполнения запроса в консоли

была тут такая вещь "консоль отчетов с перехватом"
умеет перехватить выполняемый запрос и показать его "переделанном" СКД виде, т.е. результирующий, что выполняется по факту

очень полезная штука
если не найдете, скину в личку
3. user1256662 07.07.22 11:40 Сейчас в теме
(2)Не могу найти что то в поиске. Если не сложно,скиньте пожалуйста.
19. VictorRGB2 13 08.07.22 11:19 Сейчас в теме
(3) не получается через сообщения в личку отправить, дайте в личку почту, скину на нее
4. user1256662 07.07.22 11:41 Сейчас в теме
(2)Вычисляемые поля никак не влияют,проверил. Весь СКД перешерстил уже,ничего не нашел,что повлияло бы
7. пользователь 07.07.22 12:03
Сообщение было скрыто модератором.
...
16. EVKash 14 07.07.22 13:51 Сейчас в теме
(1)
В консоли запросов выдает правильный результат,а во доп.отчете выдает другой результат...
В СКД при выставленном флаге "Автозаполнение" компоновщик "оптимизирует" запрос так, как считает нужным и итоговый запрос может сильно удивить. Консоль запросов про эту "оптимизацию" ничего не знает. Отладку отчетов СКД надо делать в консоли СКД (где можно посмотреть итоговый запрос), а не в консоли запросов.
18. user1256662 07.07.22 15:01 Сейчас в теме
(16)Т.е. если я сделаю без автозаполнения и без возможных группировок в скд,то это может помочь?
5. soft_wind 07.07.22 11:55 Сейчас в теме
похоже что что-то двоит! а СКД это двоение отбрасывает! рулите настройками СКД...
6. user1256662 07.07.22 11:59 Сейчас в теме
(5)Тут нечему двоить даже...
Прикрепленные файлы:
10. user1256662 07.07.22 12:22 Сейчас в теме
(5)И почему то вторая строка результата консоли выдалась корректно.
8. starjevschik 07.07.22 12:04 Сейчас в теме
параметры разные
СКД имеет свое мнение о параметрах, иногда довольно странное.
9. user1256662 07.07.22 12:05 Сейчас в теме
(8)Я специально вывел параметры в СКД на форму,а не вычисляю их. Я тоже так думал вначале,но решил вбить вручную. Сравните параметры в консольке запросов и в отчете. Все одинаково
11. soft_wind 07.07.22 12:26 Сейчас в теме
(10)
И почему то вторая строка результата консоли выдалась корректно.

так элементарно-же, там ни чего не двоит!
12. user1256662 07.07.22 12:38 Сейчас в теме
(11)Дк и в первой не двоит же:D
13. soft_wind 07.07.22 13:31 Сейчас в теме
попробуйте в консоли запросов вывести именно только детальные записи как они сеть
по интересующему объекту
14. user1256662 07.07.22 13:37 Сейчас в теме
(13)в консоли запросов итак выведены записи без группировок,может вы имели ввиду в скд без группировок?
15. soft_wind 07.07.22 13:49 Сейчас в теме
детальные записи таблицы втДоп - посмотрите (только отбор по Организации, Банку добавьте для получения проблемного значения)
17. soft_wind 07.07.22 14:05 Сейчас в теме
у вас в запросе идет различные по 10-полям
а в СКД если не все эти поля выводятся в отчет, оптимизация по оставшимся делает свертку, вот и разница
20. user1256662 13.07.22 07:39 Сейчас в теме
Запросил через перехват отчета и выполнил запрос,но там выдал ту же цифру,что и в обычном запросе... Я ору с УХи
Прикрепленные файлы:
21. user1256662 13.07.22 08:15 Сейчас в теме
Что то мне подсказывает на баг платформы...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот