powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / 1С 8.1 Запрос с графой отбора. Почему падает скорость выполнения при добавлении полей?
7 сообщений из 7, страница 1 из 1
1С 8.1 Запрос с графой отбора. Почему падает скорость выполнения при добавлении полей?
    #36307301
Фотография Angelein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Помогите, пожалуйста, разобраться!
Есть графа отбора. Она выбирает ссылки на документы одного вида, в табличной части которых есть выбранный контрагент. Пишу запросы - этот выполняется 2 секунды:
Код: plaintext
1.
2.
3.
4.
5.
ВЫБРАТЬ
	ДокументыКонтрагента.Ссылка
ИЗ
	КритерийОтбора.ДокументыКонтрагента(&Контрагент) КАК ДокументыКонтрагента
УПОРЯДОЧИТЬ ПО
	СсылкаДата
Пишу следующий, т.к мне надо выбрать ещё и другие реквизиты из этого документа, а не только ссылку - выполняется 21 секунду... это уже совсем долго... :(
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ВЫБРАТЬ
	ДокументыКонтрагента.Ссылка,
	ДокументыКонтрагента.Ссылка.Дата КАК СсылкаДата,
	ДокументыКонтрагента.Ссылка.Договор
ИЗ
	КритерийОтбора.ДокументыКонтрагента(&Контрагент) КАК ДокументыКонтрагента

УПОРЯДОЧИТЬ ПО
	СсылкаДата 

Почему?
И как выбрать быстрее?
Пробовала через левое объединение с самим документом - ещё хуже. Почти пол-минуты :(

Что делать?
Подскажите, пожалуйста! Всем спасибо за помощь!
...
Рейтинг: 0 / 0
1С 8.1 Запрос с графой отбора. Почему падает скорость выполнения при добавлении полей?
    #36307449
покажите запрос "через левое объединение с самим документом". Должно быть что-то вроде этого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ВЫБРАТЬ
	ВозвратТоваровОтПокупателяТовары.Ссылка
ИЗ
	Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
ГДЕ
	ВозвратТоваровОтПокупателяТовары.ДокументПартии.Контрагент = &Контрагент

УПОРЯДОЧИТЬ ПО
	ВозвратТоваровОтПокупателяТовары.Ссылка.Дата
...
Рейтинг: 0 / 0
1С 8.1 Запрос с графой отбора. Почему падает скорость выполнения при добавлении полей?
    #36308255
Фотография Angelein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код с левым соединением:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ВЫБРАТЬ
	ДокументыКонтрагента.Ссылка,
	СамДокумент .Договор,
	СамДокумент .Дата
ИЗ
	КритерийОтбора.ДокументыКонтрагента(&Контрагент) КАК ДокументыКонтрагента
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.СамДокумент КАК СамДокумент 
		ПО ДокументыКонтрагента.Ссылка = СамДокумент .Ссылка

Выполняется 45 секунд :(

Как надо сделать, чтоб запрос выдавал все нужные мне поля быстро?
...
Рейтинг: 0 / 0
1С 8.1 Запрос с графой отбора. Почему падает скорость выполнения при добавлении полей?
    #36308282
RustamZz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критерий отбора это не реальная таблица. 1С строит объединение со всеми объектами входящими в состав критерия отбора. Обращение через точку к реквизиту ссылка вызывает левое соединение также со всеми объектами.
Если нужно выбрать реквизиты из документа одного вида (либо нескольких), правильнее написать запрос к этим документам.
...
Рейтинг: 0 / 0
1С 8.1 Запрос с графой отбора. Почему падает скорость выполнения при добавлении полей?
    #36308406
критерий отбора можно заменить индексированием соответствующего поля в табличной части. Запрос по табличной части должен выполняться как минимум не медленнее, чем по критерию отбора. Попробуйте так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ВЫБРАТЬ
	СамДокументИмяТабличнойЧасти.Ссылка,
	СамДокументИмяТабличнойЧасти.Ссылка.Дата КАК СсылкаДата,
	СамДокументИмяТабличнойЧасти.Ссылка.Договор
ИЗ
	Документ.СамДокумент.ИмяТабличнойЧасти КАК СамДокументИмяТабличнойЧасти
ГДЕ
	СамДокументИмяТабличнойЧасти.Контрагент = &Контрагент

УПОРЯДОЧИТЬ ПО
	СамДокументИмяТабличнойЧасти.Ссылка.Дата
...
Рейтинг: 0 / 0
1С 8.1 Запрос с графой отбора. Почему падает скорость выполнения при добавлении полей?
    #36308750
Фотография Angelein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы!

Переписала - сделала с индексированием соответствующего поля в табличной части.
Действительно, выполняется 14 секунд!

А вот так выполняется всего за 6 секунд!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ВЫБРАТЬ
	СамДокумент.Договор,
	СамДокумент.Ссылка,
	СамДокумент.Дата КАК Дата
ИЗ
	Документ.СамДокумент КАК СамДокумент
ГДЕ
	СамДокумент.Ссылка В
			(ВЫБРАТЬ
				ДокументыКонтрагента.Ссылка
			ИЗ
				КритерийОтбора.ДокументыКонтрагента(&Контрагент) КАК ДокументыКонтрагента)

Всем Большое спасибо за помощь!
Успехов!
...
Рейтинг: 0 / 0
1С 8.1 Запрос с графой отбора. Почему падает скорость выполнения при добавлении полей?
    #36308759
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно еще в подзапрос "Различные" добавить - вдруг дубли возможны
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / 1С 8.1 Запрос с графой отбора. Почему падает скорость выполнения при добавлении полей?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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