остатки МЦ на заданную дату в ard отчете

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Сообщение Seybukan »

то это не предмет разговора.
Почему же не предмет?
Вот если в начале эксплуатации системы была поставлена настройки:
Настройка \ Логистика \ Складской учет
Округление в складских ордерах = математическое
..значения в НДЕ округлять до=0,01
..в позиции спецификации складских ордеров округлять = сумму

То предмета разговора точно не было бы.
Вот беда в том что просто поставить эту настройку в середине эксплуатации системы просто так не получается.
Сначала надо сделать дооценочные ордера, чтобы убрать хвосты из сумм сальда на конец какого либо периода (0,0033333 и -0,00333333) а потом поставить настройки.
Тогда вышеуказанная функция все считает нормальна!
И где бы она не вызывалась из оборотки или из ард или исчо откудава, то ни каких галочек округления в отчет ставить не нада!

Вот если вы не делали этого ни когда и даже не собираетесь попробовать - то предмета для разговора точно нет.
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение 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
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

wskl - выбор 0 остатки на складе, 1 - остатки в производстве
что такое wchet?
что такое ordered by index TMPSaldo103=0? почему =0?
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

san
что такое wchet?
копировал из примера, проглядел, можно убрать!
что такое ordered by index TMPSaldo103=0? почему =0?
взять первый элемент, отсортированный по индексу TMPSaldo103. "=0", т.к. getfirst вернет 0 в случае, если данные в таблице есть.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

wchet - это порсто счетчик для того, чтобы иногда делать nextvisual ( если делать часто - чуть теряется быстродействие, если вообще не делать то нельзя на компе заниматься другими вещами, галка кажется зависшей и .тп.) , индекс взят из примера - но это дело вкуса, можно и без него или другой, можно вообще loop. =0 - равняется tsok .
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

edward_K
san

Люди, добрые!
Больше всего меня интересует вопрос: Будет ли это работать корректно, если указан только склад!!?? :-)
Store_Run ( wwdt, comp(0), wcpodr_sk,comp(0),comp(0),TRUE, True,false ) ;
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

да будет - можете пробовать.
если загнать -2, то будет вроде пахать по pick.
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

все, вроде работает, ЗА ОДНИМ ИСКЛЮЧЕНИЕМ!
На некоторые МЦ сальдо получилось минусовое!!!
Это как? почему такое может быть???
у нас на складе "-3" гайки... это как? :-))
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Сообщение Seybukan »

Значит оприходовали 7 гаек а отпустили 10 гаек.

Или оприходовали 10, отпустили 10 а потом поменяли приход с 10 на 7.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

1. свертесь с обороткой по складам ( лучше начало чтоб совпало в датой в вашем отчете)
2. посмотрите карточку МЦ
3. а учетную единицу часом не меняли?
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

оборотка по складам тоже минусы дает... в том-то и беда теперь, что надо разбираться почему.... учетную единицу не меняли...
Значит оприходовали 7 гаек а отпустили 10 гаек.
как оприходовали еще не смотрел...
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

карточку складского учета смотрите, там видно приходы и расходы и работает ctrl-f2
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

все, разобрался... не оприходовано было, спасибо! :-)
PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

Сообщение 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 ;
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

стандартный наверное вместо
SKLFROView.mySKLFRO.NRec, //матценность
тоже гонит -2.
ну и SKLFROView._loop тоже не нужен тыды.
кроме того нехорошо на каждой итерации делать inextvisual, лучше уж просто nextvisual , а еще лучше через 10 итераций.
Ответить