Необходимо рассчитать среднюю цену МЦ!
Думаю что есть стандартная функция, которая учитывает настройки складского учета чтоб не парится с расчетами!
Подскажите кто знает!
Фукнция рассчета средней цены МЦ!!! Help
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 254
- Зарегистрирован: 08 июн 2007, 08:26
- Откуда: Красноярск
- Контактная информация:
До, накладная - сформированы, необходимо посчитать среднюю цену матценности SPSopr.CMCusl и списать ее со склада SklOrder.cPodr с МОЛ SklOrder.cMol.
Галка настроена на списани по средним ценам в разрезе склада и МОЛ, по партиям галка не стоит. Версия 810.
Делаю так
Цена возвращается не средняя, а та которая стоит в ДО и в Накладной, причем в до цены берутся из прайса!
ЧТо не так!? Почему не выдает среднюю цену!?
Галка настроена на списани по средним ценам в разрезе склада и МОЛ, по партиям галка не стоит. Версия 810.
Делаю так
Код: Выделить всё
InitMCInfo (SklOrder.DOrd);
StepMCInfo (SPSopr.CMCusl, SPSOpr.cVal, SklOrder.cPodr, SklOrder.cMol, comp(0));
Par1 := AveragePrice;
Par2 := AverageVPrice;
DoneMcInfo;
ЧТо не так!? Почему не выдает среднюю цену!?
-
- Посетитель
- Сообщения: 39
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Архангельская область ООО "Фалькон плюс"
- Контактная информация:
┌──────────────────────────────┐
│ Функции Расчета наличия │
└──────────────────────────────┘
по умолчанию рассчитывается исходящие наличие Мц на дату
т.е. учитывается движение за этот день...
function InitMCInfo (date) : boolean
а) инициализация объекта, открытие таблиц
в) устанавливает дату расчета остатков МЦ
function ReInitMCInfo (date) : boolean
а) только устанавливает дату расчета остатков МЦ
function SkladProizv(word);
для расчета в складском учете(0) или в производстве(1),
по умолчанию - в складском учете. Вызывается перед StepMCinfo
или NalT.
function WasStoppedMCInfo : boolean
если в процессе расчета процесс был прерван возвращает TRUE
procedure DoneMcInfo ;
а) закрытие таблиц, удаление объекта работы с остатками МЦ
function StepMCInfo (cMC,cVal,cPodr,cMol,cParty:comp) : comp
производит расчет цены и количества
(возврат значений через AveragePrice,CountMC)
параметры: 1 МЦ KatMC.NRec (параметр типа 1)
2 Валюта KlVal.NRec
3 Склад KatPodr.NRec (параметр типа 1)
4 МОЛ KatMol.NRec (параметр типа 1)
5 Партия KatParty.NRec (параметр типа 1)
возвращает: 1 код валюты в которой произведен расчет
замечания: автоматически учитывается методика списания МЦ
function NalT (date,cMC,cPodr,cMol,cParty:comp) : comp
производит расчет цены и количества
(возврат значений через AveragePrice,CountMC)
параметры: 1 МЦ KatMC.NRec (параметр типа 1)
2 Склад KatPodr.NRec (параметр типа 1)
3 МОЛ KatMol.NRec (параметр типа 1)
4 Партия KatParty.NRec (параметр типа 1)
возращает: наличие МЦ в разрезе
замечания: не поддерживает методику списания МЦ
поэтому вызывать
procedure TypeOstatki (boolean)
параметры: 1 = TRUE - входящие остатки на дату
FALSE - исходящие остатки на дату
procedure LockValOt (boolean)
параметры: 1 = TRUE - пересчет в базовую
FALSE - пересчет в валюту для отчетов
================================================
после вызова StepMCInfo, NalT - можно вызывать
================================================
function AveragePrice : double
возращает: среднию цену в НДЕ
function AverageVPrice : double
возвращает: среднию цену в Валюте
(валюты которую вернула функция StepMCInfo)
function AveragePrivPrice : double
возращает: среднию цену в НДЕ по приходам
function AveragePrihVPrice : double
возвращает: среднию цену в Валюте по приходам
(валюты которую вернула функция StepMCInfo)
function CountMC : double
возвращает: наличие МЦ (количество)
замечания: корректно возвращает только при методике списания МЦ
"средние по разрезу", во всех остальных случаях
возвращает количество всего на предприятии (не учитывая разрезы)
для подсчета наличия-количества необходимо использовать
функцию NalT
================================================
ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ
================================================
function MCGetCurrency (comp, double, date) : double
пересчет в валюту для отчетов
function MCGetBaseCurrency (comp, double, date) : double
пересчет в базовую валюту
function MCGetAnyCurrency (comp, double, date, comp) : double
пересчет в любую валюту
================================================
procedure SwitchProizOn
включает режим когда при расчете средней цены
расходные ордера в производство не учитываются
(по умолчанию отключен)
используется в производстве
procedure SwitchProizOff
выключает данный режим
Паратметры тип 1 (разрезы Хранения МЦ)
comp(0) - рассчитывается наличие без учета данного разреза
т.е. если в параметрах функции NalTov
указать конкретные значения МЦ, Склад, МОЛ,
но вместо KatParty.NRec - передать comp(0),
то наличие будет вычислено для определенной МЦ,
определенного склада, определенного МОЛ,
но сразу для всех партий используемых в учете...
comp(-1) - рассчитывается наличие только для не заданного разреза
т.е. если в параметрах функции NalTov
указать конкретные значения МЦ, Склад, МОЛ,
но вместо KatParty.NRec - передать comp(-1),
то наличие будет вычислено для определенной МЦ,
определенного склада, определенного МОЛ
и только не заданной Партии...
comp(-2) - рассчитывается наличие по таблице Pick (групповой выбор)
т.е. если в параметрах функции NalTov
указать конкретные значения МЦ, Склад, МОЛ,
но вместо KatParty.NRec - передать comp(-2),
то наличие будет вычислено только для Партий,
которые занесены в таблицу Pick
(с соответствующим кодом поля Pick.wList)
│ Функции Расчета наличия │
└──────────────────────────────┘
по умолчанию рассчитывается исходящие наличие Мц на дату
т.е. учитывается движение за этот день...
function InitMCInfo (date) : boolean
а) инициализация объекта, открытие таблиц
в) устанавливает дату расчета остатков МЦ
function ReInitMCInfo (date) : boolean
а) только устанавливает дату расчета остатков МЦ
function SkladProizv(word);
для расчета в складском учете(0) или в производстве(1),
по умолчанию - в складском учете. Вызывается перед StepMCinfo
или NalT.
function WasStoppedMCInfo : boolean
если в процессе расчета процесс был прерван возвращает TRUE
procedure DoneMcInfo ;
а) закрытие таблиц, удаление объекта работы с остатками МЦ
function StepMCInfo (cMC,cVal,cPodr,cMol,cParty:comp) : comp
производит расчет цены и количества
(возврат значений через AveragePrice,CountMC)
параметры: 1 МЦ KatMC.NRec (параметр типа 1)
2 Валюта KlVal.NRec
3 Склад KatPodr.NRec (параметр типа 1)
4 МОЛ KatMol.NRec (параметр типа 1)
5 Партия KatParty.NRec (параметр типа 1)
возвращает: 1 код валюты в которой произведен расчет
замечания: автоматически учитывается методика списания МЦ
function NalT (date,cMC,cPodr,cMol,cParty:comp) : comp
производит расчет цены и количества
(возврат значений через AveragePrice,CountMC)
параметры: 1 МЦ KatMC.NRec (параметр типа 1)
2 Склад KatPodr.NRec (параметр типа 1)
3 МОЛ KatMol.NRec (параметр типа 1)
4 Партия KatParty.NRec (параметр типа 1)
возращает: наличие МЦ в разрезе
замечания: не поддерживает методику списания МЦ
поэтому вызывать
procedure TypeOstatki (boolean)
параметры: 1 = TRUE - входящие остатки на дату
FALSE - исходящие остатки на дату
procedure LockValOt (boolean)
параметры: 1 = TRUE - пересчет в базовую
FALSE - пересчет в валюту для отчетов
================================================
после вызова StepMCInfo, NalT - можно вызывать
================================================
function AveragePrice : double
возращает: среднию цену в НДЕ
function AverageVPrice : double
возвращает: среднию цену в Валюте
(валюты которую вернула функция StepMCInfo)
function AveragePrivPrice : double
возращает: среднию цену в НДЕ по приходам
function AveragePrihVPrice : double
возвращает: среднию цену в Валюте по приходам
(валюты которую вернула функция StepMCInfo)
function CountMC : double
возвращает: наличие МЦ (количество)
замечания: корректно возвращает только при методике списания МЦ
"средние по разрезу", во всех остальных случаях
возвращает количество всего на предприятии (не учитывая разрезы)
для подсчета наличия-количества необходимо использовать
функцию NalT
================================================
ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ
================================================
function MCGetCurrency (comp, double, date) : double
пересчет в валюту для отчетов
function MCGetBaseCurrency (comp, double, date) : double
пересчет в базовую валюту
function MCGetAnyCurrency (comp, double, date, comp) : double
пересчет в любую валюту
================================================
procedure SwitchProizOn
включает режим когда при расчете средней цены
расходные ордера в производство не учитываются
(по умолчанию отключен)
используется в производстве
procedure SwitchProizOff
выключает данный режим
Паратметры тип 1 (разрезы Хранения МЦ)
comp(0) - рассчитывается наличие без учета данного разреза
т.е. если в параметрах функции NalTov
указать конкретные значения МЦ, Склад, МОЛ,
но вместо KatParty.NRec - передать comp(0),
то наличие будет вычислено для определенной МЦ,
определенного склада, определенного МОЛ,
но сразу для всех партий используемых в учете...
comp(-1) - рассчитывается наличие только для не заданного разреза
т.е. если в параметрах функции NalTov
указать конкретные значения МЦ, Склад, МОЛ,
но вместо KatParty.NRec - передать comp(-1),
то наличие будет вычислено для определенной МЦ,
определенного склада, определенного МОЛ
и только не заданной Партии...
comp(-2) - рассчитывается наличие по таблице Pick (групповой выбор)
т.е. если в параметрах функции NalTov
указать конкретные значения МЦ, Склад, МОЛ,
но вместо KatParty.NRec - передать comp(-2),
то наличие будет вычислено только для Партий,
которые занесены в таблицу Pick
(с соответствующим кодом поля Pick.wList)