#0
by ixilimuse
Всем доброго времени суток. Есть запрос. Запрос мегалитический)) В одном из подзапросов я намеренно создаю записи - "пустышки". В них присутствует только номер договора и ряд полей не влияющих на суммы. Именно к этим полям я цепляю данные другой подтаблицы. Я так делаю что бы не дублировались суммы прямого страхования из-за того что я цепляю к нему суммы исходящего перестрахования. Сразу скажу конфа - не типовая. И других вариантов - нет. Ибо реальной полноценной связки между прямым и исходом нет((( В общем, в консоли запрос отрабатывает идеально. Все сходится с любимым сотрудниками экселем. Стоит мне засунуть его в СКД - начинаются проблемы. Суммы увеличиваются в 8-9 раз, так как появляются дубли. Кароче СКД умная, и нейтрализует все мои пустышки. Я добрался до галочки "Игнорировать NULL", но и это хоть и изменило количество записей, дубли все равно остались. Уж очень хочет СКД прямое страхование сматчить с исходящим. В обход моих премудростей с пустышками и т.п. Может кто-то подскажет какие-то не банальные настройки СКД? Может есть возможность отключить преобразования и оптимизации? Я уж и с группировкой выводил, и детальные записи и отключал автозаполнение. Буду благодарен наводкам и советам))
#1
by Kyon8
Можно в СКД передать объект - таблицу значений, это в самом тяжелом случае. Также в консоли запросов посмотреть на преобразованный СКД запрос, попробовать ставить галочки "обязательное" для полей в ролях, преобразовать подзапрос во временную таблицу.
#3
by Ymryn
честно признаюсь, не понял процентов 50 из описания, но есть подозрение, что поможет установка галочки "Обязательное", там же где ты поставил "Игнорировать NULL". В идеале это по всем полям, которые ты хочешь, чтобы железно разделялись.
#4
by agorbunov
Попробуй снять галку "Автозаполнение". А выбираемые поля и отборы установить явно через закладку "Компоновка данных" в конструкторе.
#6
by ixilimuse
Над передачей объекта тоже думал. Но подозреваю не стоит того. Но как вариант. С галочками "Обязательное" попробовал. Результат тот - же. Увы. Но все равно спасибо. Да, с написанием есть немного. Ссори. Уже делал. Ничего не поменялось. На самом деле под "подзапросом" я имел ввиду как раз временную таблицу. Их у меня в запросе по меньшей мере 54 штуки. Создаются, уничтожаются, в процессе достижения конечного результата со всеми расчетами. А то что я имел ввиду про пустышки вот этот кусок. ... ВЫБРАТЬ ДД.ДатаНачалаДействияСтраховойЗащиты КАК ДатаНачалаДействияСтраховойЗащиты, 0, 0, 0, 0, 0, 0, NULL, 0, Тип ... Собственно в этом месте создаются пустышки... А потом дальше по тексту я делаю так: Подтягиваю в таблицу исходящее перестрахование, при этом избегая дубляжей сумм по прямому. Пустышки пусть множатся - не жалко. Так как количество строк по прямому и исходу может быть разное, а четкой связи - нет. Собственно вот где-то на этом этапе СКД и накладывает свои руки на мои читтерские выдумки. В результате выборки через СКД - пустышек нет, а данные по исходу находятся в строках которые содержат данные по прямому страхованию. И как следствие где исхода больше чем прямого, я наблюдаю дублирование сумм по прямому. Походу придется пока временно создать "семерочный" отчетик, а потом будет время, полистаю умные книжки, может чего-то и наковыряю. Если найду решение - отпишусь. Если кто-то это сделает раньше меня - буду признателен :) Всем спасибо за отклик и попытку помочь)
#7
by agorbunov
Посмотри (допустим, консолью запросов СКД) какой результирующий запрос генерируется. Сразу будет понятно где копать. В некоторых местах, вроде твоего объединения, у меня СКД выкидывала лишние таблицы или дублирующиеся поля. Я решил это поместив все эти объединения в подзапрос, и вынеся настройки выбираемых полей в запрос верхнего уровня. Криво, но работает.
#8
by Kyon8
Наверное в данном случае как раз проще ТЗ передавать, изменений совсем немного нужно, см.
#9
by DS
Когда-то сталкивался с каким-то непонятным поведением СКД (подробнойтей не помню), которое решил заданием имен полей временных таблиц отличных от имен полей результирующих таблиц.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Отключить контроль прав
- УРБД: отключить миграцию на стадии интерактивного ввода (например при записи)
- Excel: Отключить автоматический расчет формул по OLE
- Как отключить в Outlook окно сообщения об отправке сообщения?
- СКД: СКД. Понимает ли СКД ссылки на МенеджерВременныхТаблиц?
- СКД: СКД на два запроса один отбор
- СКД: СКД: Вывод итогов запроса периодами, вывод счетчика строк...
- СКД: СКД: Программное обращение к полям группировки СКД
- СКД: СКД. Как переоределить действие кнопки "Сформировать" отчета, созданного в СКД?
- СКД: Как использовать результат запроса СКД который воводится в таб. поле отчета?
- СКД: Как получить реальный запрос и результат запроса из СКД?
- Как отключить сообщение "Отключить использование аппаратной лицензии"?
В этой группе 1С
- Управление Торговлей 10.3 и терминал verifone Vx820
- v7: 1С++. Класс. Управление формой.
- Внешний отчет в УТ 11.1
- Ввод начальных остатков по картам лояльности есть или нет в УТ11.1?
- Открыть модуль обычного приложения в УФ
- Изменение расписания регламентного задания
- Пропали колонки в расчетно-платежной ведомости
- Редактирование пользовательских настроек СКД в управляемом приложении
- Динамический список. Основная форма элемента.
- Как программно закрыть Как программно вызвать окно печати ?
- Условное оформление поля в зависимости от его типа УФ
- Интеграция IP-телефонии в 1С. Рарус VS Мико.
- УПП 1.3 Партионный учет: закрытие месяца, не закрывается 25 счет
- Добавление внешней обработки в УТ 11.1
- Помогите расчитать дисперсию в 1С
- Замена программной лицензии на аппаратную
- ЗУП. Освобождение ставки декретницы
- Реквизит регистратора в запросе
- ККМ офлайн отменить загрузку отчета о розн продажах
- Мистика с выполнение отчета на СКД и внешними источниками данных