Как через COM найти документ по GUID , и затем пометить его на удаление через COM
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(2) прочитать получилось, создавать не пробовала
ComConnect = Новый COMОбъект("V83.Comconnector");
СтрПодключение = "Srvr="+Сервер+";Ref="+База+";Usr="+Логин+";Pwd="+Пароль+";
Соединение = ComConnector.Connect(СтрПодключение );
Докум = Соединение.Документы.ВнутреннееПотреблениеТоваров;
или
Запрос = Соединение.NewObject("Запрос");
а как удалять ?
Показать
(3) Спасибо,а пример кода можете написать?
ComConnect = Новый COMОбъект("V83.Comconnector");
СтрПодключение = "Srvr="+Сервер+";Ref="+База+";Usr="+Логин+";Pwd="+Пароль+";
Соединение = ComConnector.Connect(СтрПодключение );
Докум = Соединение.Документы.ВнутреннееПотреблениеТоваров;
//как то так видимо ?
Объект = Соединение.Документы.ПолучитьОбъект();
Объект.УстановитьПометкуНаУдаление(Истина);
Показать
(9) а зачем получать ссылку на номенклатуру? В предыдущем сообщении писал:
просто ищу примеры в интернете - это как пример кода
У меня есть только GUID документа
мне надо по COM найти документ в другой базе
и пометить его на удаление.
Вы можете дать пример кода!?
просто ищу примеры в интернете - это как пример кода
У меня есть только GUID документа
мне надо по COM найти документ в другой базе
и пометить его на удаление.
Вы можете дать пример кода!?
(13) если есть только guid, то поможет вот это:
Ссылка = connection.Документы.РеализацияТоваровУслуг.ПолучитьСсылку(Соединение.NewObject("УникальныйИдентификатор", GUID))
(16) Так это вы только ссылку получили. А пометку удаления можно установить только для объекта.
Просто добавьте строчку
Просто добавьте строчку
Ссылка = connection.Документы.РеализацияТоваровУслуг.ПолучитьСсылку(Соединение.NewObject("УникальныйИдентификатор", GUID));
Ссылка.ПолучитьОбъект().УстановитьПометкуУдаления(Истина);
(12) Увы
СсылкаНаДок=Неопределено;
Str1 = "СсылкаНаДок = Соединение.Документы."+Строка(УТБП.Документ)+".ПолучитьСсылку(Соединение.NewObject(""УникальныйИдентификатор"","""+УТБП.GUID_УТ+"""))";
Выполнить(Str1);
ОБ = СсылкаНаДок.ПолучитьОбъект(); // <---- происходит ошибка
ОБ.УстановитьПометкуУдаления(true);
(19)
документ находится!
Str1 = "СсылкаНаДок = Соединение.Документы."+Строка(УТБП.Документ)+".ПолучитьСсылку(Соединение.NewObject(""УникальныйИдентификатор"","""+УТБП.GUID_УТ+"""))";
Выполнить(Str1);
после выполнить в отладчике вижу СсылкаНаДок
ошибка происходит тут
ОБ = СсылкаНаДок.ПолучитьОбъект(); // <---- происходит ошибка
документ находится!
Str1 = "СсылкаНаДок = Соединение.Документы."+Строка(УТБП.Документ)+".ПолучитьСсылку(Соединение.NewObject(""УникальныйИдентификатор"","""+УТБП.GUID_УТ+"""))";
Выполнить(Str1);
после выполнить в отладчике вижу СсылкаНаДок
ошибка происходит тут
ОБ = СсылкаНаДок.ПолучитьОбъект(); // <---- происходит ошибка
Например так
ОлеСсылкаНаДок=Неопределено;
ОлеГУИД = Соединение.NewObject("УникальныйИдентификатор", GUID);
ОлеЖурналДокументов =Соединение.Документы["ВнутреннееПотреблениеТоваров"];
ОлеСсылкаНаДок = ОлеЖурналДокументов.ПолучитьСсылку(ОлеГуид);
Если ОлеСсылкаНаДок.Пустая() Тогда
Иначе
ОлеОБ = ОлеСсылкаНаДок.ПолучитьОбъект();
ОлеОБ.УстановитьПометкуУдаления(true);
КонецЕсли;
Показать
Все нужные примеры сможете найти тут https://infostart.ru/public/754120/
Если тут напряжно то вот так можно получить ссылку любого объекта по ГУИД (Коннект - переменная с COM соединением):
Получить объект по ссылке лучше так:
Если тут напряжно то вот так можно получить ссылку любого объекта по ГУИД (Коннект - переменная с COM соединением):
Функция СОМПолучитьСсылкуПоГУИД(ГУИД, Менеджер = Неопределено)//НазваниеДокумента, ГУИД)
Если Не ЗначениеЗаполнено(ГУИД) Тогда
Возврат Неопределено;
КонецЕсли;
// Ссылка будет установлена в переменную СсылкаНаОбъектГуид
УникальныйИд = Коннект.NewObject("UUID", СокрЛП(ГУИД));
Если Менеджер = Неопределено Тогда
// все объекты по которым можно получить ссылку
СсылкаНаОбъектГуид = ПолучитьСсылкуНоМенеджеруОбъекта(Коннект.Справочники,УникальныйИд);
Если СсылкаНаОбъектГуид <> Неопределено Тогда
Возврат СсылкаНаОбъектГуид;
КонецЕсли;
СсылкаНаОбъектГуид = ПолучитьСсылкуНоМенеджеруОбъекта(Коннект.Документы,УникальныйИд);
Если СсылкаНаОбъектГуид <> Неопределено Тогда
Возврат СсылкаНаОбъектГуид;
КонецЕсли;
СсылкаНаОбъектГуид = ПолучитьСсылкуНоМенеджеруОбъекта(Коннект.ПланыВидовХарактеристик,УникальныйИд);
Если СсылкаНаОбъектГуид <> Неопределено Тогда
Возврат СсылкаНаОбъектГуид;
КонецЕсли;
//План счетов в УТ отсутствует, но пусть будет, где нить пригодится
СсылкаНаОбъектГуид = ПолучитьСсылкуНоМенеджеруОбъекта(Коннект.ПланыСчетов,УникальныйИд);
Если СсылкаНаОбъектГуид <> Неопределено Тогда
Возврат СсылкаНаОбъектГуид;
КонецЕсли;
СсылкаНаОбъектГуид = ПолучитьСсылкуНоМенеджеруОбъекта(Коннект.ПланыОбмена,УникальныйИд);
Если СсылкаНаОбъектГуид <> Неопределено Тогда
Возврат СсылкаНаОбъектГуид;
КонецЕсли;
СсылкаНаОбъектГуид = ПолучитьСсылкуНоМенеджеруОбъекта(Коннект.БизнесПроцессы,УникальныйИд);
Если СсылкаНаОбъектГуид <> Неопределено Тогда
Возврат СсылкаНаОбъектГуид;
КонецЕсли;
СсылкаНаОбъектГуид = ПолучитьСсылкуНоМенеджеруОбъекта(Коннект.Задачи,УникальныйИд);
Если СсылкаНаОбъектГуид <> Неопределено Тогда
Возврат СсылкаНаОбъектГуид;
КонецЕсли;
Иначе
СсылкаНаОбъектГуид = ПолучитьСсылкуНоМенеджеруОбъекта(Менеджер,УникальныйИд, Истина);
Если СсылкаНаОбъектГуид <> Неопределено Тогда
Возврат СсылкаНаОбъектГуид;
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
КонецФункции
ПоказатьПолучить объект по ссылке лучше так:
ДокCOM = СсылкаCOM.GetObject();
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)