Страница 2 из 3
Добавлено: 14 фев 2007, 11:43
Seybukan
то это не предмет разговора.
Почему же не предмет?
Вот если в начале эксплуатации системы была поставлена настройки:
Настройка \ Логистика \ Складской учет
Округление в складских ордерах = математическое
..значения в НДЕ округлять до=0,01
..в позиции спецификации складских ордеров округлять = сумму
То предмета разговора точно не было бы.
Вот беда в том что просто поставить эту настройку в середине эксплуатации системы просто так не получается.
Сначала надо сделать дооценочные ордера, чтобы убрать хвосты из сумм сальда на конец какого либо периода (0,0033333 и -0,00333333) а потом поставить настройки.
Тогда вышеуказанная функция все считает нормальна!
И где бы она не вызывалась из оборотки или из ард или исчо откудава, то ни каких галочек округления в отчет ставить не нада!
Вот если вы не делали этого ни когда и даже не собираетесь попробовать - то предмета для разговора точно нет.
Добавлено: 05 мар 2007, 10:14
Alexander
А что такое входящие остатки и иходящие?
И если мне нужны все МЦ по складу, коректно ли будет делать так:
Store_Init ;
Store_TypeOstatki(False) ;
Store_SkladProizv(wskl); //что такое wskl? код подразделения???
Store_Run ( wwdt, comp(0), wcpodr_sk,comp(0),comp(0),TRUE, True,false ) ;
Nextvisual ;
wchet:=0
if vsklad.getfirst TmpSaldo1 ordered by index TMPSaldo103=0
do {
....
} while vsklad.getnext TmpSaldo1 ordered by index TMPSaldo103=0
Добавлено: 05 мар 2007, 11:52
san
wskl - выбор 0 остатки на складе, 1 - остатки в производстве
что такое wchet?
что такое ordered by index TMPSaldo103=0? почему =0?
Добавлено: 05 мар 2007, 12:11
Alexander
san
что такое wchet?
копировал из примера, проглядел, можно убрать!
что такое ordered by index TMPSaldo103=0? почему =0?
взять первый элемент, отсортированный по индексу TMPSaldo103. "=0", т.к. getfirst вернет 0 в случае, если данные в таблице есть.
Добавлено: 05 мар 2007, 12:13
edward_K
wchet - это порсто счетчик для того, чтобы иногда делать nextvisual ( если делать часто - чуть теряется быстродействие, если вообще не делать то нельзя на компе заниматься другими вещами, галка кажется зависшей и .тп.) , индекс взят из примера - но это дело вкуса, можно и без него или другой, можно вообще loop. =0 - равняется tsok .
Добавлено: 05 мар 2007, 12:17
Alexander
edward_K
san
Люди, добрые!
Больше всего меня интересует вопрос: Будет ли это работать корректно, если указан только склад!!??
Store_Run ( wwdt,
comp(0),
wcpodr_sk,
comp(0),comp(0),TRUE, True,false ) ;
Добавлено: 05 мар 2007, 12:25
edward_K
да будет - можете пробовать.
если загнать -2, то будет вроде пахать по pick.
Добавлено: 05 мар 2007, 15:44
Alexander
все, вроде работает, ЗА ОДНИМ ИСКЛЮЧЕНИЕМ!
На некоторые МЦ сальдо получилось минусовое!!!
Это как? почему такое может быть???
у нас на складе "-3" гайки... это как?
)
Добавлено: 05 мар 2007, 17:44
Seybukan
Значит оприходовали 7 гаек а отпустили 10 гаек.
Или оприходовали 10, отпустили 10 а потом поменяли приход с 10 на 7.
Добавлено: 05 мар 2007, 17:59
edward_K
1. свертесь с обороткой по складам ( лучше начало чтоб совпало в датой в вашем отчете)
2. посмотрите карточку МЦ
3. а учетную единицу часом не меняли?
Добавлено: 06 мар 2007, 08:01
Alexander
оборотка по складам тоже минусы дает... в том-то и беда теперь, что надо разбираться почему.... учетную единицу не меняли...
Значит оприходовали 7 гаек а отпустили 10 гаек.
как оприходовали еще не смотрел...
Добавлено: 06 мар 2007, 08:12
san
карточку складского учета смотрите, там видно приходы и расходы и работает ctrl-f2
Добавлено: 06 мар 2007, 10:24
Alexander
все, разобрался... не оприходовано было, спасибо!
Добавлено: 27 мар 2008, 16:19
PViP
Вопрос по быстродействию расчета сальдовых остатков!
Галактический инструмент в модуле "складской учет" считает остатки в несколько раз быстрее по одним и тем же выбранным группам МЦ в сравнении с моей реализацией. Почему?
На сколько я понимая, интерфейс уже знает у каких МЦ есть остатки и считает именно по ним! Если это так, то в какой табле моно посмотреть что остатки есть или нет по конкретной мц?
Моя реализация (mySKLFRO - временная табла в которой список МЦ)
Код: Выделить всё
//РАСЧЕТ ОСТАТКОВ
Store_Init ;
Store_ReInit; //очистка tmpsaldo1
Store_TypeOstatki(False) ; //тип остатков
Store_SkladProizv(0); //только складские остатки
#ifdef DEBUG_MODE
logstrtofile('c:\SKLFRO.txt', ' Расчет сальдо с параметрами=='+MainView.dDateSaldoMC);
#end
SKLFROView._loop
{
Inc(i);
if (not iNextvisual('Расчет сальдовых остатков по '+Chr(13)+SKLFROView.mySKLFRO.NameMC+Chr(13)+i+'/'+CountMC))
{
BuildReport := -2;
Exit;
}
Store_Run ( MainView.dDateSaldoMC, //дата расчета
SKLFROView.mySKLFRO.NRec, //матценность
if (MainView.sPodr <> '', Comp(-2), Comp(0)), //склад (-2 - из pick)
if (MainView.sMOL <> '', comp(-2), Comp(0)), //мол (-2 - из pick)
comp(0), //партия (-2 - из pick)
False, //детализация по складам/подразделениям
False, //детализация по мол
False //детализация по партиям
);
}
Store_Done ;
Добавлено: 27 мар 2008, 16:59
edward_K
стандартный наверное вместо
SKLFROView.mySKLFRO.NRec, //матценность
тоже гонит -2.
ну и SKLFROView._loop тоже не нужен тыды.
кроме того нехорошо на каждой итерации делать inextvisual, лучше уж просто nextvisual , а еще лучше через 10 итераций.