Имя: Пароль:
1C
1С v8
Менеджер записи ничего не пишет
,
0 kiwi
 
04.02.15
17:04
В типовой УТ нужно программно записать в свойства некие значения. Делаю так:
            МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
            МенеджерЗаписи.Объект     = НовыйТовар.Ссылка;
            МенеджерЗаписи.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Номер накладной").Ссылка;
            МенеджерЗаписи.Значение = СвойствоНомНаклдной;
            Сообщить("...записано свойство номенклатуры " + СвойствоНомНаклдной);
            МенеджерЗаписи.Записать(Истина);
В отладчике вроде всё отображается нормально, отрабатывает без ошибок, но в результате значение свойства так и остается пустым.
Где я косячу?
1 Gisborn
 
04.02.15
17:21
НовыйТовар то записан? Ссылка поди еще пустая.

ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Номер накладной").Ссылка - здесь ".Ссылка" не обязательна

Ну и транзакция может откатываться.
2 kiwi
 
04.02.15
17:28
НовыйТовар записан, ссылка не пустая
ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Номер накладной") - ".ссылка" уже поставил чисто для пробы, результат тот же.
А вот насчет транзакции не совсем понял...
3 kiwi
 
04.02.15
17:31
...что интересно, перед этим куском стоит
            ЗаписьШтрихкода                      = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи();
            ЗаписьШтрихкода.Владелец             = НовыйТовар.Ссылка;
            ЗаписьШтрихкода.ТипШтрихкода         = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13;
            ЗаписьШтрихкода.Штрихкод             = РаботаСТорговымОборудованием.СформироватьШтрихКод();
            ЗаписьШтрихкода.Качество             = Справочники.Качество.НайтиПоНаименованию("Новый");
            ЗаписьШтрихкода.ЕдиницаИзмерения    = НоваяЕдиница.Ссылка;
            ЗаписьШтрихкода.Записать(Истина);
            Сообщить("...присвоен ШК " + ЗаписьШтрихкода.Штрихкод);
вроде бы всё почти то же самое, но ШК нормально записывается!
4 Serg_1960
 
04.02.15
17:32
(1) Если товар новый, то Объект = "пустая" ссылка и должен сработать запрет незаполненных значений.

Попробуй удалить значение свойства и запустить алгоритм заново, но с проверкой

Х = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Номер накладной").Ссылка;
Если ЗначениеЗаполнено(Х) Тогда
...
Иначе
НачинаемРугатьсяМатом();
5 ale-sarin
 
04.02.15
17:34
Может свойств с наименованием "Номер накладной" несколько.
Неплохо еще и по назначению его проверять.
6 Serg_1960
 
04.02.15
17:35
(3) "ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13" - предопределенное, а в (0) - не факт что находишь нужное.
7 kiwi
 
04.02.15
17:40
(5)свойство одно
(6)свойство находится, его ссылку и тип видно в отладчике
тип записываемого значения свойства - строка
8 kiwi
 
04.02.15
17:44
а вот... тип самого значения свойства - Характеристика.СвойстваОбъектов, а я пытаюсь писать туда строку. Может из-за этого?
9 Serg_1960
 
04.02.15
17:44
Разные типы что ли?
10 kiwi
 
04.02.15
17:49
если в карточке товара в ТЧ свойств щелкнуть по пустому значению свойства "Номер накладной", то открывается выбор из справочника "Значения свойств объектов" - в нем номера накладных, введенные интерактивно ранее.
11 kiwi
 
04.02.15
17:50
эти номера накладных - строковые значения...
12 ale-sarin
 
04.02.15
17:54
(10) Так это не строка. А спец справочник. Надо создавать его элемент, писать ему номер накладной, записывать и пихать в МенеджерЗаписи.Значение.
13 ale-sarin
 
04.02.15
17:54
+12 Раз уж стразу свойство не сделали строкой.
14 Serg_1960
 
04.02.15
17:57
(9) к (7)

PS: у меня УПП, там РегистрыСведений.ЗначенияСвойствОбъектов.Значение - тип "Характеристика.СвойстваОбъектов". Не думаю что в УТ настолько всё отличается, что тип "Значение" - строковое :(
15 kiwi
 
04.02.15
18:12
(12)похоже на то!
(13)всё типовое, попробовал интерактивно создать новое свойство - создается в том же справочнике "Значения свойств объектов"
...проверю теперь уже завтра
16 ale-sarin
 
04.02.15
18:23
(15) Ну при интерактивно создании тип значений автоматом стоит "Значения свойств объектов (Классификатор)". Можно руками поменять на "строка".
17 SUA
 
04.02.15
18:57
менеджер записи из-за подобных периодических глюков был вычеркнут из используемых механизмов года 4 назад
юзай набор записей
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.