Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Регистры сведений: изменить регистр при добавлении нового измерения
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Constantus
Приветствую, Форумчане!
1с8.3.12, самопис, УФ

Имеется регистр "РегистрЦен"
Измерения: Номенклатура, Цена
Регистратор: документ "Установка цены" (ТЧ: Номенклатура, Цена)

Недавно решили в документ добавить реквизит "Модель" (составной: "Модель1" и "Модель2"), причем модели применяются не у всей номенклатуры...
Этот реквизит соответственно тоже должен отражаться в регистре сведений цен, что было благополучно сделано... Но

Стало невозможно использовать этот регистр как "срез последнего", т.к. в регистраторе теперь есть записи с "Модель" НЕОПРЕДЕЛЕНО (старые записи) и новые записи с Пустой ссылкой на "Модель" в случае, если модель не применяется...

01.01.2019 Товар1 300 денег Модель "Неопределено"
01.01.2021 Товар1 350 денег Модель "Справочник.Модель.Пустаяссылка

Далее понимаете катастрофу в ситуации.
Конечно можно переделать все запросы к этому регистру типа выбрать 1 по сортировке, но сами понимаете как это весело...

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

Сейчас мысль только одна: писать обработку и изменять все записи

НаборЗаписей = РегистрыСведений.РегистрЦен.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Модель.Установить(Неопределено);
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
     Запись.Модель = Справочник.Модель.ПустаяСсылка;
КонецЦикла;
НаборЗаписей.Записать();

Посоветуйте
logist
Справочник "Ключ моделей" с реквизитом составного типа Модель1, Модель2 (как в типовых механизмах) "Ключ аналитики", в регистре добавляется измерение "Ключ моделей", а документ при записи в регистр ищет запись в справочнике по соотв. модели, если не находит - создает новый, и уже его записывает в регистр. Таким образом в регистре будет либо справочник ключа, либо его пустая ссылка.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.