Статусы для документа. Выбрать правильный путь.
С 1С, как и многие когда-то, столкнулся впервые. Интересует теория как правильно решать задачу со статусами, чтобы не делать костылей.
Задача – получить текущий статус конкретного документа, и время, которое прошло с момента последнего изменения статуса.
Например, что-то вроде этого:
Расходная Накладная #1 – статус в обработке 3 дня.
Расходная Накладная #3 – статус в работе 4 дня.
Заказ Покупателя #1 - статус в работе 1 день.
Заказ Покупателя #2 - статус в работе 2 дня.
Переключение статусов будет проходить программно, на основе внешних признаков, например при создании документа ставим в обработке, при отгрузке ставим готов.
Ну и конечно нужна в итоге возможность фильтрации по статусам, и в идеале история изменения статусов по конкретному документу, но не обязательно.
Статусы планирую задать как перечисление. Условно три: В обработке, в Работе, Готов.
Варианты решений, которые пришли в голову.
1. Добавить в нужные документы два дополнительных реквизита Статус (ссылка на перечисление) и дата, когда проставили статус.
2. Создать связанный документ что-то вроде изменение статуса, со своими реквизитами вроде статуса и даты и ссылки на документ и создавать такие документы при смене статуса.
3. Создать регистр сведений для фиксации изменений.
В первом варианте есть очевидные проблемы: нет истории по статусам (или есть?), и что делать если типов документов, которым нужен статус будет не 2 или 3, а например 10-15, тогда каждому документу добавлять по 2 реквизита будет накладно.
Во втором случае понимаю, что как-то можно это сделать, но не хватает понимания 1С и ее архитектуры.
В третьем случае, тоже нет понимания как это может работать, и не хотелось бы проводить документы при изменении статуса, (регистр сведений можно вести без проведения?) и можно ли с его помощью решать такую задачу.
Подскажите, как бы вы решали такую задачу?
Спасибо.
Задача – получить текущий статус конкретного документа, и время, которое прошло с момента последнего изменения статуса.
Например, что-то вроде этого:
Расходная Накладная #1 – статус в обработке 3 дня.
Расходная Накладная #3 – статус в работе 4 дня.
Заказ Покупателя #1 - статус в работе 1 день.
Заказ Покупателя #2 - статус в работе 2 дня.
Переключение статусов будет проходить программно, на основе внешних признаков, например при создании документа ставим в обработке, при отгрузке ставим готов.
Ну и конечно нужна в итоге возможность фильтрации по статусам, и в идеале история изменения статусов по конкретному документу, но не обязательно.
Статусы планирую задать как перечисление. Условно три: В обработке, в Работе, Готов.
Варианты решений, которые пришли в голову.
1. Добавить в нужные документы два дополнительных реквизита Статус (ссылка на перечисление) и дата, когда проставили статус.
2. Создать связанный документ что-то вроде изменение статуса, со своими реквизитами вроде статуса и даты и ссылки на документ и создавать такие документы при смене статуса.
3. Создать регистр сведений для фиксации изменений.
В первом варианте есть очевидные проблемы: нет истории по статусам (или есть?), и что делать если типов документов, которым нужен статус будет не 2 или 3, а например 10-15, тогда каждому документу добавлять по 2 реквизита будет накладно.
Во втором случае понимаю, что как-то можно это сделать, но не хватает понимания 1С и ее архитектуры.
В третьем случае, тоже нет понимания как это может работать, и не хотелось бы проводить документы при изменении статуса, (регистр сведений можно вести без проведения?) и можно ли с его помощью решать такую задачу.
Подскажите, как бы вы решали такую задачу?
Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Создаете два регистра сведений.
1) Текущий статус документа, также там может хранится дополнительная информация (сумма, дата отгрузки и прочее). Запись в регистр делается при проведение документа (если статус отличается от текущего в регистре). Либо по кнопке изменить статус, либо другим приемлимым способом.
2) История статуса, при перезаписи регистра текущего статуса, делать запись в истории.
Историю статусов можно вывести собрав данные из двух регистров.
Таким образом можно сменить статус не перепроводя документ
1) Текущий статус документа, также там может хранится дополнительная информация (сумма, дата отгрузки и прочее). Запись в регистр делается при проведение документа (если статус отличается от текущего в регистре). Либо по кнопке изменить статус, либо другим приемлимым способом.
2) История статуса, при перезаписи регистра текущего статуса, делать запись в истории.
Историю статусов можно вывести собрав данные из двух регистров.
Таким образом можно сменить статус не перепроводя документ
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот