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

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) Добавил дату изменения статуса, но все также - меняю статус документа, провожу документ, в регистре меняется статус в уже существующей строке. А должна добавляться новая(
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день