v8.3 COMConnection [C#] выскакивает Исключение #709855


#0 by Frdezleen
Доброго времени суток. Надеюсь по адресу обращаюсь. Не могу никак заставить работать программу. На форме 1 кнопка. Текст клика:         private void button1_Click(object sender, EventArgs e)         {         } Текст ошибки при клике по кнопке Необработанное исключение типа "System.Runtime.InteropServices.COMException" произошло в Link1C.exe Дополнительные сведения: В результате вызова компонента COM возвращена ошибка в формате HRESULT E_FAIL. P.S. система Windows 7 x64. 1С лицензионная, установлена в системе. Разработка ведется для x86 платформы в VS2010. База такая существует, пользователь в ней создан. Права на папку выданы P.P.S только что обнаружил что во время выброса исключения в папке с базой появляются два *tmp* файлика, которые исчезают. То есть что-то происходит во время подключения, а что не понятно.
#1 by Рэйв
А апострофы точно можно исмпользовать вместо нормальных кавычек? А то у меня например вот так:
#2 by Maxus43
имхо строка соединения неправильная
#3 by Maxus43
проверь строку собранную средствами винды
#4 by Frdezleen
проверил. собирает как у Рэйва. Я пробовал, кавычки, без кавычек, апострофы - все уже перебрал
#5 by Maxus43
средствами винды проверил? (файлик с расширением .udl сделай) по твоей строке подключения подключается вобще? не из VS
#6 by Frdezleen
Как не из VS проверить строку подключения не знаю пока. С udl разбираюсь сейчас
#7 by shuhard
udl для ADODB, с комами он не работает
#8 by shuhard
в какой строке произошла ошибка ?
#9 by Maxus43
точняк..(
#10 by Frdezleen
result = com1s.Connect("File='" + file + "';Usr='" + user + "';pwd='" + pas + "';"); в этой. Немного изменил текст программы
#11 by Maxus43
из 1с к 1с попробуй цепанись по кому.
#12 by Frdezleen
Такой вопрос. Может ли блокировать мне внешнее соединение отсутствие лицензии? Качал технологическую платформу 8.2 с сайта
#13 by shuhard
а ключ ?
#14 by Frdezleen
а вот хз, она ключ не просила и работает...
#15 by Frdezleen
У нас есть лицензия на 1 рабочее место, я по этому регномеру на сайте users зарегистрировался, скачал оттуда технологическую платформу 8.2 и конфиг с целью разработки внешнего приложения. Вот она и не просит никакой ключ, а работать позволяет...Но как будто именно она блокирует внешние соединения
#16 by shuhard
[Но как будто именно она блокирует внешние соединения] а у пользователя в ролях есть работа по Com ?
#17 by Frdezleen
да есть полные права (ну все галочки проставил)
#18 by shuhard
ещё раз, права на корень
#19 by Frdezleen
это как?
#20 by shuhard
нужно открыть конфигуратор найти роль и позырить все права этой роли на корень конфигурации, возможно нет галки на Внешнее соединение
#21 by Frdezleen
хм... а какая может быть роль у пользователя. Я создал пользователя и проставил ему все галки в правах.
#22 by shuhard
у пользователя может быть неограниченно количество ролей и все эти роли чудесно видны в конфигураторе Администрирование - пользователи
#23 by Frdezleen
Продолжение истории. К базе я подключился, объект получил. А вот теперь на строчке refer.Записать; выскакивает эксепшн что ссылка на объект не указывает на экземпляр объекта...
#24 by kiruha
referObject=refer.ПолучитьОбъект; ... referObject.Записать;
#25 by kiruha
А у тебя уже объект сорри
#26 by Dolphinbet
А не лучше ли веб-сервисы использовать вместо com?
#27 by Frdezleen
мне нужно чтобы это и у заказчика работало, а я не знаю стоит ли у него web-расширение, можно ли залезть в конфиг 1С. Так я просто сначала на своей машине соберу конфиг, потом на машине заказчика установлю IDE и пересоберу проект с его COM.Connector. Версия 1С заказчика 7.7
#28 by Dolphinbet
Если у заказчика 7.7 почему Вы используете V83.COMConnector? Это совершенно разные вещи..
#29 by Frdezleen
Я у себя разрабатываю и тестирую приложение, платформы 7.7 и не имею. Планирую потом на компьютере заказчика пересобрать проект
#30 by Dolphinbet
не знаю... я бы поставил 7.7 на Вашем месте, потом придется все переделывать
#31 by Frdezleen
у меня нет 7.7 )
#32 by Dolphinbet
А вообще посоветуйте заказчику перейти на платформу 8.3 :)
#33 by Frdezleen
я то посоветую, это мою проблему не решает. Почему выскакивает эксепшн на refer.Записать
#34 by Dolphinbet
а какая у Вас конфигурация? какая то из типовых или самописная?
#35 by Dolphinbet
интерактивно создается элемент справочника?
#36 by Frdezleen
что? я не знаю - это работа через COM же
#37 by Serginio1
#38 by Frdezleen
на всякий случай спасибо. Но пока не понял
#39 by Serginio1
Проблема может быть в том, что из модуля объекта ПриЗаписи вызываются методы из модулей у которых не стоит галка ВнешнееСоединение. Поэтому при выполнении данных методов вызывается ошибка. Так же для справочников может вызываться событие ПриУстановкеНовогоКода (при подписке на событие)
#40 by Frdezleen
хм то есть про ссылку на объект еще не факт? ладно посмотрю
#41 by Frdezleen
проверка не выявила ошибок
#42 by Serginio1
ПараметрыМодулипроверка галку напротив внешнее соединение. И сделай проверку модуля или проверка модулей в меню конфигурация точно галочку поставил?
#43 by Frdezleen
Все на другом форуме помогли. добавил строчку refer.ОбменДанными.Загрузка=true перед refer.Записать и все заработало. Всем спасибо за потраченное время) Еще увидимся
#44 by Serginio1
Значит проблема у тебя при записи где обычно проверяется ОбменДанными.Загрузка
#45 by Frdezleen
Где это посмотреть? А то работает то работает. Но я не люблю "случайные" и непонятные решения проблем
#46 by Serginio1
Если внимательно перечитаешь 39 то поймешь откуда проблема. Где то вызывается модуль у которого не стоит галочка внешнее соединение. Если ты считаешь, что предусмотрел все действия которые происходят при записи то используй  ОбменДанными.Загрузка=истина. Она как раз предназначена, что бы не проводить никаких действий при записи например
#47 by Frdezleen
А как мне "предусмотреть"? То бишь, где узнать ВСЁ, что происходит при записи, а то выходит это костыль и опасный костыль
#48 by Serginio1
Угу. Прочитать модуль при записи и подписки на события
#49 by kiruha
Ставишь точку останова в ПередЗаписью и по шагам отлаживаешь В чем проблема ?
#50 by EvgeniuXP
у тебя нет - в инете всё есть, попробуй поискать там. Только 7.7 инсталлируй, а не перепиши просто папку, иначе OLE не будет работать, ну или регай dll отдельно.
#51 by EvgeniuXP
и книжку заодно найди Андрей Михайлов 2-ое издание "1С.Предприятие 7.7 8.0. Системное программирование", там всё написано.
#52 by Frdezleen
итак...вся проблема была в...единице измерения. Кому интересно вот нормальный код на C#. Записи также присваивается новый код из нумерации 1С. private void button1_Click(object sender, EventArgs e)         {
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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