Страница 1 из 1
Проблема с сальдовыми остатками
Добавлено: 24 окт 2012, 12:16
savov
Доброго времени суток, форумчане!
Есть у нас некоторая проблемка, решить которую оказалось непросто.
Наблюдается "порча" складских остатков.
Пример.
Входящий остаток на начало месяца (август, сальдовый, складской) - 5538.13 руб., расход по ордеру 5538.13 руб., остаток на конец месяца - -0.03 руб. ( оборотка).
Смотрю сальдовые остатки с оборотами - там расход 5538.16 (!), не совпадающий с суммой ордера ( повторюсь, ордер - единственный!).
Такой фокус проявляется не раз ( расхождение сальдовых остатков, оборотки и данных по интерфейсу сальдовые остатки с оборотами) с разными МЦ.
Проверка таблиц ( а также проверка ордеров средствами Галки, равно как и пересчет сальдовых остатков(!)) ситуацию не исправляет.
В указанном выше примере продвижение в более поздние периоды выявляет начало расхождения ( данные ордера и интерфейса сальдовых остатков с оборотами) в мае месяце, при этом в интерфейсе опять вижу цифру не совпадающую с данными ордера.
Пробовали пересчитывать остатки, проверять ордера - ноль результатов!
Закрытие оперативного контура и пересчет цен не практикуем.
В связи с вышесказанным для понимания причин таких фокусов хотелось бы узнать как считает данные интерфейс сальдовых остатков с оборотами.
Ну и если кто что может подсказать, будем очень рады.
Галактика - 8.10, база Oracle
Re: Проблема с сальдовыми остатками
Добавлено: 24 окт 2012, 16:01
Starry
Возникает мысль на тему округления в складских ордерах - проверьте ваши настройки. Также возможно в разных интерфейсах округление идет по-разному - где то округляется каждая сумма, где-то - итоговая. Проверьте по записям в самой БД - те ли цифры из ордеров вы видите на экране в отчетах.
Что касается оборотной ведомости - то есть настройки по округлению проводок - посмотрите их тоже и сверьте с настройками округления сальдо. Совпадает ли сумма проводок в хозоперации с суммой по ордеру?
Re: Проблема с сальдовыми остатками
Добавлено: 24 окт 2012, 16:27
savov
Starry писал(а):Проверьте по записям в самой БД - те ли цифры из ордеров вы видите на экране в отчетах.
Интересно, а где собственно в БД есть запись из упомянутого мной фейса? Он вообще то расчетный.
При чем здесь проводки? Речь идет исключительно об оперативке.
Re: Проблема с сальдовыми остатками
Добавлено: 24 окт 2012, 17:00
Starry
savov писал(а):Интересно, а где собственно в БД есть запись из упомянутого мной фейса? Он вообще то расчетный.
Так если этот фейс показывает не те копейки, что в записи в SPORDER, то значит проблема в нем.
savov писал(а):При чем здесь проводки? Речь идет исключительно об оперативке.
Вы упомянули оборотку и я подумал про оборотно-сальдовую ведомость по бухучету. Обознался.
Re: Проблема с сальдовыми остатками
Добавлено: 26 окт 2012, 11:36
savov
Starry писал(а):Так если этот фейс показывает не те копейки, что в записи в SPORDER, то значит проблема в нем.
Не думаю, что это именно так.
Дело в том, что оборотная ведомость то показывает тоже неверное сальдо.
Причем,
1. Пересчет остатков не исправляет ситуации
2. Вставка дооценочных ордеров (балансировка) тоже не исправляет ситуации.
3. Проверки не показывают никаких ошибок.
Поэтому и спрашиваю, как указанный мной фейс считает остатки?
Re: Проблема с сальдовыми остатками
Добавлено: 26 окт 2012, 12:23
Den
Он рассчитывает остатки чисто на основе saldomc
Это подтверждается и тем что все Ваши исправления ордерами этому интер-су побоку...поэтому нужно выяснять почему не пересчитываются корректно остатки.
Re: Проблема с сальдовыми остатками
Добавлено: 26 окт 2012, 12:38
Den
имел ввиду не только остатки но и движение тоже....
Re: Проблема с сальдовыми остатками
Добавлено: 26 окт 2012, 12:39
savov
Den писал(а):поэтому нужно выяснять почему не пересчитываются корректно остатки.
Так вот как это сделать? И почему данные в интефейсе сальдовых остатков ( без оборотов) не совпадают с данными интерфейса сальдовых с оборотами? Эти два фейса, что берут разные таблицы?
Re: Проблема с сальдовыми остатками
Добавлено: 26 окт 2012, 14:11
Den
savov писал(а):
Так вот как это сделать?
Тут у каждого свой тернистый путь ...))
Трудно сказать что у Вас там в БД..я бы попробовал на баке грохнуть всю инфу в таблицах остатков(salodfnd,saldomc,teksaldo,sklost,tekmc) по этой МЦ, и пересчитать....еще можно предварительно перед этим какую нить проверку КОУ ордеров и остатков
savov писал(а):
И почему данные в интефейсе сальдовых остатков ( без оборотов) не совпадают с данными интерфейса сальдовых с оборотами? Эти два фейса, что берут разные таблицы?
криво что то посчитало(ну или в данных в БД для расчета остатков что то не то) - вот и не совпадают
Re: Проблема с сальдовыми остатками
Добавлено: 26 окт 2012, 19:50
savov
Не, ребята.. все ж чего интерфейс L_OSTATKI::SALDOMCEXT показывает?
Четко вижу, один (!) приходный ордер, в saldomc цена 0.02215254 ( равна цене в ордере) в фейсе цена 0.02215258. Откуда сие? Проверка КОУ не выдает никаких ошибок ( с момента начала базы). Имея данные об алгоритме работы можно, как мне кажется, более осмысленно пытаться искать наши скелеты в шкафу.
Re: Проблема с сальдовыми остатками
Добавлено: 26 окт 2012, 21:11
Den
на конкретный разрез который Вы анализируете (sp+cmc+cpodr+cmol+cparty) за период с dbeg по dend
посмотрите есть ли запись в saldomc по :
sp == SaldoMC.SP and
cMC == SaldoMC.cMC and
cPodr == SaldoMC.cPodr and
cParty == SaldoMC.cParty and
cMol == SaldoMC.cMOL and
Add_Day( dbeg, 1 ) >> SaldoMC.dSaldo
...если есть, то имейте ввиду значение последней записи
+
посмотрите есть ли запись в saldomc по :
sp == SaldoMC.SP and
cMC == SaldoMC.cMC and
cPodr == SaldoMC.cPodr and
cParty == SaldoMC.cParty and
cMol == SaldoMC.cMOL and
Add_Day( dbeg, 1 ) <<= SaldoMC.dSaldo and
Add_Day( dend, 1 ) >>= SaldoMC.dSaldo
...если есть, то имейте ввиду значение последней записи
а дальше,если есть обе записи , то
сумму прихода =SaldoMC_запрос1.kolP * SaldoMC_запрос1.SrP - SaldoMC_запрос2.kolP * SaldoMC_запрос2.SrP
а если нет в запросе один резальтата, то SaldoMC_запрос2.kolP * SaldoMC_запрос2.SrP
Re: Проблема с сальдовыми остатками
Добавлено: 29 окт 2012, 15:42
savov
Den писал(а):а дальше,если есть обе записи , то
сумму прихода =SaldoMC_запрос1.kolP * SaldoMC_запрос1.SrP - SaldoMC_запрос2.kolP * SaldoMC_запрос2.SrP
а если нет в запросе один резальтата, то SaldoMC_запрос2.kolP * SaldoMC_запрос2.SrP
Посмотрел, есть ненулевая запись только второго варианта. Цена равна цене ордера ( не совпадает с ценой в интерфейсе) и сальдо совпадает ( перемножить цену на количество) с "правильным".
И что это дает?
Re: Проблема с сальдовыми остатками
Добавлено: 29 окт 2012, 18:41
Den
Просто,кажись, так считает сумму по операциям этот интреф-с, интересующий так Вас...
а вообще в ТП лучше с траблом - тем более говорите это далеко не по всем МЦ такая картина. Все равно мы не знаем Вашей конфы галактики и БД не обладаем Вашей . Трудно будет просто понять вот так удаленно почему у Вас лажает алгоритм на конкретном примере.