Запуск 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+ забываем обо всех этих проблемах навсегда)))

Скачать файлы

Наименование Файл Версия Размер
Удаленный COM+.rar
.rar 3,36Mb
57
.rar 3,36Mb 57 Скачать


Предыстория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%

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0. Переносятся остатки, документы и справочники

Файловый обмен (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 | Предоставляем техподдержку | Обновляем на новые релизы 1С | Перенос из 7.7 является сложным, и на рынке сложно найти специалистов 1С по "семерке" - наши сотрудники помогут вам выполнить переход в рамках техподдержки предлагаемого переноса данных!

50722 45650 руб.

26.05.2020    33915    10    67    

16

Конфигурация "Информационный киоск". Обработки выгрузки товаров для ТиС 9.2, УТ 10.3, УТ 11 (обмен данными с любой конфигурацией 1С 7.7, 8.х)

Оптовая торговля Розничная торговля Обмен между базами 1C Сканер штрих-кода Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Управленческий учет Платные (руб)

Конфигурация предназначена для организации offline доступа клиента (покупателя) к информации о товарах, услугах или дисконтных картах посредством сканирования штрих-кода. Основная цель – мгновенно предоставить наиболее актуальную информацию о цене, остатках, наименовании товара (услуги) или накоплениях, держателе, состоянии дисконтной карты.

1800 руб.

21.12.2014    59237    8    21    

20

Выгрузка данных из 1С 7.7. в формате EnterpriseData 1.6 (универсальный формат обмена) в конфигурации 8.3

Обмен между базами 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    22694    59    39    

35

Выгрузка из 1С ТиС 9.2 в 1С БП 3.0 с дополнительными фильтрами по Фирме, Складу, Контрагенту, Проекту, Автору и Юрлицу

Файловый обмен (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    8368    52    Kuzya_brаtsk    8    

11

Переход с 1С:Комплексной 7.7 на 1С:УТ 10.3

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

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

8400 руб.

17.03.2021    15535    5    13    

6

Обмен данными ЗУП 3.1 - Бухгалтерия 7.7

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

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

18000 руб.

29.09.2020    13584    2    0    

5

Конвертация данных из 1С 8.3 в 7.7 (версия КД 2.1). Перенос данных из 8.3 в 7.7. Создание в современной 1С 8.3 XML в формате КД2. Инструкции и примеры переноса данных из любой современной 1С 8.3 в устаревшую конфигурацию 1С 7.7, через Конвертацию данных 2

Обмен между базами 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    14024    ksnik    0    

15

Загрузка адресов произвольного формата (КЛАДР и нестандартных "грязных" адресов) в ФИАС современных конфигураций из 1С 7.7

Загрузка и выгрузка в Excel Обмен между базами 1C Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 1С:ERP Управление предприятием 2 Абонемент ($m)

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

1 стартмани

16.08.2019    19262    17    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 29 28.12.21 08:26 Сейчас в теме
С наступающим!

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

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