Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
common_all:priemyraboty:queries [2019/04/05 14:07] alexander |
common_all:priemyraboty:queries [2023/09/05 11:41] alexander |
||
---|---|---|---|
Строка 4: | Строка 4: | ||
[[common_all:priemyraboty|назад]] | [[common_all:priemyraboty|назад]] | ||
---- | ---- | ||
+ | |||
+ | ===== Типичные причины неоптимальной работы запросов ===== | ||
+ | |||
+ | - соединения с подзапросами, | ||
+ | - соединения с виртуальными таблицами, | ||
+ | - несоответствие индексов и условий запроса, | ||
+ | - использование логического ИЛИ в условиях, | ||
+ | - использование подзапросов в условии соединения, | ||
+ | - получение данных через точку от полей составного типа, | ||
+ | - фильтрация виртуальных таблиц без использования параметров | ||
===== Отличия виртуальных таблиц регистра бухгалтерии Таблица оборотов и Таблица оборотов Дт Кт ===== | ===== Отличия виртуальных таблиц регистра бухгалтерии Таблица оборотов и Таблица оборотов Дт Кт ===== | ||
Строка 181: | Строка 191: | ||
===== Работаем с датами в запросе ===== | ===== Работаем с датами в запросе ===== | ||
[[http://infostart.ru/public/68269/|Статья на инфостарте Алексея Константинова "Работаем с датами в запросе"]] | [[http://infostart.ru/public/68269/|Статья на инфостарте Алексея Константинова "Работаем с датами в запросе"]] | ||
+ | |||
+ | ==== Дату с Строку в запросе ==== | ||
+ | <code>ПОДСТРОКА("0123456789", ДЕНЬ(Реквизиты.ЕФС_ДатаНачала) / 10 + 1, 1) + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, 6 * ДЕНЬ(Реквизиты.ЕФС_ДатаНачала))) / 6 + 1, 1) + "." + ПОДСТРОКА("0123456789", МЕСЯЦ(Реквизиты.ЕФС_ДатаНачала) / 10 + 1, 1) + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, 6 * МЕСЯЦ(Реквизиты.ЕФС_ДатаНачала))) / 6 + 1, 1) + "." + ПОДСТРОКА("0123456789", ГОД(Реквизиты.ЕФС_ДатаНачала) / 1000 + 1, 1) + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, ГОД(Реквизиты.ЕФС_ДатаНачала) * 0.06)) / 6 + 1, 1) + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, ГОД(Реквизиты.ЕФС_ДатаНачала) * 0.6)) / 6 + 1, 1) + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, ГОД(Реквизиты.ЕФС_ДатаНачала) * 6)) / 6 + 1, 1) КАК ДатаНачалаСтрокой</code> | ||
+ | |||
==== Расчет даты оплаты в банковских днях ==== | ==== Расчет даты оплаты в банковских днях ==== | ||
<code>//////////////////////////////////////////////////////////////////////////////// | <code>//////////////////////////////////////////////////////////////////////////////// |