Как получить пустую ссылку с типом значения как у ПолеКомпоновкиДанных #664709


#0 by Эмбеддер
В существующей программе меняю отбор из системы компоновки данных на отбор в запросе. Все виды сравнения реализовал, но осталось "Заполнено" и "НеЗаполнено". Я так понимаю, что сравнивать надо не с Неопределено, а именно с тем типом, что в поле запроса. У меня есть ПолеКомпоновкиДанных, как узнать тип этого поля? Для того, чтобы получить пустую ссылку
#1 by mikecool
типзнч(поле)??
#2 by Эмбеддер
возвращает "ПолеКомпоновкиДанных"
#3 by Defender aka LINN
Т.е. ты сейчас пытаешь сделать то, что платформа и сама, вполне успешно умеет делать?
#4 by Эмбеддер
да, дело в том что есть 200 обращений к системе компоновке данных, выполняется это в цикле. мне нужно сделать одним запросом. так работает быстрее в десятки раз
#5 by Defender aka LINN
... Я рад, что вы мне это рассказали. Но вопрос остается открытым - зачем пытаться написать говнокод, который сделает все то же самое, что и платформа, только хуже?
#6 by Эмбеддер
мне поставили задачу ускорить уже существущий код, который написан очевидно правильным программистом, который пишет не г-код. однако он работает неоправданно долго
#7 by Эмбеддер
спасибо за помощь придумал как сделаю этот отбор и без тормозов - такая проверка будет уже в полученной выборке, благо она небольшая
#8 by Defender aka LINN
Я рад за вас. Но в описано совершенно другое, если что. Молодец. А как быть с отбором типа (А=7 ИЛИ Б не заполнено)?
#9 by Эмбеддер
зайди в любой стандартный отчет и попробуй сделать отбор "ИЛИ" в табличке "Отборы"
#10 by Defender aka LINN
Сделал. Что дальше?
#11 by Эмбеддер
я хотел сказать "Универсальный отчет". у меня в личке картинка как это выглядит
#12 by Defender aka LINN
"в существующей программе меняю отбор из системы компоновки данных". УО не на СКД сделан.
#13 by Эмбеддер
все, увидел в СКД можно добавить группу
#14 by Эмбеддер
в реальности выглядит вот так
#15 by Эмбеддер
но возникает следующая проблема - при обходе отбора не видно дерева, как они по группам объединены, видны только элементы и все)))
#16 by Defender aka LINN
Все там видно. Только я в 100500й раз спрашиваю: НАХРЕНА?
#17 by Эмбеддер
я уже объяснил зачем мне это нужно
#18 by Defender aka LINN
Нихрена ты не объяснил. - Я переделываю отбор СКД в условия в запросе - Зачем, это платформа сама умеет? - А у меня вот тут бантик завязан. Для нахрена писать какие-то там пьяные процедуры, если все то же самое умеет платформа, достаточно ее об этом попросить?
#19 by Эмбеддер
15+ все, я не ту настройку смотрел, их было много, в этой групп не было тогда полностью задача. есть справочник с настройками, там 200 записей, будет еще больше. в каждой записи есть настройка компоновки данных. при проведении документа выполняется запрос, отдельно по каждой настройке из этой компоновки, к данным документа. выполняется это десятки секунд. это делал не я. а задача ускорить этот процесс
#20 by Defender aka LINN
Макет = КомпоновщикМакетаКомпоновкиДанных.Выполнить После этого изучи "Макет" в отладчике.
#21 by Эмбеддер
спасибо, ты мне на самом деле очень помог. я бы и не догадался что есть группы в отборе в макете нашел все что нужно, но я так понимаю что "Выполнить" реально выполняет запрос к базе, т.е. это основные тормоза
#22 by Defender aka LINN
Не выполняет он запрос. Он его готовит.
#23 by Эмбеддер
кстати "ЗначениеЗаполнено" для СубконтоДт1 компоновщик делает так:
#24 by Defender aka LINN
Да. Ибо ограничивать типы надо.
#25 by Эмбеддер
там просто выборка из хозрасчетного регистра
#26 by Defender aka LINN
Да хоть откуда
#27 by Эмбеддер
я же заранее не знаю, какие у меня будут проводки в документе, какие виды субконто используется, а какие нет...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С