|   |   | 
| 
 | В какой процедуре устанавливать расчетное значение видимое в форме списка справочника | ☑ | ||
|---|---|---|---|---|
| 0
    
        skupidom 08.08.17✎ 11:53 | 
        Управление производственным предприятием, редакция 1.2 (1.2.26.1)
 Есть новый справочник Проектные задачи.Справочник иерархический,иерархия элементов.У элементов родителей нужно рассчитывать их дату начала и окончания.Дата начала = мин.дата из всех подчиненных задач, дата окончания - макс из дат окончания. В какой процедуре формы списка справочника прописать алгоритм расчета по датам? | |||
| 1
    
        lodger 08.08.17✎ 11:55 | 
        (0) ПриЗаписи элементов справочника считать и записывать в родителя.
 инфо-нагрузка на БД повысится на каплю. | |||
| 2
    
        lodger 08.08.17✎ 11:57 | 
        считать в динамике каждый раз, при каждом обновлении, для каждого клиента открывшего список - это лишнее бремя на несчастный список элементов. и место для появления багов и нестыковок, которые придется продумывать, приделывать Оповещения.     | |||
| 3
    
        mistеr 08.08.17✎ 12:00 | 
        (1) Появятся проблемы при записи не из формы.     | |||
| 4
    
        skupidom 08.08.17✎ 12:27 | 
        тогда какая все таки процедура для записи?     | |||
| 5
    
        Heckfy 08.08.17✎ 12:28 | 
        Запихнуть в РегистрСведений. ДинамическийСписок чуток подправить.     | |||
| 6
    
        lodger 08.08.17✎ 12:40 | 
        (3) а зачем в форме? делайте в модуле объекта.     | |||
| 7
    
        mistеr 08.08.17✎ 14:31 | 
        (6) Появятся проблемы с блокировками.     | |||
| 8
    
        lodger 08.08.17✎ 15:08 | 
        (7) ставить пересчет в фоновое задание. пускай пытается забокировать родителя и посчитать. повтор по неудаче. прекращение по успеху.
 но это замороч. в реальной бд, когда в пределах одного родителя одновременно лазит большое число юзеров и одновременно решило записать - "вероятность резиста крайне мала!". | |||
| 9
    
        mistеr 08.08.17✎ 15:24 | 
        (8) Тогда жертвуем целостностью данных. Идея с динамическим расчетом уже не кажется такой плохой, не так ли? :)
 А все из-за того, что в регистрах накопления можно хранить только сумму, а максимум или минимум нельзя. На самом деле есть еще решение — доступ к справочнику строго через API, в том числе на чтение. Можно будет даже поменять реализацию, если возникнут проблемы. | |||
| 10
    
        lodger 08.08.17✎ 17:01 | 
        (9) а в чем жертва? отказ записи родителя транслируем в отказ записи текущего объекта и пускай юзер ждет своей очереди записать с повторным пересчетом.
 маленькое решение "большой" проблемы. | |||
| 11
    
        mistеr 08.08.17✎ 17:39 | 
        (10) Пардон, я "фоновое задание" прочитал как "регламентное".
 А фоновое ведь тоже в отдельной транзакции будет. Так что жертвуем таки целостностью. | |||
| 12
    
        Heckfy 08.08.17✎ 17:45 | 
        Чем регистрСведений и срез последних не устраивает то.....     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |