#0
by Alexey87
Задача такая: в запросе хочу получить разницу в месяцах между свойством номенклатуры типа Дата и Текущей датой, соответственно пишу: РАЗНОСТЬДАТ(ЗначенияСвойствОбъектов.Значение, &ТекДата, МЕСЯЦ) Выдает ошибку "неверные параметры РАЗНОСТЬДАТ", такое ощущение, что не видит тип у значения свойства, думаю, если сделать свойство предопределенным, то прокатит или дело в другом?
#7
by Дикообразко
РАЗНОСТЬДАТ(ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Значение КАК ДАТА), &ТекДата, МЕСЯЦ) у тебя поле не составного типа
#9
by Said_We
Тогда возможно лудше подзапросом. В одном выразить и обрезать всё что не дата и не номенклатура, а во втором уже считать...
#21
by Said_We
Ну какая-же это чушь, если в файловой нету MS SQL? А Вы предлагаете все взвалить на сей инструмент.
#22
by Дикообразко
вложенный запрос с отбором, а затем еще одна выборка по результату ...вестимо будет медленнее одной выборки
#23
by hhhh
не скажи, если в файловой отбор и соединение, то будет работать в 60 раз медленнее, чем сначала отбор в подзапросе, а потом соединение.
#24
by Said_We
К Отбор в подзапросе с фильтром. И примерно во столько раз медленнее во сколько записей больше без предварительного фильтра в подзапросе. Соединение это почти декартово перемножение. Чем больше записей тем выходной результат больше. Если заранее перемножемые таблицы ограничить, то и перемножать придётся уже меньшие по количеству строк таблицы. А это уже быстрее. В принципе это прописные истины. А сваливать всё на некие оптимизаторы - не хорошо это. Видел я как оракл загибается от фильдипесового подобного запроса. Беруться четыре огромные таблицы и перемножаются. Потом на результат накладываются условия, но не только условия связи, а и условия на каждую таблицу. В результате получается одна небольшая таблица. Но запрос выполняется крайне медленно. Хорошо это писал не большой специалист в оракле (сопровождает он систему) и не в самой базе, а в отчёте. Тоже сказал - есть же оптимизатор. Немного подкорректировал - наложил фильтры заранее и в подзапросы. Скорость выполнения - стало буквально несколько секунд (2-3 сек). При этом в самой базе на которой это писалось и в оракле я не специалист совсем. Специалист наверное еще быстрее бы нарисовал.
#25
by Дикообразко
а с чего ты взял, что фильтра нет О_о ??? речь об одной выборке с фильтром, против выборки из подзапроса с фильтром
#26
by Said_We
Речь о РАЗНОСТЬДАТ для скольки строк она будет отрабатывать, если известно что данная операция довольно-таки медленная.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- v8: Представление булевых ИСТИНА и ЛОЖЬ в табличной части документа.
- 8.2 Как изменить цвет фона основного окна 1С?
- сумма чека принтера чеков отличается от суммы чека в 1с
- Контроллер supermicro aoc-lpzcr2 прошивка.
- Неудачная попытка создания объекта (SQLDMO.SQLServer) на win2008
- конфликт блокировок при выполнении транзакции. Не удалось заблокировать таблицу
- Граница расчета регистра
- Как вытащить параметры отбора из СКД?
- Ограничение выбора пользователей из списка при запуске
- Как делать Автообмен для файловой версии? Ошибка rserver.dll?
- ЗУП. Как оформить начало северной надбавки?
- Можно ли после запуска 1С определить значение параметра команд. строки /UC
- Комплексная автоматизация. Закрытие 25 счета.
- Сравнение и объединение : Фильтр по подсистемам?
- Изменить вид склада Розничный на Оптовый (Комплексная)
- Актуальность регистров
- Настройка Клиент банка ВТБ для обмена с УТ 8.1
- v8: ЗУП. приказ о работе сотрудников в праздничные дни
- печать документов сразу на принтер
- ЗУП 24 релиз. Отчет Свод начисленной зп и отражение в рег. учете