Имя: Пароль:
1C
1С v8
Выгрузка товаров в кассы
0 ColonelAp4u
 
11.09.15
11:00
Добрый день подскажите пожалуйста как ускорить выгрузку. в модуле фоновых заданий в выгрузке товаров в розницу дописал 2 условия и время выполнения задания увеличилось с 10 секунд до почти 3 минут. Вот код
РезТаб = Запрос.Выполнить().Выгрузить();
        Для Каждого Стр Из РезТаб Цикл
            Если СокрЛП(Стр.Штрихкод)<>"" Тогда
                ДБ.Добавить();
                ДБ.F001=СокрЛП(Стр.Наименование);
                ДБ.F002=Стр.Код;
                ДБ.F003=Стр.КодРодителя;
                Если СтрПодразделений.Подразделение = Справочники.Подразделения.НайтиПоКоду("УТ0000028") Тогда
                    Если Стр.Ссылка.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("112") Тогда
                        ДБ.F004=2;
                    Иначе
                        ДБ.F004=Стр.Весовой;
                    КонецЕсли;
                Иначе
                    ДБ.F004=Стр.Весовой;
                КонецЕсли;

                ДБ.F005=Стр.Штрихкод;
                ДБ.F006=Стр.Цена;
                ДБ.F011=Стр.ЦенаПоКарте;
                ДБ.F012=Стр.ЭтоАлкоголь;
                ДБ.F007=1;
                Если СтрПодразделений.Подразделение = Справочники.Подразделения.НайтиПоКоду("УТ0000028") Тогда
                    Если ЗначениеЗаполнено(Стр.Ссылка.Принтер) Тогда
                        ДБ.F013=СокрЛП(Стр.Ссылка.Принтер);
                    КонецЕсли;
                КонецЕсли;

                
                Если Стр.СтавкаНДС=Перечисления.СтавкиНДС.НДС10 Тогда
                    ДБ.F009=10;
                ИначеЕсли Стр.СтавкаНДС=Перечисления.СтавкиНДС.НДС18 Тогда
                    ДБ.F009=18;
                Иначе
                    ДБ.F009=0;
                КонецЕсли;
                ДБ.F010=Стр.МаксСкидка;
                ДБ.Записать();
            КонецЕсли;
        КонецЦикла;
1 DGorgoN
 
11.09.15
11:01
Справочники.Подразделения.НайтиПоКоду("УТ0000028") - тормозит. Внеси в переменную и с переменной сравнивай. Вообще тут многое с помощью запроса можно сделать было
2 ColonelAp4u
 
11.09.15
11:01
(0) Если убрать мои условия где проверяется подразделение то тогда выгрузка проходит за секунды
3 ColonelAp4u
 
11.09.15
11:02
(1) спс щас попробую
4 ДенисЧ
 
11.09.15
11:02
один раз, до цикла, найди все нужные элементы, и потом уже с ними сравнивай.
5 DGorgoN
 
11.09.15
11:02
(3) Ты уже в (2) Ответил на свой вопрос.
Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("112") Это тоже заменить нужно.
6 ColonelAp4u
 
11.09.15
11:05
Всем спасибо закинул в переменную и потом сравниваю выгрузка 10 секунд
7 ColonelAp4u
 
11.09.15
11:06
(5) ок спс