|
v7: Чтение из EXCEL | ☑ | ||
---|---|---|---|---|
0
mcwolf
06.11.13
✎
12:22
|
Добрый день! Есть код загрузки цен в 1с из екселя, но проблема в том, что создается новый тип цены а нужно что б редактировало существующую
вот собственно код: //Создаем ОЛЕ подключение к Excel Excel = СоздатьОбъект("Excel.Application"); //Открываем файл Excel.Workbooks.Open("C:\load.xls"); //Открываем активную книгу Книга = Excel.ActiveWorkbook; //Получааем количество строк в книге Строк = Excel.Cells.CurrentRegion.Rows.Count; //Создадим заранее объект справочника ТМЦ СпрТМЦ = СоздатьОбъект("Справочник.Номенклатура"); СпрЦены = СоздатьОбъект("Справочник.Цены"); СпрКатЦены = СоздатьОбъект("Справочник.КатегорииЦен"); СпрКатЦены.НайтиПоНаименованию("Закупочная"); ТекКатЦены = СпрКатЦены.ТекущийЭлемент(); //Перебираем строки и обрабатываем данные Для х = 1 По Строк Цикл //Зная типы значений в колонках и перебирая строки получаем //необходимые значения и обрабатываем их КодТМЦ = СокрЛП(Строка(Excel.Cells(х, 1).Value)); НаименованиеТМЦ = СокрЛП(Строка(Excel.Cells(х, 2).Value)); ЦенаТМЦ = Число(Excel.Cells(х, 3).Value); //Сначала ищем товар по коду, если не нашли по наименованию Если СпрТМЦ.НайтиПоКоду(КодТМЦ) = 1 Тогда НайдТовар = СпрТМЦ.ТекущийЭлемент(); Иначеесли СпрТМЦ.НайтиПоНаименованию(НаименованиеТМЦ) = 1 Тогда НайдТовар = СпрТМЦ.ТекущийЭлемент(); Иначе //Товар не нашли, продолжаем //здесь можно создавать товар если надо Продолжить; Конецесли; //записываем цену //СпрЦены.ИспользоватьВладельца(СпрТМЦ.ТекущийЭлемент())); //Если СпрЦены.НайтиПоРеквизиту("ТипЦен", ТекКатЦены,0)=1 Тогда //ТипЗакупочнойЦены ///СпрЦены.ТипЦен=ТекКатЦены; ///СпрЦены.Цена = ЦенаТМЦ; ///СпрЦены.Записать(); //Иначе СпрЦены.Новый(); СпрЦены.КатегорияЦены = ТекКатЦены; СпрЦены.Цена = ЦенаТМЦ; СпрЦены.Владелец = НайдТовар; СпрЦены.ИСпользоватьДату(РабочаяДата()); СпрЦены.Записать(); //....... // КонецЕсли; Конеццикла; //После загрузки зарываем соединение с Excel Excel.Workbooks.Close(); |
|||
1
Нуф-Нуф
06.11.13
✎
12:23
|
раскомментируй несколько строк в коде
|
|||
2
Стрелок
06.11.13
✎
12:23
|
не вижу "НайтиПоНаименованию" в справочнике цен (поиск закупочной цены) ну или найти по реквизиту
|
|||
3
Rie
06.11.13
✎
12:23
|
(0) Ты ж сам всегда создаёшь Новый().
Открой для себя НайтиПоКоду() или НайтиЭлемент(). |
|||
4
Стрелок
06.11.13
✎
12:24
|
да и даты установки цены нету
|
|||
5
Rie
06.11.13
✎
12:40
|
(4) Таки есть - "СпрЦены.ИСпользоватьДату(РабочаяДата());"
|
|||
6
mcwolf
06.11.13
✎
18:42
|
(1) Когда раскомментирую строки тогда:
Если СпрЦены.НайтиПоРеквизиту("ТипЦен", ТекКатЦены,0)=1 Тогда //ТипЗакупочнойЦены {C:\DB\EXTFORMS\EXEL_TEST.ERT(47)}: Неверное имя реквизита! |
|||
7
borozavr
06.11.13
✎
18:45
|
Не установлен флажок "сортировка" у ревизита
|
|||
8
mcwolf
06.11.13
✎
19:05
|
(7) ??? Какой флажок?
|
|||
9
Mister-X07
06.11.13
✎
19:19
|
(8) в конфиге, в свойствах реквизита "ТипЦен"
|
|||
10
mcwolf
06.11.13
✎
19:58
|
(9) Не могу что-то найти "ТипЦен" может это "Справочники"->"КатегорииЦен"
|
|||
11
Тьма
06.11.13
✎
20:23
|
(10)Может. В разных типовых этот справочник имеет разные идентификаторы. Но суть одна. Но тебе нужен не справочник КатегорииЦен, а реквизит справочника Цены, скорее всего называющийся КатегорияЦены и имеющий тип Справочник.КатегорииЦен
|
|||
12
mcwolf
06.11.13
✎
23:34
|
(11) А здесь то все правильно
Если СпрЦены.НайтиПоРеквизиту("КатегорииЦен", ТекКатЦены,0)=1 Тогда или нет? |
|||
13
Злопчинский
06.11.13
✎
23:38
|
912) хз.. мы ж не видим структуры твоего справочника СпрЦены. имя конфиги ты тоже не написал
. так и хочется послать на добро wiki:Файл:Glagolitic_dobro.svg |
|||
14
mcwolf
07.11.13
✎
00:13
|
(13) )) Конфигурация Торговля+Склад для Украины
http://s006.radikal.ru/i214/1311/02/cba1d1d538fb.jpg |
|||
15
mcwolf
07.11.13
✎
00:21
|
||||
16
Злопчинский
07.11.13
✎
00:54
|
(12) проверь реквизит КатегорииЦен - стоит ли на нем крыжик "сортировка" - если не стоит - найтиПоРеквизиту обломится..
. проверь что ТекКатЦены - имеет тип Спр.КатегорииЦен . обрати внимание на третий параметр . |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |