#0
by Shaman
Проходит обработка большого количества объектов, данное условие занимает значительную часть обработки. Логика условия такова - в качестве параметра передается ссылка на справочник, возможен вариант когда передается ссылка на еще не записанный элемент справочника, но с установленым гуидом. Можно ли "облегчить" это условие?
#4
by Amiralnar
Передавай параметром признак того, что объект записан. Или храни список не записанных объектов в глобальной таблице.
#6
by Фрэнки
тогда по условиям написанного запроса будет получаться, что у тестовой ссылки просто не заполнено значение реквизита Ссылка т.е. если такой запрос работает, должна работать и проверка ЗначениеЗаполнено(СправочникСсылка.Ссылка)
#7
by Фрэнки
+5 но при этом я уже вижу свою ошибку : мой вариант надо применять в том случае, если конкретная ссылка получена чтением данных _объекта_, т.е. СправочникСсылка нужно перечитать из базы, что можно сделать тем же самым методом ПолучитьОбъект. А в запросе вызывается неявным образом чтение данных объекта из БД - это практически такая же функция ПолучитьОбъект Я к тому что выигрыша по скорости для каждой конкретной проверяемой ссылкой в цикле не даст никакого. Надо придумывать какой-то более эффективный способ.
#8
by sda553
Понимаешь в чем дело. Тут уже была дискуссия которая установила, что если какой то горе программист напишет в модуле объекта функцию Предупреждение или Вопрос или еще какую то такую гадость, то твой код ПолучитьОбъект ни фига не будет работать из под сервера.
#10
by Фрэнки
с этой позицией (запрос вместо метода) я согласен на все 100% - есть безопасность кода и ее нужно обеспечить. Но в контексте заданного вопроса в теме просят предложить версию выигрыша по скорости обработки. Я не думаю, что по скорости именно такая версия запроса даст выигрыш, либо он будет совсем небольшой.
#12
by Фрэнки
Ну... по идее, согласно задумке разработчиков платформы, при корректном описании контекста модуля, на сервере ПолучитьОбъект работать будет. Поэтому я и не особо привязываюсь к методу, а говорю об отсутствии выигрыша в скорости, если просто заменить вызов одного метода для одной ссылки на объект таким вот запросом, точно также получающим один объект по ссылке на него.
#14
by acsent
А отличие от в том что ПолучитьОбъект получает ВСЕ реквизиты и что самое страшное табличные части
#16
by sda553
У ПолучитьОбъект выполняется модуль инициализации - он может хоть час выполнятся, смотря что туда понаписать
#17
by Фрэнки
просто я не видел никогда этого модуля. Если в модуле предусмотрено выделение памяти под типы значений реквизитов и реквизитов тч и в самом деле происходит единовременное получение всех этих значений... Это же прописывается в коде платформы? "смотря что туда" - это имеется ввиду в состав реквизитов шапки и реквизитов тч ?
#20
by sda553
Это обычный модуль объекта. Код инициализации это то что в этом модуле за границами всех процедур и функций Конечно нет, Пустая для битой ссылки возвращает Ложь
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- вопрос по УТ 10.3
- Отчет по продажам без учета возвратов в УТ 10.3
- Web-интерфейс. Очиска поля ввода имеющее список выбора
- Карточка счёта МСФО
- УТ 10.3 + RS сканер (драйвер Атол) вылетает 1С!?!?
- Как обработать внешнее событие от сканера ШК в управляемом приложении?
- Задачка про мышку.
- Новый документ или нет - Как проверить в УФ?
- Какие вы знаете средства документирования техзаданий для 1с программистов?
- v7: Подскажите что за ключ H4 M1WRBQB?
- Обмен в РБД Присвоить новый номер сообщения
- Запуск 1С через файл *.v8i (8.2)
- 2 управляемые формы одного объекта, в одной что-то меняется, как обновить вторую
- Как отключить вывод комментария при проведении?
- УНФ как встроить новый отчет в конфигурацию?
- Назначение сочетания клавиш
- Подсистема расчета Фонда заработной платы
- консоль управления не может создать оснастку
- 8.1 не выгружает на FTP 426 Failure reading network stream
- Ответственное хранение в УТ-11