Недавно столкнулся с проблемой - очень долго формируется список документов (на закладке "Отправка из 1С" формы "Отправка документов") в обработке Диадок для 1Сv8 (версия 5.19.05 для УПП 1.3 / КА 1.1 / УТ 10.3).
Чем больше в базе 1С контрагентов - тем дольше формируется список. Для решения нужно добавить пару строк в запрос, который находится в процедуре "ТаблицаВыгрузкиВДиадок_ПодготовитьВременныеТаблицы_Отборы" формы "Модуль_ИнтеграцияОбщий":
Чем больше в базе 1С контрагентов - тем дольше формируется список. Для решения нужно добавить пару строк в запрос, который находится в процедуре "ТаблицаВыгрузкиВДиадок_ПодготовитьВременныеТаблицы_Отборы" формы "Модуль_ИнтеграцияОбщий":
Запрос.Текст="ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Контрагенты.Ссылка КАК Контрагент,
| ЯщикиКонтрагентов.Значение КАК CounteragentID,
| ФормироватьУПД.Значение КАК ФормироватьУПД,
| Контрагенты.ИНН
|ПОМЕСТИТЬ ОтборКонтрагенты
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЯщикиКонтрагентов
| ПО Контрагенты.Ссылка = ЯщикиКонтрагентов.Объект
| И (ЯщикиКонтрагентов.Свойство = &ИдентификаторЯщикаКонтрагента)
| И (НЕ ЯщикиКонтрагентов.Значение В (&МассивПустыхЗначений))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ФормироватьУПД
| ПО Контрагенты.Ссылка = ФормироватьУПД.Объект
| И (ФормироватьУПД.Свойство = &СвойствоДиадокФормироватьУПДКонтрагент)
| И (НЕ ФормироватьУПД.Значение В (&МассивПустыхЗначений))
|ГДЕ
| (&Контрагент = НЕОПРЕДЕЛЕНО
| ИЛИ Контрагенты.Ссылка = &Контрагент)
// Добавим индекс +++
|Индексировать ПО Контрагент
// Добавим индекс +++
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Контрагенты.Ссылка КАК Контрагент,
| ОтборКонтрагенты.Контрагент КАК Грузополучатель,
| ОтборКонтрагенты.CounteragentID,
| ОтборКонтрагенты.ФормироватьУПД
|ПОМЕСТИТЬ ОтборГрузополучатели
|ИЗ
| ОтборКонтрагенты КАК ОтборКонтрагенты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
| ПО ОтборКонтрагенты.ИНН = Контрагенты.ИНН
| И ОтборКонтрагенты.Контрагент <> Контрагенты.Ссылка
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| ОтборКонтрагенты.Контрагент,
| Контрагенты.Ссылка,
| ЯщикиКонтрагентов.Значение,
| ФормироватьУПДКонтрагент.Значение
|ИЗ
| ОтборКонтрагенты КАК ОтборКонтрагенты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
| ПО ОтборКонтрагенты.ИНН = Контрагенты.ИНН
| И ОтборКонтрагенты.Контрагент <> Контрагенты.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЯщикиКонтрагентов
| ПО (НЕ ЯщикиКонтрагентов.Значение В (&МассивПустыхЗначений))
| И (ЯщикиКонтрагентов.Свойство = &ИдентификаторЯщикаКонтрагента)
| И (Контрагенты.Ссылка = ЯщикиКонтрагентов.Объект)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ФормироватьУПДКонтрагент
| ПО (ФормироватьУПДКонтрагент.Свойство = &СвойствоДиадокФормироватьУПДКонтрагент)
| И (НЕ ФормироватьУПДКонтрагент.Значение В (&МассивПустыхЗначений))
| И (Контрагенты.Ссылка = ФормироватьУПДКонтрагент.Объект)
// Добавим индекс +++
|Индексировать по Грузополучатель, Контрагент
// Добавим индекс +++
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Организации.Ссылка КАК Организация,
| ВЫБОР
| КОГДА ЕСТЬNULL(ОтправкаНепроведенных.Значение, """") = ""Да""
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОтпрНеПроведенные,
| ЕСТЬNULL(СпособОтправкиСчета.Значение, ""СчетНаОплату"") КАК СпособОтправкиСчета,
| ЕСТЬNULL(СпособОтправкиСверки.Значение, ""АктСверкиВзаиморасчетов"") КАК СпособОтправкиСверки,
| ЕСТЬNULL(ФормироватьУПД.Значение, ""НЕТ"") КАК ФормироватьУПД
|ПОМЕСТИТЬ ОтборОрганизации
|ИЗ
| Справочник.Организации КАК Организации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЯщикДиадокДляОрганизации
| ПО Организации.Ссылка = ЯщикДиадокДляОрганизации.Объект
| И (ЯщикДиадокДляОрганизации.Свойство = &СвойствоЯщикДиадокДляОрганизации)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ОтправкаНепроведенных
| ПО Организации.Ссылка = ОтправкаНепроведенных.Объект
| И (ОтправкаНепроведенных.Свойство = &СвойствоДиадокОтправкаНепроведенных)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК СпособОтправкиСчета
| ПО Организации.Ссылка = СпособОтправкиСчета.Объект
| И (СпособОтправкиСчета.Свойство = &СвойствоДиадокСпособОтправкиСчета)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК СпособОтправкиСверки
| ПО Организации.Ссылка = СпособОтправкиСверки.Объект
| И (СпособОтправкиСверки.Свойство = &СвойствоДиадокСпособОтправкиСверки)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ФормироватьУПД
| ПО Организации.Ссылка = ФормироватьУПД.Объект
| И (ФормироватьУПД.Свойство = &СвойствоДиадокФормироватьУПД)
|ГДЕ
| Организации.Ссылка В (&Организация)";
Комментариев нет:
Отправить комментарий