Vxd2000
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Уже что - то похожее здесь было, тем не менее. Самописная конфигурация, 8.1. платформа. Есть документ, у него шапка и 8 (восемь) табличных частей. Все они (и шапка и табличные части) проводятся по 1 и только по 1 регистру. Табличные части в произвольном порядке и в любом количестве могут быть пустыми (например ТЧ1, ТЧ5 или ТЧ2, ТЧ4 и ТЧ7 или все могут быть пустыми или все могут быть не пустыми, то есть ТабличнаяЧасть любая или любые.Количество() = 0) . Как сделать оптимальное проведение по регистру шапки и табличных частей, чтобы обработка проведения происходила как можно быстрее (даже в ущерб сложности / размеру кода) , с учетом условия "пустости" табличных частей. Пока такая версия: Если (ТабличнаяЧасть1.Количество() <> 0) и (ТабличнаяЧасть2.Количество() <> 0) и (ТабличнаяЧасть3.Количество() <> 0) (ну и так далее до ТЧ8) Тогда Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл Для Каждого ТекСтрокаТабличнаяЧасть2 Из ТабличнаяЧасть2 Цикл .... Для Каждого ТекСтрокаТабличнаяЧасть8 Из ТабличнаяЧасть8 Цикл Движение = Движения.Регистр2.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Добавляем шапку и все табличные части ИначеЕсли (ТабличнаяЧасть1.Количество() <> 0) и (ТабличнаяЧасть2.Количество() <> 0) (и так далее до ТЧ7, здесь уже ТЧ8 будет равна 0) Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл Для Каждого ТекСтрокаТабличнаяЧасть2 Из ТабличнаяЧасть2 Цикл .... Для Каждого ТекСтрокаТабличнаяЧасть7 Из ТабличнаяЧасть8 Цикл Движение = Движения.Регистр2.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Добавляем шапку и все табличные части, кроме табличной части 8 | Всего записей: 1121 | Зарегистр. 14-11-2002 | Отправлено: 16:01 29-07-2007 | Исправлено: Vxd2000, 16:04 29-07-2007 |
|