Имя: Пароль:
1C
1C 7.7
v7: Печатная форма отчета
0 prochor
 
22.01.13
15:04
Ситуация такая.
Есть отчет "Акт сверки".
Бух печатает акт для одного клиента, следом - для второго.
Никогда на это не обращал внимания, но для новой бухини это актуально.
Оказывается, что для акта создается только одно окно печатной формы, и последующее обращение к этому отчету просто замещает в этом окне печатную форму, а не создает новое окно с печатной формой.
Я смог объяснить?
Естественно, я сравнил модуль этого отчета и других.
Никакой разницы. Но в тех отчетах, сколько отчет не запускай, создается новое окно для печатной формы.
Что это может быть?
1 Deon
 
22.01.13
15:05
А там по названию, вроде, ищет
2 Deon
 
22.01.13
15:05
заголовка окна, в смысле
3 1Сергей
 
22.01.13
15:06
Акт сверки - это отчет? А почему не док?
4 Надсмотрщик
 
22.01.13
15:06
(0) У мена на всю группу можно сформировать сразу
5 Надсмотрщик
 
22.01.13
15:07
(3) Со снеговиком не путай
6 Надсмотрщик
 
22.01.13
15:10
+ (4) А на печать только галки нужным поставить, и...
7 aka AMIGO
 
22.01.13
15:16
(0) можешь выложить этот отчет?
только бухии у меня нет, но посмотрю в другой конфе
8 aka AMIGO
 
22.01.13
15:17
+7 или в мыло
9 aka AMIGO
 
22.01.13
15:41
всё, посмотрел у бушек, не надо ничего выкладывать
АктСверки работает нормально, правда, бухия 546
что при повторном нажатии на кнопку "печать" для одного контрагента, что для тут-же введенного нового, без закрытия/открытия формы - всё печатается в новых окнах

по алгоритму:
Таб = СоздатьОбъект("Таблица"); этот оператор в теле процедуры Печать(), так что таблица создается каждый раз заново.

Возможно, в новой бухии что-нибудь переделали, и там вместо присваивания при каждом входе в Проц.Печать стоит Обновить() или Очистить..
короче что-нибудь такое:

   Если (ТипЗначенияСтр(Т) <> "Таблица")ИЛИ(Обновить=0) Тогда
         Т = СоздатьОбъект("Таблица");
   Иначе
       Т.Очистить();
   КонецЕсли;

Здесь Т - объявлена в модуле, а не в процедуре
а в акте - Таб, объявлена в процедуре

разбирайся :)
10 prochor
 
22.01.13
16:26
+9 - именно так, правда я не стал разбираться, почему именно в этом отчете Т = СоздатьОбъект("Таблица"); отрабатывает только при первом запуске, я просто убрал это условие, оставив принудительное создание объекта Таблица.

всем спасибо!