K
Процедура Сформировать()
Перем Опер, Таб, ТЗ, Сумма, Заголовок, Итер;
Проверить_Дату();
Заголовок = "Отчет по движению денежных средств за период "+ ПериодСтр(НачДата,КонДата);
Таб = СоздатьОбъект("Таблица");
Таб.ВывестиСекцию ("Шапка");
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка ("ТВидДДС");
ТЗ.НоваяКолонка ("ТВидДоговора");
ТЗ.НоваяКолонка ("ТКонтрагент");
ТЗ.НоваяКолонка ("ТПодразделДоговора");
ТЗ.НоваяКолонка ("ТСумма");
ТЗ.НоваяКолонка ("ТДатаВыписки");
ТЗ.НоваяКолонка ("ТНомПП");
ТЗ.НоваяКолонка ("ТДатаПП");
Док = СоздатьОбъект("Документ.Выписка");
Док.ВыбратьДокументы(НачДата, КонДата);
Пока Док.ПолучитьДокумент() = 1 Цикл
Если Док.Проведен() = 0 Тогда
Продолжить;
КонецЕсли;
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку() = 1 Цикл
Если Док.Расход <> 0 Тогда
Если ПустоеЗначение(Док.ПервичныйДокумент) = 0 Тогда
ТЗ.НоваяСтрока();
ВидДоговора = Док.ПервичныйДокумент.Договор.ВидДоговора;
ТЗ.ТВидДоговора = ВидДоговора;
Если Док.КоррСчет.ПринадлежитГруппе(СчетПоКоду("68")) = 1 Тогда
Контрагент = Док.ПервичныйДокумент.Договор;
ИначеЕсли Док.КоррСчет.ПринадлежитГруппе(СчетПоКоду("69")) = 1 Тогда
Контрагент = СчетПоКоду("69").Наименование;
Иначе
Контрагент = Док.ПервичныйДокумент.Контрагент;
КонецЕсли;
ТЗ.ТКонтрагент = Контрагент;
Если ((ВыбКонтрагент = Контрагент) и (ВыбВидДоговора = ВидДоговора)) или ((ВыбКонтрагент = Контрагент) и (ВыбВидДоговора.Выбран()=0))
или ((ВыбКонтрагент.Выбран()=0) и (ВыбВидДоговора=ВидДоговора)) или ((ВыбКонтрагент.Выбран()=0) и (ВыбВидДоговора.Выбран()=0)) Тогда
ВидДДС = Док.ВидДвижения;
ТЗ.ТВидДДС = ВидДДС;
Договор = Док.ПервичныйДокумент.Договор;
ТЗ.ТПодразделДоговора = Договор;
Сумма= Док.Расход;
ТЗ.ТСумма = Сумма;
НомПП = Док.НомерДокВходящий;
ТЗ.ТНомПП = НомПП;
ДатаПП = Док.ДатаДокВходящий;
ТЗ.ТДатаПП = ДатаПП;
ДатаВыписки = Док.ДатаДок;
ТЗ.ТДатаВыписки = ДатаВыписки;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ТЗ.Сортировать("ТВидДДС+");
Для НомерСтроки = 1 По ТЗ.КоличествоСтрок() Цикл
ВидДДС = ТЗ.ТВидДДС;
ВидДоговора = ТЗ.ТВидДоговора;
Контрагент = ТЗ.ТКонтрагент;
Договор = ТЗ.ТПодразделДоговора;
Сумма = ТЗ.ТСумма;
ДатаВыписки = ТЗ.ТДатаВыписки;
НомПП = ТЗ.ТНомПП;
ДатаПП = ТЗ.ТДатаПП;
Таб.ВывестиСекцию("Строка");
КонецЦикла;
Таб.ТолькоПросмотр(1);
Таб.Опции(0,0,0,0);
Таб.ПараметрыСтраницы(2,,,,,,,,,1);
Таб.Показать();
КонецПроцедуры
Это, похоже, новое слово в работе с таблицами значенийДля НомерСтроки = 0 По ТЗ.КоличествоСтрок()-1 Цикл
Никуда она не потеряется, сомневаешься - выкати ТЗ на экран и посмотри методом ВыбратьСтрокуесли делать с 1цы,то теряется строка одна
Речь о 7.7, а там НомерСтроки меняется от ЕДИНИЦЫ до КоличествоСтрок,vbs Что-нить не так?
Если бы он использовал:
"Для каждого … Из … Цикл", я бы использовал эту структуру.
Так ему будет понятней.
По-русски обычно пишут Моветоноказалось "Муветон".
Обучение наступательной кибербезопасности в игровой форме. Начать игру!