"Помогите пожалуйста с внешним отчётом, <br>это выгрузка актов списаний в ексель из 1с, дело в том что не выводится цена и сумма. <br><br>// Предопределенная процедура<br>Процедура ПриОткрытии(ФлагВосстановленияНастройки)<br>Если ФлагВосстановленияНастройки = 0 Тогда<br>ВидРазделителя = 1;<br>ВидЕдиницы = 1;<br>ПоГруппам = 1;<br>ДатаНачала = глЗначениеПоУмолчанию("ОсновнаяДатаНачалаОтчетов");<br>Если ПустоеЗначение(ДатаНачала) = 1 Тогда<br>ДатаНачала = НачМесяца(ДатаКонца);<br>КонецЕсли;<br>КонецЕсли;<br>Если глФлагРасшифровки = 1 Тогда<br>Обновить = глОбновить;<br>// восстанавливаем настройки из списка<br>ДатаНачала = глРасшифровка.Получить("ДатаНачала");<br>ДатаКонца = глРасшифровка.Получить("ДатаКонца");<br>ВыбКонтр = глРасшифровка.Получить("ВыбКонтр");<br>Если Обновить <> 0 Тогда<br>Таб = глТаблица;<br>КонецЕсли;<br>Иначе<br>Обновить = 0;<br>КонецЕсли;<br>КонецПроцедуры // ПриОткрытии()<br>Процедура Сформировать()<br>Док=СоздатьОбъект("Документ");<br>Док.УстановитьФильтр(1,0,0,2,1,1);<br>Если ВыбФирма.Выбран()=1 Тогда<br>Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,"Фирма",ВыбФирма);<br>ИначеЕсли ВыбСклад.Выбран()=1 Тогда<br>Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,"Склад",ВыбСклад);<br>ИначеЕсли ВыбПроект.Выбран()=1 Тогда<br>Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,"Проект",ВыбПроект);<br>Иначе<br>Док.ВыбратьДокументы(ДатаНачала,ДатаКонца);<br>КонецЕсли;<br>Загол="""";<br>Если ВыбФирма.Выбран()=1 Тогда<br>Загол=Загол + "По фирме "+ВыбФирма.Наименование+". ";<br>КонецЕсли;<br>Если ВыбСклад.Выбран()=1 Тогда<br>Загол=Загол + "По складу "+ВыбСклад.Наименование+". ";<br>КонецЕсли;<br>Если ВыбПроект.Выбран()=1 Тогда<br>Загол=Загол + "По трактору "+ВыбСклад.Наименование+". ";<br>КонецЕсли;<br>Таб = СоздатьОбъект("Таблица");<br>Таб.ВывестиСекцию("Шапка");<br>Счетчик=1;<br>ИтогСумма=0;<br>Пока Док.ПолучитьДокумент()=1 Цикл<br>Если Док.Вид()<>"СписаниеТМЦ" Тогда<br>Продолжить;<br>КонецЕсли;<br>РегПартии=СоздатьОбъект("Регистр.ПартииНаличие");<br>Если (ВыбФирма.Выбран()=1) и (Док.Фирма<>ВыбФирма.ТекущийЭлемент()) Тогда<br>Продолжить;<br>ИначеЕсли (ВыбСклад.Выбран()=1) и (Док.Склад<>ВыбСклад.ТекущийЭлемент()) Тогда<br>Продолжить;<br>ИначеЕсли (ВыбПроект.Выбран()=1) и (Док.Проект<>ВыбПроект.ТекущийЭлемент()) Тогда<br>Продолжить;<br>ИначеЕсли (ДокТрактор=1) и (ПустоеЗначение(Док.Проект)=1) Тогда<br>Продолжить;<br>КонецЕсли;<br>Таб.ВывестиСекцию("Строка");<br>Если Док.Вид()="СписаниеТМЦ" Тогда<br>Если Док.Проведен()=1 Тогда<br>ИтогСумма=0;<br>РегПартии.ВыбратьДвиженияДокумента(Док.ТекущийДокумент());<br>Пока РегПартии.ПолучитьДвижение()=1 Цикл<br>Если РегПартии.КодОперации=глКО.Списание Тогда<br>ИтогСумма=ИтогСумма+РегПартии.СуммаРуб;<br>КонецЕсли;<br>КонецЦикла;<br>Иначе<br>ИтогСумма=0;<br>КонецЕсли;<br>Иначе<br>ИтогСумма = глСуммаДокументаВЖурнале(Док.ТекущийДокумент(), "число");<br>КонецЕсли;<br>КонецЦикла;<br>Таб.ВывестиСекцию("Итого");<br>Состояние("Отчет сформирован. Печать...");<br>Таб.Опции(0, 0, 3, 0, "Реестр документов");<br>Таб.ТолькоПросмотр(1);<br>Таб.Показать("Реестр документов","""");<br>КонецПроцедуры<br>Процедура ПечатьСписания()<br>Док=СоздатьОбъект("Документ");<br>Док.УстановитьФильтр(1,0,0,2,1,1);<br>Если ВыбФирма.Выбран()=1 Тогда<br>Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,"Фирма",ВыбФирма);<br>ИначеЕсли ВыбСклад.Выбран()=1 Тогда<br>Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,"Склад",ВыбСклад);<br>ИначеЕсли ВыбПроект.Выбран()=1 Тогда<br>Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,"Проект",ВыбПроект);<br>Иначе<br>Док.ВыбратьДокументы(ДатаНачала,ДатаКонца);<br>КонецЕсли;<br>Загол="""";<br>Если ВыбФирма.Выбран()=1 Тогда<br>Загол=Загол + "По фирме "+ВыбФирма.Наименование+". ";<br>КонецЕсли;<br>Если ВыбСклад.Выбран()=1 Тогда<br>Загол=Загол + "По складу "+ВыбСклад.Наименование+". ";<br>КонецЕсли;<br>Если ВыбПроект.Выбран()=1 Тогда<br>Загол=Загол + "По трактору "+ВыбСклад.Наименование+". ";<br>КонецЕсли;<br>Проект=СоздатьОбъект("ТаблицаЗначений");<br>Проект.НоваяКолонка("Док", "Документ.СписаниеТМЦ");<br>Проект.НоваяКолонка("Трактор", "Строка");<br>Пока Док.ПолучитьДокумент()=1 Цикл<br>Если Док.Вид()<>"СписаниеТМЦ" Тогда<br>Продолжить;<br>КонецЕсли;<br>Если (ВыбФирма.Выбран()=1) и (Док.Фирма<>ВыбФирма.ТекущийЭлемент()) Тогда<br>Продолжить;<br>ИначеЕсли (ВыбСклад.Выбран()=1) и (Док.Склад<>ВыбСклад.ТекущийЭлемент()) Тогда<br>Продолжить;<br>ИначеЕсли (ВыбПроект.Выбран()=1) и (Док.Проект<>ВыбПроект.ТекущийЭлемент()) Тогда<br>Продолжить;<br>ИначеЕсли (ДокТрактор=1) и (ПустоеЗначение(Док.Проект)=1) Тогда<br>Продолжить;<br>КонецЕсли;<br>Проект.НоваяСтрока();<br>Проект.Док=Док.ТекущийДокумент();<br>Проект.Трактор=Док.Проект.Наименование;<br>КонецЦикла;<br>Проект.Сортировать("Трактор, Док");<br>Счетчик=1;<br>ПечСумма=0;<br>Если ВЭксель=1 Тогда<br>ВыбФ=""""; ВыбКат="""";<br>Зн=ФС.ВыбратьФайл(1,ВыбФ,ВыбКат,"Сохранить файл как...","Файлы Excel|*.xls","xls",10);<br>Если ВыбФ="""" Тогда СтатусВозврата(0); Возврат; КонецЕсли;<br>_Ч=0;_м=0;_с=0;_сч1=0;<br>ТекущееВремя(_ч,_м,_с);<br>маскаФайл="~"+ДатаГод(ТекущаяДата())+ДатаМесяц(ТекущаяДата())+ДатаЧисло(ТекущаяДата())+_<br>маска=КаталогВременныхФайлов()+маскафайл;<br>ИмяФФ = ВыбКат + ВыбФ;<br>Файлы=СоздатьОбъект("ТаблицаЗначений");<br>Файлы.НоваяКолонка("Файл", "Строка");<br>Файлы.НоваяКолонка("ИмяЛиста", "Строка");<br>КонецЕсли;<br>Таб = СоздатьОбъект("Таблица");<br>Таб.ИсходнаяТаблица("Списания");<br>Проект.ВыбратьСтроки();<br>КолвоВременныхФайлов=0;<br>СтарыйПроект=ПолучитьПустоеЗначение("Справочник.Проекты");<br>Пока Проект.ПолучитьСтроку()=1 Цикл<br>Док.НайтиДокумент(Проект.Док);<br>Если (СтарыйПроект<>Док.Проект) и (ВЭксель=1) Тогда<br>КолвоВременныхФайлов=КолвоВременныхФайлов+1;<br>Таб.Записать(Маска+КолвоВременныхФайлов+".xls",1);<br>Файлы.НоваяСтрока();<br>Файлы.Файл=Маска+КолвоВременныхФайлов+".xls";<br>Если ПустоеЗначение(СтарыйПроект)=1 Тогда<br>Файлы.ИмяЛиста="Без трактора";<br>Иначе<br>Файлы.ИмяЛиста=СокрЛП(СтарыйПроект.Наименование);<br>КонецЕсли;<br>Таб = СоздатьОбъект("Таблица");<br>Таб.ИсходнаяТаблица("Списания");<br>КонецЕсли;<br>// выводим табличную часть<br>НомСтроки = 0;<br>СуммаИтог=0;<br>Таб.ВывестиСекцию("Заголовок");<br>Док.ВыбратьСтроки();<br>Пока Док.ПолучитьСтроку() = 1 Цикл<br>НомСтроки = НомСтроки + 1;<br>Таб.ВывестиСекцию("Строка");<br>СуммаИтог=СуммаИтог+Док.Сумма;<br>КонецЦикла;<br>Таб.ВывестиСекцию("Итого");<br>СтарыйПроект=Док.Проект;<br>Счетчик = Счетчик + 1;<br>КонецЦикла;<br>Если ВЭксель=1 Тогда<br>КолвоВременныхФайлов=КолвоВременныхФайлов+1;<br>Таб.Записать(Маска+КолвоВременныхФайлов+".xls",1);<br>Файлы.НоваяСтрока();<br>Файлы.Файл=Маска+КолвоВременныхФайлов+".xls";<br>Если ПустоеЗначение(СтарыйПроект)=1 Тогда<br>Файлы.ИмяЛиста="Без трактора";<br>Иначе<br>Файлы.ИмяЛиста=СокрЛП(СтарыйПроект.Наименование);<br>КонецЕсли;<br>Таб = СоздатьОбъект("Таблица");<br>Таб.ИсходнаяТаблица("Списания");<br>КонецЕсли;<br>//ChDir "C:\"<br>//Workbooks.Open Filename:="C:\q.xls"<br>//Workbooks.Open Filename:="C:\~2008922125281.xls"<br>//Cells.Select<br>//Selection.Copy<br>//Windows("Книга1").Activate<br>//ActiveSheet.Paste<br>Если ВЭксель=1 Тогда<br>Если КолвоВременныхФайлов=0 Тогда<br>Таб.Записать(Маска+"1.xls",1);<br>КонецЕсли;<br>Эксель=СоздатьОбъект("Excel.Application");<br>РабочаяКнига = Эксель.Workbooks.Add();<br>РабочаяКнига.Activate();<br>// Удалить все листы, оставить один<br>Колво = РабочаяКнига.WorkSheets.Count;<br>Для I = 1 По Колво-1 Цикл<br>//РабочаяКнига.WorkSheets(I).Select();<br>Эксель.Application.DisplayAlerts = 0;<br>РабочаяКнига.WorkSheets(I).Delete();<br>Эксель.Application.DisplayAlerts = 1;<br>КонецЦикла;<br>Файлы.ВыбратьСтроки();<br>Пока Файлы.ПолучитьСтроку()=1 Цикл<br>Если Файлы.НомерСтроки=Файлы.КоличествоСтрок() Тогда<br>Продолжить;<br>КонецЕсли;<br>РабочаяКнига.WorkSheets().Add();<br>КонецЦикла;<br>// Изменение названий ярлычкой листов рабочей книги<br>Файлы.ВыбратьСтроки();<br>Пока Файлы.ПолучитьСтроку()=1 Цикл<br>РабочаяКнига.WorkSheets(Файлы.НомерСтроки).Name = Файлы.ИмяЛиста;<br>КонецЦикла;<br>// Копируем содержимое листов книг в созданную книгу<br>Эксель.Application.DisplayAlerts = 0;<br>Файлы.ВыбратьСтроки();<br>Пока Файлы.ПолучитьСтроку()=1 Цикл<br>Сч=Файлы.НомерСтроки;<br>Книга2=Эксель.Workbooks.Open(маска+Сч+".xls");<br>Книга2.ActiveSheet.Select();<br>Эксель.Cells.Select();<br>Эксель.Selection.Copy();<br>РабочаяКнига.WorkSheets(Сч).Paste();<br>Книга2.Close();<br>КонецЦикла;<br>Эксель.Application.DisplayAlerts = 1;<br>Файлы.ВыбратьСтроки();<br>Пока Файлы.ПолучитьСтроку()=1 Цикл<br>Эксель.Sheets(Файлы.ИмяЛиста).Select();<br>Эксель.Range("A1").Select();<br>КонецЦикла;<br>// Спозиционируемся в рабочей книге на 1-й лист<br>Файлы.ПолучитьСтрокуПоНомеру(1);<br>Эксель.Sheets(Файлы.ИмяЛиста).Select();<br>Эксель.DisplayAlerts=0;<br>Эксель.ActiveWorkbook.SaveAs(ИмяФФ,-4143);<br>Эксель.DisplayAlerts=1;<br>Эксель.Visible=1;<br>Для й=1 по КолвоВременныхФайлов Цикл<br>Попытка<br>ФС.УдалитьФайл(Маска+й+".xls");<br>Исключение КонецПопытки;<br>КонецЦикла;<br>Эксель = 0;<br>Иначе<br>Состояние("Отчет сформирован. Печать...");<br>Таб.Опции(0, 0, 0, 0, "Списания");<br>Таб.ТолькоПросмотр(1);<br>Таб.Показать("Списания","""");<br>КонецЕсли;<br>КонецПроцедуры<br>ДатаНачала=РабочаяДата();<br>ДатаКонца=РабочаяДата();<br><br>"