Лариса Т. wrote: |
Как происходит расчет СПИ, прошедшего на предприятии? От него рассчитывается СПИ оставшийся, а он влияет на расчет амортизации. Объектов много. Как проконтролировать? Были ли у кого-либо подобные ситуации? |
nordk wrote: |
Если захотите поправить проблему - то в таблице IZNOS перед закрытием периода выстроить записи по порядку UNICOD и в поле SPI_P отследить, что из месяца в месяц он увеличивался, если где не так - руками попправить как правильно и после этого ИЗНОС СЧИТАТЬ НЕЛЬЗЯ - только закрытие периода и со следующего месяца будет все ОК. Повторяю проверял вопрос на 36 пакете |
Quote: |
БЭСТ-4 - Износ в основных. Алгоритм формирования полей IZNOS
-------------------------------------------------------------------------------- Лариса Т. - 10 Янв 2007 10:48 Заголовок сообщения: Износ в основных. Алгоритм формирования полей IZNOS -------------------------------------------------------------------------------- Провели проверку базы по основным, выяснили несоответсвие данных по амортизации и начисленному износу. Подскажите пожалуйста как правильно формируются записи в полях IZNOS? Очень хочется привести все в соотвествие. -------------------------------------------------------------------------------- itman - 10 Янв 2007 11:03 Заголовок сообщения: -------------------------------------------------------------------------------- Тема уже поднималась http://www.bestnet.ru/club/phpBB/viewtopic.php?t=9436&start=15 Решили плагином. После очередного отката и возврата на текущий период - пришлось запустить вновь, т.к. вновь возникала разница (после большого объема различного рода документов в одном периоде). Используем такой код: Код: dbpush() NETUSE("iznos",LOADPATH()+"\OC\IZNOS.DBF") //берем базу износов iznos->(ORDSETFOCUS('UNIOC')) NETUSE("COC",LOADPATH()+"\OC\COC.DBF") //берем картотеку coc->(ORDSETFOCUS('UNIOC')) Select coc Set Relation To UNIOC Into iznos // делаем связь Go Top N:=0 While !EoF() //начинаем перебор картотеки Select iznos // переходим в износы и перебираем записи по объекту ОС nSumNakopl=coc->iz_doc While (!EoF().And.iznos->UNIOC=coc->UNIOC) nSumIzn=iznos->Summa If iznos->iznos<>nSumNakopl iznos->(Reclock()) iznos->iznos:=nSumNakopl iznos->(F_DBUNLOCK()) flag:=1 Else flag:=0 EndIf nSumNakopl=Round(nSumNakopl+nSumIzn,3) Skip EndDo Select coc If flag=1 coc->(Reclock()) coc->iznos:=Round(nSumNakopl-coc->iz_doc,3) coc->(F_DBUNLOCK()) EndIf Skip EndDo coc->(DbCloseArea()) iznos->(DbCloseArea()) dbpop() НО! Нет блока проверки на текущий расчетный период, поэтому запускать надо до расчета амортизаци, либо предварительно очистив записи в таблице износов по текущему периоду. И еще - нет учета изменений износа другими возможными способами. Т.е. если у вас износ менялся только через амортизацию - этот способ может помочь, если нет - необходима доработка. |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours