Lihonosov
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: ... Для Ном = 2 по ФайлНакладных.КоличествоСтрок() Цикл Стр = ФайлНакладных.ПолучитьСтроку(Ном); текСтрокиТекста = СтрЗаменить(Стр, " " , РазделительСтрок); //в кавычках табулятор ПеремАртикул=СтрПолучитьСтроку(текСтрокиТекста,1); ПеремНаименование=СтрПолучитьСтроку(текСтрокиТекста,2); //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Ведомость) |Период с (ТекущаяДата()) по (ТекущаяДата()); |ТекущийЭлемент = Справочник.ТМЦ.ТекущийЭлемент; |Наименование = Справочник.ТМЦ.Наименование; |Артикул = Справочник.ТМЦ.Артикул; |Группировка ТекущийЭлемент Без Групп упорядочить по ТекущийЭлемент.Артикул; |Условие(СокрЛП(Артикул)=СокрЛП(ПеремАртикул)); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос.Группировка(1) = 1 Цикл Если (СокрЛП(ПеремАртикул)=СокрЛП(Запрос.Артикул)) И (СокрЛП(ПеремНаименование)=СокрЛП(Запрос.Наименование)) Тогда Если Остаток.СКД(СчетПоКоду("201"),3,,СпрМестоХранения.ТекущийЭлемент(),Запрос.ТекущийЭлемент,)=Число(ПеремКво) Тогда КвоВ1С=Остаток.СКД(СчетПоКоду("201"),3,,СпрМестоХранения.ТекущийЭлемент(),Запрос.ТекущийЭлемент,); Разница=0; Таб.ВывестиСекцию("Строка"); НомСтр=НомСтр+1; ИначеЕсли Остаток.СКД(СчетПоКоду("201"),3,,СпрМестоХранения.ТекущийЭлемент(),Запрос.ТекущийЭлемент,)<>Число(ПеремКво) Тогда КвоВ1С=Остаток.СКД(СчетПоКоду("201"),3,,СпрМестоХранения.ТекущийЭлемент(),Запрос.ТекущийЭлемент,); Разница=КвоВ1С-ПеремКво; Таб.ВывестиСекцию("Строка"); НомСтр=НомСтр+1; КонецЕсли; ИначеЕсли (СокрЛП(ПеремАртикул)=СокрЛП(Запрос.Артикул)) И (СокрЛП(ПеремНаименование)<>СокрЛП(Запрос.Наименование)) Тогда ТабБезНаим.ВывестиСекцию("СтрокаБезНаим"); НомСтрБезНаим=НомСтрБезНаим+1; КонецЕсли; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сличительная ведомость по запросу",""); | Обработка примерно 8.000 записей данным запросом занимает около 4 минут Что можно поправить, чтобы обработать побыстрее??? |