Имя: Пароль:
1C
1С v8
Тип не определен (Запрос) Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент)
, ,
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.
1 Волшебник
 
модератор
23.06.22
13:08
в тонком клиенте нет запросов. Управление надо передать на сервер
2 youalex
 
23.06.22
13:19
Возврат Выборка.Количество() <= 1
3 TormozIT
 
гуру
23.06.22
13:39
Инструкциями препроцессора (#Если Не ТонкийКлиент И Не ВебКлиент И Не МобильныйКлиент Тогда) можно заэкранировать фрагменты модуля, если не хочется делать отдельный модуль.
4 Mikhail Volkov
 
23.06.22
14:31
(1) На счет запросов понятно - клиент их не может делать. Но вопрос: что может клиент, но не может сервер?
5 lodger
 
23.06.22
14:33
(4)
ТекстовыйДокумент (TextDocument)
Показать (Show)

Доступность:
Тонкий клиент, веб-клиент, толстый клиент.
6 arsik
 
гуру
23.06.22
14:42
(4) В настройках синтаксис помощника
https://i.imgur.com/W1Nf3eh.png
7 timurhv
 
23.06.22
14:56
(4) чтобы не было каши в названиях модулей и галочках
https://its.1c.ru/db/v8std#content:469:hdoc
8 Mikhail Volkov
 
23.06.22
16:00
(5) ТекстовыйДокумент() - этого точно нет в общем модуле мвДоработки.
(6), (7) Спс. Значит можно снять галочку Клиент с мвДоработки.
9 Mikhail Volkov
 
23.06.22
16:07
Эта тему можно закрыть. Может кто поможет с вопросом КД2: Сравнение и объединение правил обмена а то он не по теме.
10 Mikhail Volkov
 
28.07.22
10:48
Рано еще зарывать. Раньше УПП работала 8.3.10, как и все базы, Альфа-Авто выше не работала. Теперь решил перевести на 8.3.19.1522 (установлена для КА2), знаю что Com-обмены могут работать на разных платформах, а вот OLE - не знаю? При загрузки Выписки из УПП выскочила ошибка Тип не определен Запрос = ОбъектКА.NewObject("Запрос"); а затем: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса. Как убрать ошибку 1С «-2147221005(0x800401F3): Недопустимая строка с указанием класса» нашел статью: https://zen.yandex.ru/media/nastroyka1c/kak-ubrat-oshibku-1s-21472210050x800401f3-nedopustimaia-stroka-s-ukazaniem-klassa-5e56042f5c1f4e2533321a22 и ужаснулся: не уже ли так, больше никак?
11 lubitelxml
 
28.07.22
10:52
(10) "и ужаснулся: не уже ли так, больше никак?" - уже давно так, ничего сложного там нет
12 rudnitskij
 
28.07.22
11:12
(10) я больше ужаснулся, когда увидел, как зверски слово "неужели" разорвали на три части
13 lodger
 
28.07.22
11:22
(12) разорвало в клочья.
14 DayDreamer
 
28.07.22
11:52
(10)  "знаю что Com-обмены могут работать на разных платформах", можете поделиться ссылкой на описание, как это организовать?
15 Aleksey
 
28.07.22
12:09
(14) через правку реестра перед вызовом
https://catalog.mista.ru/1c/articles/276794/
16 Mikhail Volkov
 
28.07.22
15:25
(11) Давно, но так-то что-то настраивал в службе компонентов Службы компонентов: возможно ли создать обертку OLE соединения V83.Application Что-то создавал там, но сейчас найти не могу где? Не давно обновил высокую платформу, может там что перенастроить нужно? Но где ранее сделанные настройки?
(15) самое неприятное: "Ну и самое главное: не забываем, что работать это будет только при запуске 1С с административными правами." - а обычным пользователям как работать!?
17 Mikhail Volkov
 
29.07.22
08:28
Нашел, последняя была 8.3.16.1959, сейчас 8.3.19.1522 https://ibb.co/ZHk8XsH Как исправить? Менять цифры в наименовании наверное бесполезно.
18 TormozIT
 
гуру
29.07.22
10:05
19 Mikhail Volkov
 
29.07.22
10:41
Вроде сделал по инструкции (10). Не знаю как перезапустить службу компонентов?
(18) Что за "Управление СОМ классами 1С (ИР)" - где ее взять?
20 TormozIT
 
гуру
29.07.22
11:38
(19) ИР - Инструменты разработчика Tormozit для 1С
http://devtool1c.ucoz.ru/
21 Mikhail Volkov
 
30.07.22
08:49
(20) Скачал ИНСТРУМЕНТЫ РАЗРАБОТЧИКА ПОРТАТИВНЫЙ 1С 8.2+ V6.37.1P, как его запустить?
(19) Ночью перезагрузил сервер, похоже ничего не изменилось.
22 TormozIT
 
гуру
30.07.22
09:45
(21) Читай раздел "Как найти инструмент" http://devtool1c.ucoz.ru/index/opisanie_podsistemy/0-4
23 MrKartez
 
30.07.22
10:10
Капец, деректив не знаешь, функцию СтрШаблон видимо тоже(
"Но вопрос: что может клиент, но не может сервер?" В синтакспомощнике забанен походу)
24 Hans
 
30.07.22
10:14
Что может клиент и не может сервер -  много чего. В основном интерактивная работа -  формы, диалоги.
А еще сервер много чего может чего не может клиент. Новичков в УФ обычно начинает бомбить от того, что на клиенте нельзя использовать таблицу значений.
25 СеменовСемен
 
30.07.22
10:29
(24) зачем было запрещать таблицу на клиенте вообще не понятно. Тем более что через хаки ее можно там получить
26 Кура-Цеце
 
30.07.22
11:06
(25) > через хаки
Ну давай, получи её в веб-клиенте. Через хаки.
27 Hans
 
30.07.22
11:07
Чо за хаки?
28 СеменовСемен
 
30.07.22
11:19
(26) уж в веб клиенте на жс реализовать ничего не мешало
29 СеменовСемен
 
30.07.22
11:19
(27) через внешнюю компоненту
30 Кура-Цеце
 
30.07.22
11:45
(28) >  ничего не мешало
Ну, то есть тема с хаками закрывается и начинается традиционное "да я сам жаваскрипт знаю, там все просто".
31 СеменовСемен
 
30.07.22
11:46
(30) ничего не мешало, просто не сделали.
Почему? Это только внутри 1с знают
32 Mikhail Volkov
 
30.07.22
11:55
У текущего пользователя ИБ включен флажок "Защита от опасных действий". Для корректной работы инструментов его рекомендуется выключить!
Как это сделать?
33 СеменовСемен
 
30.07.22
12:21
Эта галка только в конфигураторе
34 Hans
 
30.07.22
12:24
Галка у пользователя в конфигураторе. Есть еще защита от опасных действий, безопасный режим у расширения.
35 Mikhail Volkov
 
30.07.22
12:33
(33),(34) Обычный реквизит? - найти не могу.
36 СеменовСемен
 
30.07.22
12:33
Пользователи это не справочник
37 Mikhail Volkov
 
30.07.22
12:36
(36) Как так, не только?
38 Mikhail Volkov
 
30.07.22
13:07
Где еще?
39 Mikhail Volkov
 
30.07.22
14:00
(34) у расширения? А если его не использую...
40 Hans
 
30.07.22
15:42
(39) если не используешь, значит это тебе не надо.
41 Hans
 
30.07.22
15:42
Пользователи Информационной базы. В конфигураторе.
42 Mikhail Volkov
 
30.07.22
16:22
(40) Не понял.
43 Hans
 
30.07.22
17:08
Если нет расширений значит это ограничениев расширении не работает. Остается только пользователь.
44 Mikhail Volkov
 
31.07.22
07:07
(43) В справочнике Пользователи, или где он?
45 Mikhail Volkov
 
31.07.22
07:33
Почему в службе компонентов в свойствах V83COMConnector_8_3_19_1522 не вижу версию comcntr.dll (пункт 9 инструкции (10)). Почему в имени V83COMConnector_ в написании версии не могу использовать точки вместо подчеркиваний 8_3_19_1522?
46 Mikhail Volkov
 
31.07.22
08:25
D свойствах V83COMConnector_8_3_19_1522 на вкладке "Удостоверение" обязательно указывать пользователь/пароль? Если Да, то какого?
47 Hans
 
31.07.22
08:28
48 Mikhail Volkov
 
31.07.22
09:35
(47) Администрирование/Пользователи
49 Mikhail Volkov
 
31.07.22
09:52
Но там не стоит "защита от опасных действий" https://ibb.co/MhcBtGW .
50 Mikhail Volkov
 
01.08.22
06:49
Вернемся к нашей ошибке: -2147221005(0x800401F3): Недопустимая строка с указанием класса - как ее исправить?
51 TormozIT
 
гуру
01.08.22
07:29
Сумел открыть инструмент (18) по подсказке (22) ?
52 Мимохожий Однако
 
01.08.22
07:39
(50) Используй для начала 32-разрядную платформу
53 Mikhail Volkov
 
01.08.22
08:06
(52) НЕ хотелось бы...
54 Мимохожий Однако
 
01.08.22
08:07
(53) Начни с малого. Возможно, натолкнёт на решение большего.
55 Mikhail Volkov
 
01.08.22
08:14
(54) Платформа 8.3.19.1522 у меня стоит 2-й платформой на сервере (на других портах) не хотелось бы ее трогать.
56 Мимохожий Однако
 
01.08.22
08:49
(55) Дело не в том, что ты хочешь, а в том, чтобы разобраться в причинах. Что мешает проверить на копии локально хотя бы в файловом режиме?
57 Mikhail Volkov
 
01.08.22
10:39
(56) Не пойму какие выводы я должен вынести из этого эксперимента, ну сменю версию платформы, ну исчезнет ошибка, а дальше что делать?
58 Mikhail Volkov
 
16.08.22
13:18
Нашел картинку старой службы компонентов https://ibb.co/318LvJV - до обновления 8.3.19, и инструкцию как ее создавал: https://infostart.ru/public/610960/ - COM соединения с базами 1С на различных версиях платформы "Без перерегистрации и СМС". Старые платформы 8.3.14 и 16 удалил. Добавил новую 8.3.19 вроде все по этой инструкции, но ошибка: "Недопустимая строка с указанием класса" осталась!?
59 TormozIT
 
гуру
16.08.22
14:17
С таким подходом к концу года сам разберешься наверное.
60 Mikhail Volkov
 
16.08.22
14:28
(59) Хотелось бы раньше.
61 lodger
 
16.08.22
14:38
(60) тогда вернись к (20) и попробуй утильку от TormozIT
62 Mikhail Volkov
 
16.08.22
15:52
(61) Ну скачал его, а что делать с ним не знаю?
63 TormozIT
 
гуру
16.08.22
18:09
(62) Открыть в нем инструмент "Управление СОМ классами 1С"
64 Mikhail Volkov
 
16.08.22
18:13
(63) И дальше что, как сделать правильно, чтобы работало?
65 TormozIT
 
гуру
16.08.22
18:29
Надо понять где выполняется код, вызывающий COM-соединение. Если на сервере, то тебе надо запустить на сервере терминальный сеанс под тем же пользователем ОС, под которым работает служба 1С. Открываешь "Управление СОМ классами 1С (ИР)" и показываешь нам картинку.
66 Mikhail Volkov
 
16.08.22
18:34
(65) Прежде чем показать нужно это запустить. Как это сделать?
67 TormozIT
 
гуру
16.08.22
18:40
(66) Например так https://youtu.be/-NJJP79TccI
68 Mikhail Volkov
 
16.08.22
19:13
(67) Не удачный пример с расширением. Расширением я не пользуюсь, оно в 8.3.10 недоступно. Другие примеры есть без расширений?
69 Mikhail Volkov
 
16.08.22
19:19
Для обычных форм.
70 TormozIT
 
гуру
16.08.22
22:28
(68) Обманываешь. Для варианта "Расширение" на странице скачивания указано "Для 1С 8.3.10+ в режиме совместимости 8.3.9+"
Если же не пользуешься по религиозным причинам, то значит ты скачал вариант "Портативный". Тогда идешь и читаешь раздел "Запуск" (целое одно предложение) в его описании http://devtool1c.ucoz.ru/index/variant_portativnyj/0-39
71 Mikhail Volkov
 
17.08.22
11:49
(70) Не понял, по ссылке: 404 Не Найдено!?
72 Mikhail Volkov
 
17.08.22
12:00
(70) > то значит ты скачал вариант "Портативный"
Да, писал в (21).
73 Mikhail Volkov
 
17.08.22
14:37
Нашел COM-соединение и версии платформ в ней ссылка на Книга знаний: Вызов 32-битных COM-объектов на стороне 64-битного сервера 1С - мало отличается от инструкции в (58), но есть неясные места, например, 5. Учетная запись для запуска приложения: выбираем учетку под которой стартует сервер 1С - как выбирать? Или 6. В ветке созданного приложения переходим на ветку "Роли" открываем роль "CreatorOwner" и далее в разделе "Пользователи" создаем пользователя - учетную запись под которой работает сервер 1С. - это как? Пароль я знаю, ввожу его, когда устанавливаю или обновляю сервер 1С. Открываю роль "CreatorOwner" в папке Пользователи вижу свою учетную запись - она и есть, ничего вводить не надо?
Далее все как (58), а нет: 9. Открываем свойства только что созданного компонента, идем на вкладку "Безопасность", проверяем в списке "Явно установленные для выделенных объектов роли" стоит ли "птичка" напротив роль CreatorOwner - если нет, тогда устанавливаем эту "птичку". Попробую с птичкой.
74 Mikhail Volkov
 
17.08.22
14:53
Птичка не помогла.
75 TormozIT
 
гуру
17.08.22
15:36
(71) форум зачем то испортил ссылку на https://1cers.ru/%22http://devtool1c.ucoz.ru/index/variant_portativnyj/0-39/%22
Копируй текст ссылки и вставляй в браузер сам.
76 Mikhail Volkov
 
17.08.22
16:54
(75) Открыл по ссылке http://devtool1c.ucoz.ru/index/variant_portativnyj/0-39 (части твой), далее скачал rdtt.zip, извлек из него ирПортативный.erp, попытался его открыть в Альфа-Авто на 8.3.10.2466, которая не может COM-соединится с КА1 (УПП) на 8.3.19.1522, получил:
Ошибка инициализации модуля: ВнешняяОбработка.ирПортативный.МодульОбъекта
по причине:
{ВнешняяОбработка.ирПортативный.МодульОбъекта(3928)}: Ошибка при вызове метода контекста (Создать)

по причине:
Ошибка подключения внешних метаданных
по причине:
Каталог не обнаружен '\\corp.akit\workspace$\1c\1с_Архивы\CA\Модули\ирКэш.epf'
Папку Модули создал, а где взять ирКэш.epf?
77 Mikhail Volkov
 
17.08.22
17:07
Создал пустой ирКэш.epf, получил:
Ошибка инициализации модуля: ВнешняяОбработка.ирПортативный.МодульОбъекта
по причине:
{ВнешняяОбработка.ирПортативный.МодульОбъекта(3928)}: Ошибка при вызове метода контекста (Создать)

по причине:
Ошибка подключения внешних метаданных
по причине:
Ошибка загрузки документа.
Как открыть, запустить ирПортативный.erp?
78 TormozIT
 
гуру
17.08.22
18:54
(76) Ладно. Бросай ты этот ИР. Там слишком сложно запускать. Тебе подойдут только инструменты из одной внешней обработки. У меня таких нет.
79 Mikhail Volkov
 
17.08.22
19:46
Нашел еще более старую картинку с платформой 8.3.14.1779: https://ibb.co/LvGfVX8, жаль не показано внутреннее содержимое вкладок.
80 Mikhail Volkov
 
17.08.22
20:05
Может кто подскажет что должно быть на вкладке Безопасность?
81 Сергиус
 
18.08.22
00:01
(50)Попробуй перерегистрировать dll из командной строки.
82 Mikhail Volkov
 
18.08.22
08:15
(81) Не помогает: https://ibb.co/L9m7XVn
83 Mikhail Volkov
 
18.08.22
08:50
(80) В инструкции https://infostart.ru/public/610960/ в комментариях написано:
2. В оснастке служб компонентов, "Службы компонентов" - "Компьютеры" - "Мой компьютер" - "Приложения COM+"
3. Создаем новое приложение, правой кнопкой по "Приложения COM+" - "Создать" - "Приложение"
4*. Выбираем "Создать новое приложение", называем например "1cv8", тип выбираем "Серверное приложение",
Учетная запись - Текущий пользователь, Пользователь с ролью Owner - поставил администратора компьютера (сервера).
(без этого возможна ошибка -2147024769(0x8007007F): Не найдена указанная процедура)
Мне не понятна фраза: "Пользователь с ролью Owner - поставил администратора компьютера (сервера)" - у меня лишь роль CreatorOwner https://ibb.co/7GrSHgm, надо что-то делать? Судя по старым картинкам приложения не ставил, только Компоненты.
84 Mikhail Volkov
 
18.08.22
08:54
(83) https://ibb.co/7GrSHgm (без запятой)
85 Mikhail Volkov
 
18.08.22
15:25
Сделал все по Книга знаний: Вызов 32-битных COM-объектов на стороне 64-битного сервера 1С , но все равно ошибка: "Недопустимая строка с указанием класса" осталась!? Раньше не проверял OLE-соединение, только Com-соединение. Может все инструкции (которые здесь упоминал) не предназначены для OLE?
86 Mikhail Volkov
 
18.08.22
16:35
(83) В свойствах приложения на вкладку Удостоверение добавил администратора компьютера (сервера) ИмяСервера\USR1CV82, но это не помогло. Не знаю правильно ли понял фразу из (83)?
87 Сергиус
 
19.08.22
01:42
(82)консоль надо с правами админа запускать, а у тебя явно пользовательский запуск судя по картинке.
88 Mikhail Volkov
 
19.08.22
07:49
(87) Консоль командной строки запущена под Администратором.
89 Mikhail Volkov
 
19.08.22
07:54
(87) Смотри заголовок командной строки, или я чего-то не понимаю.
90 Mikhail Volkov
 
19.08.22
09:26
Каюсь база КА1 (УПП), к которой я цепляюсь по COM-соединению, оказывается открыта конфигуратором в 8.3.10.2466, перезапустил в 8.3.19.1522, но все равно ошибка: "Недопустимая строка с указанием класса" осталась!?
91 Mikhail Volkov
 
19.08.22
12:10
Удалил V83.COMConnector_8.3.19.1522 из службы компонентов совсем, Альфа-Авто ведет себя также как будь-то не было V83.COMConnector_8.3.19.1522 вовсе!?
92 Mikhail Volkov
 
19.08.22
12:41
Нет ошибки, например: Не найдена указанная процедура.
93 Kassern
 
19.08.22
12:44
Используйте веб сервисы и будет вам счастье
94 Mikhail Volkov
 
19.08.22
14:32
(93) Раньше же до перехода (обновления) на другую версию платформы работало.
95 Kassern
 
19.08.22
14:36
(94) Удалите все ком коннекторы, на клиенте и на сервере и заново зарегайте библиотеку комконнектор. Самостоятельно ее пропишите в компонентах по инструкциям. Может повезет и заработает
96 Mikhail Volkov
 
19.08.22
14:54
(95) Уточни, где, что удалить? В конфигураторе или в Службе компонентов? А то формы общие.
97 Kassern
 
19.08.22
15:22
(96) А как вы в конфигураторе удалите ком коннекторы?))
Речь идет о службах компонентов. Поймите уже наконец как работает ком соединение. Если на пальцах, есть библиотека 1с КомКоннектор.Длл. Через службу компонентов мы создаем обертку для этой библиотеки. Указываем права и прочие параметры. 1ска же цепляется к этой обертке и уже через нее работает с библиотекой. Нужно так же правильно прописывать путь до коннектора.
98 Kassern
 
19.08.22
15:23
Обычно, при установке платформы, 1ска сама это дело регистрирует и прописывает, но вот иногда бывают косяки. Или бывает несколько платформ развернуто с разными версиями, что тоже может вызывать косяки.
99 lodger
 
19.08.22
16:23
(98) >> Обычно

это достаточно новая мулька. раньше вообще всегда надо было регать вручную

и теперь, когда ты ставишь дистриб на компе, где понах.ячено как у (0), то автоматически ничего не срабатывает - надо так же вручную вписывать новые компоненты.
100 Mikhail Volkov
 
19.08.22
16:57
Сделал опять приложение (в конфигураторе прописал его имя: БазаКА = Новый COMОбъект("V8_ComConnector"); - правильно? как в Книга знаний: Вызов 32-битных COM-объектов на стороне 64-битного сервера 1С в компоненте на вкладке Безопасность для роли CreatorOwner поставил галочку. Получил ошибку: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Неверные или отсутствующие параметры соединения с информационной базой. Хотя компоненту V83.COMConnector.1 заменил на псевдоним V83.COMConnector_8.3.19.1522 - правильно?
101 Kassern
 
19.08.22
17:01
Вроде же так COMОбъект = Новый COMObject("V83.COMConnector");
102 Kassern
 
19.08.22
17:02
Или как там он у вас называется в службе компонентов
103 Kassern
 
19.08.22
17:03
Зайдите в приложения COM+ и гляньте как там у вас коннектор называется
104 Kassern
 
19.08.22
17:04
А блин, у вас ошибка то на методе Connect. следовательно ком объект у вас создался, только к базе не подрубились, так как корявые параметры соединения вы прописали.
105 Kassern
 
19.08.22
17:05
Это гораздо более оптимистичная ошибка по сравнению с класс не зарегистрирован
106 Mikhail Volkov
 
19.08.22
17:27
(103) V8_ComConnector - как в Книга знаний: Вызов 32-битных COM-объектов на стороне 64-битного сервера 1С
(104) > так как корявые параметры соединения вы прописали.
Где, в приложении или компоненте? В компоненте только C:\Program Files\1cv8\8.3.19.1522\bin\comcntr.dll указывал.
107 Kassern
 
19.08.22
17:28
(106) У вас же четко прописано "Получил ошибку: Ошибка при вызове метода контекста (Connect)". Вот и смотрите, что вы передаете в параметрах метода Connect в 1с
108 Kassern
 
19.08.22
17:31
Речь про Соединение = COMОбъект.Connect(СтрокаСоединения); - Здесь же у вас ошибка и ругается на СтрокаСоединения, я все правильно понял?
109 lodger
 
19.08.22
17:44
(108) такое ощущение, что ТС хорошенько набухивается, перед тем как зайти на мисту.
110 Kassern
 
19.08.22
17:47
(109) Ощущение, что он больше админ, чем 1сник.
111 Mikhail Volkov
 
19.08.22
17:49
(108) Вроде да, но в строке соединения имена: сервера, базы, пользователя, пароль.
112 Kassern
 
19.08.22
17:54
Скиньте кусок кода строки соединения, логин и пароль только замените на какой нить админ и 123
113 Mikhail Volkov
 
19.08.22
18:28
(112) Да, что-то я с ней намудрил... оказывается не там ищу.
114 Mikhail Volkov
 
19.08.22
18:37
(113) И все же: Ошибка: {ОбщийМодуль.мвДоработки.Модуль(6649)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса , СтрокаПодключения: Srvr="ANDROMEDA:1641"; Ref="PATRСА";Usr="Администратор";Pwd="123";
115 Mikhail Volkov
 
19.08.22
19:36
ОбщийМодуль.мвДоработки.Модуль(6649) это: ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения);
116 Mikhail Volkov
 
19.08.22
20:24
(115) Тоже что-то со строкой подключения?
117 Mikhail Volkov
 
19.08.22
20:29
2-я платформа на других портах, может :1641 в имени сервере в СтрокаПодключения не нравится?
118 TormozIT
 
гуру
19.08.22
20:56
"Недопустимая строка с указанием класса" означает что в реестра нужной разрядности отсутствует зарегистрированный COM класс. Обычно такая ошибка устраняется парой кликов под администратором компьютера.
119 Mikhail Volkov
 
20.08.22
08:10
(118) Как? Если в СтрокаПодключения удалить порт, не устранит эту ошибку?
120 Mikhail Volkov
 
20.08.22
08:43
(119) Нет, не устранит: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Неверные или отсутствующие параметры соединения с информационной базой.
121 Kassern
 
20.08.22
08:56
(120) Блин поймите уже,
"Недопустимая строка с указанием класса" - это значит вы не смогли к библиотеке подключиться и создать ком объект
"Неверные или отсутствующие параметры соединения с информационной базой" - это значит вы смогли подключиться и создать ком объект, но при попытке подключения к другой базе возникла ошибка из-за отсутствующих параметров соединения с информационной базой (корявая строка соединения)
122 Mikhail Volkov
 
20.08.22
09:16
(121) Со второй ошибкой понятно в чем корявость СтрокаПодключения - убрал из нее порт. А с 1-й ошибкой в чем корявость?
123 Mikhail Volkov
 
20.08.22
10:47
(118) Как устраняется эта ошибка "Недопустимая строка с указанием класса" парой кликов под администратором компьютера, и где?
124 Mikhail Volkov
 
20.08.22
13:22
На вкладке Безопасность у компоненты V83.COMConnector_8.3.19.1522 ничего не доступно, https://ibb.co/dP90cnx - даже галочку нельзя поставить у роли CreatorOwner. А у приложения сейчас так: https://ibb.co/4KmDSb0 - правильно?
125 Mikhail Volkov
 
22.08.22
12:23
(118) ап...
126 Mikhail Volkov
 
24.08.22
19:10
Может платформа 8.3.19.1522 неудачная в этом отношении, в последней КА 2.5.8.267 пишут: Рекомендуется использовать текущую версию конфигурации "1С:Комплексная автоматизация 2" версией системы 1С:Предприятие 8 8.3.21.1302 (и выше) в режиме совместимости 8.3.17.
Минимальная версия системы "1С:Предприятие 8" для использования текущей версии "1С:Комплексная автоматизация 2" не ниже 8.3.17.2306.
Может попробовать 8.3.21.1302?
127 Mikhail Volkov
 
25.08.22
15:20
Что-то засомневался правильно ли поставил платформу 8.3.19.1522? Раньше то до 8.3.10.2466 ставил отдельно 32-х разрядную клиентскую часть и отдельно 64-х разрядную серверную часть, а теперь скачиваю: Технологическая платформа 1С:Предприятия (64-bit) для Windows (верно?), для 2-й платформы Сервер «1С:Предприятия» устанавливаем не как службу, а как приложение, т. е. снимаю флаг «Установить сервер 1С:Предприятия 8 как сервис Windows» во время установки. Где бы почитать как устанавливать 2-ю платформу на тот же сервер?
128 Kassern
 
25.08.22
15:23
(127) какая жесть у вас на сервере, не удивительно, что ком у вас ругается. Потом еще окажется, что создаете вы ком объект на клиенте, а обертку для вашей компоненты делаете на сервере.
129 Kassern
 
25.08.22
15:24
Если уж так приспичило иметь 2 платформы на сервере, то разверните 2 службы 1с и распределите их на разные порты. В итоге 100500 статей по этому поводу.
130 Kassern
 
25.08.22
15:25
так же важно понимать комконнектор какой платформы зареган и используется для соединения
131 Mikhail Volkov
 
25.08.22
15:56
(129) Так и делаю, но хотелось бы убедиться, что правильно...
(130) Хочу все базы кроме Альфа-Авто (ее никак) пересадить на одну платформу.
132 Kassern
 
25.08.22
15:57
(131) "Так и делаю"->"для 2-й платформы Сервер «1С:Предприятия» устанавливаем не как службу, а как приложение,..." Где вы так делаете?
133 Mikhail Volkov
 
25.08.22
16:12
(132) В смысле? А где надо?
134 Mikhail Volkov
 
25.08.22
17:46
(132) По статье https://tavalik.ru/zapusk-neskolkix-serverov-1spredpriyatiya-raznyx-versij/ пункт 2. Установка серверной части «1С:Предприятия» версии 8.3
135 Mikhail Volkov
 
26.08.22
09:54
В этой статье на 1-й картинке https://tavalik.ru/wp-content/uploads/2014/07/zapusk-neskolkix-serverov-1spredpriyatiya-raznyx-versij_02.png COM-Соединение вычеркнуто из установки, решил проверить не вычеркнуто ли у меня: из платформы запустил 1CEnterprise 8 (x86-64).msi, выбираю Изменить, но не вижу COM-Соединения!? https://ibb.co/Y2mQwKj
136 Mikhail Volkov
 
26.08.22
11:16
И что в этом сообщении (англ.) https://ibb.co/ky4wDXt
137 Mikhail Volkov
 
26.08.22
13:37
Перевод (136): Программа установки должна обновить файлы или службы, которые нельзя обновить во время работы системы. Если вы решите продолжить, для завершения настройки потребуется перезагрузка.
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
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) да уж...В общем, как и писал, чудес не бывает.
Программист всегда исправляет последнюю ошибку.