0
Vovyaka24
29.06.14
✎
19:50
|
Пишу внешнюю обработку, которая заполняет документ "Заказ" покупателя из документа Exel. Заполняются необходимые колонки Номенклатура, Цена, количество и Вид цены, но почему то первая строка оказывается пустой, в ней заполняется только колонка Вид цены, а остальные игнорируются, а начиная со второй строки начинается корректное заполнение документа. Подскажите где косяк? (УТ11 Тонкий клиент)
&НаКлиенте
Процедура ЗагрузитьФайл(Команда)
App = Новый COMОбъект("Excel.Application");
App.Visible = True;
App.DisplayAlerts = False;
Попытка
File = App.Workbooks.Open(Объект.ИмяФайла);
Лист = File.Worksheets(1);
Исключение
Сообщить("Ошибка открытия файла!", СтатусСообщения.Важное);
Сообщить(ОписаниеОшибки());
App.Quit();
КонецПопытки;
Сообщить("Загрузка начата...");
МассивСтрок = Новый Массив;
НачСтрока = 2;
КонСтрока = Лист.UsedRange.Rows.Count;
Для Сч = НачСтрока По КонСтрока Цикл
Артикул = СокрЛП(Лист.Cells(Сч,4).Value);
Кукла = СокрЛП(Лист.Cells(Сч,3).Value);
Цена = СокрЛП(Лист.Cells(Сч,7).Value);
Кол = СокрЛП(Лист.Cells(Сч,8).Value);
Если (ПустаяСтрока(Артикул)) или (ПустаяСтрока(Кукла)) или (ПустаяСтрока(Кол))
Продолжить;
КонецЕсли;
Структура = Новый Структура;
Структура.Вставить("Артикул", Артикул);
Структура.Вставить("Кукла", Кукла);
Структура.Вставить("Цена", Цена);
Структура.Вставить("Кол", Кол);
//Структура.Вставить("БлаБлаБла", БлаБлаБла);
МассивСтрок.Добавить(Структура);
КонецЦикла;
File.Close(False);
App.Quit();
ЗаполнитьТЧ(МассивСтрок);
Сообщить("Загрузка завершена");
КонецПроцедуры
===========================================================
&НаСервере
Процедура ЗаполнитьТЧ(МассивСтрок) Экспорт
Док = ИмяДокумента.ПолучитьОбъект();
Док.Товары.Очистить();
ВидЦ = ВидЦены.ПолучитьОбъект();
ВЦ = Справочники.ВидыЦен.НайтиПоНаименованию(ВидЦ);
ТЧВидЦены = Док.Товары.Добавить();
ТЧВидЦены.ВидЦены = ВЦ;
Для Каждого Стр Из МассивСтрок Цикл
Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Стр.Артикул);
Если Номенклатура <> Справочники.Номенклатура.ПустаяСсылка() Тогда
Строка = Док.Товары.Добавить();
Строка.Номенклатура = Номенклатура;
Строка.ВидЦены = ВЦ;
Строка.Цена = Стр.Цена;
Строка.КоличествоУпаковок = Стр.Кол;
Док.Записать();
Иначе Сообщить ("Номенклатура с артикулом не найдена!");
КонецЕсли;
КонецЦикла;
КонецПроцедуры
|
|