Имя: Пароль:
1C
1С v8
Подключение из 77 в УТ 3.0 ДЛЯ Украины(Управляемое приложение)
,
0 Начинающий Восьмерочн
 
28.10.13
13:49
НоваяГруппа  = Соединение.Справочники.Номенклатура.СоздатьГруппу();
            НоваяГруппа.Родитель = НайденнаяГруппа;
            НоваяГруппа.Наименование=СпрНоменклатура.Наименование;
            НоваяГруппа.Записать();    

получаю отлуп

ПередЗаписью'
{Справочник.Номенклатура.МодульОбъекта(46)}: Ошибка при вызове метода контекста (ПроверитьДопустимостьИзмененияРеквизитовСправочника)
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ПроверитьДопустимостьИзмененияРеквизитовСправочника ()

я так понимаю, что этот путь тупиковый и надо номенклатуру из семерки тянуть написав обработку в 8-ке
1 Михаил Козлов
 
28.10.13
14:05
Посмотрите, что в ПроверитьДопустимостьИзмененияРеквизитовСправочника()
2 Начинающий Восьмерочн
 
28.10.13
14:19
(1) там вот такая конструкция

Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    Если НЕ УправлениеДоступомУТ.ПроверитьДопустимостьИзмененияРеквизитовСправочника(ЭтотОбъект, Отказ) Тогда
        Возврат;
    КонецЕсли;
3 Михаил Козлов
 
28.10.13
14:21
Поставьте НоваяГруппа.ОбменДанными.Загрузка = ИСТИНА;
Либо подключайтесь через V82.Application, а не ComConnector.
4 Начинающий Восьмерочн
 
28.10.13
15:09
(3) пытаюсь сообразить как из 77 передать параметр Истина, все перепробовал уже V82.Истина и Соединение.Истина

поделючение происходит так  

V82 = СоздатьОбъект("V82.COMConnector");

    СтрПодкл="srvr='"+СокрЛП(Сервер)+":"+СокрЛП(Порт)+"';ref='"+СокрЛП(ИмяБазы)+"';usr='"+СокрЛП(Пользователь)+"';pwd='"+СокрЛП(Пароль)+"';";    
    Попытка
        Соединение=V82.Connect(СтрПодкл);
        Сообщить("Вроде как!");
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;
5 Михаил Козлов
 
28.10.13
15:17
(4) Какой параметр? Просто у созданного объекта ОбменДанными.Загрузка = ИСТИНА;
Первоначальная ошибка связана с тем, что в процедуру передается объект, а не ссылка, и, в случае COMConnector, код выполняется на сервере, поэтому и мутабельное значение.
6 Kreont
 
28.10.13
15:25
При условии что сам правильно заполняешь:
НоваяГруппа.ОбменДанными.Загрузка = Истина;
НоваяГруппа.Записать();
7 Kreont
 
28.10.13
15:26
А хотя вроде так, истина = "-1" :(
НоваяГруппа.ОбменДанными.Загрузка = -1;
НоваяГруппа.Записать();
8 Начинающий Восьмерочн
 
28.10.13
15:44
(7) так тоже пробовал, пишет несоответствие типов
9 Kreont
 
28.10.13
15:46
у меня такое в коде есть, для 7.7 при подключении в 8-ку:
    Ложь = 0;
    Истина = -1.0;
10 Начинающий Восьмерочн
 
28.10.13
15:48
(9) явно не мой день

НоваяГруппа.ОбменДанными.Загрузка =  -1.0;// V82.Истина;
{D:\ЭКСПОРТ СПРАВОЧНИКА ТМЦ.ERT(57)}: 1C:Enterprise 8.2.19.68: Несоответствие типов
11 ЧессМастер
 
28.10.13
15:53
(10)

НоваяГруппа.ОбменДанными.Загрузка = V82.Перечисление.Булево.Истина;

по-моему так
сейчас под рукой 7.7 нет
12 Михаил Козлов
 
28.10.13
15:53
Может быть попробовать преобразование типа:
Встроенные функции языка
Булево (Boolean)
Синтаксис:
Булево(<Значение>)
Параметры:
<Значение> (обязательный)
Тип: Число, Булево. Исходное значение.
Возвращаемое значение:
Тип: Булево. Полученное значение.
Описание:
Преобразует полученный параметр в значение типа Булево.
Преобразование числа к типу Булево производится по следующим правилам:
0 преобразуется в Ложь;
остальные значения преобразуются в Истина.
Пример:
Если ТипЗнч(Реквизит) = Тип("Булево") Тогда
    Значение = Булево(Значение);
КонецЕсли;
13 Начинающий Восьмерочн
 
28.10.13
17:14
В общем беда даже с явным присвоением
НоваяГруппа.ОбменДанными.Загрузка =  Соединение.ЗначениеЗаполнено(1);
{D:\ЭКСПОРТ СПРАВОЧНИКА ТМЦ.ERT(58)}: 1C:Enterprise 8.2.19.68: Несоответствие типов
Программист всегда исправляет последнюю ошибку.