![]() |
![]() |
![]() |
|
Как работать через COM | ☑ | ||
---|---|---|---|---|
0
ZZ
22.09.04
✎
10:49
|
Есть ли вообще где-нибудь информация про работу с 1С8 через COM, а то в книжке всего лишь одна страничка по этой теме.
|
|||
1
maxim_a2
22.09.04
✎
10:50
|
Я искал, ничего толком не нашел. А что надо?
|
|||
2
ZZ
22.09.04
✎
10:53
|
Я тоже искал.
Хотелось рассмотреть подробнее. Интересен также вопрос быстродействия. А вообще бы хотелось посмотеть хотя бы маленький пример, а там я сам разбирусь. |
|||
3
maxim_a2
22.09.04
✎
11:02
|
Я вот делал процедурку для переноса стправочника из демо в рабочую
В рабочей: Процедура Загрузка_Справочника_СтатьиЗатрат() Демо_Конфигурация= Новый ComObject("V8.Application"); Демо_Конфигурация.Connect("Srvr=""GB"";Ref=""УПП релиз (демо)"";Usr=""Абдулов (гендиректор)"""); СправочникОттуда = Демо_Конфигурация.Справочники.СтатьиЗатрат.Выбрать(); while СправочникОттуда.Следующий() do СправочникСюда=Справочники.СтатьиЗатрат.НайтиПоКоду(СправочникОттуда.Код); if СправочникСюда.Пустая() then СправочникСюда=Справочники.СтатьиЗатрат.СоздатьЭлемент(); СправочникСюда.Код=СправочникОттуда.Код; СправочникСюда.Наименование=СправочникОттуда.Наименование; if Демо_Конфигурация.ПолучитьРеквизитСправочника("СтатьиЗатрат",СправочникСюда.Код,"ВидЗатрат") <> "" then СправочникСюда.ВидЗатрат=Перечисления.ВидыЗатрат[УдалПроб(Демо_Конфигурация.ПолучитьРеквизитСправочника("СтатьиЗатрат",СправочникСюда.Код,"ВидЗатрат"))]; endif; if Демо_Конфигурация.ПолучитьРеквизитСправочника("СтатьиЗатрат",СправочникСюда.Код,"СтатусМатериальныхЗатрат") <> "" then СправочникСюда.СтатусМатериальныхЗатрат=Перечисления.СтатусыМатериальныхЗатратНаПроизводство[УдалПроб(Демо_Конфигурация.ПолучитьРеквизитСправочника("СтатьиЗатрат",СправочникСюда.Код,"СтатусМатериальныхЗатрат"))]; endif; if trimall(Демо_Конфигурация.ПолучитьРеквизитСправочника("СтатьиЗатрат",СправочникСюда.Код,"ХарактерЗатрат")) <> "" then СправочникСюда.ХарактерЗатрат=Перечисления.ХарактерЗатрат[УдалПроб(Демо_Конфигурация.ПолучитьРеквизитСправочника("СтатьиЗатрат",СправочникСюда.Код,"ХарактерЗатрат"))]; endif; if trimall(Демо_Конфигурация.ПолучитьРеквизитСправочника("СтатьиЗатрат",СправочникСюда.Код,"ВидРасходовНУ")) <> "" then СправочникСюда.ВидРасходовНУ=Перечисления.ВидыРасходовНУ[УдалПроб(Демо_Конфигурация.ПолучитьРеквизитСправочника("СтатьиЗатрат",СправочникСюда.Код,"ВидРасходовНУ"))]; endif; СправочникСюда.Записать(); endif; enddo; Демо_Конфигурация=0; КонецПроцедуры Функция УдалПроб(Стр2) Стр=Стр2; i=Найти(Стр," "); while i>0 do Стр=mid(Стр,1,i-1)+mid(Стр,i+1); i=Найти(Стр," "); enddo; i=Найти(Стр,"("); while i>0 do Стр=mid(Стр,1,i-1)+mid(Стр,i+1); i=Найти(Стр,"("); enddo; i=Найти(Стр,")"); while i>0 do Стр=mid(Стр,1,i-1)+mid(Стр,i+1); i=Найти(Стр,")"); enddo; return Стр; КонецФункции В демо в модуль приложения вставил: Функция ПолучитьРеквизитСправочника(Справочник,Код,Реквизит) Экспорт Строка1=""; Спр=Справочники[Справочник].НайтиПоКоду(Код); if not Спр.Пустая() then Строка1=Строка(Спр[Реквизит]); endif; return Строка1; КонецФункции |
|||
4
ZZ
22.09.04
✎
11:10
|
Спасибо, сейчас буду смотреть
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |