Имя: Пароль:
1C
 
Внешнее соединение: ошибка получения объекта NullReferenceException
, , ,
0 mikaelangelm
 
21.09.18
23:43
Добрый день. Пишу консольное приложение на C#. Подключаюсь к слегка доработанной sql базе УТ 10.3 через V83Connector, успешно получаю любые ссылки на объекты

Некоторые объекты (далеко не все), в частности документ "Заказ клиента" ни получить по ссылке, ни создать не удается, ошибка - как в теме

Что предпринято (безуспешно; одновременно):
- убрана "защита от опасных действий" у пользователя, под которым авторизуюсь
- закомментирован модуль объекта
- закомментированы все подпроцедуры процедур, указанных в подписках на заказ клиента
- всем модулям, в которых располагаются процедуры подписок, указано свойство "внешнее соединение"

(Список ссылок в СВОЙСТВАХ на Заказ клиента: https://docs.google.com/document/d/1DR5ZD7-MzfWkrvz0w_pr6UEa2bpp2H_faPYq-Ssumok/edit?usp=sharing)

_______________________________________________

Обещаю 500 р в Сбербанк.онлайн или на Яндекс.Деньги тому, чей совет решит проблему
1 МихаилМ
 
22.09.18
00:01
2 Cool_Profi
 
22.09.18
08:41
В журнале регистрации что есть?
3 mikaelangelm
 
22.09.18
12:20
(2) Извиняюсь, забыл сообщить, в журнале регистрации на каждый сеанс 3 записи: начало сеанса, аутентификация, завершение сеанса. Все синенькие (не ошибки и не предупреждения). То есть нет
(1) Тут скорее в сторону 1с нужно смотреть, потому что ссылка присваивается корректно. Разве что ссылка как то затирается в момент вызова наследованного из 1c метода получить объект (ссылка.ПолучитьОбъект()), но как это проверить не знаю
4 H A D G E H O G s
 
22.09.18
12:56
Хоть бы код показали что-ли.
5 mikaelangelm
 
22.09.18
13:14
(4) Действительно. Вот ссылка на код, в котором получаю последовательно 2 документа: самописный Бит_Тендер и типовый ЗаказКлиента.
Первый - успешно, второй - нет

https://docs.google.com/document/d/1k2H-u2kq4VYT0IQ7qVIcZjQaOUGcx3ok29PztVz2mlc/edit?usp=sharing
6 sechs
 
22.09.18
13:56
(5) А ты уверен, что у тебя в базе есть документ с ссылкой, равной твоему гвоздями прибитому уникальному идентификатору?
7 mikaelangelm
 
22.09.18
14:30
(6) Абсолютно. Ссылку получаю, реквизиты по ней также доступны
8 Генератор
 
22.09.18
16:02
попробуй из другой базы 1с обработкой подключиться и то же самое сделать
9 H A D G E H O G s
 
22.09.18
16:07
(7) Проверь ad1 на пустоту.

    dynamic ad1 = Connect.Документы.ЗаказКлиента.ПолучитьСсылку(Connect.NewObject("УникальныйИдентификатор", "e69e6e8d-17d9-11e8-80cf-00155d0a0504")); //"e69e6e8d-17d9-11e8-80cf-00155d0a0504"

if (ad1.Пустая()==true) {Console.WriteLine("Пустая ссылка");
exit;
}
10 mikaelangelm
 
22.09.18
17:09
(8) все документы одного типа получает, все документы второго типа - нет. Тут очевидно что дело в базе-источнике, но попробую
(9) метод Пустая() отрабатывает, ссылка не пустая
11 Cyberhawk
 
22.09.18
17:37
Прав пади у пользователя ИБ нет
12 mikaelangelm
 
23.09.18
20:13
(11) У пользователя полные права, в т.ч. на внешнее соединение (устанавливается корректно), на все действия с документом ЗаказКлиента
13 mikaelangelm
 
30.09.18
00:02
Ошибка найдена: при указания в подписках на события ПриЗаписи и ОбработкаПроведения не рос кокос

подписки были добавлены вручную, сотрудником 1с-Бит, правдиво подписавшимся под своим кодом фамилией Чесняк )