|
Не записывается независимый непериодический регистр сведений | ☑ | ||
---|---|---|---|---|
0
AlexC111
06.08.12
✎
16:59
|
НаборЗаписиРС = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
НаборЗаписиРС.Отбор.Код.Установить(НовыйКодШтрихкода); ЗаписьРС = НаборЗаписиРС.Добавить(); ЗаписьРС.Штрихкод = НовыйШтрихкод; ЗаписьРС.Владелец = Справочники.Номенклатура.НайтиПоНаименованию(ТекущаяСтрока.Номенклатура); ЗаписьРС.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ТекущаяСтрока.ЕдиницаИзмерения); НаборЗаписиРС.Записать(); НовыйКодШтрихкода - это функция, работает верно, возвращает число "следующего" штрихкода (т.е. если в регистре 15 записей, то оно возвратит 16) НовыйШтрихкод - тоже работает верно, возвращает строку. Ошибка такая: {Документ.ЗаказПоставщику.Форма.ФормаДокумента.Форма(2186)}: Ошибка при вызове метода контекста (Записать) НаборЗаписиРС.Записать(); по причине: по причине: Запись не верна! Значение поля "Код" не может быть пустым!: Штрихкоды: 0 (Регистр сведений: Штрихкоды) В чём дело, не пойму. В отладчике Номенклатура подхватывается, а Код действительно остается равено 0( Пробовал вручную тупо указать число, не помогло. |
|||
1
Ненавижу 1С
гуру
06.08.12
✎
17:00
|
а где тут поле Код?
|
|||
2
AlexC111
06.08.12
✎
17:01
|
Код - это измерение регистра. Я по нему установил отбор:
"НаборЗаписиРС.Отбор.Код.Установить(НовыйКодШтрихкода); " |
|||
3
х86
06.08.12
✎
17:01
|
(0)типы значений сравни
|
|||
4
Ненавижу 1С
гуру
06.08.12
✎
17:01
|
(2) отбор установил, но нужно его еще и записать
|
|||
5
AlexC111
06.08.12
✎
17:02
|
Уже. ТипЗнч(НовыйКодШтрихкода)=Число. Измерение "Код" тоже число.
|
|||
6
Ненавижу 1С
гуру
06.08.12
✎
17:02
|
+(4) точнее заполнить
НаборЗаписиРС.Код = НовыйКодШтрихкода; |
|||
7
боксер
06.08.12
✎
17:03
|
за такой код увольнять сразу надо:
ЗаписьРС.Владелец = Справочники.Номенклатура.НайтиПоНаименованию(ТекущаяСтрока.Номенклатура); |
|||
8
AlexC111
06.08.12
✎
17:06
|
(7) Это уже от нечего делать) изначально было "ЗаписьРС.Владелец = ТекущаяСтрока.Номенклатура;"
|
|||
9
х86
06.08.12
✎
17:06
|
(7)почему? мошт у него ТекущаяСтрока.Номенклатура строка и он точно уверен что уникальная?
|
|||
10
AlexC111
06.08.12
✎
17:08
|
(6) ЗаписьРС.Код = НовыйКодШтрихкода;
Благодарю, заработало. И главное понимал, что надо сделать что-то подобное, но меня сбивал с толку следующий код, которые почему-то работает, несмотря на то, что те измерения регистров тоже не заполнены: НаборЗаписиРС = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); НаборЗаписиРС.Отбор.Объект.Установить(ТекущаяСтрока.Номенклатура); НаборЗаписиРС.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ПроверитьШтрихкод")); ЗаписьРС = НаборЗаписиРС.Добавить(); ЗаписьРС.Объект = ТекущаяСтрока.Номенклатура; ЗаписьРС.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ПроверитьШтрихкод"); ЗаписьРС.Значение = (ИСТИНА); НаборЗаписиРС.Записать(); |
|||
11
AlexC111
06.08.12
✎
17:09
|
(7) Согласен, конечно, эта строка попахивает извращением)
|
|||
12
hhhh
06.08.12
✎
17:29
|
(10) наверно, ты эту строчку не заметил
ЗаписьРС.Объект = ТекущаяСтрока.Номенклатура; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |