AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.04.2011, 11:18   #1  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Привет всем.

У моего клиента возникла необходимость пересчитать и исправить себестоимость товаров.
(функционал более-менее стандартный от 4.0 с какими-то отдельными нашлёпками и вклейками от Incadea, как я понял)

Система работает у них с начала 2010 года и себестоимость в карточках товара шаг за шагом (за несколько тысяч операций) каким-то образом "уплыла" с 700 руб. до почти МИЛЛИОНА Т.е. сейчас в карточке товара "Щётки стеклоочистителя" поле "Последняя Учт. Себест." = 700, а "Себест Единицы" = 973000

Короче, бардак полный

И вопрос у меня такой:
Как БЕЗОПАСНО пересчитать ЗАНОВО в 4.0 себестоимость одного конкретного товара?

Что, где и как постирать или поменять в таблицах 32, 339 и 5802 ?

Понятно, что на фин счетах эти миллионы себестоимости так пока и будут висеть - чёрт с ними. (про план счетов отдельный разговор )
Главное, чтобы в карточке товара после запуска отчёта коррекции себестоимости должна появиться приемлемая цифра - это основное.

Ну и подправить\пересчитать надо не все товары сразу, а только один - для наглядности.

Собственно, вот.
Подскажите, пожалуйста, кто в курсе.
Старый 06.04.2011, 12:49   #2  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Привет всем.

У моего клиента возникла необходимость пересчитать и исправить себестоимость товаров.
(функционал более-менее стандартный от 4.0 с какими-то отдельными нашлёпками и вклейками от Incadea, как я понял)

Система работает у них с начала 2010 года и себестоимость в карточках товара шаг за шагом (за несколько тысяч операций) каким-то образом "уплыла" с 700 руб. до почти МИЛЛИОНА Т.е. сейчас в карточке товара "Щётки стеклоочистителя" поле "Последняя Учт. Себест." = 700, а "Себест Единицы" = 973000

Короче, бардак полный

И вопрос у меня такой:
Как БЕЗОПАСНО пересчитать ЗАНОВО в 4.0 себестоимость одного конкретного товара?

Что, где и как постирать или поменять в таблицах 32, 339 и 5802 ?

Понятно, что на фин счетах эти миллионы себестоимости так пока и будут висеть - чёрт с ними. (про план счетов отдельный разговор )
Главное, чтобы в карточке товара после запуска отчёта коррекции себестоимости должна появиться приемлемая цифра - это основное.

Ну и подправить\пересчитать надо не все товары сразу, а только один - для наглядности.

Собственно, вот.
Подскажите, пожалуйста, кто в курсе.
А метод расчета какой: FIFO, средняя или другой какой?
Старый 06.04.2011, 13:34   #3  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Примерно так:
1. В Value Entry удалить все записи Adjustment=True
2. В Item Ledger Entry поставить Applied Entry To Adjust=True.
В разрезе товара если нужно
Старый 06.04.2011, 13:44   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Все б им постирать И коррекцию перезапустить

Вы сначала проверьте, что она там считает. Поле то как раз безобидное.
Такое ощущение, что какая-то операция просто не проводится
Старый 06.04.2011, 13:52   #5  
prefreitor is offline
prefreitor
Участник
 
214 / 11 (1) +
Регистрация: 03.10.2006
Цитата:
Сообщение от rmv Посмотреть сообщение
Примерно так:
1. В Value Entry удалить все записи Adjustment=True
2. В Item Ledger Entry поставить Applied Entry To Adjust=True.
В разрезе товара если нужно
И еще в карточке товара галку снять. И еще если фин. учет есть сказать гл. бухгалтеру что у нее баланс за 2010 год может уплыть
Старый 06.04.2011, 16:23   #6  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
[q]Все б им постирать коррекцию перезапустить
Вы сначала проверьте, что она там считает. Поле то как раз безобидное.[/q]
Видимо топикстартер решил провести проверку расчета себестоимости при корректных начальных условиях.
PS. Фин книгу можно почистить по полям "G/L Entry No. (Account)" и "G/L Entry No. (Bal. Account)"
Старый 06.04.2011, 16:24   #7  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
Все б им постирать коррекцию перезапустить
Вы сначала проверьте, что она там считает. Поле то как раз безобидное.
Видимо топикстартер решил провести проверку расчета себестоимости при корректных начальных условиях.
PS. Фин книгу можно почистить по полям "G/L Entry No. (Account)" и "G/L Entry No. (Bal. Account)"
Старый 06.04.2011, 16:42   #8  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
знаю я этого клиента.
там ошибки в применении товарных операций, прежде всего.
то-ли минус-контроль снимался, то-ли что-то наковыряли в функционале.
короче, моя рекомендация - ввод остатков, а не коррекция себестоимости.
Старый 06.04.2011, 21:59   #9  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Цитата:
Сообщение от Sancho Посмотреть сообщение
знаю я этого клиента.
там ошибки в применении товарных операций, прежде всего.
то-ли минус-контроль снимался, то-ли что-то наковыряли в функционале.
короче, моя рекомендация - ввод остатков, а не коррекция себестоимости.
Ага, Серджио! Попал в точку. Оне ))
С начала 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  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
Сереж, предложи им новейшую разработку: жесткий курс валюты
делаешь функцию, внутри пишешь:

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  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
А кто внедрял если не секрет?
Старый 07.04.2011, 12:04   #12  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
после такого кода...
кто ж теперь признается?
Старый 07.04.2011, 15:24   #13  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Ну, Сергей, то в курсе кто это был.
Просто интересно.
Старый 07.04.2011, 15:44   #14  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Цитата:
Сообщение от Fordewind Посмотреть сообщение
Ну, Сергей, то в курсе кто это был.
Просто интересно.
Да мне самому интересно
Говорят, что изначально Интеллект-сервис и Брайт-консалт были (делали что-то на основе Incadea), но потом забросили.
База не одна. Их несколько.
Потом какие-то, явно рукастые и не замутнённые интеллектом ребята ковырялись.
(а сейчас никто ничего не помнит. кризис всех вменяемых сотрудников поменял уже несколько раз)
Старый 07.04.2011, 16:52   #15  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Гувер-это голова. И Гинденбург-голова. Гувер и Гинденбург - 2 головы
PS. С Инкадеей сталкивался немного, там <skipped>код еще от наших немецких друзей примерно такого же качества.
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:06.