|
26.04.2010, 10:24 | #1 |
Участник
|
Собственно, поблема не в отчете. Он-то как раз нормально работает.
Вопрос как зависшие суммы убрать |
|
26.04.2010, 10:46 | #2 |
Участник
|
Цитата:
Первое что посмотрите - это на каких проводках "зависли" суммы. Если на открытых (valueOpen = NoYes::Yes), то ничего страшного - просто для этих проводок еще нет пары для закрытия. Процедура закрытия спишет сумму в следущие разы (Примечание: Процедура закрытия закрывает вовсе не ВСЕ проводки до даты закрытия. Процедура закрытия закрывает полностью израсходованные проводки: для прихода есть расходы на все количество, для расходов есть приходы) Если суммы "зависли" в закрытых проводках, то все гораздо хуже. надо бить в колокола и искать причину. чтобы понять где зависли суммы, сделайте запрос X++: while select sum(CostAmountPosted), sum(CostAmountAdjustment) from InventTrans group by ValueOpen where ... { info(strfmt("%1, %2, %3",InventTrans.ItemId, InventTrans.ValueOpen, InventTrans.CostAmountPosted+InventTrans.CostAmountAdjustment)); } InventTrans.CostAmountAdjustment = sum(InventSettlement.CostAmountAdjustment) (скорее всего, из-за того, что программисты вручную вмешивались в базу, не думая о целостности) это нарушение лечится процедурой "проверка целостности данных компании". если что-то другое - нужно смотреть. ================ возвращаясь к исходному вопросу: "коряво были распределены накладные расходы на себестоимость этой номенклатуры и, как следствие, закрытие складов отработало не совсем так. Бухгалтер хочет их ... (списать на 20), но убрать корректно, чтобы потом нигде ничего не вылезло. Но как это сделать?" мне кажется, что стоит убрать первопричину ошибки. если же нужно только убрать - то есть два варианта: 1. сумма зависла в открытых проводках - выполняем коррекцию себестоимости (кнопка в форме закрытие и коррекция) 2. сумма зависла в закрытых проводках - тут масса шаманских действий. Суть шаманских действий - откатываем закрытие пока неправильные проводки не откроются, далее выполняем ту же самую коррекцию себестоимости. Действия будут шаманскими поскольку как правило откат закрытий - очень нежелательное действие. Поэтому вас будут просить откатить только одну номенклатуру. Но если эта номенклатура входит в какие-то спецификации или связана с другой номенклатурой, то откатывать придется целый список номенклатур (список еще надо будет правильно сформировать). А потом надо будет контролируемо перезакрыть, чтобы себестоимость изменилась только в нужных местах... В общем, суть проста. Но чтобы это сделать - придется потанцевать с бубном. добавлено: 3. если вам наплевать на фин.проводки, а волнует только корректность складского модуля, то просто добавьте записи в inventSettlement, привяжите их к какому-нибудь подходящему закрытию склада, и обновите поле InventTrans.CostAmountAdjustment (даже у закрытых проводок). С точки зрения склада все будет корректно, но суммы в финансах и в складском модуле с этого момента будут безнадежно расходится. добавлено 2: 4. если вас не пугает большой объем программинга и у вас проблема с закрытыми проводками, то разберитесь как выполняется коррекция (какие процедуры вызываются). И проэмулируйте все шаги этой коррекции в своей процедуре. Но помните, что стандартная коррекция выбирает только открытые проводки, а вам нужно только закрытые (НИКОГДА не обрабатывайте открытые и закрытые за один проход коррекции - у закрытых и у открытых гарантировано должны быть разные ваучеры и лоты). Последний раз редактировалось mazzy; 26.04.2010 в 10:59. Причина: добавлено 2 |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|