Имя: Пароль:
1C
1С v8
Странная ошибка
0 espanol
 
23.11.12
11:13
{Справочник.Контрагенты.Форма.ФормаЭлементаУправляемая.Форма(559)}: Ошибка при установке значения атрибута контекста (КонтактнаяИнформация)
   ПроверкаКонтактнойИнформации(Объект.Ссылка, КонтактнаяИнформация);
по причине:
Нельзя изменять поле, содержащее объект данных формы

&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
   ПроверкаКонтактнойИнформации(Объект.Ссылка, КонтактнаяИнформация);
КонецПроцедуры

&НаСервере
Процедура ПроверкаКонтактнойИнформации(Ссылка, ТаблицаКонтактов)
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    КонтактнаяИнформация.Объект,
   |    КонтактнаяИнформация.Тип,
   |    КонтактнаяИнформация.Вид,
   |    КонтактнаяИнформация.Представление
   |ИЗ
   |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
   |ГДЕ
   |    КонтактнаяИнформация.Объект = &Объект";
   Запрос.УстановитьПараметр("Объект", Ссылка);
   Результат = Запрос.Выполнить().Выгрузить();
   Для Каждого Стр Из ТаблицаКонтактов Цикл
       СтрПоиска = Результат.Найти(Стр.ВидИнформации, "Вид");
       Если НЕ СтрПоиска = Неопределено Тогда
           Если НЕ СтрПоиска.Представление = Стр.Представление Тогда
               СтруктураКА = Новый Структура;
               СтруктураКА.Вставить("ВидИнформации",     Стр.ВидИнформации);
               СтруктураКА.Вставить("ВыбранноеЗначение", "");
               СтруктураКА.Вставить("Представление",     Стр.Представление);
               СтруктураКА.Вставить("ТипИнформации",     Стр.ТипИнформации);
               ЗаписьКонтактнойИнформации(СтруктураКА);
           КонецЕсли;
       Иначе
           СтруктураКА = Новый Структура;
           СтруктураКА.Вставить("ВидИнформации",     Стр.ВидИнформации);
           СтруктураКА.Вставить("ВыбранноеЗначение", "");
           СтруктураКА.Вставить("Представление",     Стр.Представление);
           СтруктураКА.Вставить("ТипИнформации",     Стр.ТипИнформации);
           ЗаписьКонтактнойИнформации(СтруктураКА);
       КонецЕсли;
   КонецЦикла;

КонецПроцедуры


В чем может быть причина?
1 mikecool
 
23.11.12
11:14
ты не данные меняешь, а пытаешься записать в объект формы
2 espanol
 
23.11.12
11:16
(1) там идет запись только регистра сведения веть
3 YF
 
23.11.12
11:16
Отладчик, остановка по ошибке и покажи где остановится и какую ошибку выдает
4 espanol
 
23.11.12
11:18
(3) не могу пока запустить сервер в режиме отладки... (рабочий)
5 YF
 
23.11.12
11:18
(4) На копии базы в файловой версии
6 espanol
 
23.11.12
11:19
(5) в файловой не получится, не развернется cf
7 espanol
 
23.11.12
11:35
Понял в чем дело, путем коментирования строк, в момент передачи на сервер таблицы значений: КонтактнаяИнформация (Тип: ДанныеФормыКоллекция)... в СП написано что:
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.


Подскажите, как передать?
8 espanol
 
23.11.12
11:46
разобрался


&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
   ПроверкаКонтактнойИнформации(Объект.Ссылка);
КонецПроцедуры

&НаСервере
Процедура ПроверкаКонтактнойИнформации(Ссылка)
   
   ТаблицаКонтактов = ДанныеФормыВЗначение(КонтактнаяИнформация, Тип("ТаблицаЗначений"));
   Запрос           = Новый Запрос;
   Запрос.Текст     =
   "ВЫБРАТЬ
   |    КонтактнаяИнформация.Объект,
   |    КонтактнаяИнформация.Тип,
   |    КонтактнаяИнформация.Вид,
   |    КонтактнаяИнформация.Представление
   |ИЗ
   |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
   |ГДЕ
   |    КонтактнаяИнформация.Объект = &Объект";
   Запрос.УстановитьПараметр("Объект", Ссылка);
   Результат = Запрос.Выполнить().Выгрузить();
   Для Каждого Стр Из ТаблицаКонтактов Цикл
       СтрПоиска = Результат.Найти(Стр.ВидИнформации, "Вид");
       Если НЕ СтрПоиска = Неопределено Тогда
           Если НЕ СтрПоиска.Представление = Стр.Представление Тогда
               СтруктураКА = Новый Структура;
               СтруктураКА.Вставить("ВидИнформации",     Стр.ВидИнформации);
               СтруктураКА.Вставить("ВыбранноеЗначение", "");
               СтруктураКА.Вставить("Представление",     Стр.Представление);
               СтруктураКА.Вставить("ТипИнформации",     Стр.ТипИнформации);
               ЗаписьКонтактнойИнформации(СтруктураКА);
           КонецЕсли;
       Иначе
           СтруктураКА = Новый Структура;
           СтруктураКА.Вставить("ВидИнформации",     Стр.ВидИнформации);
           СтруктураКА.Вставить("ВыбранноеЗначение", "");
           СтруктураКА.Вставить("Представление",     Стр.Представление);
           СтруктураКА.Вставить("ТипИнформации",     Стр.ТипИнформации);
           ЗаписьКонтактнойИнформации(СтруктураКА);
       КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры