Имя: Пароль:
1C
1С v8
Com-обмен между базами различных доменов
0 Mikhail Volkov
 
12.07.17
11:31
Возможен, что для этого дополнительно нужно?
1 Господин ПЖ
 
12.07.17
11:32
трастовые отношения
2 Господин ПЖ
 
12.07.17
11:33
алиасы с короткими именами серверов в dns. 1с тупит на fqdn
3 Mikhail Volkov
 
12.07.17
11:36
(1) Это к сисадминам нужно обратиться? А со стороны 1С что?
4 Господин ПЖ
 
12.07.17
11:37
по сути все к одминам
5 lodger
 
12.07.17
11:42
по пути нужно подумать об альтернативах. например, SOAP через Web-сервисы.
6 Господин ПЖ
 
12.07.17
11:43
кстати да... ком это зло и тормоза
7 Mikhail Volkov
 
12.07.17
11:55
(5) Есть организации одной компании имеют различные базы: Альфа-Авто и УПП, но торговые операции между собой проводятся время от времени, т.е. близкие партнеры. Между ними Com-обмен по каждому документу: в Альфа-Авто сделали отгрузку, на его основании сформировался ответный приходный документ, который через Com-обмен ушел в УПП. И наоборот, в Альфа-Авто сделали приход от партнера, к нему в УПП ушло основание. Это работает уже много лет, но базы SQL на одном сервере.
Теперь появился еще партнер со своей УПП файловый вариант, но в другом домене, хотя в той же локальной сети (на территории складского комплекса). Хотят так же чтобы работало. Мне со стороны 1С что-то надо дописывать?
(6) Не каждый день возникает необходимость Com-обмена.
8 Mikhail Volkov
 
12.07.17
16:18
А в параметрах Com-соединения для файловой базы нужно указать полный сетевой путь к базе с IP-адресом? Или с именем сервера, имя домена надо?
9 Mikhail Volkov
 
12.07.17
16:18
Типа \\ANDROMEDA\1Cv83\PatrCA
10 Господин ПЖ
 
12.07.17
16:19
если одмины сделают алиас - хватит короткого имени
11 Mikhail Volkov
 
18.07.17
07:12
Сейчас путаница с версиями происходит. Все SQL базы у меня на 8.3, хотя файловые варианты их тестовых копий запускаются на 8.2. Запускаю на 8.3, выбираю пользователя, ввожу пароль в диалоге 8.3, а база стартуют под 8.2!? В настройках базы указано: "Использовать версию" 8.3, но запускается 8.2.
В итоге Com-обмен запускаю "V83.Application", а УПП, к которой подключаюсь, стартует под 8.2, и выдает ошибку: Существуют активные сеансы работы с данной базой, использующие версию платформы, не поддерживающую совместную работу с этой версией.
12 Mikhail Volkov
 
18.07.17
19:15
Узнать заполнен реквизит или нет просто: ЗначениеЗаполнено(Документ.Реквизит). А если Документ Com-объект, то как?
13 Mikhail Volkov
 
19.07.17
05:01
Сработала ПустаяСтрока(ComДокумент.Реквизит.Наименование), другие варианты есть?
14 Mikhail Volkov
 
19.07.17
08:49
А по предыдущему вопросу, как узнать на какой платформе работает база? У себя на сервере пока так: файловый вариант - 8.2, серверный - 8.3. А у партнеров Com-обмена на их серверах может и серверный на 8.2 работать...
15 Mikhail Volkov
 
20.07.17
08:41
Внимание!
Текущая версия конфигурации "Бухгалтерия предприятия" предназначена для использования с версией системы 1С:Предприятие не ниже 8.3.8.1747
Запускаю БП2.0 вроде в 8.3, а открывается под 8.2, и такое сообщение выкидывает!?
Как-то можно заранее определять под какой платформой базу открывать? И по какому принципу определяет это Program Files (x86)\1cv8\common\1cestart.exe?
16 Йохохо
 
20.07.17
08:48
(15) изменить далее далее последняя вкладка. Удивительный вопрос
17 Йохохо
 
20.07.17
08:49
а вообще я сам наврал, у вас прямой путь в ярлыке
18 Таёжный Рёв
 
20.07.17
08:58
обмен идёт через файловый ресурс? не читал что уже посоветовали, но по личному опыту скажу 1) вывести одинаковый пароль у пользователя домена 1с и у пользователя домена сервера 1с
2) удалить usr1cv8 из "отказать в доступе этому компьютеру из сети”
3) перезапустить сервер 1с
должно всё корректно отработать
19 Mikhail Volkov
 
20.07.17
09:00
(17) Прямой путь только для 8.2 сделан: "E:\Program Files (x86)\1cv82\8.2.19.130\bin\1cv8s.exe". Но вопрос не в этом. К базам партнеров цепляюсь по Com-соединению. Заранее можно узнать какую версию Com-соединения использовать?
20 Mikhail Volkov
 
20.07.17
13:02
Когда непосредственно открываю чужую базу пишет: Используйте для подключения к информационной базе платформу версии 8.3.9.2033. О, как. Это что, мне придется свою базу тоже запускать под этой платформой, чтобы Com-соединение с чужой базой установить?
21 Mikhail Volkov
 
01.08.17
08:08
Установил платформу версии 8.3.9.2033 только посмотреть что и как в базе партнера, с которым предстоит Com-обмен. У меня базы SQL на платформе чуть выше: 8.3.9.2170. И когда возникает необходимость Com-обмена между своими базами, то запускается 8.3.9.2033, и возникает ошибка не соответствия версий клиента и сервера. Как этого избежать?
22 Mikhail Volkov
 
01.08.17
08:16
Фрагмент Com-подключения:

    ВерсияПриложения = СисИнфо.ВерсияПриложения;
    Состояние("Соединяемся с КА" + ?(Организация = Неопределено, "", " " + СокрЛП(Организация)) + " через COM-Объект " + ВерсияПриложения);
    
    Попытка
        Сообщить("Начало подключения через COM-Объект " + ВерсияПриложения + " " + ТекущаяДата(), СтатусСообщения.Информация);
        БазаКА = Новый COMОбъект("V8" + ?(Найти(ВерсияПриложения, "8.2") = 0, "3", "2") + ".Application");    //+МВ 09.02.2016 С переходом на версию 8.3 (если файловые остаются на 8.2, то добавить: И Не СтруктураПодключения.ФайловыйРежим //+МВ 15.07.2017)
        ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения);
        Сообщить("Подключение выполнено к базе: '" + СокрЛП(БазаКА.СтрокаСоединенияИнформационнойБазы()) + "' " + ТекущаяДата(), СтатусСообщения.Информация);
        Состояние("Соедининение с КА" + ?(Организация = Неопределено, "", " " + СокрЛП(Организация)) + " через COM-Объект выполнено");
    Исключение
        Состояние("При попытке соединения с КА" + ?(Организация = Неопределено, "", " " + СокрЛП(Организация)) + " через COM-Объект произошла ошибка");
        СтрокаСообщенияОбОшибке = "При попытке соединения с COM-сервером произошла следующая ошибка:" + Символы.ПС + ОписаниеОшибки();
        Сообщить(СтрокаСообщенияОбОшибке + Символы.ПС + "Строка подключения: " + СтрокаПодключения);      
        Возврат Неопределено;       
    КонецПопытки;        

Висит окно запуска 8.3.9.2033!? А в сообщениях следующее:
Начало подключения через COM-Объект 8.3.9.2170 01.08.2017 9:44:41
При попытке соединения с COM-сервером произошла следующая ошибка:
{ОбщийМодуль.мвДоработки.Модуль(6197)}: Ошибка при вызове метода контекста (Connect): Неизвестная ошибка
23 Mikhail Volkov
 
01.08.17
09:24
В c:\Program Files (x86)\1cv8\ много платформ установлено. Почему теперь для Com-соединения запускается именно 8.3.9.2033 - не самая старшая?
24 h-sp
 
01.08.17
09:34
(23) переходите на веб-сервисы уже. Раз у вас там такой зоопарк с Com-ами.
25 Mikhail Volkov
 
01.08.17
11:28
Пытаюсь перерегистрировать regsvr32 "c:\Program Files\1cv8\8.3.9.2170\bin\comcntr.dll" - пишет не удалось выполнить вызов DllRegisterServer, код ошибки 0x80070005
26 Господин ПЖ
 
01.08.17
11:31
разрешаю открыть cmd от одмина
27 Mikhail Volkov
 
01.08.17
11:42
Так C:\Windows\SysWOW64\regsvr32 "c:\Program Files\1cv8\8.3.9.2170\bin\comcntr.dll" - тоже, службу Агент сервера 1С:Предприятия 8.3 (x86-64) останавливал. Что еще попробовать?
28 Mikhail Volkov
 
01.08.17
14:19
(26) Спс, как? Вроде можно делать перерегистрацию перед каждым Com-соединением http://catalog.mista.ru/public/276794/, но тоже нужны права админа.
29 Господин ПЖ
 
01.08.17
14:22
открываешь поиск, вбиваешь cmd , и ПКМ на найденном - открыть от одмина
30 Mikhail Volkov
 
01.08.17
15:26
(29) Дык, его пароль попросит...
По статье http://novichok1c.ru/ustranenie-oshibki-pri-podklyuchenii-k-baze-dannyh-1s-cherez-com-soedinenie зарегистрировал свою компоненту 1CV83 COM Connector Class с неограниченной политикой программных ограничений. Пока не помогло. Наверное сервер надо ребутнуть...
31 Mikhail Volkov
 
02.08.17
05:31
Ночью переустановил платформу 8.3.9.2170 (только i386 в режиме исправления), и Com-обмен между своими базами восстановился, даже сервер не перезагружал. Странно, для переустановки 1С моих прав достаточно, а для регистрации отдельных компонент 1С - нет!?
Как же установить Com-соединение с базой с другой версией платформы 1С обычному пользователю?
32 Mikhail Volkov
 
02.08.17
09:26
А создание "COM+ обертки" Книга знаний: Вызов 32-битных COM-объектов на стороне 64-битного сервера 1С может решить эту проблему?
33 Mikhail Volkov
 
04.08.17
11:16
Сняли проблему тем, что обновились на единую платформу 8.3.10.2505 от 21.07.2017
34 Mikhail Volkov
 
31.08.17
13:22
Что означает эта ошибка:
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (1C:Enterprise 8.3.10.2466): Ошибка при выполнении операции с информационной базой
Файл не является файлом базы данных '\\10.0.13.219\ASK-BASE$/1Cv8tmp.1CD'
При Com-обмене возникает с базой в другом домене. Попробовал на сам открыть базу, то же: Файл не является файлом базы данных '\\10.0.13.219\ASK-BASE$/1Cv8tmp.1CD'
35 Mikhail Volkov
 
31.08.17
13:52
Меня удивляет что 1С жалуется на файл 1Cv8tmp.1CD, когда база в файле 1Cv8.1CD !? Бухгалтер той базы созвонилась, говорит у них все нормально работает, обменов ждет...
36 Mikhail Volkov
 
31.08.17
16:52
Проблемы с сетью? Как определить? Сервера находятся на территории одного складского комплекса
37 Mikhail Volkov
 
01.09.17
05:24
Блин, наверное надо категорию темы сменить на IT, 1С-ники не помогут!?
Начались проблемы, когда сисадмин домена базы стал усиливать безопасность: то NLA включит, то сложность паролей усилит...
38 VladZ
 
01.09.17
05:30
(0) В топку Com-обмен!
39 Mikhail Volkov
 
01.09.17
07:00
(38) У нас автосервис на территории АСК (административно-складской комплекс). АСК разрешает брать его запчасти в наши заказ-наряды - как бы на комиссию отдал, но не физически. Когда берутся их запчасти, автоматически формируются документы передачи. Номера для документов реализации берутся из УПП в момент передачи товаров. Такое может только Com-обмен!
40 h-sp
 
01.09.17
08:00
(39) ну и используйте веб-сервисы. Это то же самое что COM. Но требований по платформам меньше.
41 Mikhail Volkov
 
01.09.17
08:50
(40) Может и так, но механизм Com-обмена создавался для обмена между базами одной компании, на одном сервере. Решили готовый использовать, и все работало! Нужно понять причину того что случилось!?
Файл 1Cv8Tmp.1cd хранит служебную сеансовую информацию, в частности список активных пользователей, т.е. когда все выйдут из базы, его размер станет нулевым, можно удалить?
42 StanleyMarsh
 
01.09.17
11:02
(0) возможен. Делал, главное чтобы версия платформы была одинаковая. В названии сервера в параметрах базы прописываешь IP адрес.
Но для обмена это конечно изврат) Проще написать обмен через план обмена - будет работать вне зависимости от платформ и сетевых подключений.
43 StanleyMarsh
 
01.09.17
11:05
(39) не совсем понял что написал. Но точно можно сделать рег. обмен который будет заполнять регистр сведений с номерами документов(и чем угодно другим) из другой базы. А ком соединение пока подключится - пройдет не меньше 30 секунд.
44 Mikhail Volkov
 
01.09.17
12:24
(43) В базе источника Альфа-Авто понадобился товар УПП. В Альфа-Авто создается пара документов купли-продажи. Для продажи нужно застолбить номер в УПП. Как?
Но сейчас не об этом. Что может мешать просто открыть УПП напрямую (без COM)?
45 h-sp
 
01.09.17
12:35
(44) "Для продажи нужно застолбить номер в УПП. Как?" абсолютно по одной и той же схеме везде работает. Во всех этих вариантах.
46 Mikhail Volkov
 
01.09.17
15:18
(45) По какой именно? Ставить номера как попало, при загрузки в УПП занятые заменять на новые, и возвращать их в Альфа-Авто?
Ну, если сразу знать что придется делать обмены с чужими базами, то может так и делал. Но задача изначально ставилась (41). И ситуации передачи товаров не каждый день возникают.
47 Mikhail Volkov
 
03.09.17
08:25
Ошибки: "Файл базы данных поврежден", "Файл не является файлом базы данных", "Ошибка доступа к файлу 1Cv8tmp.1CD" говорит о том, что он не читается. Да, база партнера находится на другом сервере (в другом домене), ее пользователи нормально работают  базе. Пинги к серверу не более 3 мс, потерянных пакетов нет. Как выяснить причину отказа в доступе? Все работало (месяц), и вдруг перестало!?
48 Cyberhawk
 
03.09.17
08:41
Права на папку и содержащиеся в ней файлы
49 Mikhail Volkov
 
03.09.17
09:22
Их сисадмин уверяет, что ничего не менял. Файл 1Cv8tmp.1CD копирую, читаю без проблем на чужом сервере. Советуют Антивирус, сетевой экран проверить - у кого, на моем сервере? Но с моими базами 1С все нормально.
50 0xFFFFFF
 
03.09.17
09:33
(0) в жпо ком. Сделайте WS
51 Mikhail Volkov
 
03.09.17
09:37
(50) WS - веб-сервис?
52 Mikhail Volkov
 
03.09.17
09:44
(49)+ А хотел переименовать в _1Cv8tmp.1CD - говорит: "Не удается прочитать"!?
53 Mikhail Volkov
 
03.09.17
18:17
(49)+ Даже прочитал каким пользователем база занята. Но почему меня не пускает в базу?
54 Mikhail Volkov
 
04.09.17
08:40
Блин, в общем глюк 1С с именами 1Cv8 оказался: их программист сделал выгрузку 1Cv8.dt в каталог базы. Сегодня снова лечил выгрузкой загрузкой, никакого 1Cv8tmp.1CD нет. А мне пишет:
Ошибка при выполнении операции с информационной базой
Ошибка создания файла базы данных '\\путь\База/1Cv8tmp.1CD'
по причине:
Ошибка создания файла базы данных '\\путь\База/1Cv8tmp.1CD'
по причине:
Ошибка совместного доступа к файлу '\\путь\База\1Cv8tmp.1CD'

Переименовал выгрузку 1Cv8.dt, и заработало!
55 Mikhail Volkov
 
04.09.17
11:14
Рано радовался, зашли Ваши пользователи, и повторно более зайти не смог, та же ошибка: Файл не является файлом базы данных '\\путь\База/1Cv8tmp.1CD'.
56 Mikhail Volkov
 
04.09.17
13:19
Развернул у себя копию из dt-выгрузки. У каждого их пользователя включены обе аутентификации 1С и ОС - это нормально? У моего добавленного служебного для Com-обмена пользователя только одна аутентификация 1С, у меня другой домен. Может здесь не стыковка? До аутентификации дело даже не доходит, ошибку файла 1Cv8tmp.1CD выкидывает.
57 Mikhail Volkov
 
04.09.17
14:58
В строке подключения для Com-соединения добавляю: Usr="Имя_пользователя_Com_обмена";Pwd="пароль"; Они предложили своего доменного пользователя: Домен/Имя_пользователя. Как его указать в строке подключения Com-соединения?
58 Mikhail Volkov
 
05.09.17
08:38
Сегодня снова 1-м зашел в их базу, но свой кеш пришлось чистить!? Com-обмен заработал даже после входа их пользователей с аутентификацией Windows.
59 SSSSS_AAAAA
 
05.09.17
09:10
(57) Так и указать. Только слэш обратный должен быть.
Домен\Имя_пользователя
60 Mikhail Volkov
 
05.09.17
09:32
(59) Не уж то все так просто!?
На http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=652944 пишут: "...для виндовс аутентификации просто не указывается параметры пользователя и пароля", но толи пользователь запускающий Com-обмен должен быть с windows аутентификацией, толи служба Агент сервера 1С:Предприятия 8.3 (x86-64) была запущена под той доменной записью?
61 SSSSS_AAAAA
 
05.09.17
09:36
(60) Да, для " виндовс аутентификации" "пользователь должен быть с windows аутентификацией" и в sql server должен быть заведен логин для этого доменного юзера.
62 SSSSS_AAAAA
 
05.09.17
09:37
(61) Впрочем, логин для доменного юзера относится к непосредственному подключению к sql.
63 Mikhail Volkov
 
05.09.17
11:11
(62) База партнера файловая, это у нас sql. А (59) точно не пойдет?
64 Mikhail Volkov
 
06.09.17
13:26
Можно ли запустить Com-обмен с Windows-аутентификацией под нужным пользователем?
65 mehfk
 
06.09.17
13:29
Сам-то как думаешь?
66 Mikhail Volkov
 
06.09.17
14:08
(65) Надеюсь, что можно, но не пробовал (59). И база чужая, и домен чужой. Уже развернул их копию УПП у себя, буду пробовать...
67 Mikhail Volkov
 
07.09.17
09:41
Разобрался: (59) точно не работает в любых вариантах - в строке подключения добавляют пользователя и пароль только для 1С-аутентификации. А с Windows-аутентификацией - нет, и не важно под каким пользователем 1С запущена 1С, важно лишь под каким пользователем домена (ОС) запущена 1С. Подставил  этому (тестовому) пользователю свою доменную учетную запись - COM-соединение установилось! Но при этом много дополнительных прав пришлось дать кроме Право внешнего подключения. Пользователь (есть такое право) даже свои РС Настройки пользователей читать не может: У пользователя недостаточно прав на исполнение операции над базой данных!?