|
Как получить цену номенклатуры 1с 7.7 через com объект | ☑ | ||
---|---|---|---|---|
0
Eeelena
04.12.14
✎
09:25
|
Делаю обработку по загрузке цен номенклатуры в базу 8.2 из 7.7
подскажите как получить цену номенклатуры, на данный момент код обработки следующий Процедура КнопкаВыполнитьНажатие(Кнопка) База77Открыта = Ложь; База77 = Новый COMОбъект("V77.Application"); //СтрокаПодключения = "/D"""" /N"""" /P"""""; //Oк = лБазаОле.Initialize(лБазаОле.RMTrade,"/D"""+СокрЛП(псПутьКБазе)+""" /N"+псЛогин+" /P"+псПароль,"NO_SPLASH_SHOW"); ПутьКБазе="C:\Users\elena\Documents\Клиенты\фирма БАРС\base\DB"; Пользователь="прог"; Пароль="123"; СтрокаПодключения = "/D"""+СокрЛП(ПутьКБазе)+""" /N"""+СокрЛП(Пользователь)+""" /P"""+СокрЛП(Пароль)+""""; Если База77.Initialize(База77.RMTrade,СтрокаПодключения ,"NO_SPLASH_SHOW") = 0 ТОгда Сообщить("Ошибка подключения к информационной базе 1С:Предприятие 7.7!", СтатусСообщения.Важное); Иначе База77Открыта = Истина; КонецЕсли; Если База77Открыта Тогда Док = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); Товары = База77.CreateObject("Справочник.Номенклатура"); СпрЦен = База77.CreateObject("Справочник.Цены"); Товары.ВыбратьЭлементы(); СпрЦен.ВыбратьЭлементы(); Пока Товары.ПолучитьЭлемент() = 1 Цикл НайднТовар = Справочники.Номенклатура.НайтиПоНаименованию(Товары.Наименование,Истина); Пока СпрЦен.ПолучитьЭлемент()=1 Цикл Если НайднТовар.Пустая() Тогда НайднТовар = СоздатьНовыйТовар(Товары); Если НайднТовар = Неопределено Тогда Продолжить; КонецЕсли; КонецЦикла; НоваяСтрока = Док.Товары.Добавить(); НоваяСтрока.Номенклатура = НайднТовар.Ссылка; НоваяСтрока.ЕдиницаИзмерения = НайднТовар.ЕдиницаХраненияОстатков; //НоваяСтрока.ТипЦен = Закупочный; //НоваяСтрока.Цена = ЦенаЗакуп; НоваяСтрока.Валюта = Константы.ВалютаРегламентированногоУчета.Получить(); НоваяСтрока = Док.Товары.Добавить(); НоваяСтрока.Номенклатура = НайднТовар.Ссылка; НоваяСтрока.ЕдиницаИзмерения = НайднТовар.ЕдиницаХраненияОстатков; //НоваяСтрока.ТипЦен = Оптовый; //НоваяСтрока.Цена = ЦенаОпт; НоваяСтрока.Валюта = Константы.ВалютаРегламентированногоУчета.Получить(); НоваяСтрока = Док.Товары.Добавить(); НоваяСтрока.Номенклатура = НайднТовар.Ссылка; НоваяСтрока.ЕдиницаИзмерения = НайднТовар.ЕдиницаХраненияОстатков; //НоваяСтрока.ТипЦен = Розница; //НоваяСтрока.Цена = ЦенаРозн; НоваяСтрока.Валюта = Константы.ВалютаРегламентированногоУчета.Получить(); КонецЕсли; КонецЦикла; Форма = Док.ПолучитьФорму("ФормаДокумента"); Форма.Открыть(); КонецЕсли; КонецПроцедуры |
|||
1
Ёпрст
04.12.14
✎
09:29
|
всё в топку
|
|||
2
Eeelena
04.12.14
✎
09:31
|
(1) ?
|
|||
3
Ёпрст
04.12.14
✎
09:32
|
(2) клюшки в глаза не видели поди да ?
|
|||
4
Eeelena
04.12.14
✎
09:34
|
(3) не поняла
|
|||
5
Wobland
04.12.14
✎
09:35
|
(4) плохой, негодный код. неужели ты наблюдаешь платформу 1С:Предприятие версии 7.7 впервые?
|
|||
6
Wobland
04.12.14
✎
09:36
|
а без фото всё равно не взлетит
|
|||
7
VladZ
04.12.14
✎
09:37
|
(0) Эммм.... Код - выкинуть на помойку. Взять букварь по 7.7 и написать красивый и работоспособный код.
|
|||
8
Spyke
04.12.14
✎
09:44
|
Товары.ВыбратьЭлементы();
Пока Товары.ПолучитьЭлемент() = 1 Цикл СпрЦен.ИспользоватьВладельца(Товары.ТекущийЭлемент); СпрЦен.ВыбратьЭлементы(); Пока СпрЦен.ПолучитьЭлемент()=1 Цикл КонецЦикла; КонецЦикла; |
|||
9
Spyke
04.12.14
✎
09:45
|
Товары.ТекущийЭлемент()
|
|||
10
Eeelena
04.12.14
✎
09:46
|
(8) спасибо, но ругается на ИспользоватьВладельца говорит метод не найден
|
|||
11
Spyke
04.12.14
✎
09:52
|
(10) Спр цен подчиненный справочник номенклатуры?
|
|||
12
Eeelena
04.12.14
✎
09:54
|
(11) да
|
|||
13
Spyke
04.12.14
✎
09:55
|
(12)
Добавить условие Товары.ЭтоГруппа() = 0 |
|||
14
Patrio_
O_Muerte 04.12.14
✎
09:57
|
Как так... нет фотки... и ты думаешь так ты решишь задачу?
|
|||
15
Eeelena
04.12.14
✎
10:05
|
(13) спасибо большое)))
|
|||
16
Spyke
04.12.14
✎
10:11
|
(15) Работает как надо?
|
|||
17
Ёпрст
04.12.14
✎
10:11
|
Если нужны все цены, то перебор справочника Номенклатура не нужен, совсем.
Достаточно выборки по справочнику Цены, где владельцем будет Номенклатура. Всё. Не забывать, про разный тип цен, что цена - периодический реквизит и про разные единицы измерения. В общем, до нового года может, успеешь перенести. |
|||
18
Eeelena
04.12.14
✎
10:18
|
(13) А подскажите пожалуйста еще, если я пишу вот так
Пока СпрЦен.ПолучитьЭлемент()=1 Цикл Цена=СпрЦен.Цена; ТипЦен=СпрЦен.ТипЦен; КонецЦикла; То Цена и ТипЦен это COMОбъект, а как само значение получить цены и типацен? |
|||
19
Ёпрст
04.12.14
✎
10:51
|
(18) для начала,
СпрЦен.ИспользоватьДату(НужнаяДата); Пока СпрЦен.ПолучитьЭлемент()=1 Цикл на счет типа цен - смотри его наименование (аналогично с единицей измерения) |
|||
20
Eeelena
04.12.14
✎
11:22
|
(13) стал почему то ругаться на строку СпрЦен.ИспользоватьВладельца(Товары.ТекущийЭлемент());
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |