![]() |
#1 |
Участник
|
Привет всем.
У моего клиента возникла необходимость пересчитать и исправить себестоимость товаров. (функционал более-менее стандартный от 4.0 с какими-то отдельными нашлёпками и вклейками от Incadea, как я понял) Система работает у них с начала 2010 года и себестоимость в карточках товара шаг за шагом (за несколько тысяч операций) каким-то образом "уплыла" с 700 руб. до почти МИЛЛИОНА ![]() Короче, бардак полный ![]() И вопрос у меня такой: Как БЕЗОПАСНО пересчитать ЗАНОВО в 4.0 себестоимость одного конкретного товара? Что, где и как постирать или поменять в таблицах 32, 339 и 5802 ? Понятно, что на фин счетах эти миллионы себестоимости так пока и будут висеть - чёрт с ними. (про план счетов отдельный разговор ![]() Главное, чтобы в карточке товара после запуска отчёта коррекции себестоимости должна появиться приемлемая цифра - это основное. Ну и подправить\пересчитать надо не все товары сразу, а только один - для наглядности. Собственно, вот. Подскажите, пожалуйста, кто в курсе. |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от jopagames2
![]() Привет всем.
У моего клиента возникла необходимость пересчитать и исправить себестоимость товаров. (функционал более-менее стандартный от 4.0 с какими-то отдельными нашлёпками и вклейками от Incadea, как я понял) Система работает у них с начала 2010 года и себестоимость в карточках товара шаг за шагом (за несколько тысяч операций) каким-то образом "уплыла" с 700 руб. до почти МИЛЛИОНА ![]() Короче, бардак полный ![]() И вопрос у меня такой: Как БЕЗОПАСНО пересчитать ЗАНОВО в 4.0 себестоимость одного конкретного товара? Что, где и как постирать или поменять в таблицах 32, 339 и 5802 ? Понятно, что на фин счетах эти миллионы себестоимости так пока и будут висеть - чёрт с ними. (про план счетов отдельный разговор ![]() Главное, чтобы в карточке товара после запуска отчёта коррекции себестоимости должна появиться приемлемая цифра - это основное. Ну и подправить\пересчитать надо не все товары сразу, а только один - для наглядности. Собственно, вот. Подскажите, пожалуйста, кто в курсе. |
|
![]() |
#3 |
Участник
|
Примерно так:
1. В Value Entry удалить все записи Adjustment=True 2. В Item Ledger Entry поставить Applied Entry To Adjust=True. В разрезе товара если нужно |
|
![]() |
#4 |
Участник
|
Все б им постирать
![]() Вы сначала проверьте, что она там считает. Поле то как раз безобидное. Такое ощущение, что какая-то операция просто не проводится |
|
![]() |
#5 |
Участник
|
Цитата:
![]() |
|
![]() |
#6 |
Участник
|
[q]Все б им постирать
![]() Вы сначала проверьте, что она там считает. Поле то как раз безобидное.[/q] Видимо топикстартер решил провести проверку расчета себестоимости при корректных начальных условиях. PS. Фин книгу можно почистить по полям "G/L Entry No. (Account)" и "G/L Entry No. (Bal. Account)" |
|
![]() |
#7 |
Участник
|
Цитата:
Все б им постирать коррекцию перезапустить
Вы сначала проверьте, что она там считает. Поле то как раз безобидное. PS. Фин книгу можно почистить по полям "G/L Entry No. (Account)" и "G/L Entry No. (Bal. Account)" |
|
![]() |
#8 |
Administrator
|
знаю я этого клиента.
там ошибки в применении товарных операций, прежде всего. то-ли минус-контроль снимался, то-ли что-то наковыряли в функционале. короче, моя рекомендация - ввод остатков, а не коррекция себестоимости. |
|
![]() |
#9 |
Участник
|
Цитата:
![]() С начала 2011 года этого клиента "уже знают", кроме меня, минимум 2 внедренца (а я с 1-го апреля у них типа третий) В любом случае, всем огромное спасибо. Пробовал и по методу RMV и "галку снимал", как советовал Prefreitor (хотя я и сам про это помнил) - всё пока без толку ![]() Там себестоимость(795 ф топку!) сугубо самописная. А в ничего не подозревающий функционал от 4.0 добавлено более 1000 новых объектов. Рестарт базы и ввод остатков - это выход, это я полностью с тобой согласен. Но! Но не за 30 тонн (пусть даже и "белого") оклада в месяц, как предлагается ![]() Думаю, тема коррекции закрыта. Всем удачи! ЗЫ: Говнокод: Ахтунг! Нашёл в базе. Просто приколоться(это выдержка из отчёта). И оно там у них живёт и причём ПРАВИЛЬНО РАБОТАЕТ!!! ![]() ////////////////////////////////////////////////////////////////////////////////// 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; // ну и дальше примерно в таком же духе ![]() |
|
![]() |
#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; а че? и функция красивая и они у тебя как на героиновом крючке, каждый день доработки нужны! ![]() |
|
![]() |
#11 |
Участник
|
А кто внедрял если не секрет?
|
|
![]() |
#12 |
Administrator
|
после такого кода...
кто ж теперь признается? ![]() |
|
![]() |
#13 |
Участник
|
Ну, Сергей, то в курсе кто это был.
Просто интересно. |
|
![]() |
#14 |
Участник
|
Да мне самому интересно
![]() Говорят, что изначально Интеллект-сервис и Брайт-консалт были (делали что-то на основе Incadea), но потом забросили. База не одна. Их несколько. Потом какие-то, явно рукастые и не замутнённые интеллектом ребята ковырялись. (а сейчас никто ничего не помнит. кризис всех вменяемых сотрудников поменял уже несколько раз) |
|
![]() |
#15 |
Участник
|
Гувер-это голова. И Гинденбург-голова. Гувер и Гинденбург - 2 головы
![]() PS. С Инкадеей сталкивался немного, там <skipped>код еще от наших немецких друзей примерно такого же качества. |
|