|
Доброго времени суток! При формировании запроса выдает такую ошибку:
{Справочник.Объекты.Форма.ФормаСписка.Форма(49)}: Поле объекта недоступно для записи (Наименование)
Объект[ПроРеквизит.Ключ] = ПроРеквизит.Значение;
Фрагмент кода:
&НаСервере
Функция СинхронизироватьНаСервере(ИмяСправочника)
//Возврат РаботаСВиалон.Синхронизировать(ИмяСправочника);
// сделаю по-новой технологии
Рез = Новый Структура("Статус, ТекстСообщения", Истина, "");
//{{ сформировать команду и отправить на сервер
//тКмнд = "%URL%?svc=core/get_account_data&sid=%SID%¶ms={""itemId"":%3}",
ПроКоманду = Новый Структура;
ПроКоманду.Вставить("ИмяСервиса", "core/search_items");
ПроКоманду.Вставить("Параметры", Справочники[ИмяСправочника].ПолучитьСтрокуПараметраДляЗапроса(ПроКоманду.ИмяСервиса));
РезультатВыполнения = РаботаСВиалон.ОтправитьКомандуНаСерверВиалон(ПроКоманду);
Если РезультатВыполнения.Статус = Ложь Тогда
Рез.Статус = Ложь;
Рез.ТекстСообщения = "Ошибка при отправке команды на сервер Wialon."+Символы.ПС+РезультатВыполнения.ТекстСообщения;
Возврат Рез;
КонецЕсли;
//}} сформировать команду и отправить на сервер
Если ТипЗнч(РезультатВыполнения.Ответ) <> Тип("Соответствие") Тогда
Рез.Статус = Ложь;
Рез.ТекстСообщения = "Сервер Wialon вернул некорректный ответ."+Символы.ПС+РезультатВыполнения.ТекстСообщения;
Возврат Рез;
КонецЕсли;
//НовыеЗначенияРеквизитов = Новый Соответствие;
Для Каждого ДанныеУчетки из РезультатВыполнения.Ответ["items"] Цикл
СтруктураЗначенийРеквизитов = Справочники[ИмяСправочника].ИнтерпретироватьОтветВиалон(ДанныеУчетки);
Объект = Справочники[ИмяСправочника].ПустаяСсылка();
ИмяРеквизита = "ВиалонИД";
Если СтруктураЗначенийРеквизитов[ИмяРеквизита] <> Неопределено Тогда
Объект = Справочники[ИмяСправочника].НайтиПоРеквизиту(ИмяРеквизита, СтруктураЗначенийРеквизитов[ИмяРеквизита]);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
Объект = Справочники[ИмяСправочника].СоздатьЭлемент();
КонецЕсли;
Для Каждого ПроРеквизит из СтруктураЗначенийРеквизитов Цикл
Объект[ПроРеквизит.Ключ] = ПроРеквизит.Значение;
КонецЦикла;
Объект.Записать();
КонецЦикла;
//Если НовыеЗначенияРеквизитов.Количество() = 0 Тогда
//обновления не потребовалось
//Иначе
// УчетнаяЗаписьОбъект = УчетнаяЗапись.ПолучитьОбъект();
// Для Каждого КЗ из НовыеЗначенияРеквизитов Цикл
// УчетнаяЗаписьОбъект[КЗ.Ключ] = КЗ.Значение;
// КонецЦикла;
// УчетнаяЗаписьОбъект.Записать();
//КонецЕсли;
Возврат Рез;
КонецФункции // СинхронизироватьНаСервере
Помогите найти, где ошибка. |
|