|   |   | 
| 
 | Где хранить детальную информацию к документу | ☑ | ||
|---|---|---|---|---|
| 0
    
        vde69 28.04.24✎ 18:30 | 
        Есть документ начисление за месяц, в нем к примеру 5000 строк начислений, но мне нужно еще иметь возможность каждое начисление детализовать до дня (и там параметров штук 10 из которых и расчитывается значение).
 Теперь вопрос В каком виде и где хранить эту самую детализацию? вид - например это может быть хранилище в котором ТЗ, или например просто текстовое описание или структура... жду вариантов ps если пытатся в лоб запихнуть это в основную ТЧ это будет 150 000 строк, как-то не очень мне нравиться... | |||
| 1
    
        MyNick 28.04.24✎ 18:40 | 
        Почему не Регистр сведений?     | |||
| 2
    
        vde69 28.04.24✎ 18:54 | 
        (1) по тому как эти данные первичные к данным в ТЧ документа     | |||
| 3
    
        Garykom гуру 28.04.24✎ 19:13 | 
        (0) Классически (в типовых) как правильно заметили в (1) это решается через Регистр Сведений
 Где делаются два измерения Документ + ИдентификаторСтроки А в ресурсы и реквизиты можно что угодно и как угодно писать Хоть свою ТЗ сериализуй и засовывай внутрь ХранилищеЗначения | |||
| 4
    
        Garykom гуру 28.04.24✎ 19:16 | 
        (3)+ ИдентификаторСтроки - это поле в ТЧ документа, куда пишется некий уникальный идентификатор (чаще всего банально Строка(Новый УникальныйИдентификатор)) для связи строки документа с записью(ями) РС     | |||
| 5
    
        Garykom гуру 28.04.24✎ 19:17 | 
        Если у тебя записи в РС должны быть раньше чем создание документа - придется как то выкручиваться
 Через другие параметры-измерения, которые в документе так же есть Например дата, вид начисления и прочее | |||
| 6
    
        vde69 28.04.24✎ 19:44 | 
        (3) в типовых это лежит во второй ТЧ и связь по идентификатору     | |||
| 7
    
        Garykom гуру 28.04.24✎ 19:53 | 
        (6) да бывает и во второй ТЧ
 а бывает в РС судя по кол-ву записей лучше РС | |||
| 8
    
        vde69 28.04.24✎ 20:01 | 
        прогнозно: будет примерно 100 таких документов в месяц,
 то есть до 200 мл записей в год, может хранить в виде соответствия ключ - дата значение - текста типа "100*10/5-25*4=100" дальше поместить в хранилище и в основную ТЧ ? | |||
| 9
    
        Garykom гуру 28.04.24✎ 20:21 | 
        (8) Ты учти что ТЧ оно медленней чем РС
 И еще одна ТЧ нагружает сам документ, работу с ним, его запись и проведение Всегда если можно использовать РС - надо использовать РС! ТЧ использовать только если преимущества явные, ну там мало записей и надо чтобы они были явно привязаны к документу, не были никогда отдельно от него. | |||
| 10
    
        FIXXXL 28.04.24✎ 20:26 | 
        (4) +1     | |||
| 11
    
        lEvGl гуру 28.04.24✎ 20:39 | 
        да, за (1) +1, 120 млн в год не было, на порядок меньше, но за годы набралось ~120, работает, не как молния конечно, но приемлемо
 а если вольнодумствовать, то корпоративные субд на большие объемы не рассчитаны. МайСиквел или ФриБСД гораздо успешнее справляются с такого рода задачами | |||
| 12
    
        vde69 28.04.24✎ 20:38 | 
        (9) хранилище это блоб, оно по любому хранится физически в отдельной таблице.
 Из минусов хранения в самом документе я вижу только скорость передачи контекста формы с клиента на сервер и обратно. А вот хранить отдельно минус это возможность рассинхронизации. По скорости работы - не знаю, но думаю, что блокировка 150 т записей в регистре и перезапись (а перезаписывать придется по отбору Документ все элементы на любой чих) думаю не сильно быстро выйдет | |||
| 13
    
        lEvGl гуру 28.04.24✎ 20:41 | 
        (12) ну да, еще если сразу лить, то и памяти может не хватить
 гм.. куда 120 млн делись уже) | |||
| 14
    
        vde69 28.04.24✎ 20:44 | 
        (13) 150 тыс это по 1 документу, то есть если я например в документе что-то перетасую, то мне нужно записать все 150 тыс вместе с запью документа     | |||
| 15
    
        lEvGl гуру 28.04.24✎ 20:48 | 
        (14) да, пачками уже не получится, рс так сможет     | |||
| 16
    
        Web00001 29.04.24✎ 05:43 | 
        (0)Видел несколько раз реализацию данной задачи, когда ТЧ не подходит либо из-за того, что последующие манипуляции с объектом становятся дорогими(объект слишком большой), либо из-за того, что у тч есть ограничение на количество строк. Всегда решалось через регистр сведений. В (3) единственно возможный вариант.     | |||
| 17
    
        Одинист 29.04.24✎ 07:43 | 
        (0) > если пытатся в лоб запихнуть это в основную ТЧ это будет 150 000 строк, как-то не очень мне нравиться...
 Почему? Если сделать в строке 31 колонку и писать туда данные. > По скорости работы - не знаю, но думаю, что блокировка 150 т записей в регистре и перезапись (а перезаписывать придется по отбору Документ все элементы на любой чих) думаю не сильно быстро выйдет Почему? Записи РС будут генериться только в момент создания. Пользователь открыл документ, встал на определенную точку, прочитались записи связанные с конкретно этой строчкой. Что-то изменил переписались записи только для этой строчки. | |||
| 18
    
        Гена гуру 29.04.24✎ 07:52 | 
        Не надо РС, это лишнее. Раз документ или документы приходят раз в месяц, то излишне вести дневной регистр. Достаточно расчётным путём внешним отчётом каждый раз собирать дневные записи по каким угодно параметрам. 
 И работу не тормозит. Кому приспичит - запустит свой внешний отчёт. А то дай вам волю, вы на каждый пук регистр создадите. | |||
| 19
    
        Serg_1960 29.04.24✎ 10:46 | 
        "Есть документ начисление за месяц, в нем к примеру 5000 строк начислений... это будет 150 000 строк"(0) - навеяло: «Может, в консерватории что-то подправить?»
 Все 150 000 строк деталировки уникальны по значениям показателей? А если не уникальны - то может быть хранить только "типовые строки" и регистрировать только отклонения от них? Тогда алгоритм м.б. следующий: нет деталировки к начислению - см. "типовую строку"... как-то вот так. | |||
| 20
    
        Serg_1960 29.04.24✎ 10:47 | 
        PS: мало данных, чтобы давать реально полезные советы автору... но попробую предположить/предложить.
 Если во фразе "эти данные первичные к данным в ТЧ документа" термин "первичные данные" указан в обычном своём значении, - то эти данные можно (и нужно) хранить в отдельном первичном-же документе(?) Тогда в ТЧ документа начислений за месяц содержатся, по сути своей, вторичные данные... и м.б. им там вообще "не место" и есть смысл рассчитывать/хранить/использовать данные из первичного документа? | |||
| 21
    
        vde69 29.04.24✎ 12:15 | 
        (20) это логичное решение, примерно так реализован зуп.
 Кстати сейчас пришла интересна идея, может действительно использовать виды расчёта.. Тут основная хотелка получить простую систему с малым количеством этапов расчёта. Чтобы меньше ошибок было | |||
| 22
    
        Гена гуру 29.04.24✎ 12:21 | 
        (21) Пожалуй... мысль неплохая. Мне нравится. Сработает ли? Непонятно.     | |||
| 23
    
        vde69 30.04.24✎ 20:36 | 
        сделал так (работает вполне нормально)
 в ТЧ добавил реквизит ХранилищеЗначений, в него кладу соответствие дата/структура все параметры в структуре имеют примитивный тип (сейчас 6 шт) По сколько хранилище в ТЧ, то в реквизит формы не серелизуется и при передаче контекста этого поля просто нет, а значит и на скорость не влияет. Есть небольшая заморочка с использованием, но меня вполне устраивает | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |