![]() |
![]() |
|
Статусы документов | ☑ | ||
---|---|---|---|---|
0
YoungMan
14.05.08
✎
17:59
|
Добрый день!
Возникла необхоидмость ввести в некоторый перечень документов, например заказ покупаетля, Акт об оказании производственных услуг, статусы. Статусы для каждого документа могут иметь свои значения и должны иметь возможность пополняться. Каким образом лучше реализовать данную задачу? Как я вижу: в формы документы, в которые необходимо внести статусы добавляется только метка и действие в командную панель формы: 1. метка отображает текущее значение статуса (само же значение хранится в регистре сведений) 2. через действие вызываются процедуры(функции) общего модуля, в котором прописан механиз обработки. 3. насколько я также понимаю необхоидмо использование плана видов характеристик, но опять же задача как именно грамотно им воспользоваться.... |
|||
1
GenV
14.05.08
✎
18:10
|
(0) По плану видов характеристик можно посмотреть в УТ или ЗУП(там проще) - категории. Можно просто нужные объекты последовательно от туда скопировать и немного подправить :) Удобно в СКД отчеты использовать.
Можно и просто через справочник сделать. Зависит где будешь их использовать. |
|||
2
shuhard
14.05.08
✎
18:12
|
(0)[Статусы для каждого документа могут иметь свои значения и должны иметь возможность пополняться. ]
а где вторая половина ТЗ, а именно: - сочетание статусов - сторно статусов - и коронка - отчетность по оным |
|||
3
YoungMan
14.05.08
✎
18:26
|
(1,2) Категории не подойдут, поскольку, например у заказа покупателя может быть статус "создан", "в работе", "завершен" (а так же любой другой статус); а для документа счет: "отправлен", "подписан", "получен" (а так же любой другой статус)...
т.е. получается что регистр сведений, в котором будут храниться данные о статусах документов будет выглядеть так: Измерения: - Документ, тип ДокументСсылка или Список ДокументСсылка.ЗаказПокупателя, ДокументСсылка.Счет, ...(поскольку перечень документов будет все таки определен заранее, хотя можно построить и для произвольного числа документов, только в этом случае формы документов придется не трогать, а в данной задаче как раз на формах и должно быть текущее отображение статуса) - ТипСтатуса, тип либо Перечисление(поскольку статусы документов имеют связь со списком используемых документов как N к N), либо Справочник, в том случае если использовать для произвольного числа документов, тогда в этом справочнике задавать список ТиповСтатусов Ресурсы: - ЗначениеСтатуса, тип СправочникСсылка.Статусы Но каким образом (использовать ли план видов характеристик, и если использовать то как), лучше организовать заполнение этого регистра и какую структуру данных в конечном итоге лучше выбрать, вот в чем вопрос... |
|||
4
shuhard
14.05.08
✎
18:40
|
(3) исчо раз - архитектура без отчетности хуже йада, статус не самоцель, а средство управления.
|
|||
5
YoungMan
14.05.08
✎
18:48
|
(4) В качестве отчета может использоваться список документов с их текущими статусами. Условия отбора(по документу, по типу статуса, по статусу), как вариант.
|
|||
6
IronDemon
14.05.08
✎
18:50
|
По поводу отбора v8: Сортировка по динамическому полю в списке документов
|
|||
7
YoungMan
14.05.08
✎
18:52
|
(6) причем здесь это?
|
|||
8
IronDemon
14.05.08
✎
18:53
|
Притом, что отобрать по статусу, который хранится в РС, не так просто.
|
|||
9
IronDemon
14.05.08
✎
18:56
|
У меня сделано через РС ЗначенияСвойствОбъектов. Новый регистр не добавлял. В отчетах выбирается нормально.
//Производит запись свойств объекта связанных с формой // Процедура ЗаписатьСвойстваОбъекта(Отказ) Если БыстраяОтгрузка <> мБыстраяОтгрузка Тогда МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи(); МенеджерЗаписи.Объект = Ссылка; МенеджерЗаписи.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.БыстраяОтгрузка; МенеджерЗаписи.Значение = БыстраяОтгрузка; Попытка МенеджерЗаписи.Записать(Истина); мБыстраяОтгрузка = БыстраяОтгрузка; Исключение Отказ = Истина; Сообщить("Не удалось записать значения свойств по данному документу. По причине " + ОписаниеОшибки()); КонецПопытки; КонецЕсли; Если Самовывоз <> мСамовывоз Тогда МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи(); МенеджерЗаписи.Объект = Ссылка; МенеджерЗаписи.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.Самовывоз; МенеджерЗаписи.Значение = Самовывоз; Попытка МенеджерЗаписи.Записать(Истина); мСамовывоз = Самовывоз; Исключение Отказ = Истина; Сообщить("Не удалось записать значения свойств по данному документу. По причине " + ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |