Добавление новой записи в регистр сведений после изменений статуса

1. Sp1ke666 12.05.21 00:07 Сейчас в теме
Привет! Подскажите, пожалуйста, как сделать так, чтобы когда я в заказе менял реквизит Статус и проводил документ, то регистр сведений ИсторияСтатуса не менял уже существую запись с изменением в ней статуса. А добавлял бы новую. Чтобы действительно можно было проследить весь путь Статуса.
Например, при смене статуса документа (реквизит "статус") с "поступил в производство" на "произведен" должна добавиться запись в регистр сведений со статусом "произведен" и датой. Старая запись не должна удалиться при перепроведении.

В итоге должны быть 2 записи в регистре. Например,
Дата: 12.10.2020 | Статус: Поступил в производство
Дата: 15.10.2020 | Статус: Произведен
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. -AI- 12.05.21 01:01 Сейчас в теме
очень мало данных.
1) периодичность регистра сведений?
2) какие у него есть Измерения? Ресурсы и Реквизиты?
3. Sp1ke666 12.05.21 01:21 Сейчас в теме
(2)Ситуация следующая - у меня уже есть документ Заказ с реквизитом Статус. И мне нужен регистр сведений, чтобы можно было отслеживать историю изменения статуса заказа. Но у меня получалось лишь, чтобы при изменении статуса документа и его проведении, в регистре ИсторияЗаказа менялась лишь строчка, а не добавлялась новая. Я поставил непериодический и независимый, не знаю, правильно ли это. Могу поменять) В измерениях я дату и статус указал, в остальных - ничего. Как-то так)
4. shamahn 1 12.05.21 02:13 Сейчас в теме
На одном документе неправильно делать такие движения, ИМХО.
Нужен второй документ и периодический регистр. При создании Заказа создавать первую запись, а второй документ (Изменение статуса) - добавлять вторую.
Но надо будет отслеживать последовательности.
Ну, либо изменять документ "Заказ" и добавлять в него реквизиты даты для всех статусов, чтобы правильнее фиксировать изменение статуса.
В любом случае, нужен периодический зависимый регистр
5. Sp1ke666 12.05.21 02:27 Сейчас в теме
(4)
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

//Для начала создадим набор записей
//Для начала создадим набор записей
ВашРег = РегистрыСведений.ИсторияЗаказов.СоздатьНаборЗаписей();
//Поищем совпадения, но из за "текущей даты" у вас их скорее всего не будет
ВашРег.Отбор.ДатаЗаписи.Установить(ТекущаяДата());
ВашРег.Отбор.Дата.Установить(Метаданные.Документы.Заказ.СтандартныеРеквизиты.Дата);
ВашРег.Отбор.Статус.Установить(Метаданные.Документы.Заказ.Реквизиты.Статус);
ВашРег.Прочитать();
//Добавляем новую запись
НоваяЗапись = ВашРег.Добавить();
НоваяЗапись.ДатаЗаписи=ТекущаяДата();
НоваяЗапись.Дата=Метаданные.Документы.Заказ.СтандартныеРеквизиты.Дата;
НоваяЗапись.Статус=Метаданные.Документы.Заказ.Реквизиты.Статус;
Попытка
ВашРег.Записать(ЛОЖЬ);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Показать
6. Sp1ke666 12.05.21 02:28 Сейчас в теме
(5) У меня что-то такое получилось. Да, создаю периодический. Можешь подсказать, как сделать правильно?
7. shamahn 1 12.05.21 02:48 Сейчас в теме
(6), Как я и говорил, писать текущую дату однозначно неверно, т.к. перепроведение документа будет менять (или добавлять) запись регистра.
В реквизиты документа нужно добавить дату изменения статуса и ее писать
8. Sp1ke666 12.05.21 12:24 Сейчас в теме
(7) Добавил дату изменения статуса, но все также - меняю статус документа, провожу документ, в регистре меняется статус в уже существующей строке. А должна добавляться новая(
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот