Версия для печати темы (https://pro1c.org.ua/index.php?s=b50daac9b31d9bd4e99fba26b21703c8&showtopic=65091)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Регистры сведений: изменить регистр при добавлении нового измерения

Автор: Constantus 06.03.21, 9:29

Приветствую, Форумчане!
1с8.3.12, самопис, УФ

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

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

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

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

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

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

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

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

Посоветуйте

Автор: logist 06.03.21, 9:34

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

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua