0. vik070777 61 15.04.19 09:47 Сейчас в теме

Работа с ComОбъектом 1С 8.2; 8.3

Определение типов и значений через COM соединение между конфигурациями.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. zeegin 42 15.04.19 15:26 Сейчас в теме
При копировании процедур из БСП следует указывать, что они из БСП.

Attribution 4.0 International (CC BY 4.0)
Ответы на типовые вопросы по лицензированию "1С:Предприятия 8"
wowik; stako8; user733468; DAAbramov; +4 Ответить
2. ArchLord42 68 16.04.19 10:47 Сейчас в теме
Вот КД уже сколько лет существует, а люди все свои костылики пишут для обмена, да ещё и по ком, мде в общем..
artfa; wowik; dsdred; +3 Ответить
5. Кадош 17.04.19 12:58 Сейчас в теме
(2) вы еще мал и глуп, бывает ситуация разовых омбенов, когда проще и много быстрее реализовать костыльный обмен через ком.
7. ArchLord42 68 17.04.19 16:43 Сейчас в теме
(5) Очень приятно :) А Вы собственно кто будете? Большой и умный заядлый велосипидист, тот что делает "быстрые одноразовые" обмены ?:)
К сожалению, повидал на своем маленьком веку такие штуки, надеюсь не скоро еще увижу.
9. Кадош 17.04.19 17:34 Сейчас в теме
(7) абсолютно так. Написал быстренько обработку, загрузил нужные данные, помог заказчику, взял деньги, взял лесопед и пошел кататься. Все довольны - и я и заказчик. А вы сидите, отлаживайте днями ваши обмены, корпите значит. Видал я обмены таких корпунов, когда затирали данные в рабочей базе, надеюсь еще не скоро увижу.
astrallight; +1 Ответить
3. SlavaKron 16.04.19 17:08 Сейчас в теме
ИначеЕсли СтрДлина(_СтрокаXML) = 48 Тогда //Хранилище значения

Почему вы так решили? СтрокаXML от хранилища значения - это сырые данные (строка в формате base64). Её длина может быть какой угодно.
Для определения типа КомОбъекта следует пользоваться процедурами и функциями работы с XML (XMLТип, XMLТипЗнч, ИзXMLТипа).

_ПолныйТипОбъекта = РеквCOM.GetObject().Metadata().FullName();

Чтобы получить метаданные, объект получать не обязательно. У любой ссылки есть метод Метаданные.

Получить менеджер можно проще:
Менеджер = Новый (СтрЗаменить(ПолноеИмяМетаданных, ".", "Менеджер."));

Получение пустой ссылки логичнее делать через менеджер.

Хранилище значения переносится через XMLСтрока / XMLЗначение
4. vik070777 61 16.04.19 19:01 Сейчас в теме
(3) У любой ссылки есть Метаданные Вы правы но через COM соединение не все можно получить
ИначеЕсли СтрДлина(_СтрокаXML) = 48 Тогда //Хранилище значения
если рассматривать как просто отдельная строка то да сказать точно что это хранилище невозможно, но первое стоит проверка на наличие 4 дефисов что говорит о формате строки УИД, если не УИД то хранилище, иначе перечисление по другому я не сталкивался.
Что касаемо определение Менеджера, то в Вашем примере Вы должны точно знать уже имя менеджера ссылки чтоб произвести замену
в моем случае мы его знать не должны он определится автоматически.
Что касаемо самой статьи то я много искал и изучал вопрос и сталкивался с проблемами которые порой не описаны в инете, поэтому и решил поделится информацией. Никто не спорит что коды совершенны и их дорабатывать нельзя)
6. wowik 558 17.04.19 13:30 Сейчас в теме
Сложная статья для прочтения.

Когда-то тоже писал про это - https://infostart.ru/public/164976/

Как по мне, GetObject().Metadata().FullName() - здесь и в других аналогичных местах нужно использовать наименования на русском, глаз режет.
8. acanta 48 17.04.19 17:01 Сейчас в теме
Ком-соединение для сравнения остатков и оборотов тоже требует и поиска и идентификации объектов, иногда по тем же правилам, которые описаны в конвертации данных.
Ссылка с гуидом на данные не всегда сохраняется.
Статья очень полезная, спасибо.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата до 120 000 руб.
Полный день

Работа от Инфостарт
Санкт-Петербург
Временный (на проект)

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Ведущий программист 1С
Сочи
зарплата от 82 500 руб. до 99 000 руб.
Полный день