Имя: Пароль:
1C
1С v8
Обмен через COM-соединения разных версий.
0 Tornadius
 
24.05.18
09:47
Добрый день, народ. Поделитесь опытом, кто сталкивался с такой заморочкой: Запущено две службы: 8.2 (по порту 1641, вер. 8.2.19.130) и 8.3 (по порту 1541, вер. 8.3.11.2899). на каждой платформе работает по нескольку конфигураций (например УПП 1.3 и Документооборот соответственно) и перевести все на единую платформу ну никак. :(, а задача стоит свести все конфигурации в единую систему для согласования заявок на расход ДС. Как вариант решения подключение через COM-connector, но тут возникает конфликт версий платформ, ибо стандартное подключение для синхронизации не понимает разбиения платформ по портам, например БП 3.0 для сельскохозяйственных предприятий, не может подключиться к УПП. Снимать все с поддержки и потом маяться с обновлениями не айс. Ко всему в наличии 4 специализированных решения (УАТ, УСО, Общепит, Агро), а также несколько базовых БП и БП 3.0 Проф,в разной степени исореженности. Основная же конфа УПП 1.3. Общее количество баз - около 30 и как все это хозяйство увязать в единую систему по COM-connector-ам не знаю. Прошу помощи.
1 Oftan_Idy
 
24.05.18
10:01
Тебе нужно копать в сторону создания разных CLSID в реестре Виндовс, для каждой версии платфоры. Давать разные имена разным коннекторам.
2 olegves
 
24.05.18
10:02
(0) вэб сервисы используй
3 Мыш
 
24.05.18
10:05
(2) Лучший выбор.
4 Tornadius
 
24.05.18
10:13
(1) С собственным созданием имен коннектор ничего не получится, ибо в БП3 имя конектора формируется динамически из раскладки на составляющие номера версии платформы:
// Возвращает имя COM-класса для работы с 1С:Предприятием 8 через COM-соединение.
//
// Возвращаемое значение:
//  Строка - имя COM-класса для работы с 1С:Предприятием 8 через COM-соединение.
//
Функция ИмяCOMСоединителя() Экспорт
    СистемнаяИнфо = Новый СистемнаяИнформация;
    ПодстрокиВерсии = СтрРазделить(СистемнаяИнфо.ВерсияПриложения, ".");
    Возврат "v" + ПодстрокиВерсии[0] + ПодстрокиВерсии[1] + ".COMConnector";
КонецФункции
5 Tornadius
 
24.05.18
10:16
(2)(3) Что нужно, что бы запустить веб-сервисы на старых платформах?
6 Oftan_Idy
 
24.05.18
10:16
(4) А что такая большая проблема переписать эту несчастную функцию? Ты ж программист?
7 Oftan_Idy
 
24.05.18
10:17
(5) Ну хотя бы 8.2
8 Tornadius
 
24.05.18
10:17
(6) Снятие конфы с поддержки
9 Tornadius
 
24.05.18
10:19
(7) так 8.2 есть в наличии, я не знаю как веб-сервис организовать.
10 olegves
 
24.05.18
10:20
а вообще, за такое вредительство - разные версии при множестве баз - надо увольнять. Кто не дает к одной версии платформы все базы привести?
11 Oftan_Idy
 
24.05.18
10:21
(8) Ну ты а как ты хотел, нельзя пожарить яичницу не разбив яиц. С ними с поддержки только один модуль.

(9) Всмысле? Берешь и создаешь web-сервис, 8.2 умеет. Поднимаешь веб-сервер, публикуешь на нем сервис, и обращаешься к нему. Тогда на разные версии платформы плевать
12 Tornadius
 
24.05.18
10:21
Вообще есть ли в природе подобный функционал по согласованию. При чем не важно каких документов, хоть счетов-фактур. Но в разных база и платформах?
13 Oftan_Idy
 
24.05.18
10:21
(10) Это не вредительство, это вполне рабочая ситуация, это нормально
14 Oftan_Idy
 
24.05.18
10:22
(12) Кури Конвертацию
15 Cyberhawk
 
24.05.18
10:23
Могу порекомендовать стороннее платное решение для организации произвольных обменов в зоопарке инфобаз, и не только 1С )
16 Cyberhawk
 
24.05.18
10:23
В том числе в этом решении поддерживается динамическая (на лету) перерегистрация СОМ-классов, чтобы подключаться к конечным инфобазам разных версий
17 olegves
 
24.05.18
10:23
(13) нормально - это когда единая платформа при разных режимах совместимости, а здесь явное вредительство
18 Tornadius
 
24.05.18
10:26
(10) Согласен с вами полностью. Но вот такое наследие досталось. А перевести все на единую платформу ну никак не можно, по причине 80% изменений и дописок в старых базах (ну очень корявых) и большого опасения, что они просто отвалятся на новой платформе. а времени на полноформатную чистку никто не дает - непрерывное производство
19 Oftan_Idy
 
24.05.18
10:29
(17) Для богатых контор можно под каждую базу отдельный сервер пилить, но не все могут позволить.
А в разных базах могут разные ситуации. На одну базу можно накатить новую платформу, а на другую нельзя, приведет к проблемам и т.д
Все сильно по разному бывает
20 Tornadius
 
24.05.18
10:33
Как вариант снимать с поддержки (Ну чего очень бы мне не хотелось) и переписывать весь функционал финансовой подсистемы из УПП в БП 3.0, но тогда и для согласования надо будет войти в каждую базу ручками, а пользаки хотят единую систему согласования
21 dezss
 
24.05.18
10:39
варианта как минимум 2.
1) КД (проблемы с тем, что будет некоторое время на синхронизацию)
2) веб-сервисы (быстро, но под каждый объект что-то пилить).
Оба уже озвучены.

Ну или можно их как-то совместить.
22 MM
 
24.05.18
10:40
(17) Приведу пример, управление сервисным центром в закрытом модуле использовано имя процедуры совпадающее с новым именем функции в 8.3, режим совместимости его не отключает. Модули обфусцированы и привязаны к аппаратному ключу, как перевести БД на 8.3?
23 Cyberhawk
 
24.05.18
10:42
(22) Обратиться к разработчикам сторонней конфйигурации?
24 olegves
 
24.05.18
10:43
(22) Обратиться к разработчикам сторонней конфйигурации
25 Мыш
 
24.05.18
10:50
(23), (24) Разработчиков кинули работодатели и они уволились/умерли забрав с собой тайну разработки. Документации, конечно же, не осталось )
26 Cyberhawk
 
24.05.18
10:53
(25) До покупки / внедрения надо такие моменты значит узнавать, получая гарантию, что у разработчика конфы есть доступ к им же закрытому коду в модулях
27 MM
 
24.05.18
10:54
(25) Как минимум это платно, новая версия потребует перепрошивки ключа, потом нужно будет переносить многочисленные доработки в новую версию, а их делали разные люди.
И чем поможет документация, если любое обращение к модулю валит 1С предприятие.
28 Oftan_Idy
 
24.05.18
10:55
(27) Круто,чё
29 Cyberhawk
 
24.05.18
10:56
(27) "новая версия потребует перепрошивки ключа, потом нужно будет переносить многочисленные доработки в новую версию" // Ну разраб технически-то легко может обеспечить совместимость и текущей версии своей конфы с новыми платформами. Просто не хочет, ибо его никто на этом за яйца не держит)
30 olegves
 
24.05.18
11:07
(25) найти разработчиков, заплатить им и открыть закрытый модуль - база же, похоже, не на поддержке? Это будет дешевле.
31 X Leshiy
 
24.05.18
11:20
(0) Как-то поимел проблем с переходом 8.2 -> 8.3 старого БИТа на ранних управляемых формах.

Общие формы (лично у меня) никогда не выпендривались на новые версии платформы.

Попробуй запустить копию на новом сервере.
32 Tornadius
 
24.05.18
11:23
(31) Обсуждался этот вариант, но решили не рисковать, так как перепроверить весь переписанный функционал не представляется возвожным
33 Oftan_Idy
 
24.05.18
11:25
(32) Используй Конвертацию, это решит твои проблемы
34 X Leshiy
 
24.05.18
11:26
(32) Используй расширение в варианте (4)?
35 Serg_1960
 
24.05.18
11:29
Sorry, я что-то не понял про COM-коннектор. Проблема автора в том, что 8.2 и 8.3 не соединяются? "А гуглить не пробовали"(цы) :)
Теория (ну почти)
http://catalog.mista.ru/public/387577/
Практика (если уместно так выразиться)
http://catalog.mista.ru/public/276794/
36 Tornadius
 
24.05.18
11:36
(35) Можно проще - переписать  функцию ИмяCOMСоединителя()
Но не хотелось бы снимать с поддержки.
37 Mikhail Volkov
 
24.05.18
11:40
(0) Сталкивался https://www.forum.mista.ru/topic.php?id=800982 там есть ссылки, которые тебе помогут, например, http://catalog.mista.ru/public/276794/.
38 X Leshiy
 
24.05.18
11:45
(36) Расширением никак?
39 Serg_1960
 
24.05.18
11:47
(36) Эээ... а при чём тут "снятие с поддержки"? Когда у меня возникла необходимость формировать проводки в УПП 1.3 на 8.2 из ЗУП 3.1 на 8.3, то выкрутился внешней обработкой заполнения ТЧ, без внесения дополнительных изменений в типовой функционал.
40 Serg_1960
 
24.05.18
12:03
Да вот ещё, "дополнение" так сказать к ссылке выше:
http://catalog.mista.ru/public/610960/
41 Tornadius
 
14.06.18
12:27
(35) То решение, которое предлагается по ссылке  http://catalog.mista.ru/public/276794/ подразумевает постоянное изменение реестра операционки сервера, а теперь представте,что будет с тем сервером, у которого правят реестр до 100 пользаков одновременно, да и какой админ допустит такое решение?
42 hhhh
 
14.06.18
13:26
(39) Функция ИмяCOMСоединителя() Экспорт
    СистемнаяИнфо = Новый СистемнаяИнформация;
    ПодстрокиВерсии = СтрРазделить(СистемнаяИнфо.ВерсияПриложения, ".");
    Возврат "v" + ПодстрокиВерсии[0] + ПодстрокиВерсии[1] + ".COMConnector";
КонецФункции


объясните, как вообще возможно при помощи этой функции обратиться из платформы 8.2 на платформу 8.3.
43 Serg_1960
 
14.06.18
14:27
Вопросы, вопросы, вопросы. Я предложил вариант решения - переназначение коннекторов из "вне" платформы. Не нравится - не используйте :(

Я же не спрашиваю у ТС, какого чёрта он сидит на разных версиях платформ и не перевёл до сих пор весь свой зоопарк на единую платформу? Не спрашиваю.

Мне, когда приперло, взял и реализовал временно. У меня не было необходимости оперативно изменять соединители туда/сюда всё время.

Да и вообще, юзвера могут работать по сети или сидя в терминале. Чисто теоретически, наверное, можно сделать так, чтобы, если сидят в терминале, - то соединение типа 8.2<->8.3, а если работают по сети - то 8.2<->8.2 и 8.3<->8.3. Выбираешь место - предопределяешь соединение.
44 Tornadius
 
26.06.18
11:28
(43) Потому и сижу, что страшно. Страшно переходить с 8.2.9.130 на 8.3. Ибо база настолько измочалена предшественниками, что никто не берется гарантировать работоспособность после перехода. Самому как кость в горле, вот и изгаляюсь, пытаясь наладить обмен между базами. При этом еще и интерактив требуют, ибо каждый привык работать только в своей базе и переключаться в лом.
45 Serg_1960
 
26.06.18
11:53
Ничего "страшного", поверь :) у меня у самого РИБ УПП 1.3, обмен с ЗУП 2.5 и COM c ЗУП 3.1.5 :)

Переползаешь на платформу 8.2.13 - это ведь принципиально не страшно? Потом ставишь платформу 8.3, конфигурацию - в режим совместимости "8.2.13"... и уже не страшно :)
46 Tornadius
 
28.06.18
10:30
Вчера удалось подключиться в обратную сторону: Из БП_Агро (8.3) на УПП 1.3 (8.2) Связав их через коннектор V82ComConector. В продолжении темы есть попутный вопрос: Нет ли у кого случаем, схемы бизнес-процесса (или бизнес-процессов) системы согласования заявок на расход ДС? Особенно актуально в разрезе "Головное казначейство" - "Выделенная (входящая в холдинг) организация" - "Клиент-банк".
Основная теорема систематики: Новые системы плодят новые проблемы.