|
Тип не определен (Запрос) Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент) | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
23.06.22
✎
13:05
|
Таких тем здесь много, ответ понятен, нельзя на клиенте использовать: Запрос = Новый Запрос; Но вопрос не в этом. Обычно работаю с конфигурациями ОФ: Альфа-Авто, КА1 (УПП)... Везде использую общий модуль мвДоработки с галочками: Сервер, Клиент (обычное приложение), Внешнее соединение (в Альфа-Авто не использую), Вызов сервера. Когда в конфигурацию надо внести более 2-х строк, то пишу их в этот модуль в виде функции, а вызов этой функции вставляю в то место, где нужно внести изменение. Когда поддержка КА1 закончилась, сделал базу на КА2 (еще вроде на КА2.1), но в ней пока не работаем, обновляем КА1 УПП. В КА2 тоже сделал общий модуль мвДоработки с галочками: Клиент, Сервер, Внешнее соединение. В нем написал несколько функций (в УФ я начинающий). Среди них есть:
// Возвращает Истина, если у номенклатуры единственное наименование // Функция ЕдинственноеНаименованиеНоменклатуры(Номенклатура) Экспорт Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Наименование = &Наименование"; Запрос.УстановитьПараметр("Наименование", Номенклатура.Наименование); Выборка = Запрос.Выполнить().Выбрать(); Счетчик = 0; Пока Выборка.Следующий() Цикл Если Счетчик > 0 Тогда Возврат Ложь; КонецЕсли; Счетчик = Счетчик + 1; КонецЦикла; Возврат Истина; КонецФункции // Возвращает полное наименование ключа аналитики номенклатуры // без дублей по наименованию Функция ПолучитьПолноеНаименованиеКлючаАналитикиНоменклатуры(МенеджерЗаписи) Экспорт Попытка НаименованиеСклада = СокрЛП(МенеджерЗаписи.МестоХранения); Исключение НаименованиеСклада = СокрЛП(МенеджерЗаписи.Склад); КонецПопытки; Наименование = СокрЛП(МенеджерЗаписи.Номенклатура) + ?(ЕдинственноеНаименованиеНоменклатуры(МенеджерЗаписи.Номенклатура), "", ", " + ?(ПустаяСтрока(МенеджерЗаписи.Номенклатура.Артикул), СокрЛП(МенеджерЗаписи.Номенклатура.Код), СокрЛП(МенеджерЗаписи.Номенклатура.Артикул))) + "; " + ?(ЗначениеЗаполнено(МенеджерЗаписи.Характеристика), СокрЛП(МенеджерЗаписи.Характеристика) + "; ", "") + ?(ЗначениеЗаполнено(МенеджерЗаписи.Серия), СокрЛП(МенеджерЗаписи.Серия) + "; ", "") + ?(ЗначениеЗаполнено(МенеджерЗаписи.Назначение), СокрЛП(МенеджерЗаписи.Назначение) + "; ", "") + ?(ЗначениеЗаполнено(МенеджерЗаписи.СтатьяКалькуляции), СокрЛП(МенеджерЗаписи.СтатьяКалькуляции) + "; ", "") + СокрНаименованиеСклада(НаименованиеСклада); Если СтрДлина(Наименование) > 100 Тогда Наименование = Лев(СокрЛП(МенеджерЗаписи.Номенклатура), СтрДлина(СокрЛП(МенеджерЗаписи.Номенклатура)) - СтрДлина(Наименование) + 97) + "..." + ?(ЕдинственноеНаименованиеНоменклатуры(МенеджерЗаписи.Номенклатура), "", ", " + ?(ПустаяСтрока(МенеджерЗаписи.Номенклатура.Артикул), СокрЛП(МенеджерЗаписи.Номенклатура.Код), СокрЛП(МенеджерЗаписи.Номенклатура.Артикул))) + "; " + ?(ЗначениеЗаполнено(МенеджерЗаписи.Характеристика), СокрЛП(МенеджерЗаписи.Характеристика) + "; ", "") + ?(ЗначениеЗаполнено(МенеджерЗаписи.Серия), СокрЛП(МенеджерЗаписи.Серия) + "; ", "") + ?(ЗначениеЗаполнено(МенеджерЗаписи.Назначение), СокрЛП(МенеджерЗаписи.Назначение) + "; ", "") + ?(ЗначениеЗаполнено(МенеджерЗаписи.СтатьяКалькуляции), СокрЛП(МенеджерЗаписи.СтатьяКалькуляции) + "; ", "") + СокрНаименованиеСклада(НаименованиеСклада); КонецЕсли; Возврат Наименование; КонецФункции которая вызывается из РС АналитикаУчетаНоменклатуры: Функция ПолучитьПолноеНаименованиеКлючаАналитики(МенеджерЗаписи) Возврат мвДоработки.ПолучитьПолноеНаименованиеКлючаАналитикиНоменклатуры(МенеджерЗаписи); //+МВ 12.05.2019 // Возврат СокрЛП(МенеджерЗаписи.Номенклатура) + "; " // + ?(ЗначениеЗаполнено(МенеджерЗаписи.Характеристика), СокрЛП(МенеджерЗаписи.Характеристика) + "; ", "") // + ?(ЗначениеЗаполнено(МенеджерЗаписи.Серия), СокрЛП(МенеджерЗаписи.Серия) + "; ", "") // + ?(ЗначениеЗаполнено(МенеджерЗаписи.Назначение), СокрЛП(МенеджерЗаписи.Назначение) + "; ", "") // + ?(ЗначениеЗаполнено(МенеджерЗаписи.СтатьяКалькуляции), СокрЛП(МенеджерЗаписи.СтатьяКалькуляции) + "; ", "") // + СокрЛП(МенеджерЗаписи.МестоХранения); КонецФункции В данном случае галочка Клиент на мвДоработки не нужна, но можно ли ее убрать? Наверное это зависит от других функций модуля. Как навскидку определить: может ли функция выполняться только на клиенте? Вопрос наверное глупый, но в УФ я начинающий. Убрал галочку Клинт - ошибка: Тип не определен (Запрос) исчезла. Потом вернул ее, сохранил конфигурацию, ошибка не появилась!? Раньше она появлялась, до обновления на 2.5.8.221. |
|||
138
Mikhail Volkov
29.08.22
✎
08:48
|
(135) Даже совсем удалил платформу, и снова поставил, все равно нет COM-Соединения в выборе компонентов. (132) А 2-я картинка: "для 2-й платформы Сервер «1С:Предприятия» устанавливаем не как службу, а как приложение,..." после удаления платформы появилась.
|
|||
139
Mikhail Volkov
29.08.22
✎
10:34
|
Далее все делаю по инструкции в (134), получаю: CreateService error! Ошибка создания службы! Наверное ее надо удалить с предыдущей установки. Как?
|
|||
140
Mikhail Volkov
29.08.22
✎
11:00
|
(139) sc delete "имя службы"
|
|||
141
Mikhail Volkov
30.08.22
✎
08:18
|
Имя службы: "1C:Enterprise 8.3.19 Server Agent (x64)" - специально переименовал ее в реестре, как службу с нестандартным диапазоном портов. Создавал ее не по инструкции (134). Тогда еще PowerShell не пользовался, а чем создавал службу - не помню. Вчера создавал PowerShell: .\ragent.exe -instsrvc -port 1640 -regport 1641 -range 1660:1690 -usr .\USR1CV82 -pwd парольUSR1CV82 -d "C:\Program Files\1cv8\srvinfo_1641\" (ждал ночной перезагрузки сервера), а сегодня обнаружил лишь одну службу: 1C:Enterprise 8.3 Server Agent (x86-64) с нестандартным диапазоном портов. Куда делась служба для платформы 8.3.10.2466 со стандартным диапазоном портов 15хх?
|
|||
142
Mikhail Volkov
30.08.22
✎
08:31
|
Альфа-Авто вроде работает, сидят в ней пользователи.
|
|||
143
Mikhail Volkov
30.08.22
✎
16:30
|
Что делать дальше? Удалить службу 1C:Enterprise 8.3 Server Agent (x86-64) в реестре их 3: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\1C:Enterprise 8.3 Server Agent (x86-64), HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\1C:Enterprise 8.3 Server Agent (x86-64), HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.3 Server Agent (x86-64), и попытаться восстановить службу для платформы 8.3.10.2466 со стандартным диапазоном портов 15хх? А потом пытаться восстановить службу для платформы 8.3.19.1522 со нестандартным диапазоном портов?
|
|||
144
PR
30.08.22
✎
17:07
|
(10) Ужаснулся и решил взорвать интернет, чтобы даже видавшие виды матерые одинесники поседели на твоих глазах?
Запускаешь cmd из-под администратора и выполняешь regsvr32 "C:\Program Files (x86)\1cv8\8.3.20.1549\bin\comcntr.dll" Если сервер 1С 64хбитный, то regsvr32 "C:\Program Files\1cv8\8.3.20.1549\bin\comcntr.dll" Вместо 8.3.20.1549 конечно же вставляешь свою версию 1С Надеюсь, ты там не поседел от ужаса всего написанного? |
|||
145
Mikhail Volkov
30.08.22
✎
17:40
|
(144) Уже было (82).
|
|||
146
Kassern
30.08.22
✎
17:47
|
делайте по шагам, вас нужно научить, как отлаживать ошибки? Окей...
Создаете изолированную систему, устанавливаете на нее одну платформу 1с, по дефолту настраиваете ком коннектор. Все это должно быть в одном месте, на одном сервере и сам кластер и сама 1ска, из которой делаете коннект. В общем создаете идеальные условия и проверяете, что все норм отрабатывает. А далее уже по маааленьким шажкам начинаете эту систему приводить к виду вашей и на каждом этапе проверяете, что ком у вас работает. |
|||
147
СеменовСемен
30.08.22
✎
17:49
|
(145) какую ошибку пишет и в какой момент?
|
|||
148
Kassern
30.08.22
✎
17:50
|
(147) вангую, я все зарегал, все сделалось, а при подключении ошибка класс не зарегистрирован)
|
|||
149
СеменовСемен
30.08.22
✎
17:52
|
разрядность не та наверняка
|
|||
150
Kassern
30.08.22
✎
17:53
|
(149) да там может быть 100500 причин, мы у ТС на сервере не были, хз как он ставил, какая у него структура работы с 1с, как он все это дело запускает и т.д. и т.п.
|
|||
151
Kassern
30.08.22
✎
17:55
|
Например он запускает на клиенте ком соединение, на предприятии несколько кластеров разнесенных на несколько серверов, у него еще несколько активных платформ разных версий на разных портах, хз какой версии зареган комконнектор. И ждет волшебную пулю от мисты, чтобы ему ванганули какую кнопочку нажать, чтобы все взлетело...
|
|||
152
Kassern
30.08.22
✎
17:56
|
Еще не понятно как права настроены, под какими юзверами службы запущены, под какими правами компонента вызывается и как. В общем 100500 нюансов, о которых мы не знаем.
|
|||
153
Kassern
30.08.22
✎
17:57
|
Поэтому я и писал вначале, хватит ком мучать, пилите веб/хттп сервисы)
|
|||
154
Kassern
30.08.22
✎
17:59
|
Ком соединение еще имеет свойство зависать, и лечится это только убиванием рпхоста, в котором данное соединение. А в нем могут быть и активные пользователи... Это конечно более мягкий способ, чем всю службу перезапускать.
|
|||
155
Mikhail Volkov
30.08.22
✎
18:21
|
(143) Удалил службу 1C:Enterprise 8.3 Server Agent (x86-64), запускаю установку от имени администратора, получаю: https://ibb.co/0h2VmSB В каких разрешениях мне убедиться?
|
|||
156
СеменовСемен
30.08.22
✎
18:25
|
(151) версия не важно какая. там ошибка совершенно другая
|
|||
157
Mikhail Volkov
30.08.22
✎
18:38
|
(156) Версия 8.3.19.1522. Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса.
|
|||
158
PR
30.08.22
✎
18:44
|
(157) Судя по тому, сколько ты там говна наворочал, тебе проще всего снести 1С, поставить заново и зарегистрировать COM
|
|||
159
СеменовСемен
30.08.22
✎
18:45
|
(157) либо не та разрядность либо не тот комп
|
|||
160
PR
30.08.22
✎
18:47
|
(159) Либо прокладка
|
|||
161
Mikhail Volkov
30.08.22
✎
19:16
|
(158) Как зарегистрировать COM?
(159) Для платформы 8.3.10.2466 нужна 32-х разрядная клиентская часть, для 8.3.19.1522 она вроде не нужна. (160) Что за прокладка? |
|||
162
СеменовСемен
30.08.22
✎
19:34
|
(161) где запускаешь код
Клиент или сервер? Какой разрядности? |
|||
163
СеменовСемен
30.08.22
✎
19:35
|
А может ты просто криво имя ком объекта написал?
|
|||
164
PR
30.08.22
✎
19:35
|
(161) Между компьютером и стулом
|
|||
165
Mikhail Volkov
31.08.22
✎
09:34
|
(162) Какой код? Этот (115) он в общем модуле - на сервере. Сервер х64.
(163) Было см. (106), теперь: БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522"); Почему появилась 2-я платформа надо описывать? (вроде ранее описывал) Поначалу ставил 8.3.14.1779 и "Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса" вроде не было. С повышением релиза КА2 требовалось обновлять эту платформу. Сейчас возникли подозрения, что обновлял ее неправильно. Как правильно обновить платформу, ее службу удалять обязательно (или достаточно исправить цифры платформы)? Сейчас больше волнует куда делась служба для 8.3.10.2466, на которой работает Альфа-Авто, после удаления службы 1C:Enterprise 8.3.19 Server Agent (x64) (141)? И не восстанавливается при запуске Platform\8.3.10.2466\x86_64\ |
|||
166
СеменовСемен
31.08.22
✎
09:35
|
что это за х..ня
Новый COMОбъект("V83.COMConnector_8.3.19.1522"); |
|||
167
Kassern
31.08.22
✎
09:41
|
(166) обертку можно как угодно назвать для библиотеки.
|
|||
168
СеменовСемен
31.08.22
✎
09:41
|
но зачем все эти выкрутасы?
|
|||
169
Mikhail Volkov
31.08.22
✎
09:43
|
(166) Вообще то: Новый COMОбъект("V83.COMConnector_" + ВерсияПлатформы);
|
|||
170
Mikhail Volkov
31.08.22
✎
09:46
|
(168) См. https://infostart.ru/public/610960/
|
|||
171
СеменовСемен
31.08.22
✎
09:48
|
(170) но зачем?
|
|||
172
СеменовСемен
31.08.22
✎
09:50
|
зачем нужны разные версии вообще?
|
|||
173
Mikhail Volkov
31.08.22
✎
10:07
|
(172) Печально, но например Альфа-Авто 4.1 работает не выше 8.3.10.2466.
|
|||
174
СеменовСемен
31.08.22
✎
10:12
|
(173) ну закомментируй эту проверку
|
|||
175
Mikhail Volkov
31.08.22
✎
10:35
|
(174) Вроде нет проверок, не работает и все...
Как правильно обновить платформу, ее службу удалять обязательно (или достаточно исправить цифры платформы)? Сейчас больше волнует куда делась служба для 8.3.10.2466, на которой работает Альфа-Авто, после удаления службы 1C:Enterprise 8.3.19 Server Agent (x64) (141)? И не восстанавливается при запуске Platform\8.3.10.2466\x86_64\ |
|||
176
СеменовСемен
31.08.22
✎
11:04
|
(175) все удали и заново все устанавливай
|
|||
177
Kassern
31.08.22
✎
11:06
|
Создайте базу пустышку, из нее попробуйте сделать &НаСервере ком соединение, например через внешнюю обработку.
|
|||
178
Kassern
31.08.22
✎
11:07
|
Базу запустите там же где у вас кластер серверов установлен.
|
|||
179
СеменовСемен
31.08.22
✎
11:07
|
(177) он все уже убил.
|
|||
180
Kassern
31.08.22
✎
11:10
|
(179) я надеюсь, колесо сансары сделает свой очередной оборот и ком коннектор воскреснет из пепла)
|
|||
181
Mikhail Volkov
31.08.22
✎
11:27
|
(179) Если Вы про (155), то удалил службу не на рабочем сервере, а на своем компьютере.
|
|||
182
СеменовСемен
31.08.22
✎
11:28
|
(181) делай обмен через кд2 - самое простое.
все эти заморочки нафиг не нужны |
|||
183
Mikhail Volkov
31.08.22
✎
11:47
|
(182) Основной объем документов идет через КД2, но некоторые объекты КА: элементы справочника, например, контрагенты, или банковские документы можно открывать непосредственно через Com из Альфа-Авто. Так было когда Альфа-Авто и КА работали на одной платформе, хотелось бы на разных.
|
|||
184
Mikhail Volkov
31.08.22
✎
13:00
|
(176) Что именно "все"? Файлы из каталогов: "C:\Program Files (x86)\1cv8\8.3.10.2466\bin\" и "C:\Program Files\1cv8\8.3.19.1522\bin\" - понятно, службы sc delete "имя службы" - тоже понятно. А реестр надо чистить, как? Я бы на своем компе попробовал, да ключи от Альфа-Авто только на сервере.
(177) Хотя если "Создайте базу пустышку", то они не нужны. |
|||
185
Kassern
31.08.22
✎
13:01
|
(184) Вам просто нужно протестить работу библиотеки ком коннектор, для этого вам конфа не нужна, можно и на пустышке
|
|||
186
Mikhail Volkov
31.08.22
✎
13:17
|
(177) Что должно быть в этой внешней обработке?
|
|||
187
Mikhail Volkov
31.08.22
✎
15:16
|
На папку Platform\8.3.10.2466\x86_64\ добавил себе полные права, запустил, ошибки (155) не было, но служба 1C:Enterprise 8.3.10.2466 Server Agent не восстановилась?
|
|||
188
Kassern
31.08.22
✎
15:28
|
(186)
&НаСервере Процедура ТестПодключения() COMОбъект=Новый COMObject("V83.COMConnector"); Соединение= COMОбъект.Connect(СтрокаСоединения); КонецПроцедуры |
|||
189
Kassern
31.08.22
✎
15:32
|
Ну или как там у вас коннектор называется
|
|||
190
Mikhail Volkov
31.08.22
✎
15:55
|
(187) Не пойму как без нее Альфа-Авто сейчас работает?
(188) СтрокаСоединения ее надо писать: Srvr="ANDROMEDA:1641"; Ref="PATRСА";Usr="Администратор";Pwd="123";? (189) "V83.COMConnector_8.3.19.1522" |
|||
191
Kassern
31.08.22
✎
16:01
|
(190) ""V83.COMConnector_8.3.19.1522"" - если вы не ползали и сами не прописывали новое имя для обертки, то тогда просто V83.COMConnector
"СтрокаСоединения ее надо писать" - попробуйте соединиться с обычной файловой базой на этом же сервере. |
|||
192
Mikhail Volkov
31.08.22
✎
16:24
|
(187) Из инструкции по установке разных версий серверов 1С на один сервер - http://www.gilev.ru/multiple1cservers/
Для регистрации новой службы необходимо воспользоваться утилитой sc.exe, и прописать в службу необходимые параметры. Для этого можно создать *.bat-файл. Пример текст *.bat-файла для описываемой ситуации приведен ниже: !!! Запуск *.bat-файлов производится только с правами Администратора echo off chcp 1251 set SrvcName="1C:Enterprise 8.3.12 Server Agent" set BinPath="\"C:\Program Files\1cv8\8.3.12.1924\bin\ragent.exe\" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d \"C:\Program Files\1cv8\srvinfo_8_3_12\"" set Desctiption="Агент сервера 1С:Предприятия 8.3.12" sc create %SrvcName% binPath= %BinPath% start= auto displayname= %Desctiption% depend= Tcpip/Dnscache/lanmanworkstation/lanmanserver/ pause Может прописать что-то подобное под 8.3.10.2466? |
|||
193
Mikhail Volkov
31.08.22
✎
18:10
|
(187) Не пойму как без службы серверная база Альфа-Авто работает? Сейчас на сервере только одна служба 1C:Enterprise 8.3 Server Agent (x86-64) с исполняемым файлом "C:\Program Files\1cv8\8.3.19.1522\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1690 -d "C:\Program Files\1cv8\srvinfo_1641", и та не работает (останавливается). Может я ее не вижу среди служб?
|
|||
194
Mikhail Volkov
31.08.22
✎
18:28
|
И не ставится, т.е. установка из Platform\8.3.10.2466\x86_64\ проходит без ошибок, окно https://tavalik.ru/wp-content/uploads/2014/07/zapusk-neskolkix-serverov-1spredpriyatiya-raznyx-versij_03.png не появляется, и служба не устанавливается!?
|
|||
195
Волшебник
31.08.22
✎
18:33
|
сервер не зависит от конфигурации
|
|||
196
Mikhail Volkov
31.08.22
✎
19:15
|
(195) Да, но для любой серверной базы нужна служба? КА1 работала без порта в строке подключения на 8.3.10.2466 (и сейчас работает), а с портом на 8.3.19.1522.
|
|||
197
Mikhail Volkov
31.08.22
✎
19:38
|
(193) Служба работает (не останавливается).
|
|||
198
Mikhail Volkov
31.08.22
✎
19:51
|
(191) Службы на этот эксперимент не влияют?
|
|||
199
Kassern
31.08.22
✎
23:49
|
(198) Причем тут службы 1с? Простой пример. У вас есть 2 файловые базы, нужно от одной базы подключиться к другой через Ком. В этом варианте вообще нет кластера, сервера 1с и т.д. Для ком соединения важна библиотека ком коннектор. Там где вызывается это соединение 1ска должна иметь доступ к обертке этой библиотеки. Библиотека должна быть зарегистрирована в ОС путем regsvr32 там, где вызывается это соединение.
|
|||
200
Mikhail Volkov
02.09.22
✎
12:31
|
(199) Если службы не причем, то надобность в этом эксперименте вроде отпадает: единственное на что у меня падает подозрение - это неправильное обновление последней платформы (вроде только цифры в реестре менял номера платформы) до сих пор не знаю как правильно? Но со службой не чего не получается, а делать что-то надо... Внешнюю обработку не стал делать, написал в старой файловой копии Альфа-Авто:
Процедура КнопкаВыполнитьНажатие(Кнопка) СтрокаПодключения = "File=" + ?(ПустаяСтрока(КаталогБазы), "\\corp.akit\workspace$\1c\1С\PatrCA", КаталогБазы) + ";Usr=" + ?(ПустаяСтрока(ИмяПользователя), "Администратор", ИмяПользователя) + ";Pwd=" + ?(ПустаяСтрока(Пароль), "123", Пароль) + ";"; Сообщить("СтрокаПодключения: " + СтрокаПодключения, СтатусСообщения.Информация); Попытка Сообщить("Начало подключения через COMОбъект: V83.COMConnector_8.3.19.1522 " + ТекущаяДата(), СтатусСообщения.Информация); БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522"); ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения); СтрокаСообщенияОбОшибке = ""; Сообщить("Подключение выполнено к базе: '" + ?(ПустаяСтрока(КаталогБазы), "\\corp.akit\workspace$\1c\1С\PatrCA", КаталогБазы) + "' " + ТекущаяДата(), СтатусСообщения.Информация); Исключение СтрокаСообщенияОбОшибке = "При попытке соединения с COM-сервером произошла следующая ошибка:" + Символы.ПС + ОписаниеОшибки(); Сообщить(СтрокаСообщенияОбОшибке, СтатусСообщения.Информация); КонецПопытки; КонецПроцедуры Запустил ее на платформе 8.3.10.2466, база \\corp.akit\workspace$\1c\1С\PatrCA запущена на 8.3.19.1522, в итоге: СтрокаПодключения: File=\\corp.akit\workspace$\1c\1С\PatrCA;Usr=Администратор;Pwd=123; Начало подключения через COMОбъект: V83.COMConnector_8.3.19.1522 02.09.2022 14:03:41 Подключение выполнено к базе: '\\corp.akit\workspace$\1c\1С\PatrCA' 02.09.2022 14:03:50 т.е. базы на разных платформах, но в строке соединения нет порта! Может его убрать в рабочем варианте? Да, перенес обработку в пустую конфигурацию (сохранил ее как внешнюю обработку, и вставил в пустую конфигурацию), но запустить ее не смог, выдает: https://ibb.co/ByWh1MW , где, какую галочку надо поставить? |
|||
201
Mikhail Volkov
02.09.22
✎
14:23
|
Нет, без порта все так же: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса
|
|||
202
Kassern
02.09.22
✎
16:10
|
(201) Вы можете установить тупо 1ску платформу, создать файловую базу, зарегать ком коннектор, создать обертку в компонентах винды и попробовать вызвать подключение к этой файловой базе? Тут вам не нужен кластер, ни порт и прочая фигня.
|
|||
203
Mikhail Volkov
02.09.22
✎
16:55
|
(202) У меня файловых копий полно. Обертка создана еще для рабочего режима. Успешно Com-соединился из базы копии Альфа-Авто с копией базы КА на 8.3.19.1522 - другой платформе. И что, это же файловые базы? Создать новую пустую базу не смог https://ibb.co/ByWh1MW
|
|||
204
Mikhail Volkov
03.09.22
✎
09:03
|
(202) Значит обертка и служба компонентов невиноваты в моей проблеме. Совсем забыл у меня же 2 сервера: PERSEUS - сервер терминалов, на котором все и делаю: службы и служба компонентов, и Andromeda - SQL сервер, на нем все делаю также как на PERSEUS, службы во всяком случае. Служба 1C:Enterprise 8.3 Server Agent (x86-64) для 8.3.10.2466 со стандартным диапазонов портов на нем сохранилась, наверное поэтому работает Альфа-Авто? А может на PERSEUS службы вообще не нужны? Или теперь нужны для службы компонентов? Или ее перенести на Andromeda?
|
|||
205
Mikhail Volkov
03.09.22
✎
10:16
|
Решил на Andromeda сделать такую же Службу компонентов как на PERSEUS, но версии у них разные (Рус/Eng). V8COMConnector - это которая в Eng версии?
|
|||
206
Mikhail Volkov
03.09.22
✎
10:18
|
Службы компонентов на Andromeda и PERSEUS https://ibb.co/jJR53gB
|
|||
207
Mikhail Volkov
04.09.22
✎
14:55
|
На Andromeda сделал приложение V8_ComConnector и в нем компоненту V83.COMConnector_8.3.19.1522 (только одну обертку), но это не помогло - все так же, согласно (202) с обертками у меня все нормально (203). Решил усложнить эксперимент - Com-соединиться с серверной базой:
Процедура КнопкаВыполнитьНажатие(Кнопка) Сервер = ?(ПустаяСтрока(Сервер) И Серверная, "andromeda", Сервер); СтрокаПодключения = ?(Серверная, "Srvr=" + ?(ПустаяСтрока(Сервер), "andromeda", Сервер) + ";Ref=" + ?(ПустаяСтрока(КаталогБазы), "PatrCA", КаталогБазы), "File=" + ?(ПустаяСтрока(КаталогБазы), "\\corp.akit\workspace$\1c\1С\PatrCA", КаталогБазы)) + ";Usr=" + ?(ПустаяСтрока(ИмяПользователя), "Администратор", ИмяПользователя) + ";Pwd=" + ?(ПустаяСтрока(Пароль), "2001221", Пароль) + ";"; Сообщить("СтрокаПодключения: " + СтрокаПодключения, СтатусСообщения.Информация); Попытка Сообщить("Начало подключения через COMОбъект: V83.COMConnector_8.3.19.1522 " + ТекущаяДата(), СтатусСообщения.Информация); БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522"); ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения); СтрокаСообщенияОбОшибке = ""; Сообщить("Подключение выполнено к базе: '" + ?(ПустаяСтрока(КаталогБазы), "\\corp.akit\workspace$\1c\1С\PatrCA", КаталогБазы) + "' " + ТекущаяДата(), СтатусСообщения.Информация); Исключение СтрокаСообщенияОбОшибке = "При попытке соединения с COM-сервером произошла следующая ошибка:" + Символы.ПС + ОписаниеОшибки(); Сообщить(СтрокаСообщенияОбОшибке, СтатусСообщения.Информация); КонецПопытки; КонецПроцедуры Получил другую ошибку: СтрокаПодключения: Srvr=andromeda;Ref=PatrCA;Usr=Администратор;Pwd=123; Начало подключения через COMОбъект: V83.COMConnector_8.3.19.1522 04.09.2022 16:18:10 При попытке соединения с COM-сервером произошла следующая ошибка: {Обработка.ТестComСоединение.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Несоответствие версий клиента и сервера 1С:Предприятия Различаются версии клиента и сервера (8.3.19.1522 - 8.3.10.2466), клиентское приложение: COM-соединение Для sql баз обертка не работает? |
|||
208
СеменовСемен
04.09.22
✎
17:59
|
(207) так у тебя сервер 8.3.10
тебе нужно делать V83.COMConnector_8.3.10.2466 |
|||
209
Mikhail Volkov
05.09.22
✎
08:57
|
(208) Пытаюсь Com-соединиться из файловой базы обычных форм с серверной базой. Где делать V83.COMConnector_8.3.10.2466 вместо БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522");?
|
|||
210
Mikhail Volkov
05.09.22
✎
13:04
|
(208) Ну заменил на БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522"); хотя в нем dll C:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll, получил: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован
|
|||
211
Mikhail Volkov
05.09.22
✎
13:16
|
Описался (210), заменил на БазаКА = Новый COMОбъект("V83.COMConnector_8.3.10.2466");
|
|||
212
СеменовСемен
05.09.22
✎
14:19
|
(210) да сделай ты нормально с самого начала.
Если не получается исправлять - удаляй и делай снова |
|||
213
Kassern
05.09.22
✎
14:23
|
(211) У вас есть понимание, где отработает комконнектор, когда вы используете &НаСервере Новый COMОбъект("V83.COMConnector..)? У вас же 2 кластера (возможно 2 различных физических сервера). Как вы думаете, возьмет с сервера, где вы запускаете обработку, или с сервера, где опубликован кластер базы, из которой вы вызываете соединение?
|
|||
214
Mikhail Volkov
05.09.22
✎
15:53
|
(213) Пытаюсь Com-соединиться из той же файловой базы обычных форм с серверной базой. Похоже нет понимания, объясни...
|
|||
215
Kassern
05.09.22
✎
15:58
|
(214) когда вы выполняете код с директивой &НаСервере, то он отрабатывается сервером, где установлен кластер текущей базы. Простой пример. Есть у вас Сервер Андромеда с кластером, где развернута база Альфа-авто, есть у вас сервер Основной, где у вас развернута тестовая база. Так вот если вы запустили код в тестовой базе с директивой &Насервере, то он отработает на сервере Основной и будет искать там обертку для вашего ком коннектора.
|
|||
216
Kassern
05.09.22
✎
16:01
|
Если вы запускаете ком коннектор с директивой &НаКлиенте то КомКоннектор будет использоваться текущего рабочего места, где запущена 1ска.
|
|||
217
Mikhail Volkov
05.09.22
✎
17:02
|
(216) В тестовом варианте запускаю Com-соединение из обычной формы, т.е. &НаКлиенте? В рабочем варианте запускаю из общего модуля, &НаСервере? (в ОФ нет процедур &НаКлиенте и &НаСервере) И что, как правильно писать код? В тестовом варианте так и так пробовал: с "V83.COMConnector_8.3.19.1522" и с "V83.COMConnector_8.3.10.2466", результат: (207) и (210) - оба отрицательные.
|
|||
218
Mikhail Volkov
05.09.22
✎
17:12
|
(212) В новом релизе КА (ERP): Рекомендуемая версия платформы 8.3.21.1302 (и выше) - хочу обновить 2-ю платформу, службу надо обновлять, как?
|
|||
219
ejikbeznojek
05.09.22
✎
17:24
|
Переделал бы уже давно на вебсервис, с передаваемым туда параметром текстом запроса))
|
|||
220
Kassern
05.09.22
✎
17:27
|
(219) следующая тема тогда будет, почему у меня четырехсотую ошибку сервис возвращает, или почему апач не запускается и т.д.
|
|||
221
Kassern
05.09.22
✎
17:29
|
(218) Службу конечно нужно обновлять. Нельзя запустить клиент одной версии, а сервер другой. 1ска сразу на это ругнется. Версия клиента и сервера должны совпадать.
|
|||
222
ejikbeznojek
05.09.22
✎
17:30
|
(218) Делай сервис на модном "Автономном сервере" от 1С))
|
|||
223
Mikhail Volkov
05.09.22
✎
18:12
|
(220) Лучше бы ответил на (217).
|
|||
224
СеменовСемен
05.09.22
✎
19:30
|
(223) заново зарегистрируй класс
|
|||
225
Mikhail Volkov
06.09.22
✎
08:18
|
(224) Как?
|
|||
226
Kassern
06.09.22
✎
09:02
|
(223) как я могу ответить на этот вопрос? Я хз как вы там все установили, какие там права стоят, как сетка устроена, как вы там что регали в плане компонент и т.д. Есть мануал, как поднимать ком соединение на винде, он уже заезжен до дыр, нового вам вряд ли кто сможет подсказать без явного подключения и оценки вашей системы.
|
|||
227
Mikhail Volkov
06.09.22
✎
09:52
|
(226) Что за мануал? Можно ссылку?
|
|||
228
Kassern
06.09.22
✎
09:56
|
(227) Да любой по ком коннекту. Везде одна и та же инфа, как регистрировать библиотеку, как создавать обертку, какие галки ставить. Вот например:
https://infostart.ru/1c/articles/197627/ |
|||
229
Kassern
06.09.22
✎
10:19
|
(228) Только тут вместо V82, лучше V83 написать.
|
|||
230
Mikhail Volkov
06.09.22
✎
10:45
|
(217) В новой пустой базе только обработка ТестComСоединение (поменял Основной режим запуска на Обычный режим чтобы не было ошибки https://imgbb.com/ByWh1MW ), в саму обработку внес незначительные изменения:
Процедура КнопкаВыполнитьНажатие(Кнопка) Сервер = ?(ПустаяСтрока(Сервер) И Серверная, "andromeda", Сервер); СтрокаПодключения = ?(Серверная, "Srvr=" + ?(ПустаяСтрока(Сервер), "andromeda", Сервер) + ";Ref=" + ?(ПустаяСтрока(КаталогБазы), "PatrCA", КаталогБазы), "File=" + ?(ПустаяСтрока(КаталогБазы), "\\corp.akit\workspace$\1c\1С\PatrCA", КаталогБазы)) + ";Usr=" + ?(ПустаяСтрока(ИмяПользователя), "Администратор", ИмяПользователя) + ";Pwd=" + ?(ПустаяСтрока(Пароль), "2001221", Пароль) + ";"; Сообщить("СтрокаПодключения: " + СтрокаПодключения, СтатусСообщения.Информация); Попытка Сообщить("Начало подключения через COMОбъект: V83.COMConnector_8.3.19.1522 " + ТекущаяДата(), СтатусСообщения.Информация); БазаКА = Новый COMОбъект("V83.COMConnector_8.3.19.1522"); ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения); СтрокаСообщенияОбОшибке = ""; Сообщить("Подключение выполнено к базе: '" + ?(Серверная, "Srvr=" + ?(ПустаяСтрока(Сервер), "andromeda", Сервер) + ";Ref=" + ?(ПустаяСтрока(КаталогБазы), "PatrCA", КаталогБазы), ?(ПустаяСтрока(КаталогБазы), "\\corp.akit\workspace$\1c\1С\PatrCA", КаталогБазы)) + "' " + ТекущаяДата(), СтатусСообщения.Информация); Исключение СтрокаСообщенияОбОшибке = "При попытке соединения с COM-сервером произошла следующая ошибка:" + Символы.ПС + ОписаниеОшибки(); Сообщить(СтрокаСообщенияОбОшибке, СтатусСообщения.Информация); КонецПопытки; КонецПроцедуры И вроде без ошибок соединилась: СтрокаПодключения: Srvr=andromeda;Ref=PatrCA;Usr=Администратор;Pwd=123; Начало подключения через COMОбъект: V83.COMConnector_8.3.19.1522 06.09.2022 12:39:43 Подключение выполнено к базе: 'Srvr=andromeda;Ref=PatrCA' 06.09.2022 12:39:51 |
|||
231
Kassern
06.09.22
✎
10:47
|
(230) поздравляю, вопрос решен?
|
|||
232
Mikhail Volkov
06.09.22
✎
11:08
|
(231) Нет, это файловая база подключается к серверной. Попробую сделать ее серверной.
|
|||
233
Mikhail Volkov
06.09.22
✎
11:44
|
ComСоединение - тоже успех!
СтрокаПодключения: Srvr=andromeda;Ref=PatrCA;Usr=Администратор;Pwd=123; Начало подключения через COMОбъект: V83.COMConnector_8.3.19.1522 06.09.2022 13:33:03 Подключение выполнено к базе: 'Srvr=andromeda;Ref=PatrCA' 06.09.2022 13:33:11 Но в тестовой базе подключаюсь из формы (т.е. &НаКлиенте?), а в рабочей базе запускаю из общего модуля, &НаСервере? |
|||
234
Mikhail Volkov
06.09.22
✎
14:19
|
Дело сдвинулось, вроде нашел ошибку.
|
|||
235
Kassern
06.09.22
✎
14:52
|
(234) В чем проблема была?
|
|||
236
Mikhail Volkov
06.09.22
✎
16:19
|
(235) В формировании "V83.COMConnector_8.3.19.1522" в БазаКА = Новый COMОбъект("V83.COMConnector_" + НомерВерсии); Когда делал обертку в службе компонентов в названии приложения не мог поставить точки, заменил их "_", а НомерВерсии прописал как СтрЗаменить(НомерВерсии, ".", "_"). А точки пишутся в названии компоненты. После в службе компонентов все исправил, а в коде нет, оставил СтрЗаменить(НомерВерсии, ".", "_") - в общем "сам дурак", не внимательный.
|
|||
237
Kassern
06.09.22
✎
16:25
|
(236) да уж...В общем, как и писал, чудес не бывает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |