|
Выбор между регистрами и расчетами | ☑ | ||
---|---|---|---|---|
0
lerr
31.08.23
✎
12:46
|
Приветствую всех!
Встала задача (мозг, тем временем, лег) - необходимо создать логику вычисления стоимости хранения продукции на складах ответ.хранения. Т.е. есть множество контрагентов, которые постоянно привозят/увозят товары, а надо рассчитывать стоимость хранения посуточно в зависимости от наполненности/тарифа. Но вопрос заключается в том, что стоит ли создавать запись в оборотном регистре на каждый день по каждому контрагенту и складу или лучше каждый раз рассчитывать результат? Сразу оговорюсь, что около 100-150 контров, 10 складов и период около 20 лет. Конфа самописная. УФ. С удовольствием воспользуюсь Вашими доводами) |
|||
1
PR
31.08.23
✎
12:49
|
(0) Что здесь думать-то?
Нужны агрегаты — используй регистр Не нужны — не используй |
|||
2
lerr
31.08.23
✎
14:39
|
хорошо. а подскажите, как бы мне заносить ежедневные данные в регистр оборота с учетом того, что регистраторы появляются не каждый день, но каждый день обычно есть остаток и, соответственно, должна быть запись?
|
|||
3
Bigbro
31.08.23
✎
14:07
|
сделай обработку которая будет регламентно запускаться раз в месяц например когда закончили корректировки и закрыли период от пользователей.
пробежал по своим остаткам и оборотам - рассчитал что надо, создал записи в свой регистр. и пользуйся им потом сколько влезет. |
|||
4
Bigbro
31.08.23
✎
14:09
|
я примерно так же делал когда маркетологам потребовалась куча аналитики, которой не было нигде кроме первичных документов, а каждый раз их лопатить это была бы смерть базы.
сделал обработку она раз в месяц пересчитывает первичку и пишет нужные показатели со всей необходимой аналитикой, которую уже потом маркетологи смотрят и крутят как хотят |
|||
5
Обработка
31.08.23
✎
14:21
|
(0) Какое время считается что контрагент хранил у вас сутки?
6:00 12:00 15:00 18:00 ... 24:00? А что если утром было полный склад а в 10:25 вывезли весь товар? |
|||
6
Irbis
31.08.23
✎
14:33
|
На нефтебазах просто считают. Завёз, за месяц заплати с каждой тонны. И на остаток на конец месяца начисляют хранение вперёд. Сократи период до суток, и вперёд.
|
|||
7
Обработка
31.08.23
✎
14:33
|
Зы
Я лично не люблю хранить данные лучше подсчитать их. Но все должно быть в пределах разумного. Остаки на каждый день известны нужно каждый день ночью запускать регламент на расчет за прошедший день. И записывать в РС Потомо по ним отчеты строить |
|||
8
АгентБезопасной Нацио
31.08.23
✎
14:36
|
(7) а потом задним числом изменят алгоритм расчета...
|
|||
9
lerr
31.08.23
✎
14:39
|
(5) (7) Это не столь принципиально, но считается что факт поступления товара в календарную дату - есть факт хранения товара в эти сутки. Так же и убытие. Т.е. если утром был полный, а в 10:25 вывезли все - оплата за эти сутки требуется. Формула выглядит как (Расход + КонечныйОстаток) * Тариф
Главное, что не могу подобрать никакой встроенный механизм для этого - все сводится к обработкам и регламентным заданиям.. (( Может, регистр расчета? |
|||
10
Irbis
31.08.23
✎
14:42
|
(9) Не расход, а приход. Читай внимательно (6)
|
|||
11
lerr
31.08.23
✎
14:43
|
(10) Читаю. Но именно Расход
|
|||
12
Irbis
31.08.23
✎
14:43
|
(10) Документы как выставляете? Раз в месяц или каждый день?
|
|||
13
Bigbro
31.08.23
✎
14:43
|
(9) не надо приплетать расчеты туда где они не нужны.
|
|||
14
Irbis
31.08.23
✎
14:44
|
(11) Ещё раз читай, и думай. Расход ни причём, за поступление должна плата браться и за остаток на конец расчетного периода.
|
|||
15
lerr
31.08.23
✎
14:46
|
(12) Раз в месяц обычно. Но бывает и за 10 дней, и за 13. Иногда надо аналитику строить. И за месяц, и за год. И за N дней. Для регистров - идеальная ситуация
|
|||
16
Мультук
31.08.23
✎
14:48
|
(9)
Автор -- хочу регистр расчета! Все -- нахрен он тебе не нужен! Автор -- но я все-равно хочу! Я художник, я так вижу. Автор, если ты хочешь делать на регистрах расчета -- делай. Как получится, не забудь зайти, поделиться, рассказать как все классно работает и какие все отцы старперы и {еще нехорошее слово} |
|||
17
Irbis
31.08.23
✎
14:48
|
(15) Вот и считай приход за месяц + остаток на конец каждого дня расчетного периода. Это для документов. Или делай начисление каждый день, а в конце просто сумму всех документов используй (но это косячный метод).
|
|||
18
RomanYS
31.08.23
✎
14:49
|
(14) приход уже сидит в остатке. Чтобы получить условно максимальный остаток за период берут (Расход + КонечныйОстаток) как они написал, выглядит логично
|
|||
19
lerr
31.08.23
✎
14:49
|
(14) Ок, подумай. Ты взял 10 тонн на месяц. В конце месяца у тебя осталось 5 тонн. Ты считаешь "за поступление должна плата браться и за остаток на конец расчетного периода". А если к поступлению в этот период пришло еще 7 тонн и ушло 7 тонн? Вот поэтому Расход + КонечныйОстаток отражает эту картину целиком и полностью!
|
|||
20
lerr
31.08.23
✎
14:49
|
(18) Во, опередил)
|
|||
21
Irbis
31.08.23
✎
14:51
|
(18), (19) всё крайне логично. 10+7 — поступление и за остаток на каждый день возьму, и пофиг когда и сколько ты вывозил. Я вам из жизни пример привёл, когда в одной бочке хранится товар целого десятка поклажедателей.
|
|||
22
lerr
31.08.23
✎
14:52
|
(16) Ну не передергивай, пожалуйста. Я про регистр расчета только вскользь упомянул. Основой был регистр накопления (оборота).
|
|||
23
Garykom
31.08.23
✎
14:52
|
(0) Используй Регистр Сведений и не ипи ничего
|
|||
24
lerr
31.08.23
✎
14:53
|
(21) К сожалению, твой пример не подходит для данной ситуации
|
|||
25
Irbis
31.08.23
✎
14:54
|
(22) Обороты здесь не прокатят, в формуле расчета фигурирует остаток, да ещё на каждый интервал из расчетного периода.
Учтите ещё момент, когда поклажедатель положил товар на полгода, и расхода не будет. Вот потому нормальные люди и берут денежку вперёд, по приходу. |
|||
26
Irbis
31.08.23
✎
14:55
|
(24) То есть пример с нефтебазой, когда произвольно по времени поступает произвольное количество продукта (в рамках квоты) и также произвольно по времени и количеству вывозится не подходит? Странно даже.
|
|||
27
lerr
31.08.23
✎
14:58
|
(25) Обороты для стоимости хранения. Они никогда не уйдут в ноль и двигаются только вперед.
Остатки для количества хранимого товара. Ну а тариф - сведения. Непериодические. |
|||
28
Garykom
31.08.23
✎
15:00
|
(27) Тариф это справочник + периодический РС где кому, где, какой тариф
|
|||
29
Garykom
31.08.23
✎
15:01
|
(28) периодический РС где Контрагент, Склад, Тариф
|
|||
30
Irbis
31.08.23
✎
15:02
|
(27) Имхается какая-то каша у вас в бестолковке, или задача не озвучена корректно. Стоимость хранения считать по регистру остатков товара не логично. Логично считать по документам, исходя из условий договора. И делить все деньги на всё количество.
|
|||
31
Garykom
31.08.23
✎
15:02
|
(29)+ Еще один РС (непериодический и даже независимый можно) куда уже пишутся результаты расчетов
И можно в реквизит засунуть в ХранилищеЗначения документ в виде ТабДок с детальными расчетами |
|||
32
Garykom
31.08.23
✎
15:04
|
Короче "наймите программиста"©
|
|||
33
Irbis
31.08.23
✎
15:05
|
(31) Да там много чего ещё можно придумать. Разная стоимость хранения в первый и последующие дни, стоимость погрузки/разгрузки с тонны.
И ещё один недостаток схемы, когда считают по расходу: возможность банального кидка. Когда товар вывезли и за последний месяц не заплатили. У хранителя в этом случае ни товара ни денег захранение. |
|||
34
lerr
31.08.23
✎
15:08
|
(30) Причем тут каша? Я бы рад решить стандартную задачу "договор на месяц -> счет на оплату", но задача именно такая: считать стоимость хранения за период времени. И документами это не считается, потому что документы являются регистраторами прихода/расхода, а никак не времени пребывания товара на складе.
|
|||
35
Bigbro
31.08.23
✎
15:08
|
(33) а это хороший довод.
|
|||
36
lerr
31.08.23
✎
15:09
|
(33) И причем здесь "нерентабельность коммерческой схемы" и "возможность кидка"? Мы с Вами не бизнес-модели обсуждаем)
|
|||
37
Гена
31.08.23
✎
15:15
|
Арифметика: Ост_нач + Приход - Расход = Ост_кон
Или Ост_нач + Приход = Ост_кон + Расход |
|||
38
АгентБезопасной Нацио
31.08.23
✎
15:21
|
(34) Если "документы являются регистраторами прихода и расхода", то в чем проблем построить по ним остатки на любой произвольный момент времени? Если есть остатки на любой момент времени, то в чем проблема построить "время пребывания определенного количества"?
(9) а если утром был пустой, перед обедом завезли товар, а после обеда вывезли, и склад снова пустой? |
|||
39
shuhard
31.08.23
✎
15:22
|
(27) [Обороты для стоимости хранения. Они никогда не уйдут в ноль и двигаются только вперед.]
превращение ОХ в систему биллинга влечёт паранойю Стоимость хранения фиксируется документом выбытия, расчет храниться в его ТЧ |
|||
40
lerr
31.08.23
✎
15:31
|
(38) а если утром был пустой, перед обедом завезли товар, а после обеда вывезли, и склад снова пустой?
Взимается оплата за один день. Работает формула Расход + КонечныйОстаток |
|||
41
lerr
31.08.23
✎
15:39
|
(39) Не совсем понял про биллинг?
В том и проблема, что нет четких документов выбытия. Есть поступивший товар - например, фура хагиваги в 10 номенклатурах. Это один документ прихода. А потом начинается расход - например, 27 документов расхода по 250 килограмм красных, синих или зеленых. В разные дни. И увязывать хранение документами в этом случае - тяжело. Ну или я пока не вижу как. |
|||
42
Гена
31.08.23
✎
15:40
|
Вывод: регистр не нужен.
1. Берётся контрагент 2. С даты договора по сегодня включительно все приходы (Приходище) и все расходы (Расходище) Имеем: Ост_кон = Приходище - Расходище 3. С даты последнего выставления предыдущего счёта за хранение по сегодня берётся Расход 4. Сумма текущего счёта = (Приходище - Расходище + Расход) * Тариф |
|||
43
H A D G E H O G s
31.08.23
✎
15:45
|
(0) Не забудь указать реквизиты организации, чтобы не столкнуться потом с этим поделием.
|
|||
44
АгентБезопасной Нацио
31.08.23
✎
15:46
|
(42) регистром в этом случае проще. Но он не обязателен.
|
|||
45
shuhard
31.08.23
✎
15:46
|
(41) не нужен поклажедателю биллинг, т.е. возможность в любой момент получить счёт для оплаты
|
|||
46
АгентБезопасной Нацио
31.08.23
✎
15:47
|
(41) если у вас "поступление - фура", а "расход - килограммы", то вы никогда не посчитаете. Наймите программиста.
|
|||
47
Гена
31.08.23
✎
15:50
|
(44) Лишнее. Хранение ориентируется только на объёмы, хоть хлопок, хоть золото.
Машины завозят и увозят объёмы, которые уже учтены в накладных(?). |
|||
48
АгентБезопасной Нацио
31.08.23
✎
16:24
|
(47) ну тогда и отчеты по складу можно по документам делать... там же "всё учтено", "регистры - лишняя сущность"
|
|||
49
Ногаминебить
31.08.23
✎
16:27
|
Ну тут еще вопрос где все это счастье реализуется. Если самописка с нуля - это одно, а так может там уже партионный учет есть к примеру или еще что.
|
|||
50
Гена
31.08.23
✎
16:45
|
(49) Да ну, какие там партии. Есть, к примеру, у меня гараж пустой и я за плату храню там сезонные шины. Кто-то привозит/увозит, платит за время и объём, ну какие партии?
|
|||
51
Гена
31.08.23
✎
16:48
|
(48) Хорошо, пусть будет регистр. Машу каслом не испортить.
|
|||
52
Eiffil123
31.08.23
✎
16:59
|
оборотный регистр, запрос к которому нужно делать так, чтобы разбить на интервалы по датам изменения объемов хранения (тета соединение в запросе 1С)
|
|||
53
lerr
31.08.23
✎
17:05
|
(46) Все уже давно работает хорошо. Но есть "НО!" - работает на вычислениях. То есть вычисляет все необходимое для любых контров, или групп контров, складов, да хоть для всех с разбивкой по каждому. На любой период.
И в этом кроется та "хотелка", за подсказкой о которой я обратился ко всем Вам. Если понадобится рассчитать по 1000 контров за 10 лет - это какие-никакие затраты ресурсов и времени на выполнение. Хранить миллион строк "ежедневных начислений", дабы получить агрегаты - быстро считает, но смущают "лишние" сотни тысяч строк (и не очевиден механизм реализации этого добра) |
|||
54
lerr
31.08.23
✎
17:08
|
(53) чтобы не было разночтений:
получаю таблицу остатков на каждый день по контру за период получаю таблицу тарифов на те же дни по контру за период перемножаю итоговая сумма = стоимость хранения за период |
|||
55
viraboy
31.08.23
✎
17:16
|
Делаете документ начисление ответ. хранения. Туда загоняете все расчеты - результат в табличную часть, проведение в регистр оборотов.
|
|||
56
Гена
31.08.23
✎
17:18
|
Истина как всегда посередине. РС по ежемесячным остаткам + уже налаженный расчёт внутри месяца.
|
|||
57
Garykom
31.08.23
✎
17:20
|
(53) >Хранить миллион строк "ежедневных начислений", дабы получить агрегаты - быстро считает, но смущают "лишние" сотни тысяч строк
1. Миллион строк это сколько в кб? >(и не очевиден механизм реализации этого добра) 2. Механизм очевиден и описан в (32) |
|||
58
Темный
01.09.23
✎
09:55
|
Делал так в свое время - остаток на каждый день из регистра просто отчетом, получаем сумму палет-дней по конрагенту, операции прихода/расхода (за погрузку и разгрузку брали с клиента) - в отдельном регистре.
|
|||
59
Valdis2007
01.09.23
✎
12:52
|
(4) это называется - OLAP
|
|||
60
АгентБезопасной Нацио
01.09.23
✎
12:59
|
(59) который реализуется другими средствами. для клюшек это была QryConsole, например. Для снеговика таких средств нет. Да и OWC ушел из доступности.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |