--~~~~~~~~~~~~~~~~2Фирма "ДИЦ", Турбо Бухгалтер 6.09~~~~~~~~~~~~~~~~~~~~~--
--								       --
-- 2Подсистема ТБ0: Стандартный комплект бланков			       --
--=====================================================================--
--			 НАЗВАНИЕ БЛАНКА			       --
--		       Сервис для книги продаж			       --
-------------------------------------------------------------------------
-- С помощью бланка заполняются информация о руководстве контрагента   --
--								       --
--								       --
--								       --
--=====================================================================--
-- Список картотек, используемых данным бланком:		       --
-- 1.								       --
-- 2.								       --
-- 3.								       --
-------------------------------------------------------------------------
-- Список бланков, процедуры из которых используются данным бланком:   --
-- 1.								       --
-- 2.								       --
-- 3.								       --
--=====================================================================--
-- 2Автор бланка0:Фойгель И.М.	      2Дата создания0: 09.02.2005        --
--								       --
-- 2Дата модификации0:						       --
--								       --
-- 2Бланк сопровождает:0Фойгель И.М.				       --
--_____________________________________________________________________--

БланкСШаблоном "Сервис книги продаж";

ПоОплате	   :Logical; -- Учитывать в книге с.ф. только по принятию на учет (оплаты не учитывать)
НеПересчитывать    :Logical; -- Не пересчитывать страницы книги
ПериодКниги	   :String;  -- Период формирования книги для пересчета
ПечататьСчета	   :Logical=[false]; -- Печатать колонку со счетом
ДополнительныйЛист :Logical=[false]; -- Дополнительный лист книги
ИмяИзПодразделения :Logical; -- Имя продавца брать из подразделения;
БезПодразделений   :Logical; -- Учитывать с.ф. без подразделений
Нашеподразд	   :Record;  -- Ссылка на наше подразделение
НеСторнировать	   :Logical; -- Не сторнировать авансы при расчете книги продаж

proc ПересчетСтрок_ПриНажатии(Кнопка:String);
var Robl,RSub,i,n,kol:Integer;
var У,Сто18,Сум18,Сто2,Сум2,Сум3,Сто1,Сум1:Numeric;
  if ПериодКниги<>'':
    У=0;Сто18=0;Сум18=0;Сто2=0;Сум2=0;Сум3=0;Сто1=0;Сум1=0;
    Robl=OpenWorkArea('КнигаПрод','NСТР','ПЕР="'+ПериодКниги+'"'
		      +if(НАШЕПОДРАЗД<>nil,' and НАШЕПОДРАЗД='+RecordToString(НашеПодразд),''));
    Try
      Beginchanging(Robl);
      Try
	kol=records(Robl);
	for i=1..kol do
	  hint('Страница №'+Str(i)+' из '+str(kol));
	  if i>1:
	    i=PutFieldN(Robl,i,'Днп8Вх',У);
	    i=PutFieldN(Robl,i,'Сто18Вх',Сто18);
	    i=PutFieldN(Robl,i,'Сум18Вх',Сум18);
	    i=PutFieldN(Robl,i,'Сто2Вх',Сто2);
	    i=PutFieldN(Robl,i,'Сум2Вх',Сум2);
	    i=PutFieldN(Robl,i,'Сум3Вх',Сум3);
	    i=PutFieldN(Robl,i,'Сто1Вх',Сто1);
	    i=PutFieldN(Robl,i,'Сум1Вх',Сум1);
	  fi;
	  RSub=OpenArray(Robl,i,'КНПРО','');
	  Try
	    for n=1..records(RSub) do
	      У=У+GetFieldN(RSub,n,'У');
	      Сто18=Сто18+GetFieldN(RSub,n,'Сто18');
	      Сум18=Сум18+GetFieldN(RSub,n,'Сум18');
	      Сто2=Сто2+GetFieldN(RSub,n,'Сто2');
	      Сум2=Сум2+GetFieldN(RSub,n,'Сум2');
	      Сум3=Сум3+GetFieldN(RSub,n,'Сум3');
	      Сто1=Сто1+GetFieldN(RSub,n,'Сто1');
	      Сум1=Сум1+GetFieldN(RSub,n,'Сум1');
	    end;
	  Finally
	    CloseWorkArea(RSub);
	  End;
	end;
	EndChanging(Robl);
	message('Пересчет завершен.');
      except
	CancelChanging(Robl);
	raise;
      end;
    Finally
      CloseWorkArea(Robl);
    End;
  else
    message('Откройте этот бланк через книгу продаж');
  fi;
end;

proc Проводить_ПриНажатии(Кнопка:String);
var Robl,i:Integer;
  if ПериодКниги<>'':
    Robl=OpenWorkArea('КнигаПрод','NСТР','ПЕР="'+ПериодКниги+'"'
		      +if(НАШЕПОДРАЗД<>nil,' and НАШЕПОДРАЗД='+RecordToString(НашеПодразд),''));
    Try
      BeginChanging(Robl);
      Try
	for i=1..records(Robl) do
	  i=PutFieldL(Robl,i,'Проводить',true);
	end;
	EndChanging(Robl);
	message('Обработка завершена.');
      except
	CancelChanging(Robl);
	raise;
      end;
    Finally
      CloseWorkArea(Robl);
    End;
  else
    message('Откройте этот бланк через книгу продаж');
  fi;
end;

proc ОбработатьАвансы_ПриНажатии(Кнопка:String);
  Раб.Бух.Сторнировать('');
  Раб.Бух.СторнироватьСФПОСТ('');
end;

proc ПриЗакрытии(Уничтожить:Logical);
  ПериодКниги='';
end;

proc кнЗакрыть_ПриНажатии(Кнопка:String);
  Close;
end;




Конец
