|
v7: Проблема с отчетом | ☑ | ||
---|---|---|---|---|
0
serg-lom89
13.08.13
✎
13:25
|
Процедура Сформировать()
Таб =СоздатьОбъект ("Таблица"); Таб.ИсходнаяТаблица("СводОплат"); //Таб.ИсходнаяТаблица("Таблица"); Таб.ВывестиСекцию("Шапка"); ТЗ = СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Контрагент","Справочник.Контрагенты"); ТЗ.НоваяКолонка("Счет","Строка"); ТЗ.НоваяКолонка("Подразделение","Справочник.Подразделения"); ТЗ.НоваяКолонка("Сумма","Число"); ТЗ.НоваяКолонка("СуммаНДС","Число"); ТЗ.НоваяКолонка("СуммаВсего","Число"); ТЗ.НоваяКолонка("Содержание","Строка"); ТЗ.НоваяКолонка("Сумма1","Число"); ТЗ.НоваяКолонка("СуммаНДС1","Число"); ТЗ.НоваяКолонка("СуммаВсего1","Число"); //ТЗ.НоваяКолонка("Содержание","Число"); Док = СоздатьОбъект("Документ.УслугиСтороннихОрганизаций"); Док.УстановитьФильтр(1,0); Док.ВыбратьДокументы(ДатаНач,ДатаКон); Пока Док.ПолучитьДокумент() > 0 Цикл Если Контрагент.Выбран()=1 Тогда Если Контрагент<> Док.Контрагент ТОгда Продолжить; КонецЕсли; КонецЕсли; ТЗ.НоваяСтрока(); ТЗ.Контрагент = Док.Контрагент; Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку() > 0 Цикл ТЗ.Счет = Док.КоррСчет.Код; Если Док.КоррСчет = СчетПоКоду("20") Тогда ТЗ.Подразделение = Док.Субконто3; ИначеЕсли Док.КоррСчет = СчетПоКоду("23") Тогда ТЗ.Подразделение = Док.Субконто1; ИначеЕсли Док.КоррСчет = СчетПоКоду("25") Тогда ТЗ.Подразделение = Док.Субконто2; ИначеЕсли Док.КоррСчет = СчетПоКоду("26") Тогда ТЗ.Подразделение = Док.Субконто2; Иначе ТЗ.Подразделение = ""; КонецЕсли; ТЗ.Сумма = Док.Сумма; ТЗ.СуммаНДС = Док.НДС; ТЗ.СуммаВсего = Док.Всего; ТЗ.Содержание = Док.НаименованиеУслуги; КонецЦикла; КонецЦикла; ДокПостОтФил = СоздатьОбъект("Документ.ПоступлениеПродОтФилиалов1"); ДокПостОтФил.УстановитьФильтр(1,0); ДокПостОтФил.ВыбратьДокументы(ДатаНач,ДатаКон); Пока ДокПостОтФил.ПолучитьДокумент() > 0 Цикл Если Контрагент.Выбран()=1 Тогда Если Контрагент<> ДокПостОтФил.Контрагент ТОгда Продолжить; КонецЕсли; КонецЕсли; ТЗ.НоваяСтрока(); ТЗ.Контрагент = ДокПостОтФил.Контрагент; ДокПостОтФил.ВыбратьСтроки(); Пока ДокПостОтФил.ПолучитьСтроку() > 0 Цикл //ТЗ.Счет = Док.КоррСчет.Код; //Если Док.КоррСчет = СчетПоКоду("20") Тогда // ТЗ.Подразделение = Док.Субконто3; //ИначеЕсли Док.КоррСчет = СчетПоКоду("23") Тогда // ТЗ.Подразделение = Док.Субконто1; //ИначеЕсли Док.КоррСчет = СчетПоКоду("25") Тогда // ТЗ.Подразделение = Док.Субконто2; //ИначеЕсли Док.КоррСчет = СчетПоКоду("26") Тогда // ТЗ.Подразделение = Док.Субконто2; //Иначе ТЗ.Подразделение = ""; //КонецЕсли; ТЗ.Сумма1 = ДокПостОтФил.СуммаТары; ТЗ.СуммаНДС1 = ДокПостОтФил.СуммаНДС; ТЗ.СуммаВсего1 = ДокПостОтФил.ИтогСумма; ТЗ.Содержание = ДокПостОтФил.ТекущийДокумент(); КонецЦикла; КонецЦикла; ТЗ.Сортировать("Счет,Подразделение"); ТекСчет =""; ТекКонтр =""; ТекПод=""; СуммаНДС=0; Сумма=0; СуммаВсего=0; ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку() > 0 Цикл Если ТекПод="" Тогда Таб.ВывестиСекцию("ДругиеДоки"); КонецЕсли; Если ТекСчет = "" Тогда ТекСчет = ТЗ.Счет; Таб.ВывестиСекцию("Счет"); КонецЕсли; Если ТекСчет<>ТЗ.Счет Тогда Таб.ВывестиСекцию("Итого"); СуммаНДС=0; Сумма=0; СуммаВсего=0; ТекСчет = ТЗ.Счет; Таб.ВывестиСекцию("Счет"); КонецЕсли; СуммаНДС=СуммаНДС+ТЗ.СуммаНДС; Сумма=Сумма+ТЗ.Сумма; СуммаВсего=СуммаВсего+ТЗ.СуммаВсего; Таб.ВывестиСекцию("Основ"); КонецЦикла; Таб.ВывестиСекцию("Итого"); Таб.ВывестиСекцию("Всего"); Таб.ВывестиСекцию("Всего1"); Таб.Показать(); КонецПроцедуры Отчет по двум видам доков надо что бы сразу выводились ПоступлениеПродОтФилиалов1 а затем выводился док в котом есть счет затрат..сразу то вводит как надо,но блин попадает ТекСчет = "" и выводит пустые строчки.подскажите как избавиться*? |
|||
1
Dolly_EV
13.08.13
✎
15:32
|
(0)
ТЗ.НоваяСтрока(); ТЗ.Контрагент = Док.Контрагент; Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку() > 0 Цикл ТЗ.Счет = Док.КоррСчет.Код; Это 5!))) Тебе правда надо в ТЗ собрать из всех твоих доков только ПОСЛЕДНЮЮ строку?))) и это... пригласите специалиста уже. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |