Вернуться   Андрей Панько. Заметки про Dynamics NAV > Dynamics NAV (Navision)
Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Dynamics NAV (Navision) Заметки про Dynamics NAV (ранее Navision) и аддон LS Retail

Ответ
 
Опции темы Поиск в этой теме
  #1  
Старый 15.01.2007, 12:05
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Про поле Средняя Себестоимость (Руб.) и Себестоимость Единицы в карточке Товаров

Поле Средняя Себестоимость (Руб.) не является вычисляемым, как можно подумать. На самом деле его вообще нет в таблице Товары (27). В форму выведена переменная AverageCostLCY, которая рассчитывается в триггере onAfterGetRecord, вместе с переменной AverageCostACY. В указанном триггере вызывается функция CalculateAverageCost кодеюнита 5804 ItemCostManagment. При расчете функция учитывает значения в flowfilter: Location Filter, Variant Filter и Date Filter. Т.е. при смене фильтров, значение в поле Средняя Себестоимость (Руб.) будет изменяться.

Крайне интересно, почему разработчики поступили именно так, а не использовали вычисляемое поле? Ведь кроме как в карточке, такие же действия (расчет) выполняются и в списочной форме.
Ответить с цитированием
  #2  
Старый 15.01.2007, 16:08
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
При расходных операциях (в момент учета) в качестве стоимости используется значение из поля Себестоимость Единицы (Unit Cost) таблицы Товар (27) (или Единицы складского учета (5700)).
Выбор источника зависит от того, что указано в поле "Средняя Себестоимость Тип Расчета" окна "Товары Настройка".
Если в поле "Средняя Себестоимость Тип Расчета" выбран:
o Товар – то используется Себестоимость Единицы из таблицы Товары.
o Товар&Склад&Вариант – то используется Себестоимость Единицы из Единицы складского учета (если единица складского учета не существует то из таблицы Товары).

Значение в поле Себестоимость Единицы появляется при запуске пакетного задания Коррекция себестоимости товарных операций. При этом для товаров с методом расчета = По стандартной, берется значение из поля Стандартная Себестоимость, а для всех остальных – из функции CalculateAverageCost().

Тогда же (при запуске пакетного задания Коррекция себестоимости товарных операций) обновляется значение поля Себестоимость Единицы в Единицах складского учета. Если в поле "Средняя Себестоимость Тип Расчета" выбран:
o Товар – то средняя себестоимость будет рассчитываться по всей фирме (т.е. у всех единиц складского учета значение поля Себестоимость единицы будет одинаковым, а также будет равно значению в карточке товара).
o Товар&Склад&Вариант – то средняя себестоимость будет рассчитываться отдельно для каждой единицы хранения, и отдельно для товара.

Так же поле Себестоимость Единицы обновляется при учете счета на покупку, подробнее информацию можно получить во встроенной справочной системе.
Ответить с цитированием
  #3  
Старый 17.01.2007, 18:08
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Отрицательные остатки

Смущает следующее поведение системы:

Пример:
  • Учтен счет покупки на товар1 в количестве 1штука по цене 100 рублей. В книге операций стоимости появилась запись, где Сумма себестоимость (ожидаемая) = 0, а Сумма себестоимость (фактическая) = 100.
  • Создан заказ покупки на товар1 в количестве 3 штуки (прямая себестоимость заполнилась автоматически, а сотрудник не стал ее удалять), из заказа покупки учтено только получение. В книге операций стоимости появилась запись, где Сумма себестоимость (ожидаемая) = 300, а Сумма себестоимость (фактическая) = 0.
  • Учтен счет продажи на товар1 в количестве 2 штуки. В книге операций стоимости появилась запись, где Сумма себестоимость (ожидаемая) = 0, а Сумма себестоимость (фактическая) = -200 [-2*(100+300)/(1+3)].
  • Итого приобретено товара на 100 рублей, а продано на 200, остаток соответственно -100 (минус сто), что не красиво.
Процедура коррекции в этом случае не поможет: до тех пока по второму заказу покупки не будет учтен счет, сумма по себестоимости не измениться.


Само собой возник вопрос: почему нет возможности указывать в настройках (например, Товары Настройка) какие поля должна использовать функция CalculateAverageCost() при расчете средней?
Стандартно в ней используются "CostAmount (Actual)" и "CostAmount (Expected)", а хотелось бы иметь возможность принудить систему использовать только фактические (проверенные) данные.
Таким образом, при учете счета на продажу была бы создана операция стоимости, где Сумма себестоимость (ожидаемая) = 0, а Сумма себестоимость (фактическая) = -50 [-2*(100)/(1+3)].
Флажок «Ожидаемая Себестоимость Фин. Учет» работает, как следует из его названия, только в части финансового учета.

Позже посещал вопрос: А почему бы в расходных операциях, так же как и в приходных, не делить себестоимость на фактическую и ожидаемую». Тогда операция стоимости имела бы следующий вид: Сумма себестоимость (ожидаемая) = -150 [-2*(300)/(1+3)], а Сумма себестоимость (фактическая) = -50 [-2*(100)/(1+3)].
Средняя в этом случае останется неизменной.


------ день спустя -----

Продолжил изучение. Порадовался ходу мыслей.

Как бы определял остаток на дату человек имеющий таблицу следующего вида:
Дата / Количество / Сумма

Наверняка он бы отфильтровал таблицу SETRANGE(“PostingDate”,0D,naDatu); а затем сложил бы записи. И в результате бы получил отрицательный остаток (см. выше).

Как предлагается действовать:
Отфильтровать все положительные записи (т.е. приходные операции).
Затем идти по операциям и на основании таблицы Товар Применение Операция (339 Item Application Entry) определять остаток на дату. Далее,
Остаток по операции (сумма) = Остаток по операции (кол-во)/Количество по операции * Сумма по операции.

Таким образом, получаем правильный остаток на конец периода в стоимостном выражении. Да и в количественном выражении остаток полученный таким образом то же будет не отрицательным (т.е. расход, учтенный до того как был учтен приход, в отчетах не вылезет, смутив смотрящих отрицательным количеством).


Проблемы с кредитовыми остатками на дебетовых финансовых счетах остаются.
Ответить с цитированием
  #4  
Старый 13.03.2008, 16:31
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
См. также О назначении некоторых «стоимостных» полей в карточке товара.
Ответить с цитированием
  #5  
Старый 02.08.2010, 14:14
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Ниразу не стоимостные поля, но новую тему заводить под такую мелочь лень.

Вычисляемые поля Кол-во в заказе покупки и Кол-во в заказе продажи, расположенные в карточке товара, показывают количество к получению , а не просто Кол-во. Т.е. заказали 50, получили 40 - в карточке будет показывать цифру 10. Т.е. сколько еще должны получить.
Раньше внимания не обращал, а вот оно как.
Ответить с цитированием
Ответ


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

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 05:50.

Контакты: e-mail, телефон: +7(926)1805967 - Архив - Вверх

Microsoft Most Valuable Professional
vBulletin v3.5.4, Copyright ©2000-2020, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co
Права на все материалы, опубликованные на блогофоруме принадлежат Андрею Панько, если в самом материале не указано иное.
Рейтинг@Mail.ru Rambler's Top100