|
v7: при импорте ПКО из Excel не заполняется субконто | ☑ | ||
---|---|---|---|---|
0
lunatik33
16.12.11
✎
08:53
|
код таков
Процедура Выполнить() //попытка доступа к Excel Попытка Эксель = СоздатьОбъект("Excel.Application"); Исключение Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!"); Возврат; КонецПопытки; СпрКонрагенты = СоздатьОбъект("Справочник.Контрагенты"); ДокПКО = СоздатьОбъект("Документ.ПриходныйОрдер"); //Сч = СоздатьОбъект("Счет.Основной"); //заранее создаем ссылку на справочник //Открытие файла Excel ИмяФайла = ""; ИмяКаталога = "D:\"; Если ФС.ВыбратьФайл(0, ИмяФайла, ИмяКаталога,"Укажите файл ПКО:", , 20) = 1 Тогда Книга = Эксель.WorkBooks.Open(ИмяКаталога + ИмяФайла); Лист = Книга.WorkSheets(1); //Получаем количество строк в книге КоличСтрок = Лист.Cells.CurrentRegion.Rows.Count; Сообщить(КоличСтрок); Для Ном = 4 По 4 Цикл ДокПКО.Новый(); ДокПКО.ПринятоОт = СокрЛП(Лист.Cells(Ном, 1).Value); //корр счет КоррСчет = СчетПоКоду(СокрЛП(Лист.Cells(Ном, 3).Value)); ДокПКО.КоррСчет = КоррСчет; Для А = 1 По 3 Цикл ДокПКО.НазначитьТип("Субконто"+А,ДокПКО.КоррСчет.ВидСубконто(А)); КонецЦикла; СпрКонрагенты.НайтиПоНаименованию(СокрЛП(Лист.Cells(Ном, 4).Value)); Если СпрКонрагенты.Выбран()>1 Тогда ДокПКО.Субконто1 = СпрКонрагенты.ТекущийЭлемент(); КонецЕсли; ДокПКО.Записать(); ОткрытьФорму(ДокПКО.ТекущийДокумент()); КонецЦикла; КонецЕсли; //закрыть приложение Excel Эксель.Quit(); КонецПроцедуры |
|||
1
lunatik33
16.12.11
✎
08:54
|
вроде все есть и тип субконто назначен, но не работает.
|
|||
2
lunatik33
16.12.11
✎
09:27
|
вверх
|
|||
3
AgainTwenty Five
16.12.11
✎
09:29
|
СпрСсылка = СпрКонрагенты.НайтиПоНаименованию(СокрЛП(Лист.Cells(Ном, 4).Value));
Если НЕ СпрСсылка.Пустая() Тогда |
|||
4
AgainTwenty Five
16.12.11
✎
09:41
|
Сорри! Это v7
|
|||
5
lunatik33
16.12.11
✎
09:49
|
Мне и надо v7
|
|||
6
lunatik33
16.12.11
✎
09:53
|
ваша СпрСсылка выведет просто единицу и все
|
|||
7
BlackSeaCat
16.12.11
✎
09:55
|
Если СпрКонрагенты.НайтиПоНаименованию(СокрЛП(""+Лист.Cells(Ном, 4).Value));
ДокПКО.Субконто1 = СпрКонрагенты.ТекущийЭлемент(); |
|||
8
BlackSeaCat
16.12.11
✎
09:55
|
Пардон!
Если СпрКонрагенты.НайтиПоНаименованию(СокрЛП(""+Лист.Cells(Ном, 4).Value))=1 Тогда ДокПКО.Субконто1 = СпрКонрагенты.ТекущийЭлемент(); |
|||
9
zuza
16.12.11
✎
09:57
|
(0)Это что?
Если СпрКонрагенты.Выбран()>1 Тогда |
|||
10
zuza
16.12.11
✎
09:58
|
+(9)Никогда в условие не попадешь...
Если СпрКонрагенты.Выбран()=1 Тогда или Если СпрКонрагенты.Выбран()>0 Тогда |
|||
11
lunatik33
16.12.11
✎
10:08
|
BlackSeaCat Спасибо, все заработало
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |