Запись в регистр сведений происходит только на последней строчке
Здравствуйте, есть такой интересный код, хотя вру, ничего там интересного нет, есть различие между ожиданием и реальностью, и это настораживает. Не буду распинаться, вот код:
Возникает проблема, записывается в доп свойство только ЛицензионнаяКарточка, соответственно, если её убрать, будет записываться СрокДоставки. Путем нелегких, порой обессиливающих рассуждений было выявлено:Записывается только последняя запись(извиняюсь за туфту). В чем подвох, дорогие форумчане?
ЗнСв = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ВидПеревозки");
ЗнСв.Значение = ВидПеревозки;
ЗнСв.Записать();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("МаркаАвтомобиля");
ЗнСв.Значение = МаркаАвтомобиля;
ЗнСв.Записать();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ГосНомерАвтомобиля");
ЗнСв.Значение = ГосНомерАвтомобиля;
ЗнСв.Записать();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("МаркаПрицепа");
ЗнСв.Значение = МаркаПрицепа;
ЗнСв.Записать();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ГосНомерПрицепа");
ЗнСв.Значение = ГосНомерПрицепа;
ЗнСв.Записать();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Водитель");
ЗнСв.Значение = Водитель;
ЗнСв.Записать();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Перевозчик");
ЗнСв.Значение = Перевозчик;
ЗнСв.Записать();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("СрокДоставки");
ЗнСв.Значение = СрокДоставки;
ЗнСв.Записать();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ЛицензионнаяКарточка");
ЗнСв.Значение = ЛицензионнаяКарточка;
ЗнСв.Записать();
ПоказатьВозникает проблема, записывается в доп свойство только ЛицензионнаяКарточка, соответственно, если её убрать, будет записываться СрокДоставки. Путем нелегких, порой обессиливающих рассуждений было выявлено:Записывается только последняя запись(извиняюсь за туфту). В чем подвох, дорогие форумчане?
По теме из базы знаний
- Как прикрутить ГУИД к регистру сведений
- Регистры бухгалтерии. Настройки, субконто и движения с субконто
- Инструментарий для анализа и редактирования регистров 1С (Управляемые формы)
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Переносим все логи в журнал регистрации – реально ли и зачем?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) забыли про
А лучше переделать на СоздатьНаборЗаписей() (см.https://its.1c.ru/db/metod8dev/content/2486/hdoc ).
ЗнСв = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
А лучше переделать на СоздатьНаборЗаписей() (см.
ЗнСв = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
Это ОДИН менеджер для ОДНОЙ записи.
Вы хотите, чтобы в одну запись добавилось 10?:) Нет. Это одна запись будет просто 10 раз перезаписана, пока не останется последняя. Нужно каждый раз пересоздавать менеджер типа так:
А если не быдлокодить, то в этой ситуации необходимо пользоваться набором записей как Вам написали в (2)
Это ОДИН менеджер для ОДНОЙ записи.
Вы хотите, чтобы в одну запись добавилось 10?:) Нет. Это одна запись будет просто 10 раз перезаписана, пока не останется последняя. Нужно каждый раз пересоздавать менеджер типа так:
ЗнСв = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
ЗнСв.Объект = Документ;
ЗнСв.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ВидПеревозки");
ЗнСв.Значение = ВидПеревозки;
ЗнСв.Записать();
//Здесь создадим новый менеджер для новой записи
ЗнСв2 = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
ЗнСв2.Объект = Документ;
ЗнСв2.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("МаркаАвтомобиля");
ЗнСв2.Значение = МаркаАвтомобиля;
ЗнСв2.Записать();
ПоказатьА если не быдлокодить, то в этой ситуации необходимо пользоваться набором записей как Вам написали в (2)
(5)А не подскажете, как мне тогда офрмить таблицу значений?Я думаю надо примерно вот так:
Верное направление?
Табл = Новый ТаблицаЗначений;
Таб.Колонки.Добавить("Свойство");
Таб.Колонки.Добавить("Значение");
стр = Таб.Добавить();
стр.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ВидПеревозки");
стр.Значение = ВидПеревозки;
Верное направление?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот