Имя: Пароль:
1C
1С v8
Как с ТЗ записать в РС?
0 kyrgyz
 
29.07.12
13:23
Вот так не получается.

НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();

   ТЗ = ЭлементыФормы.НайденныеОбъекты.Значение;
   Для каждого Строка Из ТЗ Цикл
       Если Строка.Пометка Тогда
           Запись = НаборЗаписейЗначенияСвойств.Добавить();
           Запись.Объект   = Строка.Документ;
           Запись.Свойство = СвойствоОтгружен;
           Запись.Значение = Истина;
       КонецЕсли;
   КонецЦикла;
   
   
   
   Попытка
       НаборЗаписейЗначенияСвойств.Записать();
1 1C-band
 
29.07.12
13:26
МенеджерНабораЗаписей
2 kyrgyz
 
29.07.12
13:26
а если в начале так:

НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.РегистрСведенийНаборЗаписей();

То удаляет все зприси и вводит новые. :(

Неужели надо в цикле делать отбор по объекту и каждый раз читать РС?
3 1C-band
 
29.07.12
13:27
1. Установить отобр;
2. .Прочитать()
4 kyrgyz
 
29.07.12
13:29
(3) Неужели в цикле мне надо отбирать каждый раз?
5 Ctyd
 
29.07.12
13:30
ТЗ = ЭлементыФормы.НайденныеОбъекты.Значение;
   Для каждого Строка Из ТЗ Цикл
       Если Строка.Пометка Тогда
           Запись = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
           Запись.Объект   = Строка.Документ;
           Запись.Свойство = СвойствоОтгружен;
           Запись.Значение = Истина;
Запись.записать();
       КонецЕсли;
   КонецЦикла;
   
А такой вариант плохой?
6 kyrgyz
 
29.07.12
13:32
(5) Попробую а так хотел извратиться так:

НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
     ТЗ = ЭлементыФормы.НайденныеОбъекты.Значение;
   Для каждого Строка Из ТЗ Цикл
       Если Строка.Пометка Тогда
           НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(Строка.Документ);
           НаборЗаписейЗначенияСвойств.Прочитать();
           Если НаборЗаписейЗначенияСвойств.Количество() = 0 Тогда
   
           ИначеЕсли НаборЗаписейЗначенияСвойств.Количество() = 1 Тогда
               НовыйКурс = НаборЗаписейЗначенияСвойств[0];
           Иначе
              Продолжить;
           КонецЕсли;
           Запись.Объект   = Строка.Документ;
           Запись.Свойство = СвойствоОтгружен;
           Запись.Значение = Истина;
           НаборЗаписейЗначенияСвойств.Записать();
       КонецЕсли;
   КонецЦикла;
7 kyrgyz
 
29.07.12
13:44
(5) Получилось Спасибо.
Токо я не понял почему не дублирует при вотроном запуске обработки?

Видимо сам менеджер следить за уникальностью.
8 vvp91
 
29.07.12
14:32
У РегистрСведенийНаборЗаписей есть метод Загрузить(ТаблицаЗначений).
Создаешь набор записей, устанавливаешь отбор, загружаешь таблицу значений, свойство Записывать устанавливаешь в Истина, вызываешь метод Записать().
9 kyrgyz
 
29.07.12
14:47
(8) Спасибо об этом я понял но не хотел еще возиться ТЗ создавать. Но на будущее для отпимизации буду использовать.