Имя: Пароль:
1C
1С v8
Где хранить детальную информацию к документу
,
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 шт)
По сколько хранилище в ТЧ, то в реквизит формы не серелизуется   и при передаче контекста этого поля просто нет, а значит и на скорость не влияет.

Есть небольшая заморочка с использованием, но меня вполне устраивает
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс