Подряд (фактически) идут строки (между ними проверка контрагента)
- Код: Выделить всё
ДокВозврат.Склад=?(ПустоеЗначение(ВыбСклад)=0,ВыбСклад,Константа.ОсновнойСклад.Получить()); //Розничный склад
....
ДокВозврат.Склад=ВыбСклад;
далее
- Код: Выделить всё
Пока ТаблВозвратов.ПолучитьСтроку()=1 Цикл
ДокВозврат.НоваяСтрока();
СпрНоменклатура=СоздатьОбъект("Справочник.Номенклатура");
надо переделать к виду
- Код: Выделить всё
СпрНоменклатура=СоздатьОбъект("Справочник.Номенклатура");
Пока ТаблВозвратов.ПолучитьСтроку()=1 Цикл
ДокВозврат.НоваяСтрока();
В Функция ЗагрузитьТовары(Объект, НомСекции, НомерККМ, КаталогОбмена, СписокТоваров)
- Код: Выделить всё
Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
Если СписокТоваров.Код <> СтарКод Тогда
СтарКод = СписокТоваров.Код;
СписокТвр = СоздатьОбъект("Справочник.Номенклатура");
СписокТвр.НайтиПоКоду(СписокТоваров.Код);
преобразовать к виду (зачем на каждый раз цикла выполнять создание объекта? )
- Код: Выделить всё
СписокТвр = СоздатьОбъект("Справочник.Номенклатура");
Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
Если СписокТоваров.Код <> СтарКод Тогда
СтарКод = СписокТоваров.Код;
СписокТвр.НайтиПоКоду(СписокТоваров.Код);
там же
- Код: Выделить всё
Иначе
// записываем в файл строку(и) для ТОВАРА
СпрЕдиниц = СоздатьОбъект("Справочник.Единицы");
СпрЕдиниц.ИспользоватьВладельца(ТекТовар);
к виду (из предыдущего)
- Код: Выделить всё
СписокТвр = СоздатьОбъект("Справочник.Номенклатура");
СпрЕдиниц = СоздатьОбъект("Справочник.Единицы");
Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
Если СписокТоваров.Код <> СтарКод Тогда
СтарКод = СписокТоваров.Код;
СписокТвр.НайтиПоКоду(СписокТоваров.Код);
PS
вынос конструкции типа
СпрХХХХХХХХ=СоздатьОбъект("Справочник.ХХХХХХХХ");
за пределы цикла (конкретно до цикла, я обычно в начале процедуры прописываю подобные) ускоряет выполнение обработки.
проверте сами через отладчик