Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
common_all:priemyraboty:queries [2021/02/18 09:56]
alexander
common_all:priemyraboty:queries [2023/09/05 11:41]
alexander
Строка 4: Строка 4:
 [[common_all:​priemyraboty|назад]] [[common_all:​priemyraboty|назад]]
 ---- ----
 +
 +===== Типичные причины неоптимальной работы запросов =====
 +
 +- соединения с подзапросами,​
 +- соединения с виртуальными таблицами,​
 +- несоответствие индексов и условий запроса,​
 +- использование логического ИЛИ в условиях,​
 +- использование подзапросов в условии соединения,​
 +- получение данных через точку от полей составного типа,
 +- фильтрация виртуальных таблиц без использования параметров
  
 ===== Отличия виртуальных таблиц регистра бухгалтерии Таблица оборотов и Таблица оборотов Дт Кт ===== ===== Отличия виртуальных таблиц регистра бухгалтерии Таблица оборотов и Таблица оборотов Дт Кт =====
Строка 183: Строка 193:
  
 ==== Дату с Строку в запросе ==== ==== Дату с Строку в запросе ====
-<​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>​ПОДСТРОКА("​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>​
  
 ==== Расчет даты оплаты в банковских днях ==== ==== Расчет даты оплаты в банковских днях ====