HelpF.pro

Выборка документа по номеру и вывод на Печать, в Табличный Документ

Код 1C v 7.x
 
Процедура Печать()
Если (ПустоеЗначение(ДатаНач)=1) или (ПустоеЗначение(ДатаКон)=1) Тогда
Предупреждение("Не задан период отчета");
Возврат;
КонецЕсли;
Заг="За период с "+ДатаНач+" по "+ДатаКон;
Таб=СоздатьОбъект("Таблица");
Таб.ВывестиСекцию("Шапка");
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(ДатаНач,ДатаКон);
ИтогоПриход=0;
ИтогоРасход=0;
Чеков=0;
//1C-ovec.ru Нужно выводить документы по Номеру, хотя лучше для этих целей использовать Запрос
ТЗврем = СоздатьОбъект("ТаблицаЗначений");
ТЗврем.НоваяКолонка("Док");
ТЗврем.НоваяКолонка("Дата");
ТЗврем.НоваяКолонка("Номер");
ТЗврем.НоваяКолонка("Приход");
ТЗврем.НоваяКолонка("Расход");
ТЗврем.НоваяКолонка("Чеков");
//Выборка документов
Пока Док.ПолучитьДокумент()=1 Цикл
Если Док.Проведен()=0 Тогда
Продолжить;
ИначеЕсли (Док.Вид()="ПриходныйОрдерТБ") и (флПКО=1) Тогда
Приход=Док.Сумма;
Расход=0;
ИначеЕсли (Док.Вид()="БезналичнаяОплата") и (флБН=1) Тогда
Приход=Док.Сумма;
Расход=0;
ИначеЕсли (Док.Вид()="РасходныйОрдерТБ") и (флРКО=1) Тогда
Приход=0;
Расход=Док.Сумма;
ИначеЕсли Док.Вид()="Чек" Тогда
Если (Док.Тип=1) и (флЧекиП=1) Тогда
Приход=Док.Сумма;
Расход=0;
Чеков=Чеков+1;
ИначеЕсли (Док.Тип=2) и (флЧекиВ=1) Тогда
Приход=0;
Расход=Док.Сумма;
Чеков=Чеков+1;
Иначе
Продолжить;
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
//Добавим в ТЗ строку
НовСТР=ТЗврем.НоваяСтрока();
ТЗврем.Док = Док;
ТЗврем.Дата = Док.ДатаДок;
ТЗврем.Номер = Док.НомерДок;
ТЗврем.Приход = Приход;
ТЗврем.Расход =Расход;
ТЗврем.Чеков = Чеков;
//Пока рано выводить
//Таб.ВывестиСекцию("Строка");
ИтогоПриход=ИтогоПриход+Приход;
ИтогоРасход=ИтогоРасход+Расход;
КонецЦикла;
//Теперь сортируем по номеру и выводим
ТЗврем.Сортировать("Номер");
ТЗврем.ВыбратьСтроки();
Пока ТЗврем.ПолучитьСтроку() = 1 Цикл
Док=ТЗврем.Док;
Приход=ТЗврем.Приход;
Расход=ТЗврем.Расход;
Таб.ВывестиСекцию("Строка");
КонецЦикла;

Таб.ВывестиСекцию("Итого");
Таб.ТолькоПросмотр(1);
Таб.Показать("Отчет по кассе");
КонецПроцедуры

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/276.html