v7: Подключение через com к базе 1С 7.7 #786498


#0 by Vitalii72
Доброе время суток, подскажите пожалуйста, есть задача из под 8.3 подключаться к базе 7.7 и по наименованию или ИНН получать контрагента из справочника. Вот код, который использую: &НаКлиенте     Сообщить("Соединение с базой прошло успешно",СтатусСообщения.Информация); Первый вопрос, если база 1с 7.7 в данный момент запущена, мне выдаёт сообщение "Базу данных открыть не удалось!". Сперва думал обычная проблема каталог пользователя занят, но зайдя под другим пользователем результат тот же. Второй вопрос как мне получить элемент справочника контрагенты из базы 7.7 в 8.3. Сейчас получаю Comhbject.
#1 by Alexor
Воторой вопрос, ты получаешь Сом объет. Ты в базе 8 к Объекту.Заказчик пытаешься присвоить элемент из 7-ки. Бери эти реквизиты и ищи в своем 8 справочнике контрагентов, по реквизитам. И уже его присваивай.
#2 by HawkEye
1. видимо монопольно запущена... 2. НайтиПоНаименованию в 7.7 возвращает 1 или 0... в КонтрагентСОМ - и есть элемент справочника... если найтипонаименованию = 1
#3 by Vitalii72
спасибо за ответы База запущена 100% в обычном режиме, если база закрыта, подключение проходит нормально.
#4 by Vitalii72
а как найти по реквизиту в справочнике контрагенты? Делаю: Выдаёт ошибку в результате.
#5 by Vitalii72
Объект.ИНН из формы 8.3
#6 by Злопчинский
строкаинн = объект.инн;И эту переменную используйте при поиске
#7 by Злопчинский
ещё раз упомянешь про выдаёт ошибку и не приведешь сообщение об ошибке - забаню за злостное неуважение к сообществу
#8 by Злопчинский
найти по реквизитаИ возвращается число
#9 by Vitalii72
Спасибо за ответ, попробовал так по причине: Произошла исключительная ситуация (1С:Предприятие): Неверное имя реквизита!
#10 by Злопчинский
в базе 77
#11 by Злопчинский
открой сигтакспомощние для 77 и прочитай параметры метода найтипореквизиту
#12 by Vitalii72
Да, через синтакспомощника нашёл, спасибо. Пытаюсь сейчас найти, почему не подключается к базе 1с 7.7 из 8.3 если она запущена под любым пользователем.
#13 by HawkEye
во первых, надо указать имя реквизита... 7.7 не обладает телепатическими способностями угадывать желания разработчика. во вторых, если 7.7 - ТиС, то НайтиПоРеквизиту для ИНН - работать не будет. заказчик у тебя строка? зы. не надо пытаться угадать код... надо внятно изложить что есть и что надо....
#14 by Злопчинский
заходишь под уже зашедшим пользователем
#15 by Vitalii72
Пробовал под другим, не пускает, тоже думал каталог пользователя занят.
#16 by Злопчинский
а что говорит когда не может войти
#17 by Vitalii72
Доходит до этой строки а дальше значение Открыто встаёт 0 и соответственно собщение "Базу данных открыть не удалось".         Если Открыта = 0  Тогда         Сообщить("Базу данных открыть не    удалось!",СтатусСообщения.Информация); В другом топике на мисте есть схожая проблема, только её пытаются решить через МонопольныйРежимOLE, но если я правильно понимаю, база будет заблокирована для остальных (
#18 by Torquader
А нахрена вы ему в Стр 1Cv7.exe пихаете ? Оно ему как рыбке зонтик.
#19 by Torquader
И потом, /u задаёт каталог пользователя, отличный от самой базы - если его задать, то можно будет войти второй раз.
#20 by Torquader
Result=V77.Initialize(V77.rmTrade,"Enterprise /dC:1SBASE /uC:1SBASEOLEUSER /nOleUser /pOlePass /tC:TEMP","NO_SPLASH_SHOW");
#21 by Aleksey
Я бы отказался бы от оле v7 в пользу прямого доступа к дбф файлам. Меньше проблем будет с индексированием и прочей фигней
#22 by Провинциальный 1сник
Как раз наоборот, если каталог пользователя не задан - можно заходить сколько угодно раз. Если задан - только один.
#23 by Shved_72
77оле часто остаётся висеть как процесс. Найти и убить через диспетчер задач
#24 by Vitalii72
Вообще убрал Стр, сделал как у Вас, каталог пользователя пробовал убирать и ставить, все равно не хочет грузить. Просто даже запускаю 7.7 под одним пользователем, а из 8.3 под вторым, не выходит (.
#25 by Vitalii72
Если закрыть 7.7, всё проходит ок и ищет по ИНН
#26 by Vitalii72
Открыта = V77.Initialize(V77.RMTrade,"Enterprise /dC:UsersВиталийDesktop1Cbase1sbdb /uC:UsersВиталийDesktop1Cbase1sbdbusrVit /nВиталий /p**** /tC:TEMP","NO_SPLASH_SHOW");
#27 by Злопчинский
под пользователем под которым ты заходишь в 77 отключены права использования как олесервера
#28 by Vitalii72
просто через com соединение не сделать, без Оле? просто ищу сейчас информацию как решить проблему и отзывы не очень.
#29 by Cool_Profi
А чем, по твоему, отличается ком от оле в случае 77?
#30 by Злопчинский
Второй вариант что у тебя запускается однопользовательская
#31 by Vitalii72
Попробовал открыть через обычные режим 2 разных у чётки, не фига, значит реально дело не в коде. Спасибо, хоть знаю куда смотреть сейчас!
#32 by Torquader
Если нет ключа /m (монопольно) при запуске и в окне выбора галочка "монопольно" не снимается, что у вас локальный однопользовательский ключ - два раза не зайти.
#33 by Web00001
Он просто сам их не читает :)
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С