Имя: Пароль:
1C
1С v8
СоздатьДокумент() через Com в БП 3.0
0 keln1989
 
17.03.15
11:20
Из БП 2.0 подключаюсь к БП 3.0, платформа 8.3.5.1460, создаю документ, при попытке заполнить табличные части товары или услуги, выдает ошибку -
"{Форма.Форма.Форма(374)}: Значение не является значением объектного типа (Очистить)
НовыйДок.Услуги.Очистить();". При отладке оказалось что табличные части имеют тип не ComОбъект, а Строка. Подскажите пожалуйста, чем может может быть проблема?
1 keln1989
 
17.03.15
11:27
Ап
2 ShoGUN
 
17.03.15
11:35
(0) А какое значение у этой строки?
3 keln1989
 
17.03.15
11:35
""
4 keln1989
 
17.03.15
11:40
(2) пустая строка. Просто я подумал что может я чего не знаю, что так и должно быть и гуглил, на яндексе искал - результата нет. В итоге решил написать.
Если это не нормальная ситуация, сейчас по пробую поставить новую платформу и зарегать новую dll'ку.
5 keln1989
 
17.03.15
11:51
Проблема решена, ошибка платформы 8.3.5.1460, в 8.3.5.1486, ошибка устранена.
6 keln1989
 
18.03.15
17:31
Нет, я ошибся, дело было совсем не в платформе, ошибка сохранилась. Дело в том что у меня в цикле идет подключение к разным базам. Так вот, если подключится сначала к БП 2.0, то при последующем подключении к БП 3.0, выплывает описанная выше ситуация, а если наоборот, то появляются уже проблемы с БП 2.0. Не могу понять в чем проблема.
Думал что проблема в том что не происходит отключение COM соединения, но кажется это не так, поскольку я обнуляю переменную, содержащую ComОбъект.

У кого какие идеи?
7 hhhh
 
18.03.15
17:52
ну значит в переменной НовыйДок лажа.
8 keln1989
 
19.03.15
12:11
В итоге оказалось что все данные есть, но они каким-то образом перемешались и в итоге чтобы записать контрагента в соданный документ, нужно обратиться к ДоговорКонтрагента, а чтобы Контрагента, в ТипЦен... А таблица Услуги - это DataExchange, а АгентскиеУслуги - это AdditionalProperties.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший