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

1. mebtex 03.07.20 08:26 Сейчас в теме
С 1С, как и многие когда-то, столкнулся впервые. Интересует теория как правильно решать задачу со статусами, чтобы не делать костылей.

Задача – получить текущий статус конкретного документа, и время, которое прошло с момента последнего изменения статуса.

Например, что-то вроде этого:

Расходная Накладная #1 – статус в обработке 3 дня.
Расходная Накладная #3 – статус в работе 4 дня.
Заказ Покупателя #1 - статус в работе 1 день.
Заказ Покупателя #2 - статус в работе 2 дня.

Переключение статусов будет проходить программно, на основе внешних признаков, например при создании документа ставим в обработке, при отгрузке ставим готов.

Ну и конечно нужна в итоге возможность фильтрации по статусам, и в идеале история изменения статусов по конкретному документу, но не обязательно.

Статусы планирую задать как перечисление. Условно три: В обработке, в Работе, Готов.

Варианты решений, которые пришли в голову.
1. Добавить в нужные документы два дополнительных реквизита Статус (ссылка на перечисление) и дата, когда проставили статус.

2. Создать связанный документ что-то вроде изменение статуса, со своими реквизитами вроде статуса и даты и ссылки на документ и создавать такие документы при смене статуса.

3. Создать регистр сведений для фиксации изменений.

В первом варианте есть очевидные проблемы: нет истории по статусам (или есть?), и что делать если типов документов, которым нужен статус будет не 2 или 3, а например 10-15, тогда каждому документу добавлять по 2 реквизита будет накладно.

Во втором случае понимаю, что как-то можно это сделать, но не хватает понимания 1С и ее архитектуры.

В третьем случае, тоже нет понимания как это может работать, и не хотелось бы проводить документы при изменении статуса, (регистр сведений можно вести без проведения?) и можно ли с его помощью решать такую задачу.


Подскажите, как бы вы решали такую задачу?

Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alex-l19041 8 03.07.20 08:54 Сейчас в теме
(1)
3. Создать регистр сведений для фиксации изменений.
- 100%


(1)
регистр сведений можно вести без проведения
- да. При записи документа сохраняете нужные данные в регистр
Oxygraphis; oleg-x; +2 Ответить
3. oleg-x 22 03.07.20 10:49 Сейчас в теме
Создаете два регистра сведений.
1) Текущий статус документа, также там может хранится дополнительная информация (сумма, дата отгрузки и прочее). Запись в регистр делается при проведение документа (если статус отличается от текущего в регистре). Либо по кнопке изменить статус, либо другим приемлимым способом.
2) История статуса, при перезаписи регистра текущего статуса, делать запись в истории.
Историю статусов можно вывести собрав данные из двух регистров.
Таким образом можно сменить статус не перепроводя документ
Oxygraphis; +1 Ответить
Оставьте свое сообщение

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