|
Внешняя обработка заполнение документа "Заказ клиента" из Exel | ☑ | ||
---|---|---|---|---|
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(); ЗаполнитьТЧ(МассивСтрок); Сообщить("Загрузка завершена"); КонецПроцедуры =========================================================== &НаСервере Процедура ЗаполнитьТЧ(МассивСтрок) Экспорт Док = ИмяДокумента.ПолучитьОбъект(); Док.Товары.Очистить(); ВидЦ = ВидЦены.ПолучитьОбъект(); ВЦ = Справочники.ВидыЦен.НайтиПоНаименованию(ВидЦ); ТЧВидЦены = Док.Товары.Добавить(); ТЧВидЦены.ВидЦены = ВЦ; Для Каждого Стр Из МассивСтрок Цикл Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Стр.Артикул); Если Номенклатура <> Справочники.Номенклатура.ПустаяСсылка() Тогда Строка = Док.Товары.Добавить(); Строка.Номенклатура = Номенклатура; Строка.ВидЦены = ВЦ; Строка.Цена = Стр.Цена; Строка.КоличествоУпаковок = Стр.Кол; Док.Записать(); Иначе Сообщить ("Номенклатура с артикулом не найдена!"); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
Apokalipsec
29.06.14
✎
19:52
|
ТЧВидЦены = Док.Товары.Добавить();
ТЧВидЦены.ВидЦены = ВЦ; |
|||
2
Wobland
29.06.14
✎
19:55
|
а вот было бы здорово заиметь такую штуку, которая пошагово ходила бы по коду да значения разных переменных показывала
|
|||
3
Отладчик
29.06.14
✎
19:59
|
Бедняги, со своими УФ...
|
|||
4
Vovyaka24
29.06.14
✎
21:59
|
Apokalipsec, спасибо! Что то я тупанул =)) До цикла сам не пойму зачем добавлял строку =))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |