Имя: Пароль:
1C
1C 7.7
v7: Ошибка создания элемента справочника по ole из 1с 7.7 в 8.3
0 РусскийВедун
 
15.12.18
21:52
V8 = СоздатьОбъект("V83.Application");  
    
    попытка
        V8.connect("File=""D:\1c8"";Usr=""Ole"";pwd=""999""");
        Сообщить("Подключились к базе");
    Исключение
        Сообщить("Не подключился!!!!");  
        Сообщить(Описаниеошибки());
    КонецПопытки;
    ТМЦ=V8.Справочники.Номенклатура;  
    ед=V8.Справочники.ОКЕИ;  
    нужнаяед=ед.найтипоКоду("796");
    НоваяЗапись = ТМЦ.создатьэлемент();
    НоваяЗапись.код="34663434";
    НоваяЗапись.Наименование="проверка";
    НоваяЗапись.БазоваяЕдиница=нужнаяед.ссылка;
    НоваяЗапись.БазоваяЕдиница=V8.перечисления.видытмц.материал;
    попытка
        НоваяЗапись.записать();  
    исключение  
        Сообщить(Описаниеошибки());
    конецпопытки;


Вылетает ошибка 1C:Enterprise 8.3.12.1595: Не удалось записать: "Номенклатура"! Что делать не понимаю.
1 HawkEye
 
15.12.18
21:54
(0) код не уникален...
2 РусскийВедун
 
15.12.18
21:56
(1) отключил тоже самое
3 shuhard
 
15.12.18
22:06
(0)[ Что делать не понимаю.]
отлаживаться
в типовых для номенклатуры и 30% реквизиотов не указал
4 hhhh
 
15.12.18
22:44
(2) вот тут

НоваяЗапись.БазоваяЕдиница=V8.перечисления.видытмц.материал;

хрень какая-то
5 РусскийВедун
 
15.12.18
22:45
(4) согласен из-за этого не получается. но как присвоить перечисление?
6 hhhh
 
15.12.18
22:48
(5) перечисление правильно присваиваешь.
7 РусскийВедун
 
15.12.18
22:49
(6) да. но в 8 пустое получается, если отключать контроль записи реквизита.
8 palsergeich
 
15.12.18
22:51
Я что бы не было этой свистопляски делаю так -
В базе куда писать пишу запрос и отлаживаю его.
Потом в коннекторе получаю результат запроса и уже оттуда достаю нормальные ссылки.
9 palsergeich
 
15.12.18
22:54
А так есть подозрение что не отрабатывает обработкаПроверкиЗаполнения - она и валит запись
10 hhhh
 
15.12.18
22:56
(7) что такое 8 и зачем ты вообще в единицу изсмекрения пытаешься захерачить перечисление? попробуй

   НоваяЗапись.БазоваяЕдиница=нужнаяед.ссылка;
11 РусскийВедун
 
15.12.18
23:03
(10) да тут в коде описка.

НоваяЗапись.видытмц=V8.перечисления.видытмц.материал;

оно не присваивается.
12 hhhh
 
15.12.18
23:07
(11) нетиповая что ли восьмерка? Что за видытмц?
13 РусскийВедун
 
15.12.18
23:09
(12) да. прокаченная.
14 РусскийВедун
 
15.12.18
23:10
(12) в нем перечисление материал продукция и т д
15 Злопчинский
 
16.12.18
00:02
Лично меня вот это напрягает
НоваяЗапись.БазоваяЕдиница=нужнаяед.ссылка;
я далеко не знаток УТ - а похоже что все-таки что-то на УТ бпзируется - причина вряд ли в этом, но писать в базовую единицу ссылку на ОКЕИ - ну это в совсем простых велосипедных конфигах...
16 Сияющий в темноте
 
16.12.18
01:30
Во первых, ед.НайтиПоКоду, возвращает ссылку.
Во-вторых, чего мы там из материалов в единицу пишем.
В третьих, можно код ошибки вывести, чтобы посмотреть, что получилось.

НоваяЗапись.БазоваяЕдиница=нужнаяед.ссылка;
НоваяЗапись.БазоваяЕдиница=V8.перечисления.видытмц.материал;
Вот эти две строки явно вместе не должны быть.
И, наверное, хотели вид товара записать.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший