0
dll
14.04.15
✎
00:42
|
Всем салют!
Ребята в общем такая проблемка, в запросе около 50тыс записей, очень долго обрабатывает, как быть со вторым циклом в коде?
незнаю как быть, башка уже вообще не варит...
Запрос = СоздатьОбъект("Справочник.Контрагенты");
Запрос.ИспользоватьДату(ДатаДок);
Запрос.ВыбратьЭлементы();
Пока Запрос.ПолучитьЭлемент() = 1 Цикл
Если Запрос.Агент.Код = Родитель.Код Тогда
КонтрБезСимволов = "";
КонтрБезСимволов = Запрос.Наименование;
СтрЗаменить(КонтрБезСимволов,"'","");
*-*-*ТРУМПУПУМ ТУТ КОД
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, , 1);
Ит.ИспользоватьСубконто(ВидыСубконто.Сотрудники, , 1);
Ит.ВыполнитьЗапрос(ДатаВыгрузки, ДатаВыгрузки, СчетПоКоду("334"), , , 1, , "С");
Ит.ВыбратьСубконто(ВидыСубконто.Контрагенты, Контрагенты);
Пока Ит.ПолучитьСубконто(ВидыСубконто.Контрагенты) = 1 Цикл
Если Ит.Субконто().Наименование = Запрос.Наименование Тогда
Если Ит.СКД(1) > 0 Тогда
элСправочника.УстановитьАтрибут("debt", СокрЛП(Ит.СКД(1)));
иначе
элСправочника.УстановитьАтрибут("debt", "0");
КонецЕсли;
КонецЕсли;
КонецЦИкла;
Иначе
Продолжить
КонецЕсли;
КонецЦикла;
|
|