Имя: Пароль:
1C
1С v8
Как получить пустую ссылку с типом значения как у ПолеКомпоновкиДанных
0 Эмбеддер
 
15.05.13
08:48
В существующей программе меняю отбор из системы компоновки данных на отбор в запросе. Все виды сравнения реализовал, но осталось "Заполнено" и "НеЗаполнено".
Я так понимаю, что сравнивать надо не с Неопределено, а именно с тем типом, что в поле запроса. У меня есть ПолеКомпоновкиДанных, как узнать тип этого поля? Для того, чтобы получить пустую ссылку
1 mikecool
 
15.05.13
08:50
типзнч(поле)??
2 Эмбеддер
 
15.05.13
08:50
(1) возвращает "ПолеКомпоновкиДанных"
3 Defender aka LINN
 
15.05.13
08:51
(0) Т.е. ты сейчас пытаешь сделать то, что платформа и сама, вполне успешно умеет делать?
4 Эмбеддер
 
15.05.13
08:53
(3) да, дело в том что есть 200 обращений к системе компоновке данных, выполняется это в цикле. мне нужно сделать одним запросом. так работает быстрее в десятки раз
5 Defender aka LINN
 
15.05.13
08:54
(4) ... Я рад, что вы мне это рассказали. Но вопрос остается открытым - зачем пытаться написать говнокод, который сделает все то же самое, что и платформа, только хуже?
6 Эмбеддер
 
15.05.13
08:57
(5) мне поставили задачу ускорить уже существущий код, который написан очевидно правильным программистом, который пишет не г-код. однако он работает неоправданно долго
7 Эмбеддер
 
15.05.13
09:00
спасибо за помощь придумал как сделаю этот отбор и без тормозов - такая проверка будет уже в полученной выборке, благо она небольшая
8 Defender aka LINN
 
15.05.13
09:11
(6) Я рад за вас. Но в (0) описано совершенно другое, если что.
(7) Молодец. А как быть с отбором типа (А=7 ИЛИ Б не заполнено)?
9 Эмбеддер
 
15.05.13
09:20
(8) зайди в любой стандартный отчет и попробуй сделать отбор "ИЛИ" в табличке "Отборы"
10 Defender aka LINN
 
15.05.13
09:23
(9) Сделал. Что дальше?
11 Эмбеддер
 
15.05.13
09:26
(10) я хотел сказать "Универсальный отчет". у меня в личке картинка как это выглядит
12 Defender aka LINN
 
15.05.13
09:27
(11) "в существующей программе меняю отбор из системы компоновки данных". УО не на СКД сделан.
13 Эмбеддер
 
15.05.13
09:28
(12) все, увидел в СКД можно добавить группу
14 Эмбеддер
 
15.05.13
09:34
в реальности выглядит вот так
http://i48.fastpic.ru/big/2013/0515/00/7d8dc63a2be5b489c16d9d3c4f168b00.jpg
15 Эмбеддер
 
15.05.13
09:47
но возникает следующая проблема - при обходе отбора не видно дерева, как они по группам объединены, видны только элементы и все)))
16 Defender aka LINN
 
15.05.13
09:50
(15) Все там видно. Только я в 100500й раз спрашиваю: НАХРЕНА?
17 Эмбеддер
 
15.05.13
09:51
(16) я уже объяснил зачем мне это нужно
18 Defender aka LINN
 
15.05.13
09:56
(17) Нихрена ты не объяснил.

- Я переделываю отбор СКД в условия в запросе
- Зачем, это платформа сама умеет?
- А у меня вот тут бантик завязан.

Для нахрена писать какие-то там пьяные процедуры, если все то же самое умеет платформа, достаточно ее об этом попросить?
19 Эмбеддер
 
15.05.13
10:01
15+ все, я не ту настройку смотрел, их было много, в этой групп не было
(18) тогда полностью задача.
есть справочник с настройками, там 200 записей, будет еще больше. в каждой записи есть настройка компоновки данных. при проведении документа выполняется запрос, отдельно по каждой настройке из этой компоновки, к данным документа. выполняется это десятки секунд. это делал не я.
а задача ускорить этот процесс
20 Defender aka LINN
 
15.05.13
10:04
(19) Макет = КомпоновщикМакетаКомпоновкиДанных.Выполнить
После этого изучи "Макет" в отладчике.
21 Эмбеддер
 
15.05.13
10:35
(20) спасибо, ты мне на самом деле очень помог. я бы и не догадался что есть группы в отборе
в макете нашел все что нужно, но я так понимаю что "Выполнить" реально выполняет запрос к базе, т.е. это основные тормоза
22 Defender aka LINN
 
15.05.13
10:37
(21) Не выполняет он запрос. Он его готовит.
23 Эмбеддер
 
15.05.13
11:22
кстати "ЗначениеЗаполнено" для СубконтоДт1 компоновщик делает так:
(СубконтоДт1 НЕ В(НЕОПРЕДЕЛЕНО, &П3, &П4, &П5, &П6, &П7, &П8, &П9, &П10, &П11, &П12, &П13, &П14, &П15, &П16, &П17, &П18, &П19, &П20, &П21, &П22, &П23, &П24, &П25, &П26, &П27, &П28, &П29, &П30, &П31, &П32, &П33, &П34, &П35, &П36, &П37, &П38, &П39, &П40, &П41, &П42, &П43, &П44, &П45, &П46, &П47, &П48, &П49, &П50, &П51, &П52, &П53, &П54, &П55, &П56, &П57, &П58, &П59, &П60, &П61, &П62, &П63, &П64, &П65, &П66, &П67, &П68, &П69, &П70, &П71, &П72, &П73, &П74, &П75, &П76, &П77, &П78, &П79, &П80, &П81, &П82, &П83, &П84, &П85, &П86, &П87) И СубконтоДт1 ЕСТЬ НЕ NULL)
24 Defender aka LINN
 
15.05.13
11:39
(23) Да. Ибо ограничивать типы надо.
25 Эмбеддер
 
15.05.13
12:10
(24) там просто выборка из хозрасчетного регистра
26 Defender aka LINN
 
15.05.13
12:17
(25) Да хоть откуда
27 Эмбеддер
 
15.05.13
12:21
(26) я же заранее не знаю, какие у меня будут проводки в документе, какие виды субконто используется, а какие нет...
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший