06.04.2011, 11:18 | #1 |
Участник
|
Привет всем.
У моего клиента возникла необходимость пересчитать и исправить себестоимость товаров. (функционал более-менее стандартный от 4.0 с какими-то отдельными нашлёпками и вклейками от Incadea, как я понял) Система работает у них с начала 2010 года и себестоимость в карточках товара шаг за шагом (за несколько тысяч операций) каким-то образом "уплыла" с 700 руб. до почти МИЛЛИОНА Т.е. сейчас в карточке товара "Щётки стеклоочистителя" поле "Последняя Учт. Себест." = 700, а "Себест Единицы" = 973000 Короче, бардак полный И вопрос у меня такой: Как БЕЗОПАСНО пересчитать ЗАНОВО в 4.0 себестоимость одного конкретного товара? Что, где и как постирать или поменять в таблицах 32, 339 и 5802 ? Понятно, что на фин счетах эти миллионы себестоимости так пока и будут висеть - чёрт с ними. (про план счетов отдельный разговор ) Главное, чтобы в карточке товара после запуска отчёта коррекции себестоимости должна появиться приемлемая цифра - это основное. Ну и подправить\пересчитать надо не все товары сразу, а только один - для наглядности. Собственно, вот. Подскажите, пожалуйста, кто в курсе. |
|
06.04.2011, 12:49 | #2 |
Участник
|
Цитата:
Сообщение от jopagames2
Привет всем.
У моего клиента возникла необходимость пересчитать и исправить себестоимость товаров. (функционал более-менее стандартный от 4.0 с какими-то отдельными нашлёпками и вклейками от Incadea, как я понял) Система работает у них с начала 2010 года и себестоимость в карточках товара шаг за шагом (за несколько тысяч операций) каким-то образом "уплыла" с 700 руб. до почти МИЛЛИОНА Т.е. сейчас в карточке товара "Щётки стеклоочистителя" поле "Последняя Учт. Себест." = 700, а "Себест Единицы" = 973000 Короче, бардак полный И вопрос у меня такой: Как БЕЗОПАСНО пересчитать ЗАНОВО в 4.0 себестоимость одного конкретного товара? Что, где и как постирать или поменять в таблицах 32, 339 и 5802 ? Понятно, что на фин счетах эти миллионы себестоимости так пока и будут висеть - чёрт с ними. (про план счетов отдельный разговор ) Главное, чтобы в карточке товара после запуска отчёта коррекции себестоимости должна появиться приемлемая цифра - это основное. Ну и подправить\пересчитать надо не все товары сразу, а только один - для наглядности. Собственно, вот. Подскажите, пожалуйста, кто в курсе. |
|
06.04.2011, 13:34 | #3 |
Участник
|
Примерно так:
1. В Value Entry удалить все записи Adjustment=True 2. В Item Ledger Entry поставить Applied Entry To Adjust=True. В разрезе товара если нужно |
|
06.04.2011, 13:44 | #4 |
Участник
|
Все б им постирать И коррекцию перезапустить
Вы сначала проверьте, что она там считает. Поле то как раз безобидное. Такое ощущение, что какая-то операция просто не проводится |
|
06.04.2011, 13:52 | #5 |
Участник
|
И еще в карточке товара галку снять. И еще если фин. учет есть сказать гл. бухгалтеру что у нее баланс за 2010 год может уплыть
|
|
06.04.2011, 16:23 | #6 |
Участник
|
[q]Все б им постирать коррекцию перезапустить
Вы сначала проверьте, что она там считает. Поле то как раз безобидное.[/q] Видимо топикстартер решил провести проверку расчета себестоимости при корректных начальных условиях. PS. Фин книгу можно почистить по полям "G/L Entry No. (Account)" и "G/L Entry No. (Bal. Account)" |
|
06.04.2011, 16:24 | #7 |
Участник
|
Цитата:
Все б им постирать коррекцию перезапустить
Вы сначала проверьте, что она там считает. Поле то как раз безобидное. PS. Фин книгу можно почистить по полям "G/L Entry No. (Account)" и "G/L Entry No. (Bal. Account)" |
|
06.04.2011, 16:42 | #8 |
Administrator
|
знаю я этого клиента.
там ошибки в применении товарных операций, прежде всего. то-ли минус-контроль снимался, то-ли что-то наковыряли в функционале. короче, моя рекомендация - ввод остатков, а не коррекция себестоимости. |
|
06.04.2011, 21:59 | #9 |
Участник
|
Цитата:
С начала 2011 года этого клиента "уже знают", кроме меня, минимум 2 внедренца (а я с 1-го апреля у них типа третий) В любом случае, всем огромное спасибо. Пробовал и по методу RMV и "галку снимал", как советовал Prefreitor (хотя я и сам про это помнил) - всё пока без толку Там себестоимость(795 ф топку!) сугубо самописная. А в ничего не подозревающий функционал от 4.0 добавлено более 1000 новых объектов. Рестарт базы и ввод остатков - это выход, это я полностью с тобой согласен. Но! Но не за 30 тонн (пусть даже и "белого") оклада в месяц, как предлагается (против почти 6 лямов партнёрам за несостоявшееся прошлогоднее внедрение) Думаю, тема коррекции закрыта. Всем удачи! ЗЫ: Говнокод: Ахтунг! Нашёл в базе. Просто приколоться(это выдержка из отчёта). И оно там у них живёт и причём ПРАВИЛЬНО РАБОТАЕТ!!! ////////////////////////////////////////////////////////////////////////////////// IF SIH.FINDSET THEN REPEAT IF ArhS.GET(SIH."Srv Order No.",SIH."Invoice Key") THEN BEGIN; IF ArhS."Depart Code" = 'КУЗ' THEN BEGIN; SIH.CALCFIELDS("Amount Including VAT"); IF SIH."Invoice Key"= 'П1' THEN BEGIN kZN+=1; END; IF SIH."Invoice Key"= 'П2' THEN BEGIN kZN+=1; END; IF SIH."Invoice Key"= 'П3' THEN BEGIN kZN+=1; END; IF SIH."Invoice Key"= 'П4' THEN BEGIN kZN+=1; END; IF SIH."Invoice Key"= 'Г1' THEN BEGIN kZNg+=1; END; IF SIH."Invoice Key"= 'Г2' THEN BEGIN kZNg+=1; END; IF SIH."Invoice Key"= 'С1' THEN BEGIN kZNs+=1; END; IF SIH."Invoice Key"= 'С2' THEN BEGIN kZNs+=1; END; IF SIH."Invoice Key"= 'С3' THEN BEGIN kZNs+=1; END; IF SIH."Invoice Key"= 'С4' THEN BEGIN kZNs+=1; END; IF SIH."Invoice Key"= 'С5' THEN BEGIN kZNs+=1; END; IF SIH."Invoice Key"= 'С6' THEN BEGIN kZNs+=1; END; SIL.SETRANGE(SIL."Document No.", SIH."No."); IF SIL.FINDSET THEN REPEAT IF SIH."Invoice Key"= 'П1' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclt+=SIL.Quantity; kSummAIV+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'П2' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclt+=SIL.Quantity; kSummAIV+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'П3' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclt+=SIL.Quantity; kSummAIV+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'П4' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclt+=SIL.Quantity; kSummAIV+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'Г1' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kcltg+=SIL.Quantity; kSummAIVg+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'Г2' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kcltg+=SIL.Quantity; kSummAIVg+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'С1' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclts+=SIL.Quantity; kSummAIVs+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'С2' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclts+=SIL.Quantity; kSummAIVs+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'С3' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclts+=SIL.Quantity; kSummAIVs+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'С4' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclts+=SIL.Quantity; kSummAIVs+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'С5' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclts+=SIL.Quantity; kSummAIVs+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'С6' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kclts+=SIL.Quantity; kSummAIVs+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'ППБУ' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; rabPPBUr+=SIL."Amount Including VAT (LCY)"; rabPPBU+=SIL.Quantity; END; END; IF SIH."Invoice Key"= 'ППБУ' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; sumPPBUt+=SIL."Amount Including VAT (LCY)"; END; END; IF SIH."Invoice Key"= 'ППНА' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; rabPPNA+=SIL.Quantity; END; END; IF SIH."Invoice Key"= 'ППНА' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; sumPPNA+=SIL."Amount Including VAT (LCY)"; END; END; IF Itm.GET(SIL."No.") THEN BEGIN IF Itm."Item Group"='F' THEN BEGIN; IF SIH."Invoice Key"= 'П1' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; kvirmag+=SIL."Amount Including VAT (LCY)"; kcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'П2' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; kvirmag+=SIL."Amount Including VAT (LCY)"; kcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'П3' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kvirmag+=SIL."Amount Including VAT (LCY)"; kcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'П4' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; kvirmag+=SIL."Amount Including VAT (LCY)"; kcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'Г1' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; gkvirmag+=SIL."Amount Including VAT (LCY)"; gkcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'Г2' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; gkvirmag+=SIL."Amount Including VAT (LCY)"; gkcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С1' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmag+=SIL."Amount Including VAT (LCY)"; skcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С2' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmag+=SIL."Amount Including VAT (LCY)"; skcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С3' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmag+=SIL."Amount Including VAT (LCY)"; skcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С4' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmag+=SIL."Amount Including VAT (LCY)"; skcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С5' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmag+=SIL."Amount Including VAT (LCY)"; skcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С6' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmag+=SIL."Amount Including VAT (LCY)"; skcostmag+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; END; IF Itm."Item Group"<>'F' THEN BEGIN; IF SIH."Invoice Key"= 'П1' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; kvirmagPROCH+=SIL."Amount Including VAT (LCY)"; kcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'П2' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; kvirmagPROCH+=SIL."Amount Including VAT (LCY)"; kcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'П3' THEN BEGIN; IF SIL.Type=1 THEN BEGIN; kvirmagPROCH+=SIL."Amount Including VAT (LCY)"; kcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'П4' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; kvirmagPROCH+=SIL."Amount Including VAT (LCY)"; kcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'Г1' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; gkvirmagPROCH+=SIL."Amount Including VAT (LCY)"; gkcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END; IF SIH."Invoice Key"= 'Г2' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; gkvirmagPROCH+=SIL."Amount Including VAT (LCY)"; gkcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С1' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmagPROCH+=SIL."Amount Including VAT (LCY)"; skcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С2' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmagPROCH+=SIL."Amount Including VAT (LCY)"; skcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С3' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmagPROCH+=SIL."Amount Including VAT (LCY)"; skcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С4' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmagPROCH+=SIL."Amount Including VAT (LCY)"; skcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С5' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmagPROCH+=SIL."Amount Including VAT (LCY)"; skcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; IF SIH."Invoice Key"= 'С6' THEN BEGIN; IF SIL.Type=2 THEN BEGIN; skvirmagPROCH+=SIL."Amount Including VAT (LCY)"; skcostmagPROCH+=SIL.Quantity*Itm."Last Direct Cost"; END; END ; END; END; UNTIL SIL.NEXT = 0; END; END; UNTIL SIH.NEXT = 0; ikZN:=kZN+kZNs+kZNg; ikSummAIV:=kSummAIVs+kSummAIV+kSummAIVg; ikg:=kclts+kclt; skitogkol:=ikZN+iZN; skitogtime:=ikg+ig; skitogsumm:=ikSummAIV+iSummAIV; itotgomagvir:=slvirmag+gslvirmag+kvirmag+gkvirmag+skvirmag+ProdMagFord+optProdMagFord; itogomagcost:=slcostmag+gslcostmag+kcostmag+gkcostmag+skcostmag+ProdMagFordcost+optProdMagFordcost; itotgomagvirPROCH:=slvirmagPROCH+gslvirmagPROCH+kvirmagPROCH+ gkvirmagPROCH+skvirmagPROCH+ProdMagPROCH+optProdMagPROCH; itogomagcostPROCH:=slcostmagPROCH+gslcostmagPROCH+kcostmagPROCH+gkcostmagPROCH+ skcostmagPROCH+ProdMagPROCHcost+optProdMagPROCHcost; // ну и дальше примерно в таком же духе |
|
06.04.2011, 22:52 | #10 |
Administrator
|
Сереж, предложи им новейшую разработку: жесткий курс валюты
делаешь функцию, внутри пишешь: Case RateDate OF 010111D: EXIT(40.20); 020111D: EXIT(40.05); 030111D: EXIT(40.20); 040111D: EXIT(40.20); 050111D: EXIT(40.38); ... 010411D: EXIT(40.29); End; а че? и функция красивая и они у тебя как на героиновом крючке, каждый день доработки нужны! |
|
07.04.2011, 11:46 | #11 |
Участник
|
А кто внедрял если не секрет?
|
|
07.04.2011, 12:04 | #12 |
Administrator
|
после такого кода...
кто ж теперь признается? |
|
07.04.2011, 15:24 | #13 |
Участник
|
Ну, Сергей, то в курсе кто это был.
Просто интересно. |
|
07.04.2011, 15:44 | #14 |
Участник
|
Да мне самому интересно
Говорят, что изначально Интеллект-сервис и Брайт-консалт были (делали что-то на основе Incadea), но потом забросили. База не одна. Их несколько. Потом какие-то, явно рукастые и не замутнённые интеллектом ребята ковырялись. (а сейчас никто ничего не помнит. кризис всех вменяемых сотрудников поменял уже несколько раз) |
|
07.04.2011, 16:52 | #15 |
Участник
|
Гувер-это голова. И Гинденбург-голова. Гувер и Гинденбург - 2 головы
PS. С Инкадеей сталкивался немного, там <skipped>код еще от наших немецких друзей примерно такого же качества. |
|