Добрый день!
Есть задача в VisualFoxPro программно через OLE создать запись с справочнике номенклатуры 1c 8.3 "Управление торговлей для Украины 2.3
Вот код:
oN esobj = createobject("V83.Application")
strConnect='File="'+ALLTRIM(Spath)+'";Usr="'+ALLTRIM(opername)+'";pwd="'+alltrim(operpass)+'"'
oNesobj.Connect(strConnect)
ЗаписьНоменклатуры=oNesobj.Справочники.Номенклатура.СоздатьЭлемент()
ЗаписьНоменклатуры.УстановитьСсылкуНового(oNesobj.Справочники.Номенклатура.ПолучитьСсылку())
ЗаписьНоменклатуры.Наименование=tmpnomen.name
ЗаписьНоменклатуры.НаименованиеПолное=tmpnomen.name
ЗаписьНоменклатуры.Весовой=.F.
ЗаписьНоменклатуры.Услуга=.F.
ЗаписьНоменклатуры.ВидНоменклатуры=oNesobj.Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Розница")
ЗаписьНоменклатуры.СтавкаНдс=oNesobj.Перечисления.СтавкиНдс.БезНдс
ЗаписьНоменклатуры.Артикул=tmpnomen.nnomer
***********Добавляю в справочник ед. изм. запись, и устанавливаю владельца
ЗаписьИзм=oNesobj.Справочники.ЕдиницыИзмерения.СоздатьЭлемент()
ЗаписьИзм.Владелец=ЗаписьНоменклатуры.ПолучитьСсылкуНового()
ЗаписьИзм.ОбменДанными.Загрузка = .T.
ЗаписьИзм.ЕдиницаПоКлассификатору=oNesobj.Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт")
ЗаписьИзм.Наименование="шт"
ЗаписьИзм.Коэффициент=1
ЗаписьИзм.Записать()
******Назначаю единицы измерения для записи номенклатуры
ЗаписьНоменклатуры.БазоваяЕдиницаИзмерения=ЗаписьИзм.Ссылка
ЗаписьНоменклатуры.ЕдиницаДляОтчетов=ЗаписьИзм.Ссылка
ЗаписьНоменклатуры.ЕдиницаХраненияОстатков=ЗаписьИзм.Ссылка
ЗаписьНоменклатуры.ЕдиницаИзмеренияМест=ЗаписьИзм.Ссылка
ЗаписьНоменклатуры.Записать()
Вы выполнении команды "Записать" вылетает ошибка OLE IDISPATH exception code 1001 ... Не удалось записать запись "Номенклатура"
Подозреваю что есть еще обязательные поля, которые не прописал или в чем проблема?
Заранее спасибо!
Сообщение отредактировал logist - 18.07.16, 15:40