Есть функция. В обработчике
Как ее оптимизировать?
// ВыбПоставщика - список значений.
Функция ПроверкаТранзита(Товар,КолТовараТранзита)
Док=СоздатьОбъект("Документ");
ТаблЗн=СоздатьОбъект("ТаблицаЗначений");
ТаблЗн.НоваяКолонка("Док");
ТаблЗн.НоваяКолонка("Товар");
Рег = СоздатьОбъект("Регистр.ОстаткиТоваров");
Рег.УстановитьФильтр(Товар);
Рег.ВыбратьДвижения(ДатаПрихода,ПолучитьДатуТА());
КолТовараТранзита = 0;
Пока Рег.ПолучитьДвижение()=1 Цикл
Если (Рег.ТекущийДокумент().Вид()="Приходная") Тогда
ТаблЗн.НоваяСтрока();
ТаблЗн.Док = Рег.ТекущийДокумент();
ТаблЗн.Товар = Товар;
Док.НайтиДокумент(Рег.ТекущийДокумент());
Кол = ВыбПоставщика.РазмерСписка();
Иной = 1;
Пока Иной < (Кол+1) цикл
Если сокрЛП(ВыбПоставщика.ПолучитьЗначение(Иной).Наименование) = сокрЛП(Док.Клиент.Наименование) Тогда
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку() > 0 цикл
Если СокрЛП(Товар) = СокрЛП(Док.Товар) тогда
КолТовараТранзита=КолТовараТранзита + Док.Количество;
конецесли;
КонецЦикла;
КонецЕсли;
Иной = Иной + 1;
Конеццикла;
КонецЕсли;
КонецЦикла;
Возврат число(КолТовараТранзита);
КонецФункции
Как ее оптимизировать?
// ВыбПоставщика - список значений.
Функция ПроверкаТранзита(Товар,КолТовараТранзита)
Док=СоздатьОбъект("Документ");
ТаблЗн=СоздатьОбъект("ТаблицаЗначений");
ТаблЗн.НоваяКолонка("Док");
ТаблЗн.НоваяКолонка("Товар");
Рег = СоздатьОбъект("Регистр.ОстаткиТоваров");
Рег.УстановитьФильтр(Товар);
Рег.ВыбратьДвижения(ДатаПрихода,ПолучитьДатуТА());
КолТовараТранзита = 0;
Пока Рег.ПолучитьДвижение()=1 Цикл
Если (Рег.ТекущийДокумент().Вид()="Приходная") Тогда
ТаблЗн.НоваяСтрока();
ТаблЗн.Док = Рег.ТекущийДокумент();
ТаблЗн.Товар = Товар;
Док.НайтиДокумент(Рег.ТекущийДокумент());
Кол = ВыбПоставщика.РазмерСписка();
Иной = 1;
Пока Иной < (Кол+1) цикл
Если сокрЛП(ВыбПоставщика.ПолучитьЗначение(Иной).Наименование) = сокрЛП(Док.Клиент.Наименование) Тогда
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку() > 0 цикл
Если СокрЛП(Товар) = СокрЛП(Док.Товар) тогда
КолТовараТранзита=КолТовараТранзита + Док.Количество;
конецесли;
КонецЦикла;
КонецЕсли;
Иной = Иной + 1;
Конеццикла;
КонецЕсли;
КонецЦикла;
Возврат число(КолТовараТранзита);
КонецФункции
Quod principi placuit, legis habet vigorem