Запуск COM-Объекта 1С 7.7 или 1С 8.х в виде "УДАЛЕННОГО COM+" (как Решение проблемы запуска COM 32-бит внутри 64-бит приложения, так и проблем разных версий движка 8.х)

13.01.17

Интеграция - Перенос данных 1C

Проблемы (решенные с помощью COM+): 1) Проблема с "ComConnector" из-за разных версий движка 1С; 2) "Сервер 1с 64-бит отказался работать с COM 1c 7.7(32 бит)"; 3) Как создать удаленный COM+ внутри 1с 7.7 для решения проблемы, как в пункте 1); И вот, наконец-то, при помощи удаленного запуска COM+ забываем обо всех этих проблемах навсегда)))

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Удаленный COM+.rar
.rar 3,36Mb
57
57 Скачать (2 SM) Купить за 2 150 руб.


Предыстория1:
Наше головное подразделение - постоянно меняет версии движка 1С 8.х и т.к. некоторые обмены построены на "V2.ComConnector" или "V3.ComConnector", то они постоянно навязывали тем самым нам обновлять движок тоже ..... что нам жутко ненравилось))
Решение:
На сервере на котором крутися нужный "сервер 1с" прописываем "ComConnector" в виде COM+ и теперь Он становится доступным даже на машине где вообще не установлена 1С!! (ВНИМАНИЕ!! при обновлении движка на этом сервере)

Предыстория2:
Существует у нас база на 1С 7.7 и база на 1С 8.2 - Необходимо было настроить авто-обмен в Фоновом задании на Сервере 64-бит 1с 8.2... Вот тут и получилась проблема "Сервер 1с 64-бит отказался работать с COM 1c 7.7(32 бит)"
Решение:
Как оказалось прописывание 32 бит компонента в COM+ обладает еще одним полезным свойством - т.е. вызов его в 64-бит приложении, следовательно прописываем COM  "v77.Aplication" в COM+, что позволило запускать его на 64-бит сервере 1С.

Предыстория3:
RDP сервер на котором крутится 1с 7.7 использовала в обработках "V2.ComConnector" или "V3.ComConnector" .... все бы ничего, но постоянные проблемы с ком объектом из-за разных версий.
Решение:
Конечно сразу подумал о COM+
К сожалению метод СоздатьОбъект() в 1С 7.7 не имеет второго парамера и соответственно непозволяет удаленно создать COM+ ((((.
Но сразу подумал о COM объектах Windows, которые создаем в 1С, и через которые уже можно создать COM+ со вторым пораметром - т.е. удаленный COM+.
----------------------------------------------------
К публикации приложены файлы в одном архиве:

1)Картинки описывающие создание COM+ с необходимыми опциями, а также если УДАЛЕННЫЙ КОМПЬЮТЕР под управлением Windows 2008+ описывается создание необходимой роли для доступа по сети к COM+, и еще картинка с настройкой доступа для удаленного вызова COM+
2)Обработка для 1С 8.х получающая доступ к Удаленному COM+
3)Обработка для 1С 7.7 получающая доступ к Удаленному COM+

Еще раз всетаки хочу заострить внимание)))
 COM+ в данном случае, создается именно, не на КОМП1 (где запущен код программы, и где даже вообще может несуществовать этот COM объект), а на удаленном КОПМП2!!!

Для обмена через COM

рекомендую использовать обмен по GUID (Внимание: Если объект по GUID ненайден то СОЗДАЕТСЯ Новый с нужным нам GUID - для дальнейещего использования ССЫЛОК на него -  ПРЕДВАРИТЕЛЬНО записываем данный объект в базу)) )

// ВернутьОбъектПоGUID возвращает объект по GUID или создает новый
// объект если такого несуществует
// пример ТипОбъекта="Справочник"
//  ИмяОбъекта ="Номенклатура"
//
Функция ВернутьОбъектПоGUID(GUID,ТипОбъекта,ИмяОбъекта,ЭтоГруппа=ЛОЖЬ) Экспорт
	UUID = Новый УникальныйИдентификатор(GUID);
	
	Если ТипОбъекта = "Справочник"  Тогда
		НоваяСсылка = Справочники[ИмяОбъекта].ПолучитьСсылку(UUID);
		Если  Найти(СокрЛП(НоваяСсылка),"<Объект не найден>")=0 Тогда
			// нашли объект
			НовыйОбъект = НоваяСсылка.ПолучитьОбъект();
		Иначе
			// не нашли объект
			Если ЭтоГруппа Тогда
				НовыйОбъект = Справочники[ИмяОбъекта].СоздатьГруппу();
			Иначе
				НовыйОбъект = Справочники[ИмяОбъекта].СоздатьЭлемент();
			КонецЕсли;
			НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
		КонецЕсли;
	ИначеЕсли ТипОбъекта = "Документ" Тогда
		НоваяСсылка = Документы[ИмяОбъекта].ПолучитьСсылку(UUID);
		Если  Найти(СокрЛП(НоваяСсылка),"<Объект не найден>")=0 Тогда
			НовыйОбъект =НоваяСсылка.ПолучитьОбъект();
		Иначе
			НовыйОбъект = Документы[ИмяОбъекта].СоздатьДокумент();
			НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
		КонецЕсли;
	ИначеЕсли ТипОбъекта = "ПланВидовХарактеристик" Тогда
		НоваяСсылка = ПланыВидовХарактеристик[ИмяОбъекта].ПолучитьСсылку(UUID);
		Если  Найти(СокрЛП(НоваяСсылка),"<Объект не найден>")=0 Тогда
			НовыйОбъект=НоваяСсылка.ПолучитьОбъект();
		Иначе
			НовыйОбъект = ПланыВидовХарактеристик[ИмяОбъекта].СоздатьЭлемент();
			НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
		КонецЕсли;
	ИначеЕсли ТипОбъекта = "ПланСчетов" Тогда
		НоваяСсылка = ПланыСчетов[ИмяОбъекта].ПолучитьСсылку(UUID);
		Если  Найти(СокрЛП(НоваяСсылка),"<Объект не найден>")=0 Тогда
			НовыйОбъект=НоваяСсылка.ПолучитьОбъект();
		Иначе
			НовыйОбъект = ПланыСчетов[ИмяОбъекта].СоздатьСчет();
			НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
		КонецЕсли;
	ИначеЕсли ТипОбъекта = "ПланВидовРасчета" Тогда
		НоваяСсылка = ПланыВидовРасчета[ИмяОбъекта].ПолучитьСсылку(UUID);
		Если  Найти(СокрЛП(НоваяСсылка),"<Объект не найден>")=0 Тогда
			НовыйОбъект=НоваяСсылка.ПолучитьОбъект();
		Иначе
			НовыйОбъект = ПланыВидовРасчета[ИмяОбъекта].СоздатьВидРасчета();
			НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
		КонецЕсли;
	ИначеЕсли ТипОбъекта = "ПланОбмена" Тогда
		НоваяСсылка = ПланыОбмена[ИмяОбъекта].ПолучитьСсылку(UUID);
		Если  Найти(СокрЛП(НоваяСсылка),"<Объект не найден>")=0 Тогда
			НовыйОбъект=НоваяСсылка.ПолучитьОбъект();
		Иначе
			НовыйОбъект = ПланыОбмена[ИмяОбъекта].СоздатьУзел();
			НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
		КонецЕсли;
	ИначеЕсли ТипОбъекта = "БизнесПроцесс" Тогда
		НоваяСсылка = БизнесПроцессы[ИмяОбъекта].ПолучитьСсылку(UUID);
		Если  Найти(СокрЛП(НоваяСсылка),"<Объект не найден>")=0 Тогда
			НовыйОбъект=НоваяСсылка.ПолучитьОбъект();
		Иначе
			НовыйОбъект = БизнесПроцессы[ИмяОбъекта].СоздатьБизнесПроцесс();
			НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
		КонецЕсли;
	ИначеЕсли ТипОбъекта = "Задача" Тогда
		НоваяСсылка = Задачи[ИмяОбъекта].ПолучитьСсылку(UUID);
		Если  Найти(СокрЛП(НоваяСсылка),"<Объект не найден>")=0 Тогда
			НовыйОбъект=НоваяСсылка.ПолучитьОбъект();
		Иначе
			НовыйОбъект = Задачи[ИмяОбъекта].СоздатьЗадачу();
			НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
		КонецЕсли;
	Иначе
		Сообщение =Новый СообщениеПользователю;
		Сообщение.Текст="Неизвестный тип объекта. При получении Объекта по GUID";
		Сообщение.Сообщить();
		Возврат Неопределено;
	КонецЕсли;    
	Возврат НовыйОбъект;  
КонецФункции


См. также

SALE! 10%

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Бухгалтерия 7.7 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0 | Продукт является развитием и исправлением ошибок стандартной обработки для выгрузки данных из 1С Бухгалтерии 7.7 в Бухгалтерию 3.0 | Перенос из 7.7 является сложным, и на рынке сложно найти специалистов 1С по "семерке" - сотрудники помогут вам выполнить переход в рамках техподдержки предлагаемого переноса данных!

55778 50200 руб.

26.05.2020    35778    11    77    

17

Перенос данных 1C Программист Бухгалтер Платформа 1С v8.3 Оперативный учет 7.7 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Управленческий учет Платные (руб)

Переносится из типовой конфигурации «Торговля и Склад», реакции 9.2 платформы «1С:Предприятие 7.7» в типовую конфигурацию «Бухгалтерия предприятия», редакции 3.0 платформы «1С: Предприятие 8.3» следующие документы и их операции (с соблюдением всех соответствующих проводок): Поступления товаров и услуг (в т.ч. комиссия), Реализации товаров и услуг (в т.ч. комиссия), ПКО и РКО, выписки банка, счета фактуры (выданные и полученный), Возвраты от покупателей и поставщику, Заявка Покупателя, Инвентаризация и другие (всего 28 видов документов, смотрите описание, приложенное к обработке)

13188 руб.

30.06.2014    66416    108    112    

118

Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Обработка позволяет выгружать данные из ТиС 7.7 в конфигурации 8.3 для сдачи отчетности, для переноса данных при переходе на 8.3, для организации обмена внутри компании при использовании разных версий 1С в структурных подразделениях или формирования отгрузочных накладных для клиентов.

6000 руб.

18.05.2020    24372    70    39    

43

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Оперативный учет 7.7 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 Бухгалтерский учет Управленческий учет Абонемент ($m)

Обработка и правила обмена данными для выгрузки документов и всех связанных с ними справочников из 1С7.7 ТиС 9.2 в 1С8.3 БП 3.0 через файл XML. В типовых конфигурациях уже есть такое решение. Это немного доработанные правила и сама обработка выгрузки, добавлена возможность устанавливать отбор по выгружаемым документам по Фирме, Контрагенту, Складу, Проекту, Автору, ЮрЛицу. А также это внешняя обработка, что даёт возможность адаптировать её под нетиповую ТиС. Обработка и правила тестировались на платформах: 1С: Предприятие 7.7 и 1С: Предприятие 8.3.18.1334. На типовых конфигурациях: «Торговля + склад», редакция 9.2 (7.70 1004) и «Бухгалтерия предприятия» редакция 3.0 (3.0.96.30).

1 стартмани

13.08.2021    9807    69    Kuzya_brаtsk    8    

11

Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 1С:Управление торговлей 10 1С:Комплексная 7.7 Россия Управленческий учет Платные (руб)

Начните вести учет в УТ 10.3! Перенесите все свои данные в УТ 10.3 в любом месяце года и продолжите вести учет! Программа перенесёт любое количество баз с документами и остатками в больших количествах. Обработка выгрузки выполнит проверку исходных данных и сформирует отчет о найденных ошибках в справочниках и документах. Партии переносятся с себестоимостью. Штрихкоды номенклатуры загружаются. Цена переносится. Автор консультирует.

8400 руб.

17.03.2021    16245    5    13    

6

Зарплата Перенос данных 1C Программист Бухгалтер Бухгалтерский учет 7.7 Сложные периодические расчеты 1С:Бухгалтерия 7.7 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Как известно, Бухгалтерия 7.7 не имеет штатной возможности для обмена с ЗУП 3.1. Данная разработка пригодится тем, кто перешел с ЗиК 2.3 на ЗУП 3.1, но вынужден по каким-то своим причинам оставаться на Бухгалтерии 7.7.

18000 руб.

29.09.2020    14047    2    0    

5

Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Конвертация данных Бесплатно (free)

При переходе на новую версию 1С в период параллельной эксплуатации может возникнуть необходимость обратной конвертации данных (по правилам КД версии 2.1) из 1С:Предприятие 8.3 в 1С:Предприятие 7.7 для переноса данных из 1С:Предприятие 8.3 в 7.7. Сделать это поможет следующая инструкция по КД2 о том, как создать новую конвертацию из 8.3 в 7.7, сохранить модуль и правила загрузки данных, сделать загрузку данных. КД2.

17.10.2019    16069    ksnik    0    

16

Загрузка и выгрузка в Excel Перенос данных 1C Программист Пользователь Платформа 1С v7.7 Платформа 1С v8.3 1C:Бухгалтерия 1C77 1С:ERP Управление предприятием 2 Абонемент ($m)

Описание технологии загрузки любых адресов из 1С 7.7 с разложением по ФИАС в современные конфигурации 1C 8.3 на примере ERP. Предлагаемый способ просто чудо, он гарантирует результат, он очень простой и качественный! Моя обработка является синтаксическим анализатором, который подставляет в строку грязного адреса выражение "Дом №" и "Корпус", благодаря чему грязные адреса 7.7 сами очень хорошо раскладываются по значимым полям ФИАС - заполняется область, город, улица, дом, корпус.. все раскладывается само с помощью встроенного механизма современных конфигураций 1С 8.3, который написали сами сотрудники фирмы 1С!

1 стартмани

16.08.2019    19919    19    ksnik    12    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sanfoto 502 04.08.14 02:36 Сейчас в теме
Что-то я начинаю склонятся к использованию данной технологии "удаленного COM+" на Терминалах Сбора Данных(ТСД).

Удивительно но факт:
1)Создал данный объект
2)Подключился к БД и вызвал паузу)) (Предупреждение(""))
3)Отключил сеть
4)Включил сеть и дождался с помощью "ping УдаленныйСервер" доступности
5)Продолжил исполнение команды... и о ЧУДО "Удаленный COM+" НЕ ОТВАЛИЛСЯ!!!
-----------------------------------------
т.е. по сути Надо на ТСД сделать в приложении отдельный поток который следит за доступностью сервера и пока недоступен держать на паузе поток работающий с 1С-кой.
2. sanfoto 502 04.08.14 16:04 Сейчас в теме
хм..небольшая проблемка с компьютерами вне домена, при условии что "удаленный COM+" на компьютере в домене,
но вызвать хотите с компьютера вне домена.... бесопасность бреет((

решается прописыванием ЛОКАЛЬНОГО пользователя с паролем на компе где COM+ и в нужную группу)).. пользователь и пароль такой же как на компе вне домена.

С обычной Windows получилось..... добратся бы до ТСД...но не дают все в работе)).
Пожалуй попробую с эмулятором Win CE.
3. SlaSla 28.12.21 08:26 Сейчас в теме
С наступающим!

Подскажите плиз при регистрации «Мастер установки компонентов COM+ "v77.Aplication"
На шаге выбор «Установка новых компонентов» какую dll указывать?

Спасибо.
Оставьте свое сообщение