Имя: Пароль:
1C
1С v8
v8: Как отмутабилить расписание чтобы оно стало не мутабельное?
0 ZUM
 
19.03.12
11:12
Коллеги, поделитесь опытом кто как передает параметры на сервер.
В частности столкнулся с передачей на сервер типа РасписаниеРегламентногоЗадания.
1 х86
 
19.03.12
11:19
значение в строку
2 Stepa86
 
19.03.12
11:52
(1) вот тока в тонком клиенте оно недоступно

я из БСП спер идею - создать реквизит формы типа список значений с произвольным значением элемента и в него класть в первый элемент расписание


&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
   
   УстановитьРасписаниеПоХЗ( ТекущийОбъект.хзРасписание );
   
КонецПроцедуры

Процедура УстановитьРасписаниеПоХЗ( пХЗ )
   
   расписание = пХЗ.Получить();
   
   СписокРасписаний.Очистить();
   
   Если Не расписание = Неопределено Тогда
       
       СписокРасписаний.Добавить(расписание);
       
   КонецЕсли;
   
КонецПроцедуры


&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
   
   Если СписокРасписаний.Количество() > 0 Тогда
       
       ТекущийОбъект.хзРасписание = Новый ХранилищеЗначения( СписокРасписаний.Получить(0).Значение );
       
   КонецЕсли;
   
КонецПроцедуры

&НаКлиенте
Процедура НастроитьРасписание(Команда)
   
   Если СписокРасписаний.Количество() > 0 Тогда
       Расписание = СписокРасписаний.Получить(0).Значение;
   Иначе
       Расписание = Неопределено;
   КонецЕсли;
   
   Расписание = РедактированиеРасписанияРегламентногоЗадания(Расписание);
   
   СписокРасписаний.Очистить();
   СписокРасписаний.Добавить(Расписание);
   
   Объект.РасписаниеПредставление = Строка(Расписание);
   
   УстановитьПредставлениеРасписания();
   
КонецПроцедуры

&НаКлиенте
Функция РедактированиеРасписанияРегламентногоЗадания(Расписание)
   
   Если Расписание = Неопределено Тогда
       
       Расписание = Новый РасписаниеРегламентногоЗадания;
       
   КонецЕсли;
   
   Диалог = Новый ДиалогРасписанияРегламентногоЗадания(Расписание);
   
   // открываем диалог для редактирования Расписания
   Если Диалог.ОткрытьМодально() Тогда
       
       Расписание = Диалог.Расписание;
       
   КонецЕсли;
   
   Возврат Расписание;
   
КонецФункции
3 ZUM
 
19.03.12
12:46
Спасибо большое!