Страница 1 из 1
					
				Не работает Calc_NewSaldo :(
				Добавлено: 06 сен 2005, 15:46
				 ikav
				Не могу рассчитать бух. сальдо на дату, подскажите, плиз, в чем проблема?
Создал тестовый интерфейсик, но ничего не вижу в таблице  
 
  
interface pl_CalcSaldoOnDate 'Интерфейс расчета бухгалтерского сальдо на дату' Cyan, DoAccept;
var
  flagQuit : boolean;
create view as
select * from SaldoNM;
  browse bSaldoNM ();
    fields
      scheto   'Счет'    :[10];
      subossch 'Субсчет' :[10];
      kauos[1] 'КАУ1'    :[10];
      datesal  'Дата сал':[10];
      sums     'Сумма'   :[10];
      kol      'Кол'     :[10];
      viob     'Вид об'  :[2];
  end;
  handleEvent
    cmInit:
    {
    //comp(0001000000000002h)
      flagQuit := Calc_NewSaldo(1,comp(0001000000000002h),coSaldoNM,60,01,comp(0001000000000D67H),0,0,0,0,0,0,date(01,07,2003),Cur_Date);
    }
  end;
end.
 
			
					
				
				Добавлено: 06 сен 2005, 15:48
				 ikav
				строчка flagQuit := Calc_NewSaldo(1,comp(0001000000000002h),coSaldoNM,'60','01',comp(0001000000000D67H),0,0,0,0,0,0,date(01,07,2003),Cur_Date); 
счет и субсчет с кавычками тоже пробовал, не работает
			 
			
					
				
				Добавлено: 07 сен 2005, 05:43
				 Алексей
				1.  Счёт субсчет действительно должны быть в кавычках.
2.  Надо указывать счет с префикосм плана счетов, с кодом. не '60' а например '460'
3.  Ну и сальдо должно существовать, либо обороты.
			 
			
					
				
				Добавлено: 07 сен 2005, 12:11
				 ikav
				Мда, попробовал поставить код плана счетов.
Calc_NewSaldo(0,comp(0001000000000002h),coSaldoNM,'660','01',comp(0001000000000D67H),0,0,0,0,0,0,date(01,07,2005),date(31,07,2005));
Стала показывать окошко, что ищет проводки, но ни одной не находит. А сальдо и обороты точно есть! Делал интервал дат и в пределах одного месяца, все равно не считает сальдо и все, показывает пустую таблицу.
Эта функция вообще в галке 5.85.02 работает? 

 
			
					
				
				Добавлено: 07 сен 2005, 12:19
				 Алексей
				Функция точно работает в этой версии. У меня есть отчеты.
Попробуй ввести сальдо (ФРО - ввод сальдо за месяц) например на 31.08.05 и в периодах поставь (01.09.05-30.09.05). В таблице saldonm должно появится то сальдо, которое ты ввёл. Может ты записи в таблице saldonm не обновляешь? 
Учти, что если в сальдо будет заполнено подразделение, то его тоже надо указывать при вызове Calc_NewSaldo.
			 
			
					
				
				Добавлено: 07 сен 2005, 12:42
				 ikav
				а таблицу как-то по особому нужно обновлять? я делаю так, как в интерфейсе сверху.
Попробовал ввести сальдо на месяц, только на 01.08.2005. Не появилось, попробовал и сальдо на день ввести, тоже не получилось. И подразделений нет ни в сальдо ни в оборотах
			 
			
					
				
				Добавлено: 07 сен 2005, 12:58
				 Алексей
				Перечитать записи в таблице -  rereadrecord;
if (Calc_NewSaldo( word(0), // Перерасчет сальдо на начало месяца - для вызова из Vip
                  myPlan,
                  integer(coSaldoNM),
                  '4020',
                  '',
                  pick.crec,
                  mySpKauNrec,
                  comp(0),
                  comp(0),
                  comp(0),
                  comp(0),
                  comp(0),
                  if((getlast saldmoun WHERE (('4020'        == saldmoun.scheto AND
                                               ''            == saldmoun.subossch and
                                               mySpKauNrec   == saldmoun.kauos[1] and 
                                               pick.crec     == saldmoun.kodspo  (noindex) //?
                                            )) and myPlan     = saldmoun.cplanssch
                                               and saldmoun.datesal<=dbeg) =tsOK,
                      saldmoun.datesal,date(1,month(dbeg),year(dbeg))),sub_day(dbeg,1))) 
Что она делает:
1. Внизу, в датах ищет существующее сальдо в таблице сальдо за месяц и если находит,
то в качестве первой даты берёт ту дату. Если не находит сальдо вообще, то ставит 
начало отчетного периода (первое число месяца).
2. Вторая дата это начальная минус одни.
Например ты ввёл сальдо на 1.08.05   
если в функции задашь даты, например от 5 до 15 то увидишь во входящем сальдо сальдо на 1-е число.
А в примере ты делаешь от июля по сентябрья, а сальдо введено в августе. оно не попадёт в во входящее сальдо.
А вот если бы были обороты в этот период, то они кстати должны были бы посчитаться, и на текущее число, получил бы 
входящее сальдо, состоящее из оборотов.
Удачи... 

 
			
					
				
				Добавлено: 12 сен 2005, 13:48
				 ikav
				Вот блин, все ведь работало  

 , свежим взглядом посмотрел после выходных. Оказалось вместо подразделения КАУ ставил. Начал другой счет проверять, тут-то все и обноружилось! Извините все  

.
 
			
					
				
				Добавлено: 12 сен 2005, 16:39
				 ikav
				Еще вопрос, а эта функция вообще может таблицу заполнять с разными МЦ и разными счетами?
Пытаюсь добавить расчет сальдо еще и по другому счету, а в таблице только одна запись по последнему расчету.
Как сделать, чтобы предыдущий расчет не удалялся, т.е. было две, три и т.д. записей?
			 
			
					
				
				Добавлено: 13 сен 2005, 07:39
				 Алексей
				Ни как. Создаёшь временную таблицу, свою. Делаешь расчет по одному счету, запоминаешь к себе. Делаешь по другому счету, запоминаешь к себе в таблицу.  Далее свою таблу наполняем оборотами.
Выводишь на печать и получаешь оборотно-салдовую ведомость.
 
