Дочитав эту статью до конца, уже через 15 минут, вы сможете напрямую «вытягивать» данные из другой информационной базы.
ps: Хочу заранее оговориться, данная статья не претендует на звание полного и исчерпывающего мануала. Скорее всего — это просто указатель движения в правильном направлении, для быстрого освоения работы с Com-соединением.
Когда вам это пригодится.
Приведу всего два реальных примера из своей практики:
1. При работе в типовой конфигурации «Бухгалтерия предприятия 2.0» необходимо получать данные первичных документов из сторонней самописной конфигурации. На основании полученных данных, автоматически создаются документы поступлений. При этом, пользователь работает исключительно в одной базе данных.
2. Пользователь работает в переферийном узле распределенной ИБ. Необходимо, в режиме Он-Лайн, синхронизировать справочник контрагентов. На этом примере и разберем правила работы с Com – объектами.
Чем отличаются COM и OLE. Почему все же COM.
1. При запуске приложения 1С:
— OLE использует модуль обычного приложения. Запуск занимает весьма продолжительно время.
— Com использует модуль внешнего соединения, который содержит минимальное количество процедур и функций.
В результате, запуск Com в типовой «Бухгалтерии предприятия 2.0» занимает в 6 раз меньше времени.
2. При запуске Com – соединения не создается отдельного процесса 1cv8. По отзывам пользователей партнерского форума 1С, завершение работы Ole происходит не всегда корректно. И в этом случае наблюдаются ощутимые проблемы с производительностью рабочей станции.
Не вдаваясь в дальнейшие сравнения, даже на основании двух вышеизложенных моментов, я однозначно выбираю COM.
Три кита и Кит первый.
Создаем соединение к другой базе
Сервер = «Kappa»;
БазаДанных = «Acc»;
Пользователь = «Администратор»;
Пароль = «123456»;
V82 = Новый COMобъект(«V82.ComConnector»);
СтрокаПодключения = «srvr='» + СокрЛП(Сервер)
+ «‘; ref='» + СокрЛП(БазаДанных)
+ «‘; usr='» + СокрЛП(Пользователь)
+ «‘; pwd='» + СокрЛП(Пароль) + «‘;»;
БазаИсточник = V82.Connect(СтрокаПодключения);
Подключение к базе, работающей в файловом режиме, приведено в комментариях к данной публикации.
Кит второй
Все объекты, которые вы получаете через Com (у нас это БазаИсточник) имеют тип Com-объект.
Поэтому, непосредственно, мы можем использовать только реквизиты примитивных типов:
— Булево
— Строка
— Число
— Дата
Остальные реквизиты мы можем идентифицировать в текущей базе, через поиск:
— по коду
— по наименованию
— по ИНН
— а для узлов РИБ, наиболее точно, по внутреннему идентификатору.
Все Com – объекты обладают полным набором свойств и характеристик языка программирования 1С.
Пример:
СсылкаНаКонтрагента = БазаИсточник.Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», ИНН);
Где, СсылкаНаКонтрагента – тип Com-объект.
КонтрагентГоловной = БазаИсточник.Справочники.Контрагенты.СоздатьЭлемент();
Исключение: в отладчике, у Com-объекта, предопределенные реквизиты имеют только англоязычную транскрипцию. Обычные реквизиты – русскую транскрипцию.
Пример:
КонтрагентСОМ = БазаИсточник.Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», ИНН);
Код = КонтрагентСОМ.Code;
Наименование = КонтрагентСОМ.Description;
НаименованиеПолное = КонтрагентСОМ.НаименованиеПолное;
Все предопределенные реквизиты вы сможете получить и в рускоязычном представлении. Но, в некоторых случаях может не корректно отработать метод:
БазаИсточник.ЗаполнитьЗначениеСвойств(ТекущийКонтрагент, КонтрагентCom);
где, ТекущийКонтрагент — имеет тип обычной переменной, а
КонтрагентCom — Com-объект.
Кит третий
Все конструкторы в базе-источнике создаются через метод NewObject.
Пример 1:
КонтрагентГоловной = БазаИсточник.Справочники.Контрагенты.СоздатьЭлемент();
КонтрагентГоловной.УстановитьСсылкуНового(БазаИсточник.Справочники.Контрагенты.ПолучитьСсылку(БазаИсточник.NewObject(«УникальныйИдентификатор», ТекущийUID)));
Пример 2:
СтрокаUID = БазаИсточник.XMLСтрока(СсылкаНаКонтрагента);
Запрос = БазаИсточник.NewObject(«Запрос»);
Запрос.УстановитьПараметр(«UID», БазаИсточник.NewObject(«УникальныйИдентификатор», СтрокаUID));
Запрос.Текст = «……..»;
Все глобальные методы в базе-источнике вызываются через Сom – соединение
Пример: UID = БазаИсточник.XMLСтрока(СсылкаНаКонтрагента);
Пример 2:БазаИсточник.ЗначениеЗаполнено(Контрагент)
Пример 3: БазаИсточник.ЗаполнитьЗначениеСвойств(Приемник, Источник);
Пример 4 (получение имени значения перечисления Com-соединения): ИмяПеречисления = БазаИсточник.XMLСтрока(БазаИсточник.Перечисления.СтавкиНДС.НДС10);
Теперь, вы знаете три простых правила работы с Com- объектами. Получение данных удаленной базы в режиме Он-Лайн – очень востребованная и одновременно простая задача. Желаю успехов в работе.
Пример:
КонтрагентСОМ = БазаИсточник.Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», ИНН);
Код = КонтрагентСОМ.Code;
Наименование = КонтрагентСОМ.Description;
Неужели?
прекрасно работает.
А каков замах:
.
(1) KapasMordorov, добрый день.
Не знаю, как к вам обратиться по имени ))))
Поясню «таков замах»: дело в том, что многие, даже и сильно продвинутые кодеры, могут многие годы прекрасно обходиться без механизмов Com-соединений (ну просто не было нужды). Пример — я.
Это не значит, что данные прогеры, ни на что остальное не годны. Просто — не было случая.
А вот случай настал, и надо с чего то начать.
В этом случае не плохо прочитать чей-то опыт. Что бы не изобретать велосипед.
С огромным уважением отношусь к замечаниям всех участников обсуждения. Уверен, что и мне и другим участникам форума они будут полезны.
Поделитесь своим опытом, и внесите свой полезный вклад в обсуждение данного вопроса.
Спасибо за понимание.
Полностью согласен с автором статьи, т.к. сам такой же: 5 работаю с 1С и только совсем недавно столкнулся с необходимостью com-соединения и сходу не знал куда смотреть и как делать.
Автору спасибо!
А мне понравилось — всё чётко и по делу.
по-моему комы прошлый век — медленно, топорно. web рулит!!!
Все новые типовые решения от 1С (на управляемых формах) для интеграции используют Com-соединения.
Да и веб-серверы подняты далеко не у всех.
(0) Странная статья, мало того что (1) прав, так еще и «поиск по ИНН» — это что за такой типовой реквизит?
Есть ПоискПоКоду(), ПоискПоНаименованию(), и ПоискПоРеквизиту() — никаких поисков по ИНН не существует, что вы и сами показываете в примере
После комментария (0) могли бы и поправить статью.
Вообще те истины которые тут изложены не тянут на публикацию, таких публикации можно клепать каждые пол года т.к. люди то новые появляются, а искать в интернете не умеют. Для людей которые «не в курсе» как работать с ОЛЕ — скачайте книжки «1С Предприятие системное программирование (Михайлов)», «ЕСИС 8.0», и был еще толмут по моему Радченко размером с энцеклопедию:) ее даже читать можно только в электронном т.к. сложно листать. Там расписано все что что нужно.
А то странные программисты появляются — даже документацию скачать и прочитать не хотят, что же там можно в 1С делать 5 лет и не сталкиваться с ОЛЕ? Я как то видел разработку на 7-ке где разработчики ничего не знали про такой объект как «Документ» и задачи по товаро-движению реализованы через объект «Справочник»! Это просто надо видеть!
PS: Если уж говорить про «поделитесь опытом» то вот вам интересный момент который я нигде не видел что бы был освещен, а стоило бы: по ОЛЕ не всегда корректно можно получить дробные числа. Иногда вместо 2.24 можно спокойно получить 2.23999999999999, поэтому правильно получать тип реквизита откуда береться число, его точность и округлять до дробного числа, иначе можете потерять копейку.
А еще есть внешние источники данных … использую COM и OLE. Если нужно просто прочитать то COM, для интерактивной работы OLE …
(7)Да тип нужно получать через метаданные …
(7) Да, сам недавно ломал голову почему так происходит.
Причем, если получать данные запросом, то от такой проблемы не спасает даже использование функции
ВЫРАЗИТЬ (Сумма КАК ЧИСЛО(15,2))
(0)
У вас не хватает определения переменной ТекущийUID
статья про COM на картинке OLE
Плюс автору за простоту и ясность мысли,
которой так не хватает в 1С-ных мануалов!
Как раз то, что нужно для новичков!!!
Более продвинутым советую пройтисьпо этой ссылке .
🙂
(12)
впрочем и для новичков будет полезно, поскольку
технология COM далеко не исчерпывается
COM-подключениями к 1C или EXCEL.
(5)(6) Angeros,
а управляемое приложение, как не откроею — все тупит и тормозит.
Там даже редактор управляемых форм и тот тормозной! 🙂
(0)
Ну, я бы не был столь категоричен… Com имеет свои преимущества и свои недостатки (как и Ole)…
Все зависит от конкретной задачи (хотя из моей личной практики Com применял в десяток раз чаще, чем Ole).
Еще забыли про важное отличие в виде доступа к интерфейсным возможностям 1СПредприятие…
Также неплохо было бы акцентировать внимание на передачу параметров (например в виде параметра запроса), что ссылки на объекты текущей базы передавать нельзя! 🙂 А ссылки, полученые из базы-источника, — можно…
Также, если статья для новичков,(которые не хотят лазить по Нетам) можно было бы дополнить строкой (или даже написать функцию, возвращающую «БазаИсточник») для обоих вариантов (Файл-серверного и клиент-серверного).
А так, — понравилась структуризация материала… 🙂
(14) yuraos, Я не понимаю причем тут управляемые формы? я имею введу веб сервис. Установить апатч дело 2ух минут настроек он не требует. главное чтобы в сети был виден всем участникам обмена.
Эх… эту бы статью да на пару дней пораньше. Массу времени съэкономил бы. Понадобилось перенести доки через com, пришлось в инете по крупицам собирать
Также, если статья для новичков,(которые не хотят лазить по Нетам) можно было бы дополнить строкой (или даже написать функцию, возвращающую «БазаИсточник») для обоих вариантов (Файл-серверного и клиент-серверного).
А так, — понравилась структуризация материала… 🙂
Спасибо, очень ценное замечание. Да, действительно упустил это из вида.
Спешу исправить. Пример универсальной процедуры ниже.
Показать
Пояснение БазаИсточник — переменная модуля, или переменная обработки, доступная из всех процедур и функций.
Норм статья .. может пригодиться!
Все прекрасно работает спасибо остался очень доволен.
Отличная статья, коротко и по делу. Автору респект!
(3) hohmankia,
тоже только ПФ лепили? 🙂
(0)
а что, по-вашему, в таком случае создается? Облако тегов?
(22) VasiL`,
да?
ну попробуйте на реальном деле что-то сделать.
ну попробуйте на реальном деле что-то сделать.
Алекс, от ваших постов так веет безысходностью и неудачей ))))) Дерзайте, и все получится!
Еще раз — удачи. 🙂
(27)
Еще раз — удачи. 🙂
Не слишком ли бодрое пожелание для «продвинутого прогера»?)
(28) TMV,
продвинутость достигается через преодаление гем-мороев платформы…
великая продвинутость обрачена великой печалью
🙂
(24)
AlexO,
что создается, это конечно вопрос интересный и архиважный с познавательной точки зрения.
Но это, как говаривали вожди-классики, есть суровая объективная реальность.,
«данная нам в ощущениях, копируемая и фотографируемая» (смотри ниже):
При COM-соединении просесс 1cv8 остается один, но при этом сжирает больше памяти мегабайт на 25.
При OLE-соединении появляется еще один процесс 1cv8, который к стати отжирает чуть меньше — 22 мегабайта.
При желании любой это может проверить.
взять здесь .
Нужный план обмена можно
(18)(30)
PS:
Обмен данными COM »
Если использовать план обмена «
то код для создания соединения можно несколько упростить,
поскольку все необходимые параметры и алгоритм подключения
хранятся в узле плана обмена:
Показать
(23) AlexO, очень смешно)) Петросян прям отдыхает… Поддержу автора: «От ваших постов так веет безысходностью и неудачей ))))) Дерзайте, и все получится!»
(1), (7) Мужики, ну при чем тут автор? Меня больше удивляет (беспокоит) количество плюсов.
Странно, что никто еще не написал расхожую фразу «Оказывается, всё гениальное — просто».
(27)
я по COM перекрестные синхронизации делаю, а вы мне про «дерзайте»! 🙂
посмеялся.
(30) yuraos,
да неужели?
и какой такой процесс «остается», когда организуешь соединение по COM к базе?
Разобрались бы сначала с автором, что и когда подключается.
И когда наиболее оптимально производить подключение к другой базе.
PS. если только и умеете «включать в другую базу» пользователя во время работы — то ужас-ужас вам и вашим пользователям.
(32) hohmankia,
сочинить свое не хватает? 🙂
(31) yuraos,
а можно вообще все в одну строку и максимум вложенностей в параметрах команд…
1С — она именно для такого раздолбайства и создана 😉
(33) Abadonna,
да пусть студенты америки открывают…
хоть так самолюбие потешат :))
(7) CaSH_2004,
«толмут» не Радченко, а группы авторов, среди которых Радченко разве что вступления к главам писал 🙂
(7) CaSH_2004,
что-что — печатные формы и постоянно тусоваться среди студентов со своими «достижениями».
Так и 10 лет ни с чем не столкнутся… 🙂
(15) ZERO_,
кино дрянь, но спецэффекты красивые..
(11) naus,
да ладно, тут народ вообще разницы не понимает — COM, OLE, ADO..
буковки какие-то…
(6)
для какой такой интеграции, и что за типовые от 1С в данном конкретном случае?
Полезная статья, хоть и вызвала столько дополнений и даже критики. К сожалению все время сталкиваешься с проблемами при создании чего нить через COM соединение.Причем все сложности обычно это само COM соединение.Данный обзор обновляет уже имеющуюся информацию, а самое интересное что до каких то вещей пришлось додуматься самому, и теперь было интересно почитать об этом в данной статье. Плюс автору.
AlexO, да угомонись ты, блин со своим словесным поносом…. Слушать уже надоело. Судя потакой богатой коллекции твоих публикаций , так ты вообще ничего путного за жизнь не написал
Если интереса нет — иди мимо….
Люди на ИС голосуют кто плюсом, кто рублем. Но не словесным поносом ведь….
Иди мимо родненький…. иди уже….. 🙂
(44) karakozov,
Я рад, что данная публикация очень многим понравилось и показалась востребованной.
Именно на эту аудиторию и на эту реакцию я и рассчитывал.
Что касается критиков….
Их я всегда делю на:
Лично мне гораздо интереснее и полезней показалось обсуждение yuraos (30). Спасибо ему, что не пожалел времени на тестирование. Позитив налицо. А AlexO, простите — простая балаболка. 🙂
AlexO, иди мальчик…. Не мешай, родной, взрослым дядям серьезные вещи обсуждать… 🙂
(36) AlexO, я ж говорю Петросян! )) Расслабься! Тебе поговорить не с кем что-ли?! Ну так в другом месте ищи свободные уши.
(42) AlexO, судя по вашим словам Вы знаете все на свете гораздо лучше остальных.
Предлагаю Вам описать предмет, изложенный в этой статье с Вашей точки зрения, а потом уже остальные оценят Ваш уровень.
Иначе начинает складываться впечатление о студенте, страдающем комплексом неполноценности (уж извините, но в профиле никакой информации о Вас я не вижу, да и список публикаций не впечатляет).
(50) tomvlad,
т.е. вы уже не знаете многого?!
судя по вашим словам.
(52) AlexO, ОК, то есть Вы не в состоянии написать статью, описывающую методику работы с COM?
(3)Универсальный OLE-перенос объектов между БД с идентичными конфигурациями
Лежит аж с 2007 года, рейтинг 404.
(56) AlexO, охотно верю, что Вы знаете предмет гораздо лучше чем сам Сергей Нуралиев.
Но…
Что мы знаем про вас. Никаких серъезных разработок за душой не числится. Рейтинг LIFE в 3.43 раза (!!!! болтун?) превышает рейтинг за публикации. Никакой дополнительной информации в профиле нет.
Только брызги слюны и вопли обиженного.
Конечно, я могу ошибаться. Ну так поправьте. Напишите хоть что-нибудь кроме невоздержанных комментариев.
автор даже не в курсе, как работает COM, и что такое «OLE Automation». И откуда экономия в одном случае, и больше возможностей — в другом.
Видимо, tomvlad тоже не в курсе, раз так рьяно поддерживает такой уровень понимания.
(58) AlexO, вот честно говоря меня в настоящий момент совсем не интересует COM, т.к. много другой работы.
Но автора я знаю, и знаю, насколько это уважаемый человек. А вот о вас кроме болтовни на форуме мы не знаем ничего.
Судя по всему, у Вас масса свободного времени.
Еще раз предлагаю — вместо пустопорожней болтовни взять и написать статью, в которой подробно изложить методику работы с COM. Если судить по вашим комментариям, это должно занять у вас не более нескольких минут.
Результат — общая польза, вместо взаимных оскорблений.
Может, я чего-то глобально не понимаю, но такое количество плюсов за обрывки цитат из штатной документации и общедоступных учебников — это не вполне нормально. Это вообще не статья. Заметки на полях от силы.
Жаль я в своё время отказался баянить, глядишь, кой-что новое людЯм открыл бы…
Автор, а расскажешь о том, как через com определить тип значения переменной, или получить объект типа «Тип»? Или как произвольный код выполнить? Или про тонкую настройку com+, и чем оно от dcom отличается, или как мирить разные минорные релизы?
Вопрос к автору : Как вы синхронизировали перечисления ?
(62)да здесь же на инфостарте ответы и лежат 🙂
AlexO еще тот тролль 🙂
(63) Slon1c,
Перечисления — та же суть, что и строки. Определите имя перечисления, и по его значению, выберите необходимое перечисление в текущей БД.
(66)Вопрос как раз в определении имени … Просто мне пришлось перебором его получать, есть ли более короткий способ ? Вот фрагмент кода :
Для каждого лкстрока из Свойства.ПорядокВключенияСтоимостиВСоставРасходовНУ.Metadata().EnumValues Цикл
Если лкстрока.Synonym = соединение.string(Свойства.ПорядокВключенияСтоимостиВСоставРасходовНУ) Тогда
НоваяСтрока.ПорядокВключенияСтоимостиВСоставРасходовНУ =
Перечисления.ПорядокВключенияСтоимостиОСВСоставРасходовНУ[лкстрока.Name];
КонецЕсли;
КонецЦикла;
а можно поподробнее про com-соединение
(67) Slon1c, да, там есть один секрет. 🙂
ИмяПеречисления = БазаИсточник.XMLСтрока(БазаИсточник.Перечисления.СтавкиНДС.НДС10)
PS: Имя перечисления вернет например «НДС 10»
(68) Вячеслав_163, а что конкретно вас интересует?
В принципе данную статью можно считать за тест на знание (и умение их искать) местной аудитории.
Жаль что администрация не ввела более расширенный способ голосования за статью. Думаю для профессионального сайта уже стоило-бы ввести несколько рейтингов по публикациям что-то типа:
— оценка за оформление от -5 до +5
— оценка за новизну от -5 до +5
— оценка за содержание (полезность/актуальность) от -5 до +5
В общем цель чтобы публикация оценивалась по разным критериям и показывала полезность, а то иногда просто удивляет что все меряется количеством плюсов. Это как-то однобоко. Ведь как получается: прочитало 100 человек, из них 40 плюсануло, т.к. тема новая для них, а остальные 60 не стали минусовать, т.к. вроде автор хороший человек, а минус ассоциируется с отрицательным отношением к статье в целом (и переносится не осознано на автора) и соответственно неприятно ставить его. В итоге статья вроде как по рейтингу отличная, а толку для меня никакого.
(0) Вот скажи автор тебя бы обидело если бы я поставил «минус»? А если бы без объяснения? А если поставят его 60 из 100 людей без объяснения причин? Ведь реально для людей кто занимается 1С профессионально тут прописные истины которые иногда в день по несколько штук приходится решать. Но для начинающих может это действительно откровение.
К сожалению рейтинг составляют разные люди. Было бы удобно видеть какое-то различие (не читая имен) проголосовали разработчики, или просто товарищи которые скачивают. Статус то пользователям тут никак не меняют, на других ресурсах прямо под ником пишут статус/рейтинг, и понятно кто есть кто, а так приходится лазить в профиль пользователя.
Наверно где то такое обсуждалось уже с администрацией сайта, киньте ссылку если кто знает — буду благодарен.
(69)о, xml «рулит», еще сюда сериализацию и схемы добавить и все ок 🙂
(74) CaSH_2004, уважаемый.
Если бы я ставил свою статью в ранг совершенного и законченного проекта (ну типа как продукты Apple), я бы просто отключил возможность комментариев.
Считаете возможным дополнить сведения — дополните. Я буду вам признателен.
Считаете это не нужным вам — не дополняйте. Пройдите мимо.
Еще раз говорю: есть люди, которые почерпнули для себя что-то важное.
Есть люди, которые узнали из вашего предыдущего поста, что -то дополнительно для себя.
Если бы не было этой статьи, то не было бы и вашего поста.
Кто-то шел бы до своих открытий чуточку дольше.
Не заморачивайтесь лишнего. Те кто придет после вас — найдет и у вас кучу недочетов и недостатков.
Если руководствоваться вашими постулатами, то наверное человечество не написало бы ни одной книги.
Вы согласны?
Разговор далее, по этому поводу, считаю неконструктивным.
Лучше потрачу время на помощь тем, кто этого желает. Допустим 67 и 68.
Вы не против?
(75)Да пожалуйста, однако странное игнорирование вопросов и собственных ошибок. Я собственно выразил свое мнение и если вы считаете что писать то чего нет — нормально, а то что есть не стоит, то значит такая публикация заслуживает минус. Жаль что вместо желания изменить статью вы предпочитаете общение в комментариях, а по существу ничего не меняете: вроде и против ничего не имеете, но и менять не хотите.
(0)
Пример:
КонтрагентСОМ = БазаИсточник.Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», ИНН);
Код = КонтрагентСОМ.Code;
Наименование = КонтрагентСОМ.Description;
НаименованиеПолное = КонтрагентСОМ.НаименованиеПолное;
Не вводи в заблуждение неокрепшие умы.
Работает, только шуба заворачивается
Равно как и
(76) CaSH_2004,
Ни кто их и не игнорирует. Ваши посты — это очень удачное дополнение в поиск истины. Если они конструктивны (а ваши посты именно конструктивны), то читатель от этого только выигрывает.
Изменять публикацию каждые пять минут — дело очень не продуктивное, так как бесплатные публикации подлежат обязательной модерации. Поэтому, все исправления и дополнения будут однажды добавлены. Но все враз.
я искренне рад вашему минусу. Поясню:
(37) AlexO,
а у вас увожаемый смотру всего одна статейка и
рейтинг за трёп превышает реальный рейтинг в 4 раза
и это не смотря на то , что многие ваши комментарии «минусят» на этой ветке.
Значить — еще больше народу ставить вам «минусы» просто лень
или у них нет времени врубаться что к чему.
😉
нормальная статейка, полезно.
(80) Raminus, Спасибо всем, кто оценил.
Редкая публикация обходится одними благодарностями. Я к этому уже привык. 🙂
Пишите, делитесь опытом. Реальная польза будет всем
Да, и ещё: упомяните хотя б, что с файловыми базами тоже так работать можно, а то у вас лишь клиент-серверное подключение описано.
(82) Yashazz,
Спасибо, уже учел. В примере подключения к БД указал, что пример подключения к файловой БД приводится в комментариях (см. несколько выше).
Хотел задать встречный вопрос: ранее вы спрашивали»
Вопрос: удалось ли вам решить проблему определения типа значения переменной?
Лично мне приходит на ум только лишь обращение к метаданным объекта, а через них определения типа.
Может быть есть более изящное решение?
(78)Вот буквально на днях тоже встал вопрос как вытянуть запросом в 8-ку из 7-ки данные по регистрам с указанием даты.
Взаимодействие через OLE ч.1
Взаимодействие через OLE ч.2
Помучался сам часок, для интереса чтобы проверить угадаю ли как это сделать, но понял что не выходит и решил обратится к интернету, запросил Яндекс: «1С как сделать запрос через ОЛЕ», в 4-й строке получил нужный ответ. На поиск и прочтение потратил 2 минуты.
Вот делюсь ссылками:
Это я к вашему:
Странно, но если есть решение то я его всегда нахожу в интернете и достаточно быстро, чего и всем советую, а заодно показываю КАК ЭТО ДЕЛАТЬ. Это пример статей за каторые я бы даже приплатил бы автору (если бы не пришлось на это тратить пол дня на его поиск и способ перевода). Т.е. статья имеет кучу информации полезной, в вашей же статье самое ценное — комментарии. Потому что описывать 3 приема, из которых 1-е — как подключиться, а 2-е вообще частично неверное, и вам еще в лом его исправить:
это очень плохой пример который вы показываете другим. Странно но только на Инфстарте народ пишет по несколько строчек в качестве статьи. И чем дальше тем короче становяться статьи. Стараниями таких авторов-минималистов скоро статьи будут выглядеть например так:
Естественно при таких статьях приходится перерыть их кучу чтобы собрать что-то внятное. Вы сами это испытали на себе (с ваших же слов) и сами же создали такую же пустую публикацию.
Как я уже говорил, если вам влом опичывать все подробно, понадергали бы ссылок из разных мест, выложили бы их, и вывели бы из них свои 3 ВЕЛИКИХ КИТА. И думаю придирок было бы минимум.
(84),
Взаимодействие через OLE ч.1
Взаимодействие через OLE ч.2
Если я правильно понял, при быстром просмотре, то в этих статьях речь идет исключительно про OLE.
На данном форуме, мы рассматриваем исключительно Com.
Если я сделал не верный вывод — поправьте меня, и прямо здесь выложите код, отвечающий на мой (и ваш) вопрос.
По поводу качества статьи, извините уважаемый, уже достали.
Лично одно ваше мнение, для массы пользователей — не авторитет.
Хотите убедиться — посмотрите на оценку статьи (на сегодня 78 баллов).
Вполне возможно, что вы будете способны написать свой шедевр, и набрать баллов 700.
Желаю удачи. А лазить здесь, и вместо конструктива плеваться и поносить, вам это надо?
Есть желание исправить ситуацию — хватит брызгать слюной. Просто добавьте информации в комментариях и изложите ваше видение вопроса.
(85)
конечно, это как пример, причем для 7-ки а не 8-ки, и что тут такого? Статья от этого не хуже. Пользы на порядка 3 больше чем от этой статьи. Если люди плючуют за вас, пусть почитают побольше чем просто про 3-х ПОКАЛЕЧЕННЫХ КИТОВ 🙂
Я так и сделал, как смог. Не нужно так нервничать, если вы решили написать статью вам придеться выслушать как положительные так и отрицательные отзывы, и не один раз. Я же не просто пишу из-за сугубо своего мнения ни на чем не основанного, а привожу примеры. Не нравиться — не пишите плохие статьи, снимайте статью, обращайтесь к модератору или просто игнорируйте. Не нравиться вам мои комменты, понравиться другим, это ваши же слова!
Не вижу ничего плохого в том что я выложил ссылки.
Да вроде как не один если есть глаза и мозг, просто мне одному больше нужно наверно 🙂
Кстати Галилео Гагилей насколько помниться тоже почти в одиночку утверждал что Земля крутиться, а все вокруг решили что он ненормальный. Это сравнение к тому что если баранов много то это значит что они априоре умнее пастуха! Никого не хочу обидеть, но ссылаться на количество плюсов — глупое утверждение. Плюсуют те для кого информация новая, остальные идут мимо, и таких на 2 порядка больше, если вы умеете думать то гяньте: просмотров 1745, а плюсов 80! Конечно там идет накрутка на каждое обновление страницы, но суть вы должны уловить. Просматривают те кто пишет комменты, а их еденицы, а не сотни, так что вывод что остальные также считают публикацию не стоящей внимание и плюса, просто не считают нужным минусовать, а почему я уже ранее писал.
(86) CaSH_2004,
А разве это слабый процент? ))) Считайте КПД = 1745/80 = 21.8875 (кол. просмотров к количеству кликов)
Посмотрите на свою топовую публикацию :http://infostart.ru/public/86911/
КПД = 1847/113 = 16,345
а в этой и того хуже :http://infostart.ru/public/137694/ Всего 28,57
Ну и что, намного лучше? )))))
Желаю удачи Галилео…. Только чаще в свой глаз заглядывайте. Вдруг там бревно, а вы соломинки в чужих глазах рассматриваете )))
Может хватит пиписьками меряться?
(87)Да никто не меряется, я просто высказываю мнение, и полагаю что корректно. Имею право. Найдите у меня в публикациях недостатки, изложите как я внятно свои пожелания, я проанализирую и либо исправлю их либо обоснованно отвечу.
http://infostart.ru/public/137694/ — это кстати экспромт, я так в комментах и сказал, что это по сути черновой вариант т.к. время не было. Так же как наверно и у вас. Согласен что других легче критиковать, но критика полезна, так что я вам помагаю, не обижусь на вашу помощь.
Возможно после такой статьи как ваша и сам свою допилю — т.к. мне она тоже не нравиться.
Кстати откуда такая интересная формула успеха 1745/80? А где переменная кол-во комментариев? Вроде как они вияют на просмотры.
И мои публикации не планировались на плюсы, а на решение конкретной проблемы, я ее решил — нареканий нет, какие были все доработал. И если начинаете делить (да не делимы будете) то сначала замерьте время. Есть понятие как актуальный материал и как устаревший. Мой все уже скачали и поплюсовали кому нужно, смотрят наверно за обновлениями. Ваш пока на стадии актуальности. Когда все поплюсуют (месяца через 2-3) увидите как быстро ваш коэффициент пойдет вниз. Я даже не преполагаю что закончаться неграмотные кто станет плюсовать, у меня пока иногда плюсуют за ГОСиД.
(88) CaSH_2004, я вас понял. Предлагаю уже замять эти тему и работать дальше. Дела насущные есть у нас у всех.
Ок?
ps: Время рассудит все статьи этого форума.
Спасибо, именно такого конструктива и жду… )))))
Лучше один конструктивный отзыв, чем сто никчемных комментария. Спасибо ….
Есть предложение к автору, если он не хочет думать и сам выдавать конструктив, можно перепостить интересные моменты из ЖК, новичкам это понравиться, да и бывалым прогерам тоже, не все же читают книжки и умеют искать в интернетах. И будет радость, и куча плюсов.
да ладно…
Вот если бы здесь не ComConnector, а ComApplication — то второй процесс бы был, во всяком случае мне говорил один из франей, что должен быть второй процесс, но если использовать именно ComConnector, то второго процесса не будет.
Хотя опять же напрашивается вопрос, а когда каким из COM-соединений лучше пользоваться?
Спасибо за пожелание. ))) В принципе, благодарностей и так хватает (посмотрите на количество плюсов). А зануд и критиканов всегда было достаточно. Посвистели и сдулись…. Теперь читают только те, кому нужна суть, а не языком потрясти…. )))
За предложение все одно — спасибо!
По делу добавлю — нельзя сравнивать два СОМ-объекта, даже если это ссылки на один и тот же объект в базе, они всегда будут неравны. Приходится сравнивать по коду, наименованию или идентификатору.
(93) Bukaska,
Товарищ — автор статьи, — вообще не понимает, где COM, а что такое — OLE. Но усиленно огрызается в комментариях. Видимо, считает, что это уравновешивает его незнание.
(121) AlexO,
Проще назвать вещи своими именами.
Механизм OLE он же Automation сервер:
в тонком клиенте,
в толстом клиенте.
Механизм внешнего соединения:
.
(с) Радченко ТалмудПоПлатформе.Т2 ).
Отличия в функциональности там же понятно расписаны.
(122) st4rk,
А что, OLE — оно не внешнее подключение? Внутреннее? Радченко, может, и знает разницу между OLE и COM, но не говорит. А вы, соответственно, не знаете, и в книжках Радченко про это не прочитаете.
И талмуд — Радченко далеко не главный автор. Это если про талмуд, а не про 8.2-брошюры.
(1) Давно это было… но всё же, конкретно в прошлом году не мог получить от базы реквизит Наименование, а Description работало.
на счёт «продвинутых» — если брать анкеты сотрудников то там все продвинутые пользователи ПК, так что это слово давно не обозначает вершин имеющихся знаний.
Так что Автору спасибо, простая понятная статья.
(1) На первых платформах 8.2 русские аналоги англонаименований периодически приводили к краху обмена данными. И это было на столько хаотично, что отловить баги не могли долго. Так что когда наберётесь опыта, не будете так смело критиковать))))))
И да, помните — «дурак учится только на своих ошибках» (с).