-- Шаблон создан мастером бланков
-- 30.09.2011 13:11:37
--
БланкСШаблоном "Акт выполненных работ", Редактор РПО_НАЧДОХ;

var Buf[]:S;
MainText:Section;

Func Str2Word (Val1:S; Val2:S):I;
var l1,l2,p:i;
var ch,tmp:S;
 ClearVariable(Buf);
 l1=Length(Val1);
 l2=Length(Val2);
 tmp="";
 for p=1..l1+l2 do
  if p<=l1: ch=SubStr(Val1,p,1); else ch=SubStr(Val2,p-l1,1); fi;
  if ch=" ":
     AddInArray(Buf,False,True,tmp);
     tmp="";
    else
     tmp=tmp+ch;
  fi;
 od;
 AddInArray(Buf,False,True,tmp);
 ^LengthOfArray(Buf);
end;

Func ДобавитьТекст(Name: S; Row:I; Col:I; Links:S; Val:S):I;
var w,ww,row0:i;
var tmp:S;
var Tail:S;
var Obj: Object;
 if Val="" then ^Row; fi;
 if FindObject(Name,Obj):
    if Val=chr(13) then 
       Row=Row+1;
       Obj.RowsCount=Row;
       Obj.Cell(Row,Col,CellContents,"",True);
      ^Row; 
    fi;
    Tail=AsString(Obj.Cell(Row,Col,CellContents,"",False));
    Obj.RowsCount=Row;
    if Length(Tail)+Length(Val)<=255:
       Obj.Cell(Row,Col,CellContents,Tail+Val,True);
       Obj.CellLinks(Col,Row,Col,Row); --Вызываем перерисовку!
      else
       tmp="";
       Row0=Row;
       ww=Str2Word(Tail,Val);
       for w=1..ww do
        if not AsInteger(Obj.Cell(Row,Col,CellLinesCount,Trim(tmp+" "+Buf[w])))=1:
           Obj.Cell(Row,Col,CellContents,tmp,True);
           Obj.Cell(Row,Col,CellBorder,"0,0,0,0");
           Obj.CellLinks(Col,Row,Col,Row); --Вызываем перерисовку!
           Row=Row+1;
           Obj.RowsCount=Row;
           tmp=Buf[w];
--           Obj.Cell(Row,Col,CellBorder,"0,0,0,1");
          else
           tmp=Trim(tmp+" "+Buf[w]);
        fi; --if not AsInteger(Obj.Cell(Row,Col,CellLinesCount,""))=1:
       od; --for w=1..ww do
       Obj.Cell(Row,Col,CellContents,tmp,True);
       Obj.CellLinks(Col,Row,Col,Row); --Вызываем перерисовку!
       if not Links="":
          ww=WordsCount(Links,";");
          for w=1..ww do
           tmp=ExtractWord(w,Links,";");
           Obj.CellLinks(Int(ExtractWord(1,tmp,",")),Row0,Int(ExtractWord(2,tmp,",")),Row);
          od;
       fi; --if not Links="":
    fi; --if Length(Val1)+Length(Val2)<=255:
 fi; --if FindObject(Name,Obj):
 ^Row;
end;



Proc OnRead;
var Row:I;
  MainText.RowsCount=2;
  MainText.Cell(2,1,CellContents,"",True);
  Row=ДобавитьТекст("MainText",2,1,"",ПРОДАВЕЦ.ПОЛНИМЯ);
  Row=ДобавитьТекст("MainText",Row,1,"",ПРОДАВЕЦ.РПО_ПОЛНИМЯ2);
  Row=ДобавитьТекст("MainText",Row,1,"",', именуемое далее "ИСПОЛНИТЕЛЬ"');
  Row=ДобавитьТекст("MainText",Row,1,"",', в лице начальника университета Ивановского В.С.');
  Row=ДобавитьТекст("MainText",Row,1,"",', действующего на основании Устава, с одной стороны,');
  Row=ДобавитьТекст("MainText",Row,1,"",ПОЛУЧАТЕЛЬ.ПОЛНИМЯ);
  Row=ДобавитьТекст("MainText",Row,1,"",ПОЛУЧАТЕЛЬ.РПО_ПОЛНИМЯ2);
  Row=ДобавитьТекст("MainText",Row,1,"",', в дальнейшем "ЗАКАЗЧИК"');
  Row=ДобавитьТекст("MainText",Row,1,"",', в лице начальника _______');
  Row=ДобавитьТекст("MainText",Row,1,"",', действующего на основании  _______');
  Row=ДобавитьТекст("MainText",Row,1,"",', с другой стороны, ');
  Row=ДобавитьТекст("MainText",Row,1,"",'подписали настоящий акт о том, что ИСПОЛНИТЕЛЕМ на основании ');
  Row=ДобавитьТекст("MainText",Row,1,"",'распоряжения от 17.03.2011г. № 42-р ');
  Row=ДобавитьТекст("MainText",Row,1,"",'оказаны услуги ЗАКАЗЧИКУ по ');
  Row=ДобавитьТекст("MainText",Row,1,"",ПОЗИЦИИ[1].ТЕКСТ);
  Row=ДобавитьТекст("MainText",Row,1,"",' Работа, проделанная ИСПОЛНИТЕЛЕМ по оказанию услуг, выполнена полностью и надлежащим образом.');
  Row=ДобавитьТекст("MainText",Row,1,"",chr(13));
  Row=ДобавитьТекст("MainText",Row,1,"",'Претензий со стороны ЗАКАЗЧИКА к ИСПОЛНИТЕЛЮ не имеется.');
  Row=ДобавитьТекст("MainText",Row,1,"",chr(13));
  Row=ДобавитьТекст("MainText",Row,1,"",'Стоимость оказанных услуг составила ');
  Row=ДобавитьТекст("MainText",Row,1,"",Str(Доход));
  Row=ДобавитьТекст("MainText",Row,1,""," ("+ExtractWords(1,WordsCount(Slo(round(Доход))," ")-3,Slo(round(Доход))," ")+") ");
  Row=ДобавитьТекст("MainText",Row,1,"",'рублей ');
  Row=ДобавитьТекст("MainText",Row,1,"",ExtractWords(WordsCount(Slo(Доход)," ")-1,2,Slo(Доход)," "));
  if НДСПроц=0 then
     ДобавитьТекст("MainText",Row,1,"",", НДС не облагается");
    else
     ДобавитьТекст("MainText",Row,1,"",", в том числе НДС ");
     ДобавитьТекст("MainText",Row,1,"",Str(НДСПроц)+"%");
  fi;
  ДобавитьТекст("MainText",Row,1,"",".");

end;


Конец
