СКД дополнительные реквизиты где генерируются в БСП (конфа КА 2.4)

1. DrAku1a 1721 14.06.19 11:36 Сейчас в теме
*СКД дополнительные реквизиты где генерируются в БСП (конфа КА 2.4)*

Здравствуйте!

В конфигурации КА 2.4 сделаны дополнительные реквизиты для документов и справочников. Эти реквизиты автоматически протягиваются во все стандартные отчеты. Хотелось-бы посмотреть как платформа генерирует запросы для этих реквизитов и можно ли вмешаться в этот процесс.

Конкретно по задаче: есть документ "Реализация товаров и услуг", в котором добавлен доп.реквизит "Напечатано", при формировании отчета на СКД (например, "Валовая прибыль") - для поля "Заказ клиента/реализация" - добавляется реквизит "Напечатано (Реализации товаров и услуг)".
Для части документов - данный доп.реквизит не записан, в результате чего в отчете выводится пустое значение вместо "нет". Это можно обойти, используя условное форматирование. Но, когда требуется сформировать отчет по ненапечатанным документам - отбор не работает (см. скриншоты). Предположительно, при построении запроса и, соответственно, отбора по полю - не используется проверка NULL.

Просматриваю запросы, формируемые при компоновке результата (МакетКомпоновки.НаборыДанных.ВыручкаИСебестоимостьПродаж.Запрос) - вижу, что при добавлении доп.реквизитов - к основной таблице отчета левым соединением пристыковывается таблица "РеализацияТоваровИУслугДополнительныеРеквизиты" (при добавлении второго доп. реквизита - пристыковывается ещё одна таблица "РеализацияТоваровИУслугДополнительныеРеквизиты1"), см. скриншоты. Видно, что никакого ЕстьNULL не предусмотрено - соответственно, отбор по таким реквизитам работать не будет. Хотелось бы изменить данное поведение для всех отчетов, чтобы отбор начал работать везде.

Подскажите, добавление "РеализацияТоваровИУслугДополнительныеРеквизиты" - это делает встроенный механизм СКД?
Или это делается в общих модулях БСП?
Куда копать дальше?
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Найденные решения
3. toypaul 63 14.06.19 12:10 Сейчас в теме +2 $m
Может проще будет отбор по другому делать? Если не напечатано, то = Напечатано Не Заполнено ИЛИ Напечатано = Ложь
5. dhurricane 14.06.19 12:21 Сейчас в теме +1 $m
(4) В форме настроек отчета - да, можно выбрать только "Равно/Не равно". Но вы можете изменить сам вариант отчета: "Еще / Прочее / Изменить вариант отчета..." Здесь уже доступны "Равно/Не равно/Заполнено/Не заполнено".
8. toypaul 63 14.06.19 12:38 Сейчас в теме +5 $m
(4) можно добавить свой вариант отбора через группу ИЛИ и заполнить представление у нее что-то типа "Отбор ненапечатанных". тогда на форме будет доступен флажок, который будет включать или выключать отбор с этой группой
13. dhurricane 14.06.19 13:20 Сейчас в теме +2 $m
(11) Информацию я черпал с партнерского форума. Там Ваша проблема была озвучена, ее решение - в разработке:
https://partners.v8.1c.ru/forum/message/1758304#m_1758304
Если у Вас нет доступа к форуму, то вот комментарий сотрудника 1С:
- Если флажок выключить, то строка т.ч. удаляется. В принципе, это неплохо, база не пухнет.

- Да, для этого это и сделано. Для дополнительных реквизитов типа Булево ситуация получается более сложной, т.к. получается, что в базе может храниться только одно его состояние - Истина. У нас записана идея на то, чтобы решить эту проблему. Пока можно обойти проблему только проверкой на "(Не) Заполнено".
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. toypaul 63 14.06.19 12:05 Сейчас в теме
доп реквизиты могут быть подключены через механизм языка расширений запросов как характеристики. в этом случае вмешаться можно только там где вы смотрели текст запроса.

смотреть нужно запросы в наборах схемы компоновки
3. toypaul 63 14.06.19 12:10 Сейчас в теме +2 $m
Может проще будет отбор по другому делать? Если не напечатано, то = Напечатано Не Заполнено ИЛИ Напечатано = Ложь
4. DrAku1a 1721 14.06.19 12:12 Сейчас в теме
(3) Отчет в форме настроек позволяет выбрать условие только "Равно"/"Не равно", в поле значение - только "Да"/"Нет", отбора по Не заполнено - нет.
5. dhurricane 14.06.19 12:21 Сейчас в теме +1 $m
(4) В форме настроек отчета - да, можно выбрать только "Равно/Не равно". Но вы можете изменить сам вариант отчета: "Еще / Прочее / Изменить вариант отчета..." Здесь уже доступны "Равно/Не равно/Заполнено/Не заполнено".
6. DrAku1a 1721 14.06.19 12:27 Сейчас в теме
(5) Так - работает. Но вопрос, как всё это работает в БСП - остаётся открыт.
7. dhurricane 14.06.19 12:35 Сейчас в теме
(6) Полагаю, что здесь "рулит" платформа, не БСП.
10. dhurricane 14.06.19 12:43 Сейчас в теме
(6) Касательно БСП могу сказать, что есть особенность использования доп. реквизитов булево типа. В отличие от прочих реквизитов, для которых всегда добавляется строка табличной части "ДополнительныеРеквизиты", строка для реквизита булево типа добавляется только в случае, когда значение равно "Истина". В противном случае строка в ТЧ отсутствует. Поэтому в отчетах всегда либо "Истина", либо "NULL", если конечно запись значений доп. реквизитов всегда осуществляется посредством формы объекта.
11. DrAku1a 1721 14.06.19 13:10 Сейчас в теме
(10) По другим типам данных - этого не наблюдается? Например, число (если будет в форме записываться как 0, строка всегда будет)?
12. dhurricane 14.06.19 13:11 Сейчас в теме
(11) С числами не экспериментировал. Но вроде должно записываться именно как 0.
13. dhurricane 14.06.19 13:20 Сейчас в теме +2 $m
(11) Информацию я черпал с партнерского форума. Там Ваша проблема была озвучена, ее решение - в разработке:
https://partners.v8.1c.ru/forum/message/1758304#m_1758304
Если у Вас нет доступа к форуму, то вот комментарий сотрудника 1С:
- Если флажок выключить, то строка т.ч. удаляется. В принципе, это неплохо, база не пухнет.

- Да, для этого это и сделано. Для дополнительных реквизитов типа Булево ситуация получается более сложной, т.к. получается, что в базе может храниться только одно его состояние - Истина. У нас записана идея на то, чтобы решить эту проблему. Пока можно обойти проблему только проверкой на "(Не) Заполнено".
8. toypaul 63 14.06.19 12:38 Сейчас в теме +5 $m
(4) можно добавить свой вариант отбора через группу ИЛИ и заполнить представление у нее что-то типа "Отбор ненапечатанных". тогда на форме будет доступен флажок, который будет включать или выключать отбор с этой группой
9. DrAku1a 1721 14.06.19 12:40 Сейчас в теме
(8) Так и сделал. Спасибо!
Оставьте свое сообщение

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