Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
common_all:priemyraboty:queries [2021/02/18 09:56]
alexander
common_all:priemyraboty:queries [2023/09/05 11:42]
alexander
Строка 4: Строка 4:
 [[common_all:​priemyraboty|назад]] [[common_all:​priemyraboty|назад]]
 ---- ----
 +
 +===== Типичные причины неоптимальной работы запросов =====
 +[[https://​its.1c.ru/​db/​metod8dev/​content/​5842/​hdoc|На сайте ИТС]]
 +
 +- соединения с подзапросами,​
 +
 +- соединения с виртуальными таблицами,​
 +
 +- несоответствие индексов и условий запроса,​
 +
 +- использование логического ИЛИ в условиях,​
 +
 +- использование подзапросов в условии соединения,​
 +
 +- получение данных через точку от полей составного типа,
 +
 +- фильтрация виртуальных таблиц без использования параметров
  
 ===== Отличия виртуальных таблиц регистра бухгалтерии Таблица оборотов и Таблица оборотов Дт Кт ===== ===== Отличия виртуальных таблиц регистра бухгалтерии Таблица оборотов и Таблица оборотов Дт Кт =====
Строка 183: Строка 200:
  
 ==== Дату с Строку в запросе ==== ==== Дату с Строку в запросе ====
-<​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>​
  
 ==== Расчет даты оплаты в банковских днях ==== ==== Расчет даты оплаты в банковских днях ====