|
Доля стоимости в разукомплектации | ☑ | ||
---|---|---|---|---|
0
Лирик
06.03.24
✎
10:59
|
Коллеги, тема конечно пятничная, но будем считать, что среда это маленькая пятница.
Итак: В документе "Комплектация номенклатуры" (УТ 10.3) для вида операции "Разукомплектация" есть колонка "ДоляСтоимости". Пропорционально ей стоимость комплекта распределяется на комплектующие. Заполняют ее по разному, кто как, у меня свой алгоритм (он не важен). Столкнулся с проблемой если сумма долей стоимости больше 2000 то строка с долей стоимости равной 1 при выгрузке в бухгалтерию пропадает из проводок (ошибка зарегистрирована, принята к исправлению, но висит с 2016 года). Это связано с использованием типизированного реквизита в алгоритме распределения стоимости в бухгалтерии. Тип - Число(15, 3) доля стоимости меньше 0.0005, при округлении получаем 0. Задача: Повысить долю стоимости таких строк до минимально возможной. Какие решения предложите. Свой вариант выложу вечером в пятницу. ПС. Важно: Тип реквизита "ДоляСтоимости" - целое число. |
|||
1
RomanYS
06.03.24
✎
11:16
|
(0) если не пытаться оптимизировать, то min = ОкруглитьВверхДоЦелого(sum/2000).
Заменил всё, что меньше min, на min, пересчитал сумму, повторил итерацию. Если сильно озадачиться от итераций можно попробовать избавиться. Но это уже тема не для мисты, секцию "математика и алгоритмы" вроде прикрыли( |
|||
2
Лирик
06.03.24
✎
11:24
|
(1) Как вариант, спасибо.
|
|||
3
Гена
06.03.24
✎
11:37
|
На мой взгляд, это не ошибка, а грамотное отсечение перфекционного онанизма по критерию существенности в 0.05%
Аналогия. В Госдуме депутатские кресла получают только те партии, что набрали свыше 5% голосов. Голоса тех, кто собрал меньше, пропорционально забирают себе победители. Так и здесь. Ну к чему, скажите на милость, остоимовать кучу мелочёвки по каждому чиху? Учёт рухнет, если какую-то нитку с распоротого пиджака примут к учёту не по 3 рубля 62 копейки, а по нулю, а эти деньги уйдут на габардин, который примут к учёту не за 10 000 рублей, а за 10 003.62 ? Тем более, как Вы сами скромно упомянули, пропорцию долей Вы определяете самостоятельно, т.е. неточно, т.е. от балды, т.е. по формуле, придуманной главным инженером. |
|||
4
Одинист
06.03.24
✎
11:46
|
(3) +1 стандартный вопрос: мы покупаем в тоннах, амнадо списывать в граммах. Просишь продемонстрировать как они арматурину до грамма отрезают: ну это у нас технологи рассчитали…
|
|||
5
RomanYS
06.03.24
✎
12:45
|
(3) он же проблему описал. Оно не оприходуется по нулевой стоимости, "пропадает из проводок". В итоге или потеря ТМЦ совсем или расхождение БУ и регистров. Ну и нулевая стоимость тоже может создавать проблемы в учете и вопли бухов
|
|||
6
Valdis2007
06.03.24
✎
12:57
|
(0) решение в лоб))
Для каждого строка из Комплектующие Цикл Если ДоляСтоимостиНижеМин(строка) Тогда ПовыситьДолюСтоимостиДоМин(строка); КонецЕсли КонецЦикла |
|||
7
Лирик
06.03.24
✎
14:04
|
(3) Позвольте не согласиться.
Во первых, 1/2000 - это не так мало, зависит от исходной суммы комплекта. Во вторых, Роман прав, была бы нулевая себестоимость - половина беды, пропадает количество, там явная ошибка. Причем зарегистрирована ошибка "Неправильно рассчитывается себестоимость", а в текущем релизе вообще пропадают дебетовые проводки и движения по этой строке. Ну и в третьих, тема не про методологию учета ). |
|||
8
Лирик
06.03.24
✎
14:10
|
(6) Это не в лоб, это мимо. Все дело в пропорциях. Перефразируя Михаила Афанасиевича - сегодня это минимальная доля, а завтра, глядишь, не минимальная. А бывает и наоборот. И еще как бывает.
|
|||
9
ILM
06.03.24
✎
14:15
|
результат = ?(результат = 0, 0.001, результат);
|
|||
10
Гена
06.03.24
✎
14:30
|
(9) Тогда не сойдётся суммарный результат с изначальной суммой к распределению.
|
|||
11
Гена
06.03.24
✎
14:33
|
(7) Уговорили )
Тогда проще всего похерить типизированный реквизит в алгоритме распределения стоимости в бухгалтерии, который 15,3 и задать свой, хоть 20,8 |
|||
12
RomanYS
06.03.24
✎
14:55
|
(11) Это правильный вариант, непонятно зачем в промежточных расчетах вообще типизация. Ну и непонятно почему ТС не хочет исправить ошибку.
Насколько я понял, текущая ветка - это всё-таки пятничная задача по математике, а не реальная учетная проблема. |
|||
13
Лирик
06.03.24
✎
15:11
|
(12) Этот правильный вариант требует изменений в конфигурации "Бухгалтерия 3.0". Насколько я понял, там вообще использовали кусок алгоритма распределения, который используется в разных местах, не очень хочется туда лезть. Судя по коду эта функция может отдавать таблицу для заполнения табличных частей, ибо колонка принимающая рассчитанные доли называется "Количество" и типизирована как раз под него. Мне проще обойти это на этапе учета в УТ. А так проблема вполне реальна.
|
|||
14
Лирик
06.03.24
✎
15:12
|
(9) ПС. Важно: Тип реквизита "ДоляСтоимости" - целое число.
|
|||
15
Гена
06.03.24
✎
15:16
|
(13) Дубль два: никто и не предлагает рубить по типовой функции. Вам предлагают через расширение сделать в данном доке СВОЮ функцию распределения только для него.
|
|||
16
MaximSh
06.03.24
✎
15:25
|
(14) увеличиваем разрядность ДоляСтоимости после "," ?
|
|||
17
Гена
06.03.24
✎
15:51
|
(16) Какая разница в разрядности, если потом придёт логарифмическая линейка с тремя знаками расчёта.
1/2001 = 0 = 0,999 / 2000.999 Может автор задумал изврат с умножением/делением на 1000? 1000 / 2001 = 0.499 СуммаКРаспределению * 0.499 / 1000 Но это уже из серии "когда коту делать нечего" ) |
|||
18
MaximSh
06.03.24
✎
16:05
|
(17)
1/1000=0,001 1/0,1=10 можно уже до 10000 долей указывать |
|||
19
RomanYS
06.03.24
✎
16:24
|
(18) что такое 1/0.1? Доля 1, а сумма 0.1? Такое возможно только при отрицательных долях
И ограничение на целые - это внешнее ограничение со стороны ТС. Проблема не в нём, а в промежуточных расчетах, где считается ДоляОтЕдиницы_Коэф = Доля/СуммаДолей и зачем-то этот промежуточный коэффициент типизирован. Уточнение долей здесь ничего не даст |
|||
20
NGM995
03.04.24
✎
11:17
|
Добрый день, коллеги! Объясните ,пожалуйста, простым языком как считать долю стоимости при разукомплектации? может есть формула какая то? не судите строго я только учусь)) спасибо)
|
|||
21
Волшебник
03.04.24
✎
11:36
|
(20) На свои вопросы создавайте новые ветки, а не поднимайте старые.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |