|
Интерактивные операции недоступны | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
09.11.22
✎
17:04
|
Альфа-Авто и КА1 (УПП) когда-то работали на одной платформе 8.3.10.2466. В каждом справочнике в Альфа-Авто, в частности: Контрагенты, Договора... сделаны кнопки "Найти/Создать в КА", по которой находит или создает в КА1 данный элемент, и открывает его в КА1 по Com-соелинению. Теперь КА1 (УПП) кроме Альфа-Авто работает на более высокой платформе, и при нажатии этой кнопки выдает ошибку:
{Справочник.ДоговорыВзаиморасчетов.Форма.ФормаЭлемента.Форма(423)}: Ошибка при вызове метода контекста (ПолучитьФорму) Форма=СсылкаКА.ПолучитьФорму(); по причине: Произошла исключительная ситуация (1C:Enterprise 8.3.10.2466): Интерактивные операции недоступны Можно ли устранить ошибку, как? |
|||
70
Сергиус
22.11.22
✎
13:41
|
(67)В итоге у вас в GUID должно быть строковое представление гуида из базы КА. А дальше уж можно пробовать делать по вашей схеме.
|
|||
71
Kassern
22.11.22
✎
14:07
|
(69) Оо ОткрытьСсылкуВДругойБазе.exe - это что-то новенькое) В 1с есть такая тема как навигационная ссылка
|
|||
72
Mikhail Volkov
22.11.22
✎
14:22
|
(71) https://infostart.ru/public/1042208/ - не работает с КА1 (УПП), почему? Раньше работала с КА2.
|
|||
73
Сергиус
23.11.22
✎
02:56
|
(72)Возможно НазваниеОкна не то передается. Какую то ошибку дает или просто не открывает и всё?
|
|||
74
Mikhail Volkov
23.11.22
✎
18:18
|
Нашел копию старой базы Альфа-Авто с времен, когда отлаживал открытие документов в КА2 из Альфа-Авто. Сейчас даже Com-соединение сделать не может: При попытке соединения с COM-сервером произошла следующая ошибка:
Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса Тип не определен (Запрос) Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент) |
|||
75
Сергиус
23.11.22
✎
20:59
|
(74)Это проблема с версией comcntr.dll, нужно сделать перерегистрацию от нужной платформы.
|
|||
76
Сергиус
23.11.22
✎
21:01
|
+(75)Хотя в данном случае возможно дело в том, что Новый Запрос на клиенте пытаетесь вызвать..
|
|||
77
Mikhail Volkov
24.11.22
✎
16:51
|
(75) Возможно, но вчера эта ошибка выскочила, когда в Альфа-Авто запустил обработку документов: сверить с КА, с какой именно - с КА2. А сегодня с КА1, обработка прошла успешно (по Com-соединению), оттуда открываю документ КА, и он открывается https://ibb.co/wMfCjSf , но не обработкой ОткрытьОбъектВБазеВысокойВерсии(СсылкаКА), а просто: СсылкаКА.ПолучитьФорму().ОткрытьМодально();
// Обработчик открытия документа в КА //+МВ 10.07.2014 Процедура ДокументыРезультатДокументКАОткрытие(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ТекСтрока = ЭлементыФормы.ДокументыРезультат.ТекущаяСтрока; Если Элемент.Значение = Неопределено Или обЗначениеНеЗаполнено(ТекСтрока.ДокументКА) Или Найти(ТекСтрока.ДокументКА, "<Не найден>") > 0 Тогда Предупреждение("Документ " + ?(Элемент.Значение = Неопределено, "", СокрЛП(ТекСтрока.Документ)) + " в КА не найден!", 60); Возврат; КонецЕсли; СсылкаКА = мвДоработки.НайтиДокументКА(ТекСтрока.Документ); Если мвДоработки.ПодключенаВысокаяВерсия() Тогда мвДоработки.ОткрытьОбъектВБазеВысокойВерсии(СсылкаКА); ИначеЕсли обЗначениеНеЗаполнено(СсылкаКА.DataVersion) Тогда Предупреждение("Документ " + СокрЛП(ТекСтрока.Документ) + " в " + мвДоработки.БазаОрганизации(ТекСтрока.Организация) + "не найден!", 60); Иначе СсылкаКА.ПолучитьФорму().ОткрытьМодально(); КонецЕсли; КонецПроцедуры Функция ПодключенаВысокаяВерсия() работает по наличию порта: Возврат Найти(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), ":1641") > 0; а там его не оказалось: Srvr="ANDROMEDA";Ref="PATRCA";!? Как формируется СтрокаСоединенияИнформационнойБазы()? |
|||
78
Сергиус
27.11.22
✎
12:46
|
(77)[СсылкаКА.ПолучитьФорму().ОткрытьМодально()] - значит через OLE идет открытие, иначе бы и не дал.
[ Возврат Найти(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), ":1641") > 0] - значит через другой порт подключает в данном случае. Попробуйте сделать запись в Журнал, чтобы понять какой именно. |
|||
79
Mikhail Volkov
29.11.22
✎
13:44
|
(78) А возможно КА1 открылась (открыла свой документ https://ibb.co/wMfCjSf ) в той же версии 8.3.10.2466 (что и Альфа-Авто).
И что в ней фиксировать: ОбъектКА.СтрокаСоединенияИнформационнойБазы()? |
|||
80
Сергиус
29.11.22
✎
14:56
|
(79)Ну да, текущие параметры соединения.
|
|||
81
Mikhail Volkov
02.12.22
✎
12:34
|
(80) В ОбъектКА.СтрокаСоединенияИнформационнойБазы() содержится имена сервера и базы, возможно порт ":1641" - по его наличию определяю к какой версии КА подключились. Но нет уверенности в этом, хотелось бы как-то по-другому. Например, в текущей базе:
СисИнфо = Новый СистемнаяИнформация; ВерсияПриложения = СисИнфо.ВерсияПриложения; А для ОбъектКА как? |
|||
82
Mikhail Volkov
03.12.22
✎
09:13
|
Как определить версию платформы подключенную по com-соединению?
|
|||
83
Сергиус
03.12.22
✎
13:44
|
(82)ОбъектКАСистемнаяИнформация = ОбъектКА.NewObject("СистемнаяИнформация");
Сообщить(ОбъектКАСистемнаяИнформация.ВерсияПриложения); Так попробуйте. |
|||
84
Mikhail Volkov
03.12.22
✎
19:24
|
(83) Спс, так сработало: оказывается сейчас подключается на 8.3.10.2466. Это сомнение (81) у меня появилось, когда заметил, что из СтрокаПодключения вырезаю порт: СтрокаПодключенияБезПорта = СтрЗаменить(СтрокаПодключения, ":1641", ""); далее:
БазаКА = Новый COMОбъект("V83" + ?(ПодключенаВысокаяВерсия(СтрокаПодключения), ".COMConnector_" + ВысокаяВерсия, ".Application")); ТекCOMОбъект = БазаКА.Connect(СтрокаПодключенияБезПорта); Вырезать порт стал, когда видимо занимался этим Тип не определен (Запрос) Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент) и забыл. А теперь СтрокаПодключения с портом дает ошибку: При попытке соединения с COM-сервером произошла следующая ошибка: {ОбщийМодуль.мвДоработки.Модуль(6652)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Несоответствие версий клиента и сервера 1С:Предприятия Различаются версии клиента и сервера (8.3.10.2466 - 8.3.19.1522), клиентское приложение: COM-соединение |
|||
85
Сергиус
04.12.22
✎
00:54
|
(84)Получается, что сервер 1с, где у вас КА стоит, на 8.3.19 платформе, соот-но об этом и ошибка.
|
|||
86
Mikhail Volkov
04.12.22
✎
09:49
|
(85) Раньше платформа 8.3.19 использовалась только для КА2, а КА1 работала 8.3.10, и без разницы было вырезается порт из СтрокаПодключения, или нет - его там не было. Но теперь все базы переведены на 8.3.19 (кроме Альфа-Авто), почему СтрокаПодключения с портом дает ошибку (84)?
|
|||
87
Сергиус
04.12.22
✎
12:59
|
(86)Ошибка - недопустимая строка с указанием класса? Попробуйте сделать regsv32 для comcntr.dll, на том компе, откуда идет вызов. Соот-но делать из папки bin нужной версии платформы, запустив cmd с правами адм-ра.
|
|||
88
Mikhail Volkov
04.12.22
✎
13:48
|
(87) Не, При попытке соединения с COM-сервером произошла следующая ошибка:
{ОбщийМодуль.мвДоработки.Модуль(6652)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Несоответствие версий клиента и сервера 1С:Предприятия Различаются версии клиента и сервера (8.3.10.2466 - 8.3.19.1522), клиентское приложение: COM-соединение |
|||
89
Сергиус
04.12.22
✎
13:52
|
(88)Получается у вас текущий вызов из 8.3.10 идёт, о чем собственно и пишет. У модуля мвДоработки какие галки стоят?
|
|||
90
Mikhail Volkov
04.12.22
✎
15:52
|
(89) Сервер, Клиент (обычное приложение) и Вызов сервера.
|
|||
91
Сергиус
04.12.22
✎
17:07
|
(90)У вас же в режиме управляемых форм запущено? тогда получается, что сервер, на котором всё крутится, имеет версию 8.3.10
|
|||
92
Mikhail Volkov
04.12.22
✎
21:14
|
(91) В режиме УФ только КА2, Альфа-Авто и КА1 - обычные формы, на сервере две платформы: 8.3.10 на 15хх стандартных портах (без портов), 8.3.19 на портах 16хх.
|
|||
93
Сергиус
05.12.22
✎
03:26
|
(92)Что то путаница какая-то. У вас вызов COM соединения идет из Альфа-авто в КА, так? получается, если судить по тексту ошибки в (88), АА работает именно на платформе 8.3.10(ну или правильней сказать, для связи через COM, используется компонента версии 8.3.10). Поэтому и предлагаю вам попробовать сделать перерегистрацию comcntr.dll на сервере из папки bin 8.3.19
|
|||
94
Mikhail Volkov
07.12.22
✎
12:36
|
(93) Наверное ты прав, сейчас все базы кроме Альфа-Авто работаю на 8.3.19, и можно сделать перерегистрацию comcntr.dll (как?). Но сейчас, пока не разобрался с ошибкой (88), сейчас хоть по COM-соединению 8.3.10 Альфа-Авто каждый день получает данные из КА1 для банковской выписки. Потом наверное можно убрать это https://ibb.co/3cGhCXr ?
|
|||
95
Сергиус
07.12.22
✎
14:26
|
(94)Сделайте в коде поиск по имени COMConnector_8.3.10. Так увидите, где оно используется в явном виде.
|
|||
96
Mikhail Volkov
07.12.22
✎
16:24
|
(95) Нигде не используется, вместо этого (84):
БазаКА = Новый COMОбъект("V83" + ?(ПодключенаВысокаяВерсия(СтрокаПодключения), ".COMConnector_" + ВысокаяВерсия, ".Application")); СтрокаПодключения содержит имя сервера с портом, поэтому ПодключенаВысокаяВерсия(СтрокаПодключения) = Истина; |
|||
97
Сергиус
07.12.22
✎
16:37
|
(95)Тогда странно. По идее высокая версия это же "8.3.19" должно быть. Попробуйте в настройках службы компонентов выбрать нужную dll еще раз.
|
|||
98
Mikhail Volkov
07.12.22
✎
18:28
|
(97) Как?
|
|||
99
Сергиус
07.12.22
✎
22:10
|
(98)Удалить и создать заново например.
|
|||
100
Mikhail Volkov
08.12.22
✎
08:35
|
(99) Где, в службе компонентов?
|
|||
101
arsik
гуру
08.12.22
✎
08:37
|
Да уж. Месяц прошел.
|
|||
102
Сергиус
08.12.22
✎
13:41
|
(100)Именно.
|
|||
103
Сергиус
08.12.22
✎
13:41
|
(101)"Солдат спит, а служба идёт")
|
|||
104
Mikhail Volkov
08.12.22
✎
15:43
|
(102) Кажется нашел статью, по которой делал V83.COMConnector_8.3.19.1522 https://infostart.ru/public/610960/ - COM соединения с базами 1С на различных версиях платформы "Без перерегистрации и СМС" (СМС - ?). Тогда ее использовал при Com-соелинении с КА2, а КА1 работала на той же версии платформы, что Альфа-Авто. Сейчас, когда все базы работают на этой платформе (кроме Альфа-Авто), то наверное мне нужно сделать перерегистрацию, но как?
|
|||
105
Kassern
08.12.22
✎
15:51
|
(104) "мне нужно сделать перерегистрацию, но как?" - regsvr32 "ПутьДоКомКоннектор.длл"
|
|||
106
Kassern
08.12.22
✎
15:52
|
Далее в службу компонентов и там выбрать нужную библиотеку комконнектора для обертки (если у вас 64х клиент)
|
|||
107
Mikhail Volkov
08.12.22
✎
16:09
|
(105) Понял https://vipasoft.com/oshibca-com-podcliucenia/, а (106) нет, у меня х64.
|
|||
108
Сергиус
08.12.22
✎
17:28
|
(107)Для 64х так делается C:\WINDOWS\SysWow64\regsvr32 <путь к dll из папки bin нужно платформы>
|
|||
109
Mikhail Volkov
08.12.22
✎
17:57
|
(102) Кажется нашел свою ошибку в V83.COMConnector_8.3.19.1522 - в ней указана: C:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll низкая версия платформы Альфа-Авто, как мне заменить на версию 8.3.19.1522? Сделал все по https://infostart.ru/public/610960/: 8. Открываем "regedit" через пуск или команду "Выполнить", нажимаем F3 и указываем для поиска строку с наименованием созданой нами обертки, например "V83.COMConnector_8.3.9.2033". Или использум для поиска CLSID созданной обертки. В ветке "InprocServer32" меняем значение у меня, "C:\Program Files (x86)\1cv8\8.3.10.2168\bin\comcntr.dll" на путь к нужной версии длл, в данном случае "C:\Program Files (x86)\1cv8\8.3.9.2033\bin\comcntr.dll". https://ibb.co/Sy93yrY Но все так же: При попытке соединения с COM-сервером произошла следующая ошибка:
{ОбщийМодуль.мвДоработки.Модуль(6652)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Несоответствие версий клиента и сервера 1С:Предприятия Различаются версии клиента и сервера (8.3.10.2466 - 8.3.19.1522), клиентское приложение: COM-соединение |
|||
110
Сергиус
08.12.22
✎
20:39
|
(109)После изменений в реестре, делали перезапуск системы?
|
|||
111
Mikhail Volkov
09.12.22
✎
10:07
|
(110) А как сделать перезапуск службы компонентов? После ночной перезагрузки сервера стало все нормально: в свойствах V83.COMConnector_8.3.19.1522 указана DDL C:\Program Files\1cv8\8.3.19.1522\bin\comcntr.dll и Альфа-Авто: Подключение выполнено к базе: 'Srvr="ANDROMEDA:1641";Ref="PATRCA";' версии: 8.3.19.1522 09.12.2022 11:16:22
|
|||
112
Сергиус
09.12.22
✎
12:08
|
(111)Так и логично, после перезапуска применилось.
|
|||
113
Mikhail Volkov
09.12.22
✎
12:15
|
(112) Значит никак, только сервер перезагружать?
|
|||
114
Сергиус
09.12.22
✎
21:51
|
(113)Так вы уже пишите что применилось. Или на будущее? Можно попробовать службу перезапустить, если перезагрузка критична.
|
|||
115
Mikhail Volkov
10.12.22
✎
09:16
|
(114) Точно не знаешь как службу компонентов перезапустить?
|
|||
116
Сергиус
10.12.22
✎
12:53
|
(115)Можно попробовать зайти в ее свойства, там стоит галка Включить. Её снять, применить. Потом зайти заново и поставить, применить.
|
|||
117
Mikhail Volkov
13.12.22
✎
16:42
|
(116) А на какой вкладке эта галка Включить?
|
|||
118
Сергиус
14.12.22
✎
01:34
|
(117)Посмотрел - нет такой что-то там. Тогда попробуйте перезапустить в Службах - Системное приложение COM+, но надежней конечно саму винду рестартнуть.
|
|||
119
Mikhail Volkov
14.12.22
✎
12:39
|
Пользователь опять прислал ошибку типа (88), только наоборот (версии клиента и сервера): При попытке соединения с COM-сервером произошла следующая ошибка:
{ОбщийМодуль.мвДоработки.Модуль(6653)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Несоответствие версий клиента и сервера 1С:Предприятия Различаются версии клиента и сервера (8.3.19.1522 - 8.3.10.2466), клиентское приложение: COM-соединение Думал что-то вроде (109), но в свойствах V83.COMConnector_8.3.19.1522 DLL C:\Program Files\1cv8\8.3.19.1522\bin\comcntr.dll, и в реестре HKEY_CLASSES_ROOT\CLSID\{CE6B6970-AB08-455B-A369-9DEF9CD4D4DB}\InprocServer32 тоже значение. Где еще смотреть? |
|||
120
Kassern
14.12.22
✎
12:44
|
(119) Да причем тут это. Вам же ошибка пишет, что к чему. Вы пытаетесь подключиться по ком к базе которая на одной платформе с базы на другой платформе, если я правильно понял
|
|||
121
Mikhail Volkov
14.12.22
✎
15:06
|
(120) Да, все правильно, а что нельзя? И главное, у меня нет таких ошибок (119), а другого пользователя есть!?
|
|||
122
Kassern
14.12.22
✎
15:14
|
(121) как вызываете ком соединение, когда ошибка происходит? Через Aplication, или ComСonnector ?
Читали эту статью? https://infostart.ru/1c/articles/387577/ |
|||
123
Сергиус
14.12.22
✎
20:15
|
(119)Похоже он пытается подключиться к серверу с более старой версией, тут только отладкой с его машины смотреть.
|
|||
124
JeHer
15.12.22
✎
06:45
|
А не проще на сервере 8.3.10.2466 с другим портом зарегистрировать нужную базу КА и ломиться туда по КОМ, если напряжно поменять платформу для Альфа-авто?
|
|||
125
Mikhail Volkov
15.12.22
✎
11:17
|
(122) Да, читал (для меня это что-то инопланетное), даже вопросы задавал: можно ли V83.Application использовать для OLE-подключения к базе на другой платформе. Но утвердительного ответа не получил, видимо нет. Но V83.COMConnector_8.3.14.1779 работало (в то время, сейчас обновил платформу на 8.3.19.1522).
(123) Почему подключиться к серверу с более старой версией, к 8.3.19.1522. (124) Не понял твоего предложения, желательно подробнее... |
|||
126
Mikhail Volkov
16.12.22
✎
16:35
|
(123) А какой фрагмент смотреть, этот (команду Сообщить("Начало подключения через COM-Объект... вставил для замера времени COM-соединения):
Попытка Сообщить("Начало подключения через COM-Объект " + ВерсияПриложения + " COMОбъект: " + "V83" + ?(ПодключенаВысокаяВерсия(СтрокаПодключения), ".COMConnector_" + ВысокаяВерсия, ".Application") + " " + ТекущаяДата(), СтатусСообщения.Информация); // БазаКА = Новый COMОбъект("V8" + ?(Найти(ВерсияПриложения, "8.2") = 0, "3", "2") + ?(ПодключенаВысокаяВерсия(СтрокаПодключения), ".COMConnector_" + ВысокаяВерсия, ".Application")); //+МВ 09.02.2016 С переходом на версию 8.3 (если файловые остаются на 8.2, то добавить: И Не СтруктураПодключения.ФайловыйРежим //+МВ 15.07.2017) БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522"); ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения); Оба пользователя его проходят, но у пользователя он с ошибкой: Различаются версии клиента и сервера, а у меня выполняется без ошибок!? Такую ошибку вроде (не уверен, давно было) встречал, когда переустанавливал платформу, и на одном из серверов (их два: SQL и Терминальный) что-то делал неправильно. Кто знает что происходит в реестре (какие значения меняются) при регистрации comcntr.dll другой версии платформы? |
|||
127
JeHer
17.12.22
✎
03:51
|
(125) ну на том же сервере 1С, где крутится Альфа-авто, добавить базу КА, путь к SQL прописать боевой и т.п.
|
|||
128
Mikhail Volkov
17.12.22
✎
09:55
|
(127) Так и есть: "на том же сервере 1С, где крутится Альфа-авто, добавить базу КА, путь к SQL прописать боевой". База КА на другой более высокой платформе 8.3.19.1522, которая установлена на том же сервере, в другом диапазоне портов 16хх. "и т.п."?
|
|||
129
Сергиус
18.12.22
✎
00:46
|
(125)[Почему подключиться к серверу с более старой версией, к 8.3.19.1522.]
[Различаются версии клиента и сервера (8.3.19.1522 - 8.3.10.2466), клиентское приложение: COM-соединение] Ну как бы сообщение об ошибке об этом говорит в данном случае. Клиент версии 19, а сервер 10-й. |
|||
130
Mikhail Volkov
18.12.22
✎
09:38
|
(129) И что надо сделать, чтобы запускалась нужная версия для Com-соединения?
|
|||
131
Сергиус
19.12.22
✎
03:01
|
(130)Судя по описанию ошибки из (119), клиент с платформы 19 пытается подключиться к серверу на 10-й, о чем собственно и ошибка. Поэтому, надо добиться чтобы соответствовало. Т.е. чтобы клиент дергал библиотеку comcntr.dll от 10-й версии. Она у него есть на компе?
|
|||
132
Mikhail Volkov
19.12.22
✎
12:21
|
(131) А надо чтобы подключался в серверу на 19 платформе. Добавил порт ":1641" к имени сервера в строке подключения, и вроде заработало как надо! Посмотрим...
|
|||
133
Сергиус
19.12.22
✎
12:45
|
(132)Логично, видно по стандартному порту как раз старый сервер и висит.
|
|||
134
Mikhail Volkov
19.12.22
✎
14:06
|
Вернемся к первоначальному вопросу, или OLE-соединение (V83.Application) с другой версией платформы невозможно?
|
|||
135
Сергиус
19.12.22
✎
15:22
|
(134)Нет, вы же об этом и получаете сообщение в (0)
|
|||
136
Сергиус
19.12.22
✎
15:26
|
+(135)Точнее вы получите сообщение о разных версиях клиента и сервера при попытке подключиться.
|
|||
137
Mikhail Volkov
19.12.22
✎
18:14
|
(136) Да, когда-то спрашивал на https://infostart.ru/public/1279439/: Возможно ли подключение к другой базе по OLE обычным пользователям (без административных прав), если подключаемая база работает на другой, более высокой версии платформы 8.3? Суть проблемы https://i.ibb.co/pdrH9Wy/COM.jpg - не получил ответа, не помню: добавлял ли порт в строке подключения как в (132).
|
|||
138
Mikhail Volkov
21.12.22
✎
17:42
|
Вроде нашел: "C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver https://forum-1c.ru/index.php?topic=45679.0
Тогда вместо БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522"); Com-соединения пишу: БазаКА = Новый COMОбъект("V83.Application"); OLE-соединение (вроде оно более полное, чем Com), и должно работать. Но толи сервер надо перегружать, толи платформу менять (не хотелось бы) из-за предупреждения Какая платформа нужна последнему релизу УПП? |
|||
139
Mikhail Volkov
22.12.22
✎
17:50
|
После замены: БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522"); на: БазаКА = Новый COMОбъект("V83.Application"); не работает как ожидалось (сервера перезагрузил, проблему с предупреждением КА1 вроде решил).
После выполнения команд: БазаКА = Новый COMОбъект("V83.Application"); ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения); почему-то открывается КА1 (УПП), далее у меня пописано типа (83) для определения версии базы подключения, так выскакивает из попытки подключения. После я эти команды закомментировал, пишет: Подключение выполнено к базе: 'Srvr="ANDROMEDA:1641";Ref="PATRCA";' в 22.12.2022 18:41:37, но затем: Значение не является значением объектного типа (NewObject) Запрос = ОбъектКА.NewObject("Запрос"); - это уже исполнение самого кода, раньше при Com-соединении (БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522");) такого не было!? OLE-соединение ведь более полное, чем Com-соединение (доступны лишь функции сервера). Даже не знаю что дальше делать? Как определить версию платформы базы OLE-соединения? |
|||
140
JeHer
23.12.22
✎
04:42
|
||||
141
Сергиус
23.12.22
✎
05:14
|
(139)[почему-то открывается КА1 (УПП)] - а что должно открываться? смотря что у вас в СтрокаПодключения
[Значение не является значением объектного типа (NewObject) Запрос = ОбъектКА.NewObject("Запрос");] Смотрите отладчиком, что в ОбъектКА. |
|||
142
Mikhail Volkov
23.12.22
✎
10:20
|
(140) Сделал бы (делаю), но как?
(141) СтрокаПодключения та же самая: Srvr="ANDROMEDA:1641";Ref="PATRCA";Usr="Администратор";Pwd="пароль"; А ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения); - Истина (не COMОбъект, как при БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522"); или для OLE-соединения СтрокаПодключения другая, какая?)!? Раньше (в одной версии) работало же? |
|||
143
Сергиус
23.12.22
✎
12:17
|
(142)Ref="PATRCA" это КА1 или нет? Почему вы тогда удивляетесь, что именно она открывается)
|
|||
144
Сергиус
23.12.22
✎
12:19
|
+(143)Для "V83.Application" строка подключения точно такая же, как для "V83.COMConnector". Да и судя по тому, что у вас [ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения); - Истина], подключение проходит.
|
|||
145
Mikhail Volkov
23.12.22
✎
17:08
|
(143) Удивляюсь, почему полное окно базы КА открывается? Раньше только окно нужного справочника (например, контрагента) открывалось... https://ibb.co/K6Y859f
(144) Да, строка подключения точно такая же. Но глобальная переменная БазаКА для OLE (V83.Application) и Com (V83.COMConnector_8.3.19.1522) разные. Пришлось добавить переменную OLE функции ПодключитсяКА(), и дописать: Возврат ?(OLE, БазаКА, ТекCOMОбъект); Может Com-соединение больше не нужно, если есть OLE-соединение? |
|||
146
Kassern
23.12.22
✎
17:15
|
(145) "Удивляюсь, почему полное окно базы КА открывается" - потому что ОЛЕ, потому что Application. Вы пишите код и совсем не понимаете, что он делает и какая разница между Application и COMConnector
|
|||
147
Kassern
23.12.22
✎
17:16
|
А ведь вам норм статью скидывали, где все это дело разжевано. За то время, которое вы ковыряли КОМ, можно было первоклассный веб сервис замутить и уже не зависеть ком соединения, версий платформы и прочих косяков.
|
|||
148
Сергиус
23.12.22
✎
17:30
|
(145)[Но глобальная переменная БазаКА для OLE (V83.Application) и Com (V83.COMConnector_8.3.19.1522) разные] У вас одновременно может быть оба вида подключения? Если нет, то какая разница, что будет в общей переменной.
|
|||
149
Mikhail Volkov
23.12.22
✎
18:20
|
(147) А можно ссылку на эту статью?
(148) Не знаю одновременно ли... пока так оставлю. |
|||
150
Сергиус
23.12.22
✎
18:25
|
(145)[ Удивляюсь, почему полное окно базы КА открывается] - вы уверены, что это через OLE? Насколько помню, у вас была какая-то сторонняя программа, которая запускала новый сеанс 1с. Возможно это она.
|
|||
151
Mikhail Volkov
23.12.22
✎
18:45
|
(150) Где я такое писал? не помню...
|
|||
152
Сергиус
23.12.22
✎
18:51
|
(151)В (69) идет речь про ОткрытьСсылкуВДругойБазе.exe
|
|||
153
Mikhail Volkov
24.12.22
✎
10:43
|
(152) Пробовал ее вставить в форму контрагентов в Процедуру ДействияФормыСоздатьВКА(Кнопка) см. (2), но этот фрагмент закомментировал, ОткрытьСсылкуВДругойБазе.exe здесь ни причем:
// Если мвДоработки.ПодключенаВысокаяВерсия() Тогда // Если ЗначениеЗаполнено(Ссылка) Тогда // мвДоработки.ОткрытьОбъектВБазеВысокойВерсии(Ссылка); // Иначе // Предупреждение("Контрагент не записан!", 60); // КонецЕсли; // Иначе |
|||
154
Mikhail Volkov
05.01.23
✎
12:22
|
Бухгалтер в УПП делала отчет Сведения о застрахованных лицах СЗВ-стаж, и у нее выскочила: Ошибка SDBS Выход за пределы размерности результата, и 2 кнопки: Завершить работу и Перезапустить. Сейчас на платформе 8.3.19.1522. Платформу менять, например, на 8.3.21.1644 от 13.12.22 (пока отложил, она стоит 2-й на сервере), или что другое?
|
|||
155
Mikhail Volkov
05.01.23
✎
19:11
|
Сделал отчет Сведения о застрахованных лицах СЗВ-стаж под собой, сохранил его. А бухгалтер не может его открыть: Ошибка SDBS Ожидается выражение (pos=314)?
|
|||
156
Сергиус
05.01.23
✎
22:22
|
(154)Это связано с обращением к другой базе или нет?
|
|||
157
Сергиус
05.01.23
✎
22:23
|
(155)У вас какая платформа?
|
|||
158
Mikhail Volkov
06.01.23
✎
12:40
|
(156) Нет.
(157) Сейчас пока на платформе 8.3.19.1522, но думаю менять. Если не будет дельных советов. |
|||
159
Mikhail Volkov
06.01.23
✎
12:48
|
В сентябре было подобное, когда бухгалтер пробовала создать справку 2-НДФЛ, не помню как исправил...
|
|||
160
Mikhail Volkov
06.01.23
✎
12:52
|
||||
161
Сергиус
06.01.23
✎
19:41
|
(160)Если чистка не помогает, то пробовать менять платформу на туже 21-ю.
|
|||
162
Mikhail Volkov
10.01.23
✎
14:21
|
Обновляю 2-ю платформу на 8.3.21.1644
|
|||
163
Mikhail Volkov
10.01.23
✎
14:21
|
скачал ее, разархивировал, вроде установил, но где картинка с галочкой Установить сервер 1С как сервис Windows https://tavalik.ru/wp-content/uploads/2014/07/zapusk-neskolkix-serverov-1spredpriyatiya-raznyx-versij_03.png , которую надо снять? Напомните...
|
|||
164
Mikhail Volkov
10.01.23
✎
15:00
|
На первой картинке не указал: Сервер 1С:Преприятиие, сейчас вроде нормально - картинка (163) появилась.
|
|||
165
Mikhail Volkov
10.01.23
✎
19:31
|
Читаю https://tavalik.ru/zapusk-neskolkix-serverov-1spredpriyatiya-raznyx-versij/ не пойму как службе другое имя дать, отличное от 1C:Enterprise 8.3 Server Agent (x86-64)?
|
|||
166
Mikhail Volkov
11.01.23
✎
08:55
|
Из (165): Для регистрации сервера с данными параметрами выполним команду
.\ragent.exe -instsrvc -port 2540 -regport 2541 -range 2560:2591 -usr .\USR1CV8 -pwd UsrPass8 -d "C:\Program Files\1cv8\srvinfo" у меня подозрение, что установка 2-й службы с тем же именем портит 1-ю!? |
|||
167
Mikhail Volkov
11.01.23
✎
09:15
|
Во всяком случае 2-я служба не ставится, почему?
|
|||
168
Mikhail Volkov
11.01.23
✎
14:26
|
Похоже нельзя переименовывать службы 1С. Установил обе версии стандартно с галочкой Установить сервер 1С как сервис Windows (см. 163): одна служба получила стандартное имя: 1C:Enterprise 8.3 Server Agent (x86-64), а 2-я: 1C:Enterprise 8.3 Server Agent (без скобок), у обоих служб одинаковые параметры. У одной из служб заменил на нужные мне параметры: "C:\Program Files\1cv8\8.3.21.1644\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:\Program Files\1cv8\srvinfo_1641" вручную в реестре, а также Description и DisplayName Агент: сервера 1С:Предприятия 8.3.21 (x64), хотел переименовать службу в 1C:Enterprise 8.3.21 Server Agent (x64), но в службах в поле Description появляется ошибка: Failed to Read Description. Error Code: 2
Правильно ли я делаю, что посоветуете? |
|||
169
Mikhail Volkov
13.01.23
✎
18:59
|
Наверное когда нужно обновить 2-ю платформу, то не надо удалять службы, а вручную в реестре отредактировать как надо параметры службы?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |