powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Запросы в 1С как оптимизировать?
25 сообщений из 25, страница 1 из 1
Запросы в 1С как оптимизировать?
    #38788536
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
ВЫБРАТЬ     
	армЧекТовары.Ссылка.Склад КАК Склад1,
	армЧекТовары.Ссылка.Продавец.Ссылка.Наименование КАК Продавец_Наименование,
	армЧекТовары.Ссылка.Продавец КАК Продавец1,  
	армЧекТовары.Номенклатура.НоменклатурнаяГруппа.Родитель КАК Родитель1,
	армЧекТовары.Номенклатура.НоменклатурнаяГруппа.Наименование КАК НоменклатурнаяГруппа_Наименование,
	армЧекТовары.Номенклатура.НоменклатурнаяГруппа.Родитель.Наименование КАК НоменклатурнаяГруппа_Родитель_Наименование,
	армЧекТовары.Ссылка.ТипЧека КАК ТипЧека,
	армЧекТовары.Количество,
	армЧекТовары.Сумма,
	армЧекТовары.Ссылка.Склад.Код КАК Код1,
	армЧекТовары.Ссылка.Склад.ОбъектАренды.Регион КАК Регион1	
	ИЗ 
	  Документ.армЧек.Товары КАК армЧекТовары
	ГДЕ армЧекТовары.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода
	;



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
SELECT
T2._Fld8080RRef,
T4._Description,
T2._Fld8054RRef,
T6._ParentIDRRef,
T6._Description,
T7._Description,
T2._Fld8052RRef,
T1._Fld8063,
T1._Fld8065,
T8._Code,
T9._Fld10150RRef
FROM _Document8028_VT8058 T1 WITH(NOLOCK)
LEFT OUTER JOIN _Document8028 T2 WITH(NOLOCK)
ON T1._Document8028_IDRRef = T2._IDRRef
LEFT OUTER JOIN _Reference7113 T3 WITH(NOLOCK)
ON T2._Fld8054RRef = T3._IDRRef
LEFT OUTER JOIN _Reference7113 T4 WITH(NOLOCK)
ON T3._IDRRef = T4._IDRRef
LEFT OUTER JOIN _Reference46 T5 WITH(NOLOCK)
ON T1._Fld8061RRef = T5._IDRRef
LEFT OUTER JOIN _Reference47 T6 WITH(NOLOCK)
ON T5._Fld668RRef = T6._IDRRef
LEFT OUTER JOIN _Reference47 T7 WITH(NOLOCK)
ON T6._ParentIDRRef = T7._IDRRef
LEFT OUTER JOIN _Reference63 T8 WITH(NOLOCK)
ON T2._Fld8080RRef = T8._IDRRef
LEFT OUTER JOIN _Reference10148 T9 WITH(NOLOCK)
ON T8._Fld10175RRef = T9._IDRRef
WHERE ((T2._Date_Time >= @P1) AND (T2._Date_Time <= @P2))


Таблица
_Reference7113 - два раза в соединениях
_Reference47 - два раза в соединениях

_Document8028 - около 15Гб где и храниться Дата, которая в параметрах
_Document8028_VT8058 около 35Гб

остальные таблицы маленькие.

Как в 1С написать запрос, чтобы таблицы не дублировались в соединениях?
Желательно привести пример на данных, которые я привел выше.

Как из таблицы _Document8028 взять данные за период, а только после этого присоединить _Document8028_VT8058 (табличную часть) ?

Для строки "армЧекТовары.Номенклатура.НоменклатурнаяГруппа.Родитель" - понятно, что каждая точка это дополнительное Left join.
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38788567
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew,
Как в 1С написать запрос, чтобы таблицы не дублировались в соединениях?
Желательно привести пример на данных, которые я привел выше. Странный вопрос - убирайте обращение к полям через точку, явно соединяйте таблицы. Вот этого треша армЧекТовары.Ссылка.Продавец.Ссылка.Наименование не должно быть в запросах. И самое главное - оптимизируйте только те запросы, которые действительно тупят. Не надо заниматься оптимизацией потому что вам кажется что это будет работать медленно.
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38788634
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

отчет открывается 1.5 часа.

Для примера: как это переписать Документ.армЧек.Товары ?

ВЫБРАТЬ ПЕРВЫЕ 10 *
ИЗ Документ.армЧек ВНУТРЕННЕЕ СОЕДИНЕНИЕ ...
(как присоединить табличную часть?)
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38788683
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew, это Документ.армЧек.Товары переписывать не надо. Это одна отдельная таблица. Просто разбейте весь запрос на таблицы и соединяйте их в том порядке и с такими условиями, как это нужно вам, а не как это делает платформа в случае использования точек. В вашем случае таблицами будут: Документ.армЧек (таблица документа), Документ.армЧек.Товары (таблица товаров документа), Справочник.Склады, Справочник. Номенклатура, Справочник. НоменклатурнаяГруппа и так далее. То есть вместо точек используйте нужные вам соединения и фильтры, если соедниения платформы вам не подходят. Не знаю как переделает этот запрос планировщик сервера, но в худшем случае сейчас у вас выбирается вся таблица товаров, соединяется с таблицей документа, и уже потом на это накладывается условие по периоду.
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38788698
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полтора часа???????????

А период большой? Точнее сказать за эти полтора часа сколько строк вывелось? миллион?
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38788847
Титов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сполтора часа???????????

А период большой? Точнее сказать за эти полтора часа сколько строк вывелось? миллион?

у меня столько расчет себестоимости производится! на 300 строк продукции в которой свою очередь еще хренова туча полуфобрикатов!))
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38789017
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТитовПрограммист 1сполтора часа???????????

А период большой? Точнее сказать за эти полтора часа сколько строк вывелось? миллион?

у меня столько расчет себестоимости производится! на 300 строк продукции в которой свою очередь еще хренова туча полуфобрикатов!))У меня часа 3-4 расчет себестоимости идет. Правда в стандартной бухгалтерии и обрабатывает последовательно по 1 документу (точнее его проводки)...
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38789192
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос по теме оптимизация:
Если нужно выбрать документы конкретного типа, при составном типе данных,
например в регистре "ВыполняемыеЗадания" ресурс "Задание" имеет составной тип,
среди значений которого возможен документ "Отбор"

Не могу разобраться, в чём разница между двумя вариантами ниже. Чтобы выбрать правильный вариант.

Код: sql
1.
2.
3.
4.
5.
    ГДЕ
        ВЫРАЗИТЬ(РегистрСведенийВыполняемыеЗадания.Задание КАК Документ.Отбор) ССЫЛКА Документ.Отбор
--------
  ГДЕ
        РегистрСведенийВыполняемыеЗадания.Задание ССЫЛКА Документ.Отбор
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38789214
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewНе могу разобраться, в чём разница между двумя вариантами ниже. Чтобы выбрать правильный вариант.


мне показалось, ты профайлером умеешь пользоваться
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38789308
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38789309
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХитроглазыйtrewНе могу разобраться, в чём разница между двумя вариантами ниже. Чтобы выбрать правильный вариант.


мне показалось, ты профайлером умеешь пользоваться
Я хочу разобраться с точки зрения 1С т.е. логику понять. Можете рассказать логику, см. в предыдущем сообщении?
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38789849
user1c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trewВопрос по теме оптимизация:
Если нужно выбрать документы конкретного типа, при составном типе данных,
например в регистре "ВыполняемыеЗадания" ресурс "Задание" имеет составной тип,
среди значений которого возможен документ "Отбор"

Не могу разобраться, в чём разница между двумя вариантами ниже. Чтобы выбрать правильный вариант.
http://kb.1c.ru/articleView.jsp?id=44#dot_after_component_type

Вообще, для решения большинства самых распространенных проблем на стороне конфигуратора 1С достаточно следовать рекомендациям статьи выше.
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38795576
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть в 1С такая возможность (запрос ниже)
Код: sql
1.
2.
ВЫБРАТЬ Дата, Строки.Количество КАК Колво
ИЗ Документ.армЧек


Поле Колво - отображается как вложенный запрос, строки документа.
1) Можно ли, например в пакетном запросе, его отобразить? т.е. сделать этот запрос вложенный, а внешним запросом получить данные Колво .(всё в запросе)
2) зачем такая возможность есть в 1С, чтобы в цикле в коде выбирать что-ли поле Колво ?
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38795604
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew, документ и его табличная часть это две разные таблицы. Если есть какое-то недопонимание или желание оптимизировать - работайте с ними как с двумя разными таблицами.
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38795819
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckertrew, документ и его табличная часть это две разные таблицы. Если есть какое-то недопонимание или желание оптимизировать - работайте с ними как с двумя разными таблицами.
А на вопросы 1 и 2 можете ответить?
Я не понимаю зачем нужен вложенный запрос, у которого не видно полей.
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38795856
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew,А на вопросы 1 и 2 можете ответить? Не могу. Сформулируйте вопрос так чтобы его можно было понять. Сейчас это звучит как "Можно ли разводить овец если горит зеленый?"
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38795861
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew,Я не понимаю зачем нужен вложенный запрос, у которого не видно полей. А вы подумайте, что вы хотите в вашем примере увидеть в строки.количество, если у документа больше одной строки?
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38795906
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewjavapeckertrew, документ и его табличная часть это две разные таблицы. Если есть какое-то недопонимание или желание оптимизировать - работайте с ними как с двумя разными таблицами.
А на вопросы 1 и 2 можете ответить?
Я не понимаю зачем нужен вложенный запрос, у которого не видно полей.

Ты, Федя, в состоянии пропагандистом не быть...
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38796214
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckertrew,Я не понимаю зачем нужен вложенный запрос, у которого не видно полей. А вы подумайте, что вы хотите в вашем примере увидеть в строки.количество, если у документа больше одной строки?
Может на другом запросе, будет понятен мой вопрос.

См. ниже, запрос
6. Обращение к табличной части как вложенной таблице
Код: sql
1.
2.
3.
//получение нескольких колонок табличной части как вложенной таблицы
ВЫБРАТЬ Номер, Дата, Товары.(Номенклатура, Количество)
ИЗ Документ.АвансовыйОтчет


Зачем в запросе используется Товары.(Номенклатура, Количество), т.е. как потом работать с этим вложенным запросом?
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38796234
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewjavapeckertrew,пропущено...
А вы подумайте, что вы хотите в вашем примере увидеть в строки.количество, если у документа больше одной строки?
Может на другом запросе, будет понятен мой вопрос.

См. ниже, запрос
6. Обращение к табличной части как вложенной таблице
Код: sql
1.
2.
3.
//получение нескольких колонок табличной части как вложенной таблицы
ВЫБРАТЬ Номер, Дата, Товары.(Номенклатура, Количество)
ИЗ Документ.АвансовыйОтчет


Зачем в запросе используется Товары.(Номенклатура, Количество), т.е. как потом работать с этим вложенным запросом?

как с таблицей значений после выковыривания ее из результата выполнения запроса
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38796270
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний выдох ГПЖ,

Уже по теме :)
А в запросе, например пакетном, можно работать с вложенным запросом Товары.(Номенклатура, Количество)?
Всё в запросе.
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38796286
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew,А в запросе, например пакетном, можно работать с вложенным запросом Товары.(Номенклатура, Количество)?
Всё в запросе. Перестаньте издеваться над людьми
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38796296
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewПоследний выдох ГПЖ,

Уже по теме :)
А в запросе, например пакетном, можно работать с вложенным запросом Товары.(Номенклатура, Количество)?
Всё в запросе.

неа. она уже на уровне запроса таблица значений.. перекладывайте во временные таблицы
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38796339
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckertrew,А в запросе, например пакетном, можно работать с вложенным запросом Товары.(Номенклатура, Количество)?
Всё в запросе. Перестаньте издеваться над людьми
Я не издеваюсь, а разбираюсь с 1С. Если какая-то возможность есть в 1С, значит она для чего-то нужна. Вот я и разбираюсь, как она работает. Т.е. на что способна 1С.

Извините, если надоел.
...
Рейтинг: 0 / 0
Запросы в 1С как оптимизировать?
    #38796397
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewjavapeckertrew,пропущено...
Перестаньте издеваться над людьми
Я не издеваюсь, а разбираюсь с 1С. Если какая-то возможность есть в 1С, значит она для чего-то нужна. Вот я и разбираюсь, как она работает. Т.е. на что способна 1С.

Извините, если надоел.

иногда удобнее иметь нечто в пакетном запросе сразу в виде таблицы значений для дальнейшей обработки - типа .ВыполнитьПакет() и уже все рассовано по местам, но это скорее редкость...
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Запросы в 1С как оптимизировать?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]