Имя: Пароль:
1C
1С v8
Не сохраняются данные в программно созданном реквизите
↓ (Волшебник 11.09.2025 11:27)
0 Diamond
 
10.09.25
18:59
Доброго вечера. Помогите пожалуйста разобраться что не так.
Типовая БП 3.0.
В регистр сведений ШтрихкодыНоменклатуры программно добавляю строковый реквизит со списком выбора и вывожу его на форму. Все отображается, все прекрасно. Заполняю данные, но сохраняются только данные родных реквизитов.
Подскажите пожалуйста где что нужно прописать или поставить галку или что-то еще, чтобы данные записались в ИБ?

Вот такой кусок кода прописала в процедуре ПриСозданииНаСервере для Формы Записи


    ДобавляемыеРеквизиты = Новый Массив;
    ТипРеквизита = Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(20));    
    РеквизитФормыСозданный = Новый РеквизитФормы("ЕдиницаУпаковки", ТипРеквизита, "", "Единица упаковки");    
    ДобавляемыеРеквизиты.Добавить(РеквизитФормыСозданный);    
    ЭтотОбъект.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
    
    СозданныйЭлемент = Элементы.Добавить("ЭлементЕдиницаУпаковки", Тип("ПолеФормы"));
    СозданныйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    СозданныйЭлемент.РежимВыбораИзСписка = Истина;
    СозданныйЭлемент.СписокВыбора.Добавить("шт");
    СозданныйЭлемент.СписокВыбора.Добавить("кор");
    СозданныйЭлемент.СписокВыбора.Добавить("OZON");
    СозданныйЭлемент.СписокВыбора.Добавить("кг");
    СозданныйЭлемент.ПутьКДанным = "ЕдиницаУпаковки";
1 craxx
 
10.09.25
19:06
(0)"В регистр сведений ШтрихкодыНоменклатуры программно добавляю строковый реквизит со списком выбора и вывожу его на форму. Все отображается, все прекрасно. Заполняю данные, но сохраняются только данные родных реквизитов."
Это шутка что ли?
2 Diamond
 
10.09.25
19:09
(1) Нисколько. У кого большой опыт, тем кажется шуткой, а для новичков это пипец
3 kostik79
 
10.09.25
19:14
А у объекта, которому принадлежит форма есть этот реквизит - "ЕдиницаУпаковки" ??
"данные родных реквизитов" создай неродной реквизит и всё сохранится)
4 Волшебник
 
10.09.25
19:15
Му-ха-ха!
5 Diamond
 
10.09.25
19:18
(3) в Регистре да добавила реквизит, пробовала и в Измерение его поставить, все равно не помогло :(
6 Diamond
 
10.09.25
19:24
(4) Да тоже смешно. У вас помощи просят, а не насмешек. Будто вы никогда не учились и сразу все знали. Повезло вам. Мне нет.
7 Diamond
 
10.09.25
19:48
Спасибо всем, нашла в чем загвоздка была.
8 Волшебник
 
10.09.25
19:53
(7) и что там было?
9 Мультук
 
гуру
10.09.25
19:54
(5)

в Регистре да добавила реквизит,
пробовала и в Измерение его поставить

Т.е. разницу между Измерением и Реквизитом вы не понимаете вовсе ?
10 kostik79
 
10.09.25
19:58
(6) "Повезло вам. Мне нет." - спорный вопрос)))
(7) и в чём?
11 Diamond
 
11.09.25
05:06
(9) да еще много чего здесь не понимаю, но я учусь и разбираюсь.
12 Прохожий
 
11.09.25
10:11
(11) "На живых делах учеба быстрее идет!" (с) Глеб Жеглов.
13 craxx
 
11.09.25
06:44
(11) а книжки почитать? курсы пройти? перед тем, как с живой базой работать
14 Diamond
 
11.09.25
06:57
(12) Это точно. Я в бою быстрее учусь
15 Diamond
 
11.09.25
07:00
(13) Книжки читаю, курс проходила,  но только после практики у меня "жетон проваливается". Если кому-то хватает прочитать и ему все понятно, это очень круто, а мне своими ручками на практике еще надо сделать после прочтения, да и желательно не один раз.
16 KindPes
 
11.09.25
08:30
(7) Что было-то в итоге? Поделитесь для потомков-то..
17 Прохожий
 
11.09.25
09:37
(13) RTFM - это уже ругательство. Эти ваши книжки годятся только молодежь козлить "у нас вот не было интернетов и ютубов и мы по книжкам учились..."
18 Asmody
 
11.09.25
09:50
(0) В 1С нельзя программно добавлять реквизиты к объектам метаданных (в т.ч. к регистрам сведений).
Ваш код добавляет реквизит формы, но не реквизит регистра.
При этом:
Реквизиты формы - это данные для отображения в элементах формы. Их можно создавать программно.
Реквизиты объекта метаданных - это данные для сохранения в БД. Их создавать программно нельзя, они определяются структурой метаданных конфигурации.
19 Diamond
 
11.09.25
10:08
(16) просто еще немного моего терпения и внимательности и я бы решила этот вопрос. Стоило мне только спросить как нашла свой косяк :)
Дело было в пути, некорректно прописанном. Я писала просто ИмяМоегоРеквизита, а нужно было "Запись.ИмяМоегоРеквизита", где "Запись" - это имя объекта на вкладке Реквизиты на форме.
20 Diamond
 
11.09.25
10:10
(18) эту разницу я уже понимаю, реквизит был создан в объекте в дереве метаданных. Не записывалась информация именно за неправильно прописанного пути.
21 СвинТуз
 
11.09.25
10:11
Штирлиц порол чушь.

Забавно.
22 Волшебник
 
11.09.25
10:12
(19) ИмяМоегоРеквизита - плохое имя реквизита
23 Diamond
 
11.09.25
11:02
Я бы не отказалась от наставника по 1С БП 3.0.
У меня даже спросить не у кого, что в нэте найду, то и применяю на практике. Но в силу малого опыта могу ведь не так что-либо сделать, а я так не люблю.
24 Diamond
 
11.09.25
10:16
(22) а как надо?
25 Ногаминебить
 
11.09.25
10:30
(24) Ну очевидно же. ИмяМоегоРеквизита1.
Чтобы потом логично появились ИмяМоегоРеквизита2, ИмяМоегоРеквизита3 и так далее. А так на первом же счетчик и обломается. :)
26 Волшебник
 
11.09.25
11:02
(24) Надо по-человечески.
27 KindPes
 
11.09.25
11:22
(24) (26) Геннадий?)
28 Diamond
 
11.09.25
19:06
(25) Я так и делаю
29 Diamond
 
11.09.25
19:06
(27) тоже можно
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn