
'=============================================================================================
Function CheckWindow(doc) 
	
	CheckWindow = False
	
	If Windows.ActiveWnd Is Nothing Then
    		MsgBox "Нет активного окна"
    		Exit Function
	End If   
	
	Set doc = Windows.ActiveWnd.Document
	If doc=docWorkBook Then Set doc=doc.Page(1)  
		
	If doc<>docText Then
    		MsgBox "Окно не текстовое"
    		Exit Function
	End If   
	
	CheckWindow = True

End Function
    
'=============================================================================================
Sub Zapros() 
	
	doc = ""
	if Not CheckWindow(doc) then Exit sub 
	
	TabInd = vbCrLf + String( doc.SelStartCol, vbTab)
	        
	VarName   = inputBox("Введите имя переменной бухитогов:",,"Итоги") 
	SubkList  = inputBox("Введите имена видов субконто через запятую, по которым следует разворачивать итоги")  
	SubkList2 = inputBox("Введите имена видов субконто через запятую, по которым следует делать отбор") 
	
	Subks = Split(SubkList, ",")
	Txt = VarName + " = СоздатьОбъект(""БухгалтерскиеИтоги"");" 
	for i = 0 to UBound(Subks) 
		Txt = Txt + TabInd + VarName + ".ИспользоватьСубконто(ВидыСубконто." + Subks(i) + ");"
	Next
	
	SubksOtbor = Split(SubkList2, ",")	
	for i = 0 to UBound(SubksOtbor)  
		CurrOtbor = inputBox("Введите значение отбора для Виды субконто " + SubksOtbor(i)) 
		Txt = Txt + TabInd + VarName + ".ИспользоватьСубконто(ВидыСубконто." + SubksOtbor(i) + ", " + CurrOtbor + ", 2);"
	Next
	
	Params  = inputBox("Введите через запятую начальную дату запроса, конечную дату запроса и значение счета запроса") 
	Txt = Txt + TabInd + VarName + ".ВыполнитьЗапрос(" + Params + ")"
	  
	TextVybEnd = ""
	for i = 0 to UBound(Subks) 
		DopTabInd = ""
		if i > 0 then
			DopTabInd = String(i, vbTab)
		end if
		
		Txt = Txt + TabInd + DopTabInd + VarName + ".ВыбратьСубконто(ВидыСубконто." + Subks(i) + ");"
		Txt = Txt + TabInd + DopTabInd + "Пока " + VarName + ".ПолучитьСубконто(ВидыСубконто." + Subks(i) + ") = 1 Цикл"
		
		TextVybEnd = TabInd + DopTabInd + "КонецЦикла;" + TextVybEnd
	Next  
	
	Txt = Txt + vbCrLf + TabInd + TextVybEnd
	
    doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = txt
	  
end sub      