Имя: Пароль:
1C
1С v8
менеджер записи рс. прочитать(), помогите в ликбезе
0 Domanoff26
 
21.01.13
12:26
неожиданностью стало то что я раньше использовал при записи РС
РЗ = регистрыСведений.МойРегистр.СоздатьМенеджерЗаписи();
                         рз.Номенклатура = Выборка.ССылка;
                         Рз.Контрагент = Справочники.СК_ПредопределенныеЭлементы.ПраваДляСчетовАвитон.Значение;
                         рз.Использование = Истина;
                         рз.Прочитать();
                         Рз.Записать();
не работает если записей с такими ключевами полями еще нет, т е через прочитать() получается пустая запись и в итоге ничего не записывается... вопрос как тогда универсально писать через менеджер, без прочитать()? проверять на наличие такой записи или как?
1 Reset
 
21.01.13
12:33
Вопрос не понятен.
Ткну пальцем в небо: есть метод Выбран() у менеджера записи
2 Широкий
 
21.01.13
12:35
Зачем проверять? Записывай .. Если запись уже существует - она обновиться
3 Liova
 
21.01.13
12:35
Если надо записывать, зачем перед этим читать?
4 Широкий
 
21.01.13
12:35
т.е. "прочитать" не нужно
5 Domanoff26
 
21.01.13
12:39
(4) а нафиг вообще тогда прочитывать?
6 Wobland
 
21.01.13
12:40
(5) читать нужно уметь. тчк
7 Reset
 
21.01.13
12:41
(5) Еще один не понятный (или непонятный) вопрос.
Тебе лучше знать, зачем ты Прочитать() написал
8 Reset
 
21.01.13
12:42
Наверное, все таки "непонятен","непонятный" в этом контексте.
9 Wobland
 
21.01.13
12:43
(8) противопоставления нет, всё верно - слитно
10 Domanoff26
 
21.01.13
12:51
(7) где прочитать() уместно?
11 Wobland
 
21.01.13
12:52
(10) в Сообщить(), в Вывести(), в Предупреждение()
12 Reset
 
21.01.13
12:52
(10) Дежа-вю. С кем то ранее такое было.
Там, где нужно прочитать значение.
13 Deon
 
21.01.13
12:53
(10) Например, если ты хочешь изменить 1 реквизит записи, а не перезаписать всю запись целиком
14 kotletka
 
21.01.13
12:53
(10)там где ты получаешь записи и работаешь с ними: модифицируешь добавляешь, а если ты с 0 создаешь то зачем читать?
15 kotletka
 
21.01.13
12:54
причем прочить идет до модификации, а не после
16 Reset
 
21.01.13
12:54
+(12) например, прочитать, увеличить на 1, записать.
или прочитать, сверить с чем-то, записать.
или прочитать, если не удалось, записать
или прочитать, не трогать 1 ресурс, но поменять другой.
или ...
17 vmv
 
21.01.13
13:01
(0) не читал обсуждение, но мнение имею

если запись с выбранными измерениями не существует, то после метода Прочиать() в переменной типа МенеджерЗаписиРС "обнуляються" все значения измерений(или те, по которым не найдены записи)

Вывод: делаем так



МенеджерЗаписиРС.Прочитать();
Если НЕ МенеджерЗаписиРС.Выбран()Тогда
Для каждого ЭлементСтруктуры Из СтруктураИзмерений Цикл
МенеджерЗаписиРС[ЭлементСтруктуры.Ключ] = ЭлементСтруктуры.Значение;
КонецЦикла;

// ...прочая инициализация(ресурсы, реквизиты)
//...

МенеджерЗаписиРС.Записать();
КонецЕсли;
18 Reset
 
21.01.13
13:03
(17)

Для каждого ЭлементСтруктуры Из СтруктураИзмерений Цикл

МенеджерЗаписиРС[ЭлементСтруктуры.Ключ] = ЭлементСтруктуры.Значение;
КонецЦикла;



===>
ЗаполнитьЗначенияСвойств(МенеджерЗаписиРС,СтруктураИзмерений);

;p
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.